|
@ -7,12 +7,15 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.yihu.jw.doctor.dao.BaseDoctorDao;
|
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
|
|
|
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.patient.BasePatientDischargeRecord;
|
|
|
import com.yihu.jw.entity.specialist.RehabilitationServiceItemDO;
|
|
|
import com.yihu.jw.entity.specialist.rehabilitation.*;
|
|
|
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.RehabilitationPatientInfoDao;
|
|
|
import com.yihu.jw.hospital.module.rehabilitation.dao.RehabilitationServiceItemDao;
|
|
|
import com.yihu.jw.hospital.prescription.service.DsyyPrescriptionService;
|
|
|
import com.yihu.jw.hospital.team.dao.SignPatientLabelInfoDao;
|
|
|
import com.yihu.jw.patient.dao.BasePatientDao;
|
|
@ -33,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* Created by liub on 2020/9/29.
|
|
@ -75,6 +79,8 @@ public class SynchronizePatientService {
|
|
|
private BasePatientDischargeRecordDao basePatientDischargeRecordDao;
|
|
|
@Autowired
|
|
|
private DsyyPrescriptionService dsyyPrescriptionService;
|
|
|
@Autowired
|
|
|
private RehabilitationServiceItemDao serviceItemDao;
|
|
|
|
|
|
|
|
|
//手动重新下转
|
|
@ -816,7 +822,7 @@ public class SynchronizePatientService {
|
|
|
planDO.setDiseaseName(diseaseName);
|
|
|
//目前默认为冠心病
|
|
|
//创建康复计划
|
|
|
planDO = createRehabilitationPlanJson(planDO,planTemplateId,results,infoDO);
|
|
|
planDO = createRehabilitationPlanJson(planDO,planTemplateId,results,infoDO,distributionType,distributionTo,zgDoctor,zzDoctor);
|
|
|
if (planDO == null) {//创建康复计划不成功,无法下转
|
|
|
results.append("创建康复计划请求:" + re.getIdcard() + "----创建康复计划请求失败\n");
|
|
|
logger.info("康复计划自动下转————" + "创建康复计划请求:" + re.getIdcard() + "----创建康复计划请求失败");
|
|
@ -927,6 +933,23 @@ public class SynchronizePatientService {
|
|
|
detailDOList.add(detail);
|
|
|
}
|
|
|
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());
|
|
|
|