diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index a25ce50..91b065e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -2668,7 +2668,7 @@ public class MatDeliverFacade { List mlist = maternalDeliverModelList.subList(i, end); Callable c = new MaterDeliverWorker(organizationService, usersService, babyService,antExService, basicConfigService, childbirthManagerRequest.getInitQuery(), - mlist, patientsMap, postpartumRecordsService, recordsService, childbirthManagerRequest.getShowDetail()); + mlist, patientsMap, postpartumRecordsService, recordsService, childbirthManagerRequest.getShowDetail(),mongoTemplate); Future f = commonThreadPool.submit(c); if (f != null) { futures.add(f); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/MaterDeliverWorker.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/MaterDeliverWorker.java index 7399a68..6bd2bc8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/MaterDeliverWorker.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/MaterDeliverWorker.java @@ -15,9 +15,13 @@ import com.lyms.platform.query.PostpartumRecordsQuery; import com.lyms.platform.query.RecordsQuery; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -43,11 +47,12 @@ public class MaterDeliverWorker implements Callable maternalDeliverModelList,Map patientsMap, - PostpartumRecordsService postpartumRecordsService,RecordsService recordsService,int showDetail) { + PostpartumRecordsService postpartumRecordsService,RecordsService recordsService,int showDetail,MongoTemplate mongoTemplate) { this.maternalDeliverModelList = maternalDeliverModelList; this.patientsMap = patientsMap; this.organizationService = organizationService; @@ -59,6 +64,7 @@ public class MaterDeliverWorker implements Callable antExChuModels = antExService.queryAntExChu(antExChuQuery);//初诊记录 + List antExChuModels = antExService.queryAntExChu(antExChuQuery);//初诊记录 if(CollectionUtils.isNotEmpty(antExChuModels)){ - AntExChuModel antExChuModel = antExChuModels.get(0); - if (antExChuModel !=null) { - String czWeek = ""; - try { - if (antExChuModel.getCreated().getTime() - patients.getDueDate().getTime() > 0 && patients.getBuildType() == 2) { - czWeek = "已分娩"; - } else { - int days = DateUtil.daysBetween(patients.getLastMenses(), antExChuModel.getCreated()); - if (days > 7 * 42 - 1) { - czWeek = "已分娩"; - } else { - String week = (days / 7) + ""; - int day = (days % 7); - czWeek = "孕" + week + "周" + (day > 0 ? "+" + day + "天" : ""); - } - } - } catch (Exception e) { - // 什么都不干 - } - childbirthManagerQueryModel.setCzWeek(czWeek);//初诊孕周 - childbirthManagerQueryModel.setHivkt(antExChuModel.getHivkt()); // 艾滋病检测结果 - childbirthManagerQueryModel.setSyjg(antExChuModel.getSyjg()); // 梅毒检测结果 - childbirthManagerQueryModel.setYgbmky(antExChuModel.getYgbmky()); // 乙肝检测结果 (乙肝表面抗原) + setCzInfo(patients, childbirthManagerQueryModel); + }else if(CollectionUtils.isEmpty(antExChuModels) && StringUtils.isNotEmpty(patients.getSource())) { + /* + 1 分娩医院档案id没有初诊信息 + 2 根据当前档案的数据来源id source字段,获取当前产程的所有档案 + */ + List patientsList = new ArrayList <>(); + //获取主档案 + Patients patients1 = mongoTemplate.findOne(Query.query(Criteria.where("id").is(patients.getSource())), Patients.class); + patientsList.add(patients1); + //获取隐藏档案 + List pats = mongoTemplate.find(Query.query(Criteria.where("source").is(patients.getSource()).and("enable").is("2")), Patients.class); + patientsList.addAll(pats); + for (Patients p: patientsList ) { + setCzInfo(p, childbirthManagerQueryModel); } } @@ -664,4 +663,38 @@ public class MaterDeliverWorker implements Callable antExChuModels = antExService.queryAntExChu(antExChuQuery);//初诊记录 + if(CollectionUtils.isNotEmpty(antExChuModels)){ + AntExChuModel antExChuModel = antExChuModels.get(0); + if (antExChuModel !=null) { + String czWeek = ""; + try { + if (antExChuModel.getCreated().getTime() - patients.getDueDate().getTime() > 0 && patients.getBuildType() == 2) { + czWeek = "已分娩"; + } else { + int days = DateUtil.daysBetween(patients.getLastMenses(), antExChuModel.getCreated()); + if (days > 7 * 42 - 1) { + czWeek = "已分娩"; + } else { + String week = (days / 7) + ""; + int day = (days % 7); + czWeek = "孕" + week + "周" + (day > 0 ? "+" + day + "天" : ""); + } + } + } catch (Exception e) { + // 什么都不干 + } + childbirthManagerQueryModel.setCzWeek(czWeek);//初诊孕周 + childbirthManagerQueryModel.setHivkt(antExChuModel.getHivkt()); // 艾滋病检测结果 + childbirthManagerQueryModel.setSyjg(antExChuModel.getSyjg()); // 梅毒检测结果 + childbirthManagerQueryModel.setYgbmky(antExChuModel.getYgbmky()); // 乙肝检测结果 (乙肝表面抗原) + } + + } + } }