|
|
@ -85,6 +85,8 @@ public class QuestionnaireService implements IQuestionnaireService{ |
|
|
|
private RedisUtil redisUtil; |
|
|
|
@Resource |
|
|
|
private Tall3FeignClient tall3FeignClient; |
|
|
|
@Resource |
|
|
|
private AccountManageDao accountManageDao; |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<QuestionnaireVo.AreaInfo> queryArea(QuestionnaireDto.QueryArea param, Long userId) { |
|
|
@ -109,27 +111,34 @@ public class QuestionnaireService implements IQuestionnaireService{ |
|
|
|
|
|
|
|
@Override |
|
|
|
public void saveQuestionnaire(QuestionnaireDto.SaveQuestionnaire param, Long userId) throws Exception { |
|
|
|
//查询是否已经提交,已提交不能保存修改
|
|
|
|
QuestionnaireDetail questionnaireDetail = questionnaireDetailDao.selectByPrimaryKey(param.getDetailId()); |
|
|
|
if (Constant.SubmitStatus.submit.status == questionnaireDetail.getSubmitStatus()) { |
|
|
|
throw new BaseException(DefaultCodeError.HOSPITAL_REPEAT_SUBMIT); |
|
|
|
} |
|
|
|
Long recordId = recordDao.queryIsExist(param.getDetailId(),param.getCode()); |
|
|
|
if (ObjectUtil.isNotNull(recordId)) { |
|
|
|
QuestionnaireRecord record = new QuestionnaireRecord(); |
|
|
|
record.setId(recordId); |
|
|
|
record.setQuestionCode(param.getCode()); |
|
|
|
record.setAnswer(param.getAnswer()); |
|
|
|
recordDao.updateByPrimaryKeySelective(record); |
|
|
|
}else { |
|
|
|
QuestionnaireRecord record = new QuestionnaireRecord(); |
|
|
|
record.setId(snowflake.nextId()); |
|
|
|
record.setQuestionnaireDetailId(param.getDetailId()); |
|
|
|
record.setQuestionCode(param.getCode()); |
|
|
|
record.setAnswer(param.getAnswer()); |
|
|
|
recordDao.insertSelective(record); |
|
|
|
//redis判断是否已有
|
|
|
|
Object o = redisUtil.get(String.valueOf(param.getDetailId() + userId)); |
|
|
|
if (ObjectUtil.isNull(o)) { |
|
|
|
redisUtil.set(String.valueOf(param.getDetailId() + userId),userId); |
|
|
|
//查询是否已经提交,已提交不能保存修改
|
|
|
|
QuestionnaireDetail questionnaireDetail = questionnaireDetailDao.selectByPrimaryKey(param.getDetailId()); |
|
|
|
if (Constant.SubmitStatus.submit.status == questionnaireDetail.getSubmitStatus()) { |
|
|
|
throw new BaseException(DefaultCodeError.HOSPITAL_REPEAT_SUBMIT); |
|
|
|
} |
|
|
|
Long recordId = recordDao.queryIsExist(param.getDetailId(),param.getCode()); |
|
|
|
if (ObjectUtil.isNotNull(recordId)) { |
|
|
|
QuestionnaireRecord record = new QuestionnaireRecord(); |
|
|
|
record.setId(recordId); |
|
|
|
record.setQuestionCode(param.getCode()); |
|
|
|
record.setAnswer(param.getAnswer()); |
|
|
|
recordDao.updateByPrimaryKeySelective(record); |
|
|
|
}else { |
|
|
|
QuestionnaireRecord record = new QuestionnaireRecord(); |
|
|
|
record.setId(snowflake.nextId()); |
|
|
|
record.setQuestionnaireDetailId(param.getDetailId()); |
|
|
|
record.setQuestionCode(param.getCode()); |
|
|
|
record.setAnswer(param.getAnswer()); |
|
|
|
recordDao.insertSelective(record); |
|
|
|
} |
|
|
|
redisUtil.del(String.valueOf(param.getDetailId()+userId)); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -182,34 +191,57 @@ public class QuestionnaireService implements IQuestionnaireService{ |
|
|
|
} |
|
|
|
//2.校验是否已经有提交
|
|
|
|
Long submitId = questionnaireDetailDao.queryIsSubmit(param.getName()); |
|
|
|
if (ObjectUtil.isNotNull(submitId)) { |
|
|
|
//加入项目
|
|
|
|
Long projectId = createHospitalOfNotExit(phone, userId); |
|
|
|
List<QuestionnaireVo.QuestionnaireInfo> infoList = questionnaireDetailDao.querySubmitter(submitId); |
|
|
|
HashMap<String, String> codeAndAnswer = new HashMap<>(); |
|
|
|
if (ObjectUtil.isNotNull(infoList)) { |
|
|
|
for (QuestionnaireVo.QuestionnaireInfo questionnaireInfo : infoList) { |
|
|
|
codeAndAnswer.put(questionnaireInfo.getCode(),questionnaireInfo.getAnswer()); |
|
|
|
} |
|
|
|
} |
|
|
|
QuestionnaireVo.SubmitInfo submitInfo = new QuestionnaireVo.SubmitInfo(); |
|
|
|
submitInfo.setProjectId(projectId); |
|
|
|
submitInfo.setType((byte)1); |
|
|
|
submitInfo.setDepartment(codeAndAnswer.get(Constant.BasicInformation.department.code)); |
|
|
|
submitInfo.setName(codeAndAnswer.get(Constant.BasicInformation.person.code)); |
|
|
|
submitInfo.setPosition(codeAndAnswer.get(Constant.BasicInformation.position.code)); |
|
|
|
return submitInfo; |
|
|
|
if (ObjectUtil.isNull(submitId)) { |
|
|
|
QuestionnaireDetail detail = new QuestionnaireDetail(); |
|
|
|
detail.setId(param.getDetailId()); |
|
|
|
detail.setSubmitStatus(Constant.SubmitStatus.submit.status); |
|
|
|
questionnaireDetailDao.updateByPrimaryKeySelective(detail); |
|
|
|
} |
|
|
|
//查询用户是否此医院此角色此部门
|
|
|
|
Integer isExist = organizationDao.queryUserIsExist(param.getDepartmentName(),param.getPositionName(),param.getName(),userId); |
|
|
|
if (0 < isExist) { |
|
|
|
return new QuestionnaireVo.SubmitInfo(); |
|
|
|
} |
|
|
|
QuestionnaireDetail detail = new QuestionnaireDetail(); |
|
|
|
detail.setId(param.getDetailId()); |
|
|
|
detail.setSubmitStatus(Constant.SubmitStatus.submit.status); |
|
|
|
questionnaireDetailDao.updateByPrimaryKeySelective(detail); |
|
|
|
//创建项目
|
|
|
|
Long projectId = createHospitalOfNotExit(phone,userId); |
|
|
|
QuestionnaireVo.SubmitInfo submitInfo = new QuestionnaireVo.SubmitInfo(); |
|
|
|
submitInfo.setProjectId(projectId); |
|
|
|
submitInfo.setType((byte)0); |
|
|
|
return submitInfo; |
|
|
|
AccountManage accountManage = new AccountManage(); |
|
|
|
accountManage.setId(snowflake.nextId()); |
|
|
|
accountManage.setDepartmentName(param.getDepartmentName()); |
|
|
|
accountManage.setDepartmentCode(Constant.DepartmentAndCode.getDepartmentCode(param.getDepartmentName())); |
|
|
|
accountManage.setPositionName(param.getPositionName()); |
|
|
|
accountManage.setPositionCode(Constant.PositionIdAndRole.getPositionCode(param.getPositionName())); |
|
|
|
accountManage.setSubmitter(param.getSubmitter()); |
|
|
|
accountManage.setSubmitterPhone(param.getPhone()); |
|
|
|
accountManage.setSubmitterUserId(userId); |
|
|
|
accountManage.setAuditStatus((byte) 0); |
|
|
|
accountManageDao.insertSelective(accountManage); |
|
|
|
return new QuestionnaireVo.SubmitInfo(); |
|
|
|
// if (ObjectUtil.isNotNull(submitId)) {
|
|
|
|
// //加入项目
|
|
|
|
// Long projectId = createHospitalOfNotExit(phone, userId);
|
|
|
|
// List<QuestionnaireVo.QuestionnaireInfo> infoList = questionnaireDetailDao.querySubmitter(submitId);
|
|
|
|
// HashMap<String, String> codeAndAnswer = new HashMap<>();
|
|
|
|
// if (ObjectUtil.isNotNull(infoList)) {
|
|
|
|
// for (QuestionnaireVo.QuestionnaireInfo questionnaireInfo : infoList) {
|
|
|
|
// codeAndAnswer.put(questionnaireInfo.getCode(),questionnaireInfo.getAnswer());
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// QuestionnaireVo.SubmitInfo submitInfo = new QuestionnaireVo.SubmitInfo();
|
|
|
|
// submitInfo.setProjectId(projectId);
|
|
|
|
// submitInfo.setType((byte)1);
|
|
|
|
// submitInfo.setDepartment(codeAndAnswer.get(Constant.BasicInformation.department.code));
|
|
|
|
// submitInfo.setName(codeAndAnswer.get(Constant.BasicInformation.person.code));
|
|
|
|
// submitInfo.setPosition(codeAndAnswer.get(Constant.BasicInformation.position.code));
|
|
|
|
// return submitInfo;
|
|
|
|
// }
|
|
|
|
// QuestionnaireDetail detail = new QuestionnaireDetail();
|
|
|
|
// detail.setId(param.getDetailId());
|
|
|
|
// detail.setSubmitStatus(Constant.SubmitStatus.submit.status);
|
|
|
|
// questionnaireDetailDao.updateByPrimaryKeySelective(detail);
|
|
|
|
// //创建项目
|
|
|
|
// Long projectId = createHospitalOfNotExit(phone,userId);
|
|
|
|
// QuestionnaireVo.SubmitInfo submitInfo = new QuestionnaireVo.SubmitInfo();
|
|
|
|
// submitInfo.setProjectId(projectId);
|
|
|
|
// submitInfo.setType((byte)0);
|
|
|
|
// return submitInfo;
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|