From 696ebb14295fe84d494ac05a066a9be27bd3bce8 Mon Sep 17 00:00:00 2001 From: shiyang <316555390@qq.com> Date: Wed, 14 Sep 2022 17:31:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=AC=E5=8D=AB2.0-=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=AD=95=E4=BA=A7=E7=99=BB=E8=AE=B0-=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lhxfy/model/SaveMaternalRegisterInfo.java | 352 +++++++++++++++++++++ .../web/controller/Public2PathController.java | 15 + .../operate/web/facade/Public2PathFacade.java | 60 +++- 3 files changed, 421 insertions(+), 6 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/model/SaveMaternalRegisterInfo.java diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/model/SaveMaternalRegisterInfo.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/model/SaveMaternalRegisterInfo.java new file mode 100644 index 0000000..4ad9305 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/model/SaveMaternalRegisterInfo.java @@ -0,0 +1,352 @@ +package com.lyms.hospitalapi.lhxfy.model; + +import com.lyms.platform.biz.service.BabyBookbuildingService; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.pojo.BabyCheckModel; +import com.lyms.platform.pojo.BabyModel; +import com.lyms.platform.pojo.Patients; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +/** + * 公卫2.0-新增孕产登记 + */ +public class SaveMaternalRegisterInfo { + private Integer isAppCreate; //类型:Number 必有字段 备注:各厂商对接时,再确定具体的值 + private String husbandName; //类型:String 可有字段 备注:丈夫姓名 + private String husbandUnit; //类型:String 可有字段 备注:丈夫工作单位 + private String husbandTelNo; //类型:String 可有字段 备注:丈夫电话号码 + private String address; //类型:String 可有字段 备注:住址 + private String expectedChildBirthday; //类型:String 可有字段 备注:预产期 + private Integer bmi; //类型:Number 可有字段 备注:体质指数 + private String pregnancyInplan; //类型:String 可有字段 备注:是否为计划内妊娠 + private String closeCaseReason; //类型:String 必有字段 备注:手工结案原因 + private String closeCaseCode; //类型:String 必有字段 备注:手工结案代码:0否1是 + private List recordChoice; //类型:Array 可有字段 备注:选项指标记录 + private String name; //类型:String 必有字段 备注:本人姓名 + private String workUnit; //类型:String 可有字段 备注:工作单位 + private String husbandPersonInfoId; //类型:String 可有字段 备注:丈夫档案ID + private String mensesPeriod; //类型:String 可有字段 备注:月经周期 + private String mensesMeasure; //类型:String 可有字段 备注:月经量 + private String mensesLastDate; //类型:String 可有字段 备注:末次月经日期 + private Integer childrenCount; //类型:Number 可有字段 备注:现有子女数 + private String buildingManualDate; //类型:String 必有字段 备注:建册日期 + private String buildingManualCode; //类型:String 必有字段 备注:是否建册 + private Integer spontaneousAbortionCount; //类型:Number 可有字段 备注:自然流产次数 + private Integer artificialAbortionCount; //类型:Number 可有字段 备注:人工流产次数 + private Integer drugAbortionCount; //类型:Number 可有字段 备注:药物流产次数 + private Integer pregnancyLasttime; //类型:Number 可有字段 备注:前次妊娠时间 + private Integer gravidity; //类型:Number 可有字段 备注:孕次 + private Integer parity; //类型:Number 可有字段 备注:产次 + private Integer sbp; //类型:Number 可有字段 备注:收缩压(mmHg) + private Integer dbp; //类型:Number 可有字段 备注:舒张压(mmHg) + private Integer weight; //类型:Number 可有字段 备注:体重(kg) + private Integer height; //类型:Number 可有字段 备注:身高(cm) + private String remark; //类型:String 可有字段 备注:备注 + private String personInfoId; //类型:String 必有字段 备注:个人档案ID + private String maternalInfoNo; //类型:String 可有字段 备注:孕产妇基本信息ID + + public void convertToDataModel(Patients patients){ + setIsAppCreate(null==patients.getIsAppCreate()?0:patients.getIsAppCreate()); + setHusbandName(null); + setHusbandUnit(null); + setHusbandTelNo(null); + setAddress(null); + setExpectedChildBirthday(null); + setBmi(null); + setPregnancyInplan(null); + setCloseCaseReason(StringUtils.isEmpty(patients.getCloseCaseReason())?"无":patients.getCloseCaseReason()); + setCloseCaseCode(StringUtils.isEmpty(patients.getCloseCaseCode())?"0":patients.getCloseCaseCode()); + setRecordChoice(null); + setName(StringUtils.isEmpty(patients.getUsername())?"无":patients.getUsername()); + setWorkUnit(null); + setHusbandPersonInfoId(null); + setMensesPeriod(null); + setMensesMeasure(null); + setMensesLastDate(null); + setChildrenCount(null); + setBuildingManualDate(null==patients.getBookbuildingDate()?"无": DateUtil.getyyyy_MM_dd(patients.getBookbuildingDate())); + setBuildingManualCode(StringUtils.isEmpty(patients.getBuildingManualCode())?"无":patients.getBuildingManualCode()); + setSpontaneousAbortionCount(null); + setArtificialAbortionCount(null); + setDrugAbortionCount(null); + setPregnancyLasttime(null); + setGravidity(null); + setParity(null); + setSbp(null); + setDbp(null); + setWeight(null); + setHeight(null); + setRemark(null); + setPersonInfoId(StringUtils.isEmpty(patients.getId())?"无":patients.getId()); + setMaternalInfoNo(null); + } + + public Integer getIsAppCreate() { + return isAppCreate; + } + + public void setIsAppCreate(Integer isAppCreate) { + this.isAppCreate = isAppCreate; + } + + public String getHusbandName() { + return husbandName; + } + + public void setHusbandName(String husbandName) { + this.husbandName = husbandName; + } + + public String getHusbandUnit() { + return husbandUnit; + } + + public void setHusbandUnit(String husbandUnit) { + this.husbandUnit = husbandUnit; + } + + public String getHusbandTelNo() { + return husbandTelNo; + } + + public void setHusbandTelNo(String husbandTelNo) { + this.husbandTelNo = husbandTelNo; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getExpectedChildBirthday() { + return expectedChildBirthday; + } + + public void setExpectedChildBirthday(String expectedChildBirthday) { + this.expectedChildBirthday = expectedChildBirthday; + } + + public Integer getBmi() { + return bmi; + } + + public void setBmi(Integer bmi) { + this.bmi = bmi; + } + + public String getPregnancyInplan() { + return pregnancyInplan; + } + + public void setPregnancyInplan(String pregnancyInplan) { + this.pregnancyInplan = pregnancyInplan; + } + + public String getCloseCaseReason() { + return closeCaseReason; + } + + public void setCloseCaseReason(String closeCaseReason) { + this.closeCaseReason = closeCaseReason; + } + + public String getCloseCaseCode() { + return closeCaseCode; + } + + public void setCloseCaseCode(String closeCaseCode) { + this.closeCaseCode = closeCaseCode; + } + + public List getRecordChoice() { + return recordChoice; + } + + public void setRecordChoice(List recordChoice) { + this.recordChoice = recordChoice; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getWorkUnit() { + return workUnit; + } + + public void setWorkUnit(String workUnit) { + this.workUnit = workUnit; + } + + public String getHusbandPersonInfoId() { + return husbandPersonInfoId; + } + + public void setHusbandPersonInfoId(String husbandPersonInfoId) { + this.husbandPersonInfoId = husbandPersonInfoId; + } + + public String getMensesPeriod() { + return mensesPeriod; + } + + public void setMensesPeriod(String mensesPeriod) { + this.mensesPeriod = mensesPeriod; + } + + public String getMensesMeasure() { + return mensesMeasure; + } + + public void setMensesMeasure(String mensesMeasure) { + this.mensesMeasure = mensesMeasure; + } + + public String getMensesLastDate() { + return mensesLastDate; + } + + public void setMensesLastDate(String mensesLastDate) { + this.mensesLastDate = mensesLastDate; + } + + public Integer getChildrenCount() { + return childrenCount; + } + + public void setChildrenCount(Integer childrenCount) { + this.childrenCount = childrenCount; + } + + public String getBuildingManualDate() { + return buildingManualDate; + } + + public void setBuildingManualDate(String buildingManualDate) { + this.buildingManualDate = buildingManualDate; + } + + public String getBuildingManualCode() { + return buildingManualCode; + } + + public void setBuildingManualCode(String buildingManualCode) { + this.buildingManualCode = buildingManualCode; + } + + public Integer getSpontaneousAbortionCount() { + return spontaneousAbortionCount; + } + + public void setSpontaneousAbortionCount(Integer spontaneousAbortionCount) { + this.spontaneousAbortionCount = spontaneousAbortionCount; + } + + public Integer getArtificialAbortionCount() { + return artificialAbortionCount; + } + + public void setArtificialAbortionCount(Integer artificialAbortionCount) { + this.artificialAbortionCount = artificialAbortionCount; + } + + public Integer getDrugAbortionCount() { + return drugAbortionCount; + } + + public void setDrugAbortionCount(Integer drugAbortionCount) { + this.drugAbortionCount = drugAbortionCount; + } + + public Integer getPregnancyLasttime() { + return pregnancyLasttime; + } + + public void setPregnancyLasttime(Integer pregnancyLasttime) { + this.pregnancyLasttime = pregnancyLasttime; + } + + public Integer getGravidity() { + return gravidity; + } + + public void setGravidity(Integer gravidity) { + this.gravidity = gravidity; + } + + public Integer getParity() { + return parity; + } + + public void setParity(Integer parity) { + this.parity = parity; + } + + public Integer getSbp() { + return sbp; + } + + public void setSbp(Integer sbp) { + this.sbp = sbp; + } + + public Integer getDbp() { + return dbp; + } + + public void setDbp(Integer dbp) { + this.dbp = dbp; + } + + public Integer getWeight() { + return weight; + } + + public void setWeight(Integer weight) { + this.weight = weight; + } + + public Integer getHeight() { + return height; + } + + public void setHeight(Integer height) { + this.height = height; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getPersonInfoId() { + return personInfoId; + } + + public void setPersonInfoId(String personInfoId) { + this.personInfoId = personInfoId; + } + + public String getMaternalInfoNo() { + return maternalInfoNo; + } + + public void setMaternalInfoNo(String maternalInfoNo) { + this.maternalInfoNo = maternalInfoNo; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/Public2PathController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/Public2PathController.java index bf65390..b66ae8b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/Public2PathController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/Public2PathController.java @@ -78,5 +78,20 @@ public class Public2PathController extends BaseController { BaseResponse baseResponse=public2PathFacade.saveChildHealthExam(startDate,endDate,hospitalId); return baseResponse; } + /** + * 公卫2.0-新增孕产登记 + * @param startDate + * @param endDate + * @param hospitalId + */ + @ResponseBody + @TokenRequired + @RequestMapping(value = "/saveMaternalRegister", method = RequestMethod.GET) + public BaseResponse saveMaternalRegister(@RequestParam String startDate, + @RequestParam String endDate, + @RequestParam String hospitalId) { + BaseResponse baseResponse=public2PathFacade.saveMaternalRegister(startDate,endDate,hospitalId); + return baseResponse; + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/Public2PathFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/Public2PathFacade.java index 6f9ba4d..e1f2f69 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/Public2PathFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/Public2PathFacade.java @@ -5,6 +5,7 @@ import com.lyms.hospitalapi.lhxfy.model.*; import com.lyms.platform.biz.service.BabyBookbuildingService; import com.lyms.platform.biz.service.BabyCheckService; import com.lyms.platform.biz.service.BabyService; +import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; @@ -13,8 +14,10 @@ import com.lyms.platform.operate.web.utils.CollectionUtils; import com.lyms.platform.pojo.BabyCheckModel; import com.lyms.platform.pojo.BabyModel; import com.lyms.platform.pojo.NewbornVisit; +import com.lyms.platform.pojo.Patients; import com.lyms.platform.query.BabyCheckModelQuery; import com.lyms.platform.query.BabyModelQuery; +import com.lyms.platform.query.PatientsQuery; import jxl.common.BaseUnit; import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; @@ -39,6 +42,8 @@ public class Public2PathFacade { BabyBookbuildingService babyBookbuildingService; @Autowired BabyCheckService babyCheckService; + @Autowired + PatientsService patientsService; private static final String URL = "http://222.223.187.132:7076/ph-s-report"; public BaseResponse saveChildInfo(String startDate, String endDate,String hospitalId) { @@ -50,7 +55,7 @@ public class Public2PathFacade { modelQuery.setBuildDateStart(DateUtil.getDayFirstSecond(DateUtil.parseYMD(startDate))); modelQuery.setBuildDateEnd(DateUtil.getDayLastSecond(DateUtil.parseYMD(endDate))); List models = babyBookbuildingService.queryBabyBuildByCond(modelQuery); - String urladd=URL+"/thirdApi/saveChildInfo/v1";//新增上传 + String url=URL+"/thirdApi/saveChildInfo/v1";//新增上传 for (BabyModel model : models) { try { //数据转换 @@ -58,7 +63,7 @@ public class Public2PathFacade { modelInfo.convertToDataModel(model); String jsonString = JSON.toJSONString(modelInfo); //上传数据 - String result=repeatPost(urladd,jsonString); + String result=repeatPost(url,jsonString); if(StringUtils.isNotEmpty(result)){ List results=JsonUtil.jsonToList(result, UploadResult.class); if("0".equals(results.get(0).getCode())){ @@ -114,7 +119,7 @@ public class Public2PathFacade { .lte(DateUtil.getDayLastSecond(DateUtil.parseYMD(endDate)))); List models = mongoTemplate.find(query, NewbornVisit.class); - String urladd=URL+"/thirdApi/saveChildHomeVisit/v1";//新增上传 + String url=URL+"/thirdApi/saveChildHomeVisit/v1";//新增上传 for (NewbornVisit model : models) { try { //数据转换 @@ -122,7 +127,7 @@ public class Public2PathFacade { modelInfo.convertToDataModel(model); String jsonString = JSON.toJSONString(modelInfo); //上传数据 - String result=repeatPost(urladd,jsonString); + String result=repeatPost(url,jsonString); if(StringUtils.isNotEmpty(result)){ List results=JsonUtil.jsonToList(result, UploadResult.class); if("0".equals(results.get(0).getCode())){ @@ -155,7 +160,7 @@ public class Public2PathFacade { modelQuery.setCheckDateStart(DateUtil.getDayFirstSecond(DateUtil.parseYMD(startDate))); modelQuery.setCheckDateEnd(DateUtil.getDayLastSecond(DateUtil.parseYMD(endDate))); List models = babyCheckService.queryBabyCheckRecord(modelQuery); - String urladd=URL+"/thirdApi/saveChildHealthExam/v1";//新增上传 + String url=URL+"/thirdApi/saveChildHealthExam/v1";//新增上传 for (BabyCheckModel model : models) { try { //数据转换 @@ -163,7 +168,7 @@ public class Public2PathFacade { modelInfo.convertToDataModel(model); String jsonString = JSON.toJSONString(modelInfo); //上传数据 - String result=repeatPost(urladd,jsonString); + String result=repeatPost(url,jsonString); if(StringUtils.isNotEmpty(result)){ List results=JsonUtil.jsonToList(result, UploadResult.class); if("0".equals(results.get(0).getCode())){ @@ -186,4 +191,47 @@ public class Public2PathFacade { baseResponse.setObject(baseResponseList); return baseResponse; } + + public BaseResponse saveMaternalRegister(String startDate, String endDate, String hospitalId) { + BaseResponse baseResponse=new BaseResponse(); + List baseResponseList=new ArrayList<>();//记录错误信息 + PatientsQuery modelQuery=new PatientsQuery(); + modelQuery.setYn(YnEnums.YES.getId()); + modelQuery.setHospitalId(hospitalId); + modelQuery.setExtEnable(false); + modelQuery.setBuildTypeNot(1); + modelQuery.setBookbuildingDateStart(DateUtil.getDayFirstSecond(DateUtil.parseYMD(startDate))); + modelQuery.setBookbuildingDateEnd(DateUtil.getDayLastSecond(DateUtil.parseYMD(endDate))); + List models = patientsService.queryPatient(modelQuery); + String url=URL+"/thirdApi/saveChildHealthExam/v1";//新增上传 + for (Patients model : models) { + try { + //数据转换 + SaveMaternalRegisterInfo modelInfo=new SaveMaternalRegisterInfo(); + modelInfo.convertToDataModel(model); + String jsonString = JSON.toJSONString(modelInfo); + //上传数据 + String result=repeatPost(url,jsonString); + if(StringUtils.isNotEmpty(result)){ + List results=JsonUtil.jsonToList(result, UploadResult.class); + if("0".equals(results.get(0).getCode())){ + baseResponseList.add("新增孕产登记---"+model.getId()+"---code:"+results.get(0).getCode()+"message:"+results.get(0).getMessage()); + LogUtil.taskInfo("新增孕产登记---"+model.getId()+"---code:"+results.get(0).getCode()+"message:"+results.get(0).getMessage()); + }else { + baseResponseList.add("新增孕产登记---"+model.getId()+"---code:"+results.get(0).getCode()+"message:"+results.get(0).getMessage()); + LogUtil.error("新增孕产登记---"+model.getId()+"---code:"+results.get(0).getCode()+"message:"+results.get(0).getMessage(),null); + } + }else { + baseResponseList.add("新增孕产登记---"+model.getId()+"---上传返回结果为null"); + LogUtil.error("新增孕产登记---"+model.getId()+"---上传返回结果为null",null); + } + } catch (Exception e) { + e.printStackTrace(); + LogUtil.error("新增孕产登记---"+model.getId()+"---"+e.getMessage(),null); + baseResponse.setErrormsg("新增孕产登记---"+model.getId()+"---"+e.getMessage()); + } + } + baseResponse.setObject(baseResponseList); + return baseResponse; + } } \ No newline at end of file -- 1.8.3.1