浏览代码

代码修改

LAPTOP-KB9HII50\70708 6 月之前
父节点
当前提交
b48821e27d

+ 3 - 0
common/common-entity/src/db/2024.sql

@ -501,3 +501,6 @@ ALTER TABLE `base`.`base_disease_hospital`
ALTER TABLE `base`.`base_disease_hospital`
ALTER TABLE `base`.`base_disease_hospital`
    ADD COLUMN `distribution_to` varchar (1) NULL COMMENT '分配对象 1主管医生 2主治医生' ;
    ADD COLUMN `distribution_to` varchar (1) NULL COMMENT '分配对象 1主管医生 2主治医生' ;
ALTER TABLE `base`.`wlyy_rehabilitation_patient_info`
    ADD COLUMN `dischargeRecordId` varchar (50) NULL COMMENT 'base_patient_discharge_record 表的id(医院下推id)' ;-- 加索引

+ 24 - 1
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/rehabilitation/service/SynchronizePatientService.java

@ -7,12 +7,15 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.servicePackage.ServiceItemPlanDO;
import com.yihu.jw.entity.door.SignPatientLabelInfo;
import com.yihu.jw.entity.door.SignPatientLabelInfo;
import com.yihu.jw.entity.patient.BasePatientDischargeRecord;
import com.yihu.jw.entity.patient.BasePatientDischargeRecord;
import com.yihu.jw.entity.specialist.RehabilitationServiceItemDO;
import com.yihu.jw.entity.specialist.rehabilitation.*;
import com.yihu.jw.entity.specialist.rehabilitation.*;
import com.yihu.jw.hospital.module.rehabilitation.dao.PatientRehabilitationPlanDao;
import com.yihu.jw.hospital.module.rehabilitation.dao.PatientRehabilitationPlanDao;
import com.yihu.jw.hospital.module.rehabilitation.dao.RehabilitationDetailDao;
import com.yihu.jw.hospital.module.rehabilitation.dao.RehabilitationDetailDao;
import com.yihu.jw.hospital.module.rehabilitation.dao.RehabilitationPatientInfoDao;
import com.yihu.jw.hospital.module.rehabilitation.dao.RehabilitationPatientInfoDao;
import com.yihu.jw.hospital.module.rehabilitation.dao.RehabilitationServiceItemDao;
import com.yihu.jw.hospital.prescription.service.DsyyPrescriptionService;
import com.yihu.jw.hospital.prescription.service.DsyyPrescriptionService;
import com.yihu.jw.hospital.team.dao.SignPatientLabelInfoDao;
import com.yihu.jw.hospital.team.dao.SignPatientLabelInfoDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.patient.dao.BasePatientDao;
@ -33,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.*;
import java.util.stream.Collectors;
/**
/**
 * Created by liub on 2020/9/29.
 * Created by liub on 2020/9/29.
@ -75,6 +79,8 @@ public class SynchronizePatientService  {
    private BasePatientDischargeRecordDao basePatientDischargeRecordDao;
    private BasePatientDischargeRecordDao basePatientDischargeRecordDao;
    @Autowired
    @Autowired
    private DsyyPrescriptionService dsyyPrescriptionService;
    private DsyyPrescriptionService dsyyPrescriptionService;
    @Autowired
    private RehabilitationServiceItemDao serviceItemDao;
    //手动重新下转
    //手动重新下转
@ -816,7 +822,7 @@ public class SynchronizePatientService  {
                planDO.setDiseaseName(diseaseName);
                planDO.setDiseaseName(diseaseName);
                //目前默认为冠心病
                //目前默认为冠心病
                //创建康复计划
                //创建康复计划
                planDO = createRehabilitationPlanJson(planDO,planTemplateId,results,infoDO);
                planDO = createRehabilitationPlanJson(planDO,planTemplateId,results,infoDO,distributionType,distributionTo,zgDoctor,zzDoctor);
                if (planDO == null) {//创建康复计划不成功,无法下转
                if (planDO == null) {//创建康复计划不成功,无法下转
                    results.append("创建康复计划请求:" + re.getIdcard() + "----创建康复计划请求失败\n");
                    results.append("创建康复计划请求:" + re.getIdcard() + "----创建康复计划请求失败\n");
                    logger.info("康复计划自动下转————" + "创建康复计划请求:" + re.getIdcard() + "----创建康复计划请求失败");
                    logger.info("康复计划自动下转————" + "创建康复计划请求:" + re.getIdcard() + "----创建康复计划请求失败");
@ -927,6 +933,23 @@ public class SynchronizePatientService  {
            detailDOList.add(detail);
            detailDOList.add(detail);
        }
        }
        rehabilitationDetailDao.saveAll(detailDOList);
        rehabilitationDetailDao.saveAll(detailDOList);
        List<ServiceItemPlanDO> planDOList = new ArrayList<>();
        Map<String, RehabilitationDetailDO> map = detailDOList.stream().collect(Collectors.toMap
                (RehabilitationDetailDO::getHospitalServiceItemId, log -> log, (oldLog, newLog) -> oldLog));
        List<RehabilitationServiceItemDO> itemDOList = serviceItemDao.findList();
        Map<String, String> serviceItemMap = itemDOList.stream().collect(Collectors.toMap(RehabilitationServiceItemDO::getCode, RehabilitationServiceItemDO::getName));
        for (RehabilitationDetailDO detailDO : detailDOList) {
            String serviceItemId = detailDO.getHospitalServiceItemId();
            if (map.containsKey(serviceItemId)) {
                RehabilitationDetailDO newDetail = map.get(serviceItemId);
                detailDO.setDoctor(newDetail.getDoctor());
                detailDO.setDoctorName(newDetail.getDoctorName());
                detailDO.setDept(newDetail.getDept());
                detailDO.setDeptName(newDetail.getDeptName());
                //生成执行计划列表
                planDOList = rehabilitationManageService.addServicePlan(serviceItemMap, planDO, detailDO, planDOList);
            }
        }
        rehabilitationManageService.addPlanLog(planDO.getId(),planDO.getPlanDoctor(),planDO.getPlanDoctorName());
        rehabilitationManageService.addPlanLog(planDO.getId(),planDO.getPlanDoctor(),planDO.getPlanDoctorName());