陈昶聿
5 天以前 619bd0d1439b5fd24923cddd6529fad72979128c
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -189,6 +189,7 @@
    @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");
@@ -201,7 +202,8 @@
        //获取当前用户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");
@@ -510,6 +512,8 @@
        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();
@@ -571,6 +575,14 @@
            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());
@@ -614,6 +626,23 @@
        }
        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);