diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java index ef6dcaa..b29607b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java @@ -3,6 +3,7 @@ package com.lyms.platform.operate.web.controller; import com.fasterxml.jackson.annotation.JsonAlias; import com.lyms.platform.biz.service.ArchiveDataServicer; import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.biz.service.GuidelinesService; import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; @@ -14,9 +15,11 @@ import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.result.RespBuilder; import com.lyms.platform.common.utils.*; +import com.lyms.platform.operate.web.facade.AntenatalExaminationFacade; import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.facade.BookbuildingFacade; import com.lyms.platform.operate.web.facade.RemoteFacade; +import com.lyms.platform.operate.web.request.AntExcAddRequest; import com.lyms.platform.operate.web.request.WomanBookArchiveRequest; import com.lyms.platform.operate.web.request.YunBookbuildingAddRequest; import com.lyms.platform.operate.web.utils.CommonsHelper; @@ -26,6 +29,7 @@ import com.lyms.platform.operate.web.vo.ArchiveUsers; import com.lyms.platform.permission.service.AssistBuildService; import com.lyms.platform.pojo.*; import com.lyms.platform.query.ArchiveDataQuery; +import com.lyms.platform.query.GuidelinesQuery; import com.lyms.platform.query.PatientsQuery; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.httpclient.HttpClient; @@ -64,6 +68,11 @@ public class RemoteController extends BaseController { private BasicConfigService basicConfigService; @Autowired private AutoMatchFacade autoMatchFacade; + @Autowired + private AntenatalExaminationFacade antenatalExaminationFacade; + + @Autowired + private GuidelinesService guidelinesService; @Autowired private RemoteFacade remoteFacade; @@ -313,11 +322,14 @@ public class RemoteController extends BaseController { ArchiveUsers archiveUsers = JsonUtil.jkstr2Obj(archiveUser, ArchiveUsers.class); ArchiveAreas resort = JsonUtil.jkstr2Obj(healthResort, ArchiveAreas.class); ArchiveHistoryDTO archiveHistory = JsonUtil.jkstr2Obj(archiveHistoryDTO, ArchiveHistoryDTO.class); - //组装建档保存 + + final String idCard = archiveUsers.getIdCard(); + final String assistUserId = archiveUsers.getAssistUserId(); + //组装建档保存参数 YunBookbuildingAddRequest request = new YunBookbuildingAddRequest(); request.setHospitalId(archiveUsers.getHospitalId()); request.setPregnantName(archiveUsers.getName()); - request.setPregnantCertificateNum(archiveUsers.getIdCard()); + request.setPregnantCertificateNum(idCard); request.setPregnantCertificateTypeId("70ae1d93-2964-46bc-83fa-bec9ff605b1c");//身份证 request.setBirthday(DateUtil.getBirthFromIdCard(archiveUsers.getIdCard())); request.setPregnantPhone(archiveUsers.getPhone()); @@ -343,8 +355,179 @@ public class RemoteController extends BaseController { request.setContactName(archiveUsers.getContactName()); request.setContactPhone(archiveUsers.getContactPhone()); + final String cDueWeek = request.getcDueWeek(); BaseObjectResponse baseObjectResponse = bookbuildingFacade.addPregnantBookbuilding(request, Integer.valueOf(archiveUsers.getAssistUserId()), false); + new Thread(new Runnable() { + @Override + public void run() { + System.out.println("start auto generate antexc......"); + try { + //查询预约建档信息 + ArchiveDataQuery query = new ArchiveDataQuery(); + query.setIdCard(idCard); + List list = archiveDataServicer.query(query.convertToQuery()); + if (CollectionUtils.isNotEmpty(list)) { + Map map = JsonUtil.str2Obj(list.get(0).getJsonData(), HashMap.class); + Map history = (Map) map.get("history"); + + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setType(1); + patientsQuery.setCardNo(idCard); + List patientsList = patientsService.queryPatient(patientsQuery); + Patients patients = patientsList.get(0); + + AntExcAddRequest antExcAddRequest = new AntExcAddRequest(); + antExcAddRequest.setOperaterUserId(assistUserId); + antExcAddRequest.setPid(patients.getPid()); + antExcAddRequest.setParentId(patients.getId()); + antExcAddRequest.setName(patients.getUsername()); + antExcAddRequest.setCheckTime(DateUtil.getyyyy_MM_dd_hms(new Date())); + antExcAddRequest.setProdDoctor(assistUserId); + antExcAddRequest.setcDueWeek(cDueWeek); + + if (history.get("bp") != null) { + antExcAddRequest.setBp((Map) history.get("bp")); + } + // 既往史 + if (history.get("pastHistory") != null) { + String pastHistory = history.get("pastHistory").toString(); + if (StringUtils.isNotEmpty(pastHistory)) { + HashMap pastHistoryMap = JsonUtil.jkstr2Obj(pastHistory, HashMap.class); + antExcAddRequest.setPastHistory(pastHistoryMap); + } + } + // 家族史 + if (history.get("familyHistory") != null) { + String familyHistory = history.get("familyHistory").toString(); + if (StringUtils.isNotEmpty(familyHistory)) { + HashMap familyHistoryMap = JsonUtil.jkstr2Obj(familyHistory, HashMap.class); + antExcAddRequest.setFamilyHistory(familyHistoryMap); + } + } + //个人史 + if (history.get("personalHistory") != null) { + String personalHistory = history.get("personalHistory").toString(); + if (StringUtils.isNotEmpty(personalHistory)) { + HashMap personalHistoryMap = JsonUtil.jkstr2Obj(personalHistory, HashMap.class); + antExcAddRequest.setPersonalHistory(personalHistoryMap); + } + } + //妇科手术史 + if (history.get("fksxHistory") != null) { + String fksxHistory = history.get("fksxHistory").toString(); + if (StringUtils.isNotEmpty(fksxHistory)) { + HashMap fksxHistoryMap = JsonUtil.jkstr2Obj(fksxHistory, HashMap.class); + antExcAddRequest.setFksxHistory(fksxHistoryMap); + } + } + //本次妊娠情况 + if (history.get("cestationInfo") != null) { + String cestationInfo = history.get("cestationInfo").toString(); + if (StringUtils.isNotEmpty(cestationInfo)) { + HashMap cestationInfoMap = JsonUtil.jkstr2Obj(cestationInfo, HashMap.class); + antExcAddRequest.setCestationInfo(cestationInfoMap); + } + } + //叶酸服用情况 + if (history.get("ysfyHistory") != null) { + String ysfyHistory = history.get("ysfyHistory").toString(); + if (StringUtils.isNotEmpty(ysfyHistory)) { + HashMap ysfyHistoryMap = JsonUtil.jkstr2Obj(ysfyHistory, HashMap.class); + antExcAddRequest.setYsfyHistory(ysfyHistoryMap); + } + } + //传染病史 + if (history.get("infectDiseases") != null) { + String infectDiseases = history.get("infectDiseases").toString(); + if (StringUtils.isNotEmpty(infectDiseases)) { + HashMap infectDiseasesMap = JsonUtil.jkstr2Obj(infectDiseases, HashMap.class); + antExcAddRequest.setInfectDiseases(infectDiseasesMap); + } + } + + //剖宫产次数 + if (history.get("planedProd") != null) { + antExcAddRequest.setPlanedProd((Integer) history.get("planedProd")); + } + //顺产次数 + if (history.get("delivery") != null) { + antExcAddRequest.setDelivery((Integer) history.get("delivery")); + } + //引产次数 + if (history.get("yinchan") != null) { + antExcAddRequest.setYinchan((Integer) history.get("yinchan")); + } + //流产 + if (history.get("abortion") != null) { + antExcAddRequest.setAbortion((Integer) history.get("abortion")); + } + //自然流产 + if (history.get("abortionZR") != null) { + antExcAddRequest.setAbortionZR((Integer) history.get("abortionZR")); + } + //人工流产 + if (history.get("abortionRG") != null) { + antExcAddRequest.setAbortionRG((Integer) history.get("abortionRG")); + } + //药物流产 + if (history.get("yaowu") != null) { + antExcAddRequest.setYaowu((Integer) history.get("yaowu")); + } + + //孕次 + if (history.get("pregnancyTimes") != null) { + antExcAddRequest.setPregnancyTimes((Integer) history.get("pregnancyTimes")); + } + //产次 + antExcAddRequest.setProdTime((antExcAddRequest.getDelivery() != null ? antExcAddRequest.getDelivery() : 0) + + (antExcAddRequest.getPlanedProd() != null ? antExcAddRequest.getPlanedProd() : 0) + + (antExcAddRequest.getYinchan() != null ? antExcAddRequest.getYinchan() : 0) + + (antExcAddRequest.getAbortion() != null ? antExcAddRequest.getAbortion() : 0) + ); + + if (history.get("yqWeight") != null) { + antExcAddRequest.setYqweight(history.get("yqWeight").toString()); + antExcAddRequest.setYqWeight(history.get("yqWeight").toString()); + } + if (history.get("weight") != null) { + antExcAddRequest.setWeight(history.get("weight").toString()); + ; + } + if (history.get("height") != null) { + antExcAddRequest.setHeight(history.get("height").toString()); + + } + if (StringUtils.isNotEmpty(antExcAddRequest.getWeight()) && StringUtils.isNotEmpty(antExcAddRequest.getHeight())) { + Double wh = Double.parseDouble(antExcAddRequest.getHeight()) / 100; + Double shen = wh * wh; + Double bmi = Double.parseDouble(antExcAddRequest.getWeight()) / shen; + antExcAddRequest.setBaricIndex(bmi + ""); + } + //指导意见 + GuidelinesQuery guidelinesQuery = new GuidelinesQuery(); + guidelinesQuery.setType(1); + guidelinesQuery.setMaxStart(5); + guidelinesQuery.setMinEnd(5); + List guidelines = guidelinesService.queryGuidelines(guidelinesQuery); + StringBuilder stringBuilder = new StringBuilder(128); + if (CollectionUtils.isNotEmpty(list)) { + for (Guidelines guideline : guidelines) { + stringBuilder.append(guideline.getCategory()).append(" ").append(guideline.getContent()).append("\r\n"); + } + antExcAddRequest.setGuide(stringBuilder.toString()); + } + + BaseResponse baseResponse = antenatalExaminationFacade.addOneAnetExChu(antExcAddRequest, Integer.valueOf(assistUserId)); + System.out.println("auto generate antexc end," + baseResponse.toString()); + } + }catch (Exception e){ + e.printStackTrace(); + } + } + }).start(); + if(baseObjectResponse.getErrorcode()==ErrorCodeConstants.SUCCESS){ writeString(response,"success"); return; @@ -353,6 +536,8 @@ public class RemoteController extends BaseController { catch (Exception e) { writeString(response,"fail"); + e.printStackTrace(); + return; } writeString(response,"fail"); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java index 1bd9986..8327fc8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java @@ -1763,15 +1763,16 @@ public class AntExRecordFacade { String riskFactor) { WxMeasureInfoModel wxMeasureInfo = new WxMeasureInfoModel(); boolean falg = true; + List fhrList = new ArrayList<>(); + if(StringUtils.isNotEmpty(fhr)) { + String[] split = fhr.split(","); + for (String s : split) { + fhrList.add(s); + } + } if (StringUtils.isNotEmpty(pid) && StringUtils.isNotEmpty(hospitalId)) { if (isOpenAutoSaveAntenatal(hospitalId)) { - List fhrList = new ArrayList<>(); - if(StringUtils.isNotEmpty(fhr)) { - String[] split = fhr.split(","); - for (String s : split) { - fhrList.add(s); - } - } + System.out.println("inputWxData enter 1"); List examinationModel = mongoTemplate.find(Query.query(Criteria.where("pid").is(pid)), AntenatalExaminationModel.class); if (CollectionUtils.isNotEmpty(examinationModel)) { @@ -1984,7 +1985,10 @@ public class AntExRecordFacade { yumInfosMap.put("inputTime", DateUtil.getyyyy_MM_dd(new Date())); yumInfosMap.put("fuh", fuh); yumInfosMap.put("abdominalGirth", abdominalGirth); - yumInfosMap.put("fhr", fhr); + if(CollectionUtils.isNotEmpty(fhrList)){ + yumInfosMap.put("fhr", JsonUtil.array2JsonString(fhrList)); + } + yumInfosMap.put("edema", edema); yumInfosMap.put("nextTime", nextTime); yumInfosMap.put("sieveType", sieveType); diff --git a/pom.xml b/pom.xml index 67d6827..f09b8bf 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,8 @@ platform-operate-api - + platform-job-index + platform-reportData