陈昶聿
4 天以前 41362e7cd2ffa5d6110465b1ea8c41cb109a549e
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -10,6 +10,7 @@
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;
@@ -188,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");
@@ -200,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");
@@ -509,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();
@@ -570,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());
@@ -613,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);
@@ -824,7 +854,7 @@
            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);