diff --git a/src/main/java/com/ccsens/carbasics/api/EquipmentController.java b/src/main/java/com/ccsens/carbasics/api/EquipmentController.java index b373c11..62132ec 100644 --- a/src/main/java/com/ccsens/carbasics/api/EquipmentController.java +++ b/src/main/java/com/ccsens/carbasics/api/EquipmentController.java @@ -36,7 +36,7 @@ public class EquipmentController { private IEquipmentService equipmentService; @MustLogin - @ApiOperation(value = "查询用户对应的医院信息", notes = "") + @ApiOperation(value = "一键启动", notes = "") @RequestMapping(value = "/buttonStart", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse buttonStart(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{ log.info("一键启动请求:{},{}", params.getParam(), params.getUserId()); diff --git a/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDetailDao.java b/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDetailDao.java index 151d4a1..23b78b0 100644 --- a/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDetailDao.java +++ b/src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDetailDao.java @@ -80,4 +80,11 @@ public interface QuestionnaireDetailDao extends QuestionnaireDetailMapper { * @return 是否展示状态 */ ButtonVO.IsShow queryIsShow(@Param("userId") Long userId); + + /** + * 根据userId查询问卷详情id + * @param userId 用户id + * @return 问卷详情id + */ + Long queryByUserId(@Param("userId") Long userId); } diff --git a/src/main/java/com/ccsens/carbasics/service/AccountManageService.java b/src/main/java/com/ccsens/carbasics/service/AccountManageService.java index ac43c50..b846344 100644 --- a/src/main/java/com/ccsens/carbasics/service/AccountManageService.java +++ b/src/main/java/com/ccsens/carbasics/service/AccountManageService.java @@ -11,11 +11,10 @@ import com.ccsens.carbasics.bean.dto.AccountDto; import com.ccsens.carbasics.bean.po.AccountManage; import com.ccsens.carbasics.bean.po.AccountManageExample; import com.ccsens.carbasics.bean.po.Organization; +import com.ccsens.carbasics.bean.po.QuestionnaireDetail; import com.ccsens.carbasics.bean.vo.AccountVo; -import com.ccsens.carbasics.persist.dao.AccountManageDao; -import com.ccsens.carbasics.persist.dao.OrganizationDao; -import com.ccsens.carbasics.persist.dao.OrganizationPositionDao; -import com.ccsens.carbasics.persist.dao.OrganizationProjectDao; +import com.ccsens.carbasics.bean.vo.QuestionnaireVo; +import com.ccsens.carbasics.persist.dao.*; import com.ccsens.carbasics.util.Constant; import com.ccsens.carbasics.util.DefaultCodeError; import com.ccsens.common.bean.po.ConstantExample; @@ -52,6 +51,8 @@ public class AccountManageService implements IAccountManageService { @Resource private OrganizationDao organizationDao; @Resource + private QuestionnaireDetailDao questionnaireDetailDao; + @Resource private Snowflake snowflake; @Override public void submitAccount(AccountDto.SubmitAccount param, Long userId) { @@ -77,9 +78,36 @@ public class AccountManageService implements IAccountManageService { accountManage.setAuditStatus(param.getStatus()); accountManage.setAduitUserId(userId); accountManageDao.updateByPrimaryKeySelective(accountManage); - //创建项目 AccountManage accountManageInfo = accountManageDao.selectByPrimaryKey(param.getAccountManageId()); + //查看是否有问卷调查 + Long detailId = questionnaireDetailDao.queryByUserId(userId); + boolean flag = true; + //1.校验字段是否都填写 + Integer num = questionnaireDetailDao.countCodeNumber(detailId); + if (num < 22) { + flag = false; + } + String answer = questionnaireDetailDao.queryXGZL(detailId); + if ("是".equals(answer)) { + Integer sonOfXGZLNum = questionnaireDetailDao.querySonOfXGZL(detailId); + if (sonOfXGZLNum < 23) { + flag = false; + } + } + //2.校验是否已经有提交 + Long submitId = questionnaireDetailDao.queryIsSubmit(accountManage.getHospitalName()); + if (ObjectUtil.isNotNull(submitId)) { + flag = false; + } + if (flag) { + QuestionnaireDetail questionnaireDetail = new QuestionnaireDetail(); + questionnaireDetail.setId(detailId); + questionnaireDetail.setSubmitStatus(Constant.SubmitStatus.submit.status); + questionnaireDetailDao.updateByPrimaryKeySelective(questionnaireDetail); + log.info("账户审核中修改问卷详情状态:{}",detailId); + } + //查询职位id Long positionId = positionDao.queryByCode(accountManageInfo.getPositionCode()); questionnaireService.createHospitalAndProject(accountManageInfo.getSubmitterPhone(),accountManageInfo.getSubmitterUserId(),"", diff --git a/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java b/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java index 7b77d90..fa9ca1f 100644 --- a/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java +++ b/src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java @@ -191,19 +191,24 @@ public class QuestionnaireService implements IQuestionnaireService{ } //2.校验是否已经有提交 Long submitId = questionnaireDetailDao.queryIsSubmit(param.getName()); - if (ObjectUtil.isNull(submitId)) { - QuestionnaireDetail detail = new QuestionnaireDetail(); - detail.setId(param.getDetailId()); - detail.setSubmitStatus(Constant.SubmitStatus.submit.status); - questionnaireDetailDao.updateByPrimaryKeySelective(detail); + if (ObjectUtil.isNotNull(submitId)) { + return new QuestionnaireVo.SubmitInfo(); } //查询用户是否此医院此角色此部门 Integer isExist = organizationDao.queryUserIsExist(param.getDepartmentName(),param.getPositionName(),param.getName(),userId); if (0 < isExist) { + //如果已是医院当前职位当前部门则直接修改为提交 + if (ObjectUtil.isNull(submitId)) { + QuestionnaireDetail detail = new QuestionnaireDetail(); + detail.setId(param.getDetailId()); + detail.setSubmitStatus(Constant.SubmitStatus.submit.status); + questionnaireDetailDao.updateByPrimaryKeySelective(detail); + } return new QuestionnaireVo.SubmitInfo(); } AccountManage accountManage = new AccountManage(); accountManage.setId(snowflake.nextId()); + accountManage.setHospitalName(param.getName()); accountManage.setDepartmentName(param.getDepartmentName()); accountManage.setDepartmentCode(Constant.DepartmentAndCode.getDepartmentCode(param.getDepartmentName())); accountManage.setPositionName(param.getPositionName()); diff --git a/src/main/java/com/ccsens/carbasics/util/Constant.java b/src/main/java/com/ccsens/carbasics/util/Constant.java index 107f065..3c4d876 100644 --- a/src/main/java/com/ccsens/carbasics/util/Constant.java +++ b/src/main/java/com/ccsens/carbasics/util/Constant.java @@ -382,7 +382,7 @@ public class Constant { public enum PositionIdAndRole { /**神内医生*/ HuSHi("HuShi","分诊护士"), - YiSheng("YiSheng","神内医生"), + YiSheng("YiSheng","医生"), ZhiKong("ZhiKong","质控医生"), MiShu("MiShu","秘书"), KeZhuRen("KeZhuRen","科主任"), diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 5abf242..c3b11fb 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: prod - include: common, util-prod + active: test + include: common, util-test diff --git a/src/main/resources/mapper_dao/DataStatisticsDao.xml b/src/main/resources/mapper_dao/DataStatisticsDao.xml index 7e16378..0014996 100644 --- a/src/main/resources/mapper_dao/DataStatisticsDao.xml +++ b/src/main/resources/mapper_dao/DataStatisticsDao.xml @@ -925,7 +925,7 @@ (SELECT a.id AS areaId, a.area_name, - round(answer1.sich*100/answer2.actual,1) AS lncx + round(answer1.sich*100/answer2.actual+0.001,1) AS lncx FROM ( SELECT @@ -1005,7 +1005,7 @@ (SELECT a.area_name, - round(answer3.sich*100/answer4.actual,2) AS lncxAll + round(answer3.sich*100/answer4.actual,1) AS lncxAll FROM ( SELECT diff --git a/src/main/resources/mapper_dao/QuestionnaireDetailDao.xml b/src/main/resources/mapper_dao/QuestionnaireDetailDao.xml index a7336ca..43f8623 100644 --- a/src/main/resources/mapper_dao/QuestionnaireDetailDao.xml +++ b/src/main/resources/mapper_dao/QuestionnaireDetailDao.xml @@ -129,4 +129,14 @@ user_id = #{userId} + +