ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserDeptMapper.java
@@ -74,5 +74,7 @@ public int deleteSysUserDeptByCode(SysUserDept sysUserDept); public int deleteSysUserDeptByUserId(SysUserDept sysUserDept); public int updateSysUserDeptForSync(SysUserDept sysUserDept); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -709,6 +709,12 @@ // sysUserDeptMapper.insertSysUserDept(sysUserDep); // } // } //删除原有关系 SysUserDept delSysUserDept = new SysUserDept(); delSysUserDept.setUserId(user.getUserId()); delSysUserDept.setOrgid(user.getOrgid()); sysUserDeptMapper.deleteSysUserDeptByUserId(delSysUserDept); if (!CollectionUtils.isEmpty(user.getDeptCodes())) { for (String deptCode : user.getDeptCodes()) { SysDept sysDept = sysDeptMapper.selectDeptByCode("1", user.getOrgid(), deptCode); @@ -721,20 +727,15 @@ sysUserDept.setOrgid(user.getOrgid()); sysUserDept.setDeptCode(deptCode); sysUserDept.setDeptId(sysDept.getDeptId()); List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept); sysUserDept.setDelFlag(0L); sysUserDept.setDeptType("1"); sysUserDept.setDeptName(sysDept.getDeptName()); sysUserDept.setUpdateTime(new Date()); if (!CollectionUtils.isEmpty(sysUserDepts)) { sysUserDept.setId(sysUserDepts.get(0).getId()); sysUserDeptMapper.updateSysUserDept(sysUserDept); continue; } sysUserDept.setCreateTime(new Date()); sysUserDeptMapper.insertSysUserDept(sysUserDept); } } if (!CollectionUtils.isEmpty(user.getWardCodes())) { for (String wardCode : user.getWardCodes()) { SysDept sysDept = sysDeptMapper.selectDeptByCode("2", user.getOrgid(), wardCode); @@ -746,16 +747,11 @@ sysUserDept.setDeptCode(wardCode); sysUserDept.setDeptId(sysDept.getDeptId()); sysUserDept.setOrgid(user.getOrgid()); List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept); sysUserDept.setDelFlag(0L); sysUserDept.setDeptType("2"); sysUserDept.setOrgid(user.getOrgid()); sysUserDept.setDeptName(sysDept.getDeptName()); sysUserDept.setUpdateTime(new Date()); if (!CollectionUtils.isEmpty(sysUserDepts)) { sysUserDeptMapper.updateSysUserDept(sysUserDept); continue; } sysUserDept.setCreateTime(new Date()); sysUserDeptMapper.insertSysUserDept(sysUserDept); } ruoyi-system/src/main/resources/mapper/system/SysUserDeptMapper.xml
@@ -237,6 +237,24 @@ where user_id =#{userId} and dept_code=#{deptCode} </update> <update id="deleteSysUserDeptByUserId" parameterType="String"> update sys_user_dept <trim prefix="SET" suffixOverrides=","> del_flag =1, update_time = sysdate() </trim> where del_flag = 0 <if test="userId != null"> and user_id =#{userId} </if> <if test="orgid != null "> and orgid = #{orgid} </if> <if test="deptType != null "> and dept_type = #{deptType} </if> </update> <update id="updateSysUserDeptForSync" parameterType="com.ruoyi.common.core.domain.entity.SysUserDept"> update sys_user_dept <trim prefix="SET" suffixOverrides=","> smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1050,6 +1050,13 @@ int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1); if (i != 1) return false; } //离院方式代码 1-医瞩离院 2-医嘱转院 3-医嘱转社区卫生服务机构/乡镇卫生院 // 4-非医嘱离院 5-死亡 9-其他 10-介入室 20-手术室 String liYuanQxdm = ObjectUtils.isNotEmpty(JiuZhenXX.get("LiYuanQXDM")) ? JiuZhenXX.get("LiYuanQXDM").toString() : null; if (ObjectUtils.isNotEmpty(liYuanQxdm) && ("5").equals(liYuanQxdm)) { deathPatProcess(liYuanQxdm,patMedInhosp1); } return true; } @@ -1093,36 +1100,11 @@ } } //死亡标记 Boolean deathFlag = false; //离院方式代码 1-医瞩离院 2-医嘱转院 3-医嘱转社区卫生服务机构/乡镇卫生院 // 4-非医嘱离院 5-死亡 9-其他 10-介入室 20-手术室 String liYuanQxdm = ObjectUtils.isNotEmpty(JiuZhenXX.get("LiYuanQXDM")) ? JiuZhenXX.get("LiYuanQXDM").toString() : null; //判断病人是否死亡 if (ObjectUtils.isNotEmpty(liYuanQxdm) && ("5").equals(liYuanQxdm)) { deathFlag = true; } PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid()); if(ObjectUtils.isNotEmpty(patArchive)){ patMedInhosp1.setInhospstate("1"); if (deathFlag) { //病人死亡无须随访 patMedInhosp1.setFuflag("0"); //更新病人 notrequiredFlag patArchive.setNotrequiredFlag("1"); patArchive.setNotrequiredreason("患者已离世"); patArchiveMapper.updatePatArchive(patArchive); //对已经生成的随访任务进行处理 ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity(); serviceSubtaskVO.setPatid(patArchive.getId()); serviceSubtaskVO.setSendstate(2L); List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); for (ServiceSubtask serviceSubtask : serviceSubtaskList) { serviceSubtask.setSendstate(4L); serviceSubtask.setRemark(serviceSubtask.getRemark() + ";患者已离世,不随访"); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); } } deathPatProcess(liYuanQxdm,patMedInhosp1); } return true; } else { @@ -2118,4 +2100,45 @@ return requestParams; } /** * 死亡患者处理 * @param liYuanQxdm * @param patMedInhosp * @return */ private int deathPatProcess(String liYuanQxdm, PatMedInhosp patMedInhosp){ //死亡标记 Boolean deathFlag = false; //判断病人是否死亡 if (ObjectUtils.isNotEmpty(liYuanQxdm) && ("5").equals(liYuanQxdm)) { deathFlag = true; } PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid()); if(ObjectUtils.isNotEmpty(patArchive)) { patMedInhosp.setInhospstate("1"); if (deathFlag) { //病人死亡无须随访 patMedInhosp.setFuflag("0"); //更新病人 notrequiredFlag patArchive.setNotrequiredFlag("1"); patArchive.setNotrequiredreason("患者已离世"); patArchiveMapper.updatePatArchive(patArchive); //对已经生成的随访任务进行处理 ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity(); serviceSubtaskVO.setPatid(patArchive.getId()); serviceSubtaskVO.setSendstate(2L); List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); for (ServiceSubtask serviceSubtask : serviceSubtaskList) { serviceSubtask.setSendstate(4L); serviceSubtask.setRemark(serviceSubtask.getRemark() + ";患者已离世,不随访"); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); } } else { return 0; } }else { return -1; } return 1; } }