diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java index 071ca1f..c846ac0 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java @@ -456,26 +456,28 @@ public class ExcelUtil int k = 0; //填充数据 - for(int i = 0;i 0) { + for (int i = 0; i < data.size(); i++) { + int l = i + 1; + ws.addCell(new Label(k, i + 2, String.valueOf(l))); + ws.addCell(new Label(k + 1, i + 2, data.get(i).get("name") == null ? "" : data.get(i).get("name").toString())); + ws.addCell(new Label(k + 2, i + 2, data.get(i).get("address") == null ? "" : data.get(i).get("address").toString())); + ws.addCell(new Label(k + 3, i + 2, data.get(i).get("phone") == null ? "" : data.get(i).get("phone").toString())); + ws.addCell(new Label(k + 4, i + 2, data.get(i).get("lastMenses") == null ? "" : data.get(i).get("lastMenses").toString())); + ws.addCell(new Label(k + 5, i + 2, data.get(i).get("yi") == null ? "" : data.get(i).get("yi").toString())); + ws.addCell(new Label(k + 6, i + 2, data.get(i).get("er") == null ? "" : data.get(i).get("er").toString())); + ws.addCell(new Label(k + 7, i + 2, data.get(i).get("san") == null ? "" : data.get(i).get("san").toString())); + ws.addCell(new Label(k + 8, i + 2, data.get(i).get("si") == null ? "" : data.get(i).get("si").toString())); + ws.addCell(new Label(k + 9, i + 2, data.get(i).get("wu") == null ? "" : data.get(i).get("wu").toString())); + ws.addCell(new Label(k + 10, i + 2, data.get(i).get("total") == null ? "" : data.get(i).get("total").toString())); + + ws.addCell(new Label(k + 11, i + 2, data.get(i).get("cyxj") == null ? "" : data.get(i).get("cyxj").toString())); + ws.addCell(new Label(k + 12, i + 2, data.get(i).get("total") == null ? "" : data.get(i).get("total").toString())); + ws.addCell(new Label(k + 13, i + 2, data.get(i).get("total") == null ? "" : data.get(i).get("total").toString())); + ws.addCell(new Label(k + 14, i + 2, data.get(i).get("total") == null ? "" : data.get(i).get("total").toString())); + ws.addCell(new Label(k + 15, i + 2, data.get(i).get("total") == null ? "" : data.get(i).get("total").toString())); + } } wwb.write(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index 5fbad3c..7e77777 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -102,6 +102,9 @@ public class PatientFacade { @Autowired private MongoTemplate mongoTemplate; + @Autowired + private DischargeAbstractMotherService dischargeAbstractMotherService; + /** * 修改产妇的社区 @@ -742,7 +745,7 @@ public class PatientFacade { if (end > patientses.size()) { end = patientses.size(); } - listFuture.add(commonThreadPool.submit(new QuanChanPatientWorker(patientses.subList(i, end), hospital, usersService, postReviewService, matDeliverService, patientsService, organizationService, basicConfigService))); + listFuture.add(commonThreadPool.submit(new QuanChanPatientWorker(patientses.subList(i, end), hospital, usersService, postReviewService, matDeliverService, patientsService, organizationService, basicConfigService,antExService,dischargeAbstractMotherService))); } for (Future f : listFuture) { try { @@ -1072,6 +1075,25 @@ public class PatientFacade { }else if(patientsQueryRequest.getQueryType() == 2){ //全部产妇 + listResponse = (BaseListResponse) queryHighRisk(patientsQueryRequest, null, 3, userId, null, Boolean.FALSE); + List list = listResponse.getData(); + for (Object obj : list) { + Map data = new HashMap<>(); + QuanChanResult rp = (QuanChanResult) obj; + data.put("name",rp.getName()); + data.put("address",rp.getAddr()); + data.put("phone",rp.getPhone()); + data.put("lastMenses", rp.getLastMenses()); + data.put("yi",rp.getYi()); + data.put("er",rp.getEr()); + data.put("san",rp.getSan()); + data.put("si",rp.getSi()); + data.put("wu",rp.getWu()); + data.put("total", rp.getcTimes()); + data.put("cyxj",rp.getCyxj()); + + datas.add(data); + } } OutputStream out = response.getOutputStream(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanChanResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanChanResult.java index a78778b..699a212 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanChanResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanChanResult.java @@ -68,6 +68,80 @@ public class QuanChanResult implements IBasicResultConvert> { private PatientsService patientsService; + private AntenatalExaminationService antExService; + private UsersService usersService; private PostReviewService postReviewService; @@ -53,12 +47,15 @@ public class QuanChanPatientWorker implements Callable> { private String hospital; private OrganizationService organizationService; private BasicConfigService basicConfigService; + private DischargeAbstractMotherService dischargeAbstractMotherService; public QuanChanPatientWorker(List patientses, String hospital, UsersService usersService, PostReviewService postReviewService, - MatDeliverService matDeliverService, PatientsService patientsService, OrganizationService organizationService, BasicConfigService basicConfigService) { + MatDeliverService matDeliverService, PatientsService patientsService, + OrganizationService organizationService, BasicConfigService basicConfigService, + AntenatalExaminationService antExService,DischargeAbstractMotherService dischargeAbstractMotherService) { this.patientses = patientses; this.matDeliverService = matDeliverService; this.postReviewService = postReviewService; @@ -67,6 +64,8 @@ public class QuanChanPatientWorker implements Callable> { this.usersService = usersService; this.organizationService = organizationService; this.basicConfigService = basicConfigService; + this.antExService = antExService; + this.dischargeAbstractMotherService = dischargeAbstractMotherService; } @@ -74,12 +73,92 @@ public class QuanChanPatientWorker implements Callable> { public List call() throws Exception { List data = new ArrayList<>(); AntExQuery antExQuery = new AntExQuery(); + AntExChuQuery antExChuQuery1 = new AntExChuQuery();//初诊 + antExChuQuery1.setYn(YnEnums.YES.getId()); + for (Patients patients : patientses) { StopWatch stopWatch = new StopWatch("QuanChanPatientWorker -" + patients.getId()); QuanChanResult chanResult = new QuanChanResult(); + chanResult.setYi("-"); + chanResult.setEr("-"); + chanResult.setSan("-"); + chanResult.setSi("-"); + chanResult.setWu("-"); chanResult.convertToResult(patients); antExQuery.setParentId(patients.getId()); antExQuery.setYn(YnEnums.YES.getId()); + //初诊查询 + antExChuQuery1.setPid(patients.getPid()); + //增加查询本次产程条数 + antExChuQuery1.setStart(patients.getLastMenses()); + List chu = antExService.queryAntExChu(antExChuQuery1.convertToQuery()); + //复诊次数 + List ant = null; + int i = 0; + if(CollectionUtils.isNotEmpty(chu)){ + for(AntExChuModel a : chu){//唐山滦县导出判断初诊是否是本院 + if(StringUtils.isNotEmpty(a.getHospitalId())){ + if(a.getHospitalId().equals(hospital)){ + chanResult.setYi("本院"); + }else{ + chanResult.setYi("外院"); + } + break; + } + } + ant = antExService.queryAntenatalExamination(antExQuery.convertToQuery()); + + //唐山滦县判断复诊是否是本院 + if(CollectionUtils.isNotEmpty(ant)){ + for(int k = 0;k < ant.size();k++){ + if(k>=4){ + break; + } + if(0==k){ + if(ant.get(k).getHospitalId().equals(hospital)){ + chanResult.setEr("本院"); + }else{ + chanResult.setEr("外院"); + } + }else if(1==k){ + if(ant.get(k).getHospitalId().equals(hospital)){ + chanResult.setSan("本院"); + }else{ + chanResult.setSan("外院"); + } + }else if(2==k){ + if(ant.get(k).getHospitalId().equals(hospital)){ + chanResult.setSi("本院"); + }else{ + chanResult.setSi("外院"); + } + }else if(3==k){ + if(ant.get(k).getHospitalId().equals(hospital)){ + chanResult.setWu("本院"); + }else{ + chanResult.setWu("外院"); + } + } + } + i = ant.size(); + } + } + //系统初诊次数 + int ichu = CollectionUtils.isEmpty(chu) ? 0 : chu.size(); + chanResult.setCjTimes(ichu+i); + + //出院小结 + DischargeAbstractMotherQuery dischargeAbstractMotherQuery = new DischargeAbstractMotherQuery(); + dischargeAbstractMotherQuery.setYn(YnEnums.YES.getId()); + dischargeAbstractMotherQuery.setPatientId(patients.getId()); + List dischargeAbstractMotherModels = dischargeAbstractMotherService.query(dischargeAbstractMotherQuery); + if(dischargeAbstractMotherModels != null && dischargeAbstractMotherModels.size() > 0){ + chanResult.setCyxj("有"); + }else{ + chanResult.setCyxj("无"); + } + + if (StringUtils.isNotEmpty(patients.getBookbuildingDoctor())) { if (NumberUtils.isNumber(patients.getBookbuildingDoctor())) { Users users = usersService.getUsers(NumberUtils.toInt(patients.getBookbuildingDoctor()));