| | |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.domain.entity.ServiceSubtaskEntity; |
| | | import com.smartor.mapper.*; |
| | | import com.smartor.service.IServiceExternalService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | |
| | | @Override |
| | | public Boolean addUserDeptInfo(Map dataMap) { |
| | | //todo |
| | | log.info("ServiceExternalServiceImpl---addUserDeptInfo的新增的值为:{}", dataMap); |
| | | Map yeWuXX = (Map) dataMap.get("YeWuXX"); |
| | | Map<String, Object> keShiYH = (Map<String, Object>) yeWuXX.get("KeShiYH"); |
| | |
| | | //获取当前用户Name对应的user信息 |
| | | SysUser sysUser = null; |
| | | SysUser sysUserVo = new SysUser(); |
| | | sysUserVo.setUserName(externalUserDeptInfo.getYongHuDLM()); |
| | | // sysUserVo.setUserName(externalUserDeptInfo.getYongHuDLM()); |
| | | sysUserVo.setHisUserId(externalUserDeptInfo.getYongHuID()); |
| | | sysUserVo.setOrgid(externalUserDeptInfo.getZuZhiJGID()); |
| | | //丽水无院区,默认值是 1 |
| | | sysUserVo.setCampusid("1"); |
| | |
| | | ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo = null; |
| | | ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo = null; |
| | | List<ExternalInHospPatientAddrInfo> epai2 = null; |
| | | //死亡标记 |
| | | Boolean deathFlag = false; |
| | | if (CollectionUtils.isNotEmpty(epai)) { |
| | | epai2 = epai.stream().map(map -> { |
| | | ExternalInHospPatientAddrInfo info = new ExternalInHospPatientAddrInfo(); |
| | |
| | | patMedInhosp1.setNurseName(ObjectUtils.isNotEmpty(JiuZhenXX.get("ZeRenHSXM")) ? JiuZhenXX.get("ZeRenHSXM").toString() : null); |
| | | patMedInhosp1.setNurseId(ObjectUtils.isNotEmpty(JiuZhenXX.get("ZeRenHSID")) ? JiuZhenXX.get("ZeRenHSID").toString() : null); |
| | | patMedInhosp1.setBedNo(ObjectUtils.isNotEmpty(JiuZhenXX.get("DangQianCWMC")) ? JiuZhenXX.get("DangQianCWMC").toString() : null); |
| | | |
| | | //离院方式代码 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; |
| | | } |
| | | } |
| | | patMedInhosp1.setUpdateTime(new Date()); |
| | | patMedInhosp1.setTelcode(patArchive.getTelcode()); |
| | |
| | | } |
| | | |
| | | patMedInhosp1.setInhospstate("1"); |
| | | if(deathFlag){ |
| | | //病人死亡无须随访 |
| | | patMedInhosp1.setFuflag("1"); |
| | | //更新病人 notrequiredFlag |
| | | patArchive.setNotrequiredFlag("1"); |
| | | 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(6L); |
| | | serviceSubtask.setRemark(serviceSubtask.getRemark() + ";病人已死亡,不随访"); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | } |
| | | } |
| | | if (CollectionUtils.isNotEmpty(patMedInhospList)) { |
| | | patMedInhosp1.setUpdateTime(new Date()); |
| | | patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX) && ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null); |
| | |
| | | int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); |
| | | |
| | | //取消出院,就不需要服务了,需要通过patid和sendstate=2或者sendstate=1去查询一下,service_subtask里是否有正在执行的任务,有的话,立即停了 |
| | | ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); |
| | | ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity(); |
| | | serviceSubtaskVO.setPatid(patMedInhosp1.getPatid()); |
| | | serviceSubtaskVO.setSendstate(2L); |
| | | List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); |
| | |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | patMedInhosp1.setEndtime(simpleDateFormat.parse(JiuZhenXX.get("LiQiangSJ").toString())); |
| | | patMedInhosp1.setUpdateTime(new Date()); |
| | | //更新出院状态 |
| | | patMedInhosp1.setInhospstate("1"); |
| | | int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); |
| | | if (i != 1) return false; |
| | | } catch (ParseException e) { |