陈昶聿
昨天 2d6018d0d3a4e21ddf805d8f2eaae7260f512c1a
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -7,6 +7,7 @@
import com.ruoyi.common.core.domain.entity.SysUserDept;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.smartor.domain.*;
import com.smartor.mapper.*;
@@ -231,7 +232,7 @@
            sysUserDept.setDelFlag(0L);
            sysUserDept.setUserId(sysUser.getUserId());
            sysUserDept.setUserCode(sysUser.getUserCode());
            sysUserDept.setDeptType("2");
            sysUserDept.setDeptType(sysDept.getDeptType());
            sysUserDept.setGuid(externalUserDeptInfo.getZuZhiJGID());
            sysUserDept.setDeptId(sysDept.getDeptId());
            sysUserDept.setDeptCode(sysDept.getDeptCode());
@@ -997,6 +998,50 @@
        return true;
    }
    /**
     * 目前,从急诊抢救后转入住院的患者,其数据采集存在一个问题:有两条入院记录。
     * 第一条(急诊科室的)记录缺少“出院时间”,导致该记录在统计中始终显示为“在院”,
     * 而第二条(转入科室的)记录是完整的。我们需要采集 JZ_ZY_LiQiang接口的数据,
     * 里面的离抢时间来反填第一条记录的“出院时间”,从而修正第一条记录的状态。
     * @param dataMap
     * @return
     */
    @Override
    public Boolean editRescueFinishedOutHospInfo(Map dataMap) {
        log.info("ServiceExternalServiceImpl---editRescueFinishedOutHospInfo的新增的值为:{}", dataMap);
        Map yeWuXX = (Map) dataMap.get("YeWuXX");
        //病人信息
        Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
        //就诊信息
        Map<String, Object> JiuZhenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JiuZhenXX") : null;
        ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
        PatMedInhosp patMedInhosp = new PatMedInhosp();
        patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
        patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
        List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
        PatMedInhosp patMedInhosp1 = null;
        if (CollectionUtils.isNotEmpty(patMedInhospList)) patMedInhosp1 = patMedInhospList.get(0);
        if(ObjectUtils.isNotEmpty(patMedInhosp1)){
            if (ObjectUtils.isNotEmpty(JiuZhenXX.get("LiQiangSJ"))) {
                try {
                    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) {
                    e.printStackTrace();
                }
            }
            return true;
        }else {
            log.error("ServiceExternalServiceImpl---editRescueFinishedOutHospInfo的没有找到对应的出院记录:{}", dataMap);
            return false;
        }
    }
    @Override
    public Boolean addFinshJZInfo(Map dataMap) {
        log.info("ServiceExternalServiceImpl---addFinshJZInfo的新增的值为:{}", dataMap);
@@ -1929,6 +1974,9 @@
            case "JZ_ZY_YuChuYuan":
                log.info("患者预出院入参类型为:{}", type);
                return addPreOutHospInfo(dataMap);
            case "JZ_ZY_LiQiang":
                log.info("患者离抢入参类型为:{}", type);
                return editRescueFinishedOutHospInfo(dataMap);
            case "JG_ZZ_BingQu":
                log.info("病区信息入参类型为:{}", type);
                return addWardAreaInfo(dataMap);