Commit 696ebb14295fe84d494ac05a066a9be27bd3bce8

Authored by shiyang
1 parent c258b96681

公卫2.0-新增孕产登记-上传接口

Showing 3 changed files with 421 additions and 6 deletions

platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/model/SaveMaternalRegisterInfo.java View file @ 696ebb1
  1 +package com.lyms.hospitalapi.lhxfy.model;
  2 +
  3 +import com.lyms.platform.biz.service.BabyBookbuildingService;
  4 +import com.lyms.platform.common.utils.DateUtil;
  5 +import com.lyms.platform.common.utils.StringUtils;
  6 +import com.lyms.platform.pojo.BabyCheckModel;
  7 +import com.lyms.platform.pojo.BabyModel;
  8 +import com.lyms.platform.pojo.Patients;
  9 +import org.springframework.beans.factory.annotation.Autowired;
  10 +
  11 +import java.util.ArrayList;
  12 +import java.util.HashMap;
  13 +import java.util.List;
  14 +
  15 +/**
  16 + * 公卫2.0-新增孕产登记
  17 + */
  18 +public class SaveMaternalRegisterInfo {
  19 + private Integer isAppCreate; //类型:Number 必有字段 备注:各厂商对接时,再确定具体的值
  20 + private String husbandName; //类型:String 可有字段 备注:丈夫姓名
  21 + private String husbandUnit; //类型:String 可有字段 备注:丈夫工作单位
  22 + private String husbandTelNo; //类型:String 可有字段 备注:丈夫电话号码
  23 + private String address; //类型:String 可有字段 备注:住址
  24 + private String expectedChildBirthday; //类型:String 可有字段 备注:预产期
  25 + private Integer bmi; //类型:Number 可有字段 备注:体质指数
  26 + private String pregnancyInplan; //类型:String 可有字段 备注:是否为计划内妊娠
  27 + private String closeCaseReason; //类型:String 必有字段 备注:手工结案原因
  28 + private String closeCaseCode; //类型:String 必有字段 备注:手工结案代码:0否1是
  29 + private List<Object> recordChoice; //类型:Array 可有字段 备注:选项指标记录
  30 + private String name; //类型:String 必有字段 备注:本人姓名
  31 + private String workUnit; //类型:String 可有字段 备注:工作单位
  32 + private String husbandPersonInfoId; //类型:String 可有字段 备注:丈夫档案ID
  33 + private String mensesPeriod; //类型:String 可有字段 备注:月经周期
  34 + private String mensesMeasure; //类型:String 可有字段 备注:月经量
  35 + private String mensesLastDate; //类型:String 可有字段 备注:末次月经日期
  36 + private Integer childrenCount; //类型:Number 可有字段 备注:现有子女数
  37 + private String buildingManualDate; //类型:String 必有字段 备注:建册日期
  38 + private String buildingManualCode; //类型:String 必有字段 备注:是否建册
  39 + private Integer spontaneousAbortionCount; //类型:Number 可有字段 备注:自然流产次数
  40 + private Integer artificialAbortionCount; //类型:Number 可有字段 备注:人工流产次数
  41 + private Integer drugAbortionCount; //类型:Number 可有字段 备注:药物流产次数
  42 + private Integer pregnancyLasttime; //类型:Number 可有字段 备注:前次妊娠时间
  43 + private Integer gravidity; //类型:Number 可有字段 备注:孕次
  44 + private Integer parity; //类型:Number 可有字段 备注:产次
  45 + private Integer sbp; //类型:Number 可有字段 备注:收缩压(mmHg)
  46 + private Integer dbp; //类型:Number 可有字段 备注:舒张压(mmHg)
  47 + private Integer weight; //类型:Number 可有字段 备注:体重(kg)
  48 + private Integer height; //类型:Number 可有字段 备注:身高(cm)
  49 + private String remark; //类型:String 可有字段 备注:备注
  50 + private String personInfoId; //类型:String 必有字段 备注:个人档案ID
  51 + private String maternalInfoNo; //类型:String 可有字段 备注:孕产妇基本信息ID
  52 +
  53 + public void convertToDataModel(Patients patients){
  54 + setIsAppCreate(null==patients.getIsAppCreate()?0:patients.getIsAppCreate());
  55 + setHusbandName(null);
  56 + setHusbandUnit(null);
  57 + setHusbandTelNo(null);
  58 + setAddress(null);
  59 + setExpectedChildBirthday(null);
  60 + setBmi(null);
  61 + setPregnancyInplan(null);
  62 + setCloseCaseReason(StringUtils.isEmpty(patients.getCloseCaseReason())?"无":patients.getCloseCaseReason());
  63 + setCloseCaseCode(StringUtils.isEmpty(patients.getCloseCaseCode())?"0":patients.getCloseCaseCode());
  64 + setRecordChoice(null);
  65 + setName(StringUtils.isEmpty(patients.getUsername())?"无":patients.getUsername());
  66 + setWorkUnit(null);
  67 + setHusbandPersonInfoId(null);
  68 + setMensesPeriod(null);
  69 + setMensesMeasure(null);
  70 + setMensesLastDate(null);
  71 + setChildrenCount(null);
  72 + setBuildingManualDate(null==patients.getBookbuildingDate()?"无": DateUtil.getyyyy_MM_dd(patients.getBookbuildingDate()));
  73 + setBuildingManualCode(StringUtils.isEmpty(patients.getBuildingManualCode())?"无":patients.getBuildingManualCode());
  74 + setSpontaneousAbortionCount(null);
  75 + setArtificialAbortionCount(null);
  76 + setDrugAbortionCount(null);
  77 + setPregnancyLasttime(null);
  78 + setGravidity(null);
  79 + setParity(null);
  80 + setSbp(null);
  81 + setDbp(null);
  82 + setWeight(null);
  83 + setHeight(null);
  84 + setRemark(null);
  85 + setPersonInfoId(StringUtils.isEmpty(patients.getId())?"无":patients.getId());
  86 + setMaternalInfoNo(null);
  87 + }
  88 +
  89 + public Integer getIsAppCreate() {
  90 + return isAppCreate;
  91 + }
  92 +
  93 + public void setIsAppCreate(Integer isAppCreate) {
  94 + this.isAppCreate = isAppCreate;
  95 + }
  96 +
  97 + public String getHusbandName() {
  98 + return husbandName;
  99 + }
  100 +
  101 + public void setHusbandName(String husbandName) {
  102 + this.husbandName = husbandName;
  103 + }
  104 +
  105 + public String getHusbandUnit() {
  106 + return husbandUnit;
  107 + }
  108 +
  109 + public void setHusbandUnit(String husbandUnit) {
  110 + this.husbandUnit = husbandUnit;
  111 + }
  112 +
  113 + public String getHusbandTelNo() {
  114 + return husbandTelNo;
  115 + }
  116 +
  117 + public void setHusbandTelNo(String husbandTelNo) {
  118 + this.husbandTelNo = husbandTelNo;
  119 + }
  120 +
  121 + public String getAddress() {
  122 + return address;
  123 + }
  124 +
  125 + public void setAddress(String address) {
  126 + this.address = address;
  127 + }
  128 +
  129 + public String getExpectedChildBirthday() {
  130 + return expectedChildBirthday;
  131 + }
  132 +
  133 + public void setExpectedChildBirthday(String expectedChildBirthday) {
  134 + this.expectedChildBirthday = expectedChildBirthday;
  135 + }
  136 +
  137 + public Integer getBmi() {
  138 + return bmi;
  139 + }
  140 +
  141 + public void setBmi(Integer bmi) {
  142 + this.bmi = bmi;
  143 + }
  144 +
  145 + public String getPregnancyInplan() {
  146 + return pregnancyInplan;
  147 + }
  148 +
  149 + public void setPregnancyInplan(String pregnancyInplan) {
  150 + this.pregnancyInplan = pregnancyInplan;
  151 + }
  152 +
  153 + public String getCloseCaseReason() {
  154 + return closeCaseReason;
  155 + }
  156 +
  157 + public void setCloseCaseReason(String closeCaseReason) {
  158 + this.closeCaseReason = closeCaseReason;
  159 + }
  160 +
  161 + public String getCloseCaseCode() {
  162 + return closeCaseCode;
  163 + }
  164 +
  165 + public void setCloseCaseCode(String closeCaseCode) {
  166 + this.closeCaseCode = closeCaseCode;
  167 + }
  168 +
  169 + public List<Object> getRecordChoice() {
  170 + return recordChoice;
  171 + }
  172 +
  173 + public void setRecordChoice(List<Object> recordChoice) {
  174 + this.recordChoice = recordChoice;
  175 + }
  176 +
  177 + public String getName() {
  178 + return name;
  179 + }
  180 +
  181 + public void setName(String name) {
  182 + this.name = name;
  183 + }
  184 +
  185 + public String getWorkUnit() {
  186 + return workUnit;
  187 + }
  188 +
  189 + public void setWorkUnit(String workUnit) {
  190 + this.workUnit = workUnit;
  191 + }
  192 +
  193 + public String getHusbandPersonInfoId() {
  194 + return husbandPersonInfoId;
  195 + }
  196 +
  197 + public void setHusbandPersonInfoId(String husbandPersonInfoId) {
  198 + this.husbandPersonInfoId = husbandPersonInfoId;
  199 + }
  200 +
  201 + public String getMensesPeriod() {
  202 + return mensesPeriod;
  203 + }
  204 +
  205 + public void setMensesPeriod(String mensesPeriod) {
  206 + this.mensesPeriod = mensesPeriod;
  207 + }
  208 +
  209 + public String getMensesMeasure() {
  210 + return mensesMeasure;
  211 + }
  212 +
  213 + public void setMensesMeasure(String mensesMeasure) {
  214 + this.mensesMeasure = mensesMeasure;
  215 + }
  216 +
  217 + public String getMensesLastDate() {
  218 + return mensesLastDate;
  219 + }
  220 +
  221 + public void setMensesLastDate(String mensesLastDate) {
  222 + this.mensesLastDate = mensesLastDate;
  223 + }
  224 +
  225 + public Integer getChildrenCount() {
  226 + return childrenCount;
  227 + }
  228 +
  229 + public void setChildrenCount(Integer childrenCount) {
  230 + this.childrenCount = childrenCount;
  231 + }
  232 +
  233 + public String getBuildingManualDate() {
  234 + return buildingManualDate;
  235 + }
  236 +
  237 + public void setBuildingManualDate(String buildingManualDate) {
  238 + this.buildingManualDate = buildingManualDate;
  239 + }
  240 +
  241 + public String getBuildingManualCode() {
  242 + return buildingManualCode;
  243 + }
  244 +
  245 + public void setBuildingManualCode(String buildingManualCode) {
  246 + this.buildingManualCode = buildingManualCode;
  247 + }
  248 +
  249 + public Integer getSpontaneousAbortionCount() {
  250 + return spontaneousAbortionCount;
  251 + }
  252 +
  253 + public void setSpontaneousAbortionCount(Integer spontaneousAbortionCount) {
  254 + this.spontaneousAbortionCount = spontaneousAbortionCount;
  255 + }
  256 +
  257 + public Integer getArtificialAbortionCount() {
  258 + return artificialAbortionCount;
  259 + }
  260 +
  261 + public void setArtificialAbortionCount(Integer artificialAbortionCount) {
  262 + this.artificialAbortionCount = artificialAbortionCount;
  263 + }
  264 +
  265 + public Integer getDrugAbortionCount() {
  266 + return drugAbortionCount;
  267 + }
  268 +
  269 + public void setDrugAbortionCount(Integer drugAbortionCount) {
  270 + this.drugAbortionCount = drugAbortionCount;
  271 + }
  272 +
  273 + public Integer getPregnancyLasttime() {
  274 + return pregnancyLasttime;
  275 + }
  276 +
  277 + public void setPregnancyLasttime(Integer pregnancyLasttime) {
  278 + this.pregnancyLasttime = pregnancyLasttime;
  279 + }
  280 +
  281 + public Integer getGravidity() {
  282 + return gravidity;
  283 + }
  284 +
  285 + public void setGravidity(Integer gravidity) {
  286 + this.gravidity = gravidity;
  287 + }
  288 +
  289 + public Integer getParity() {
  290 + return parity;
  291 + }
  292 +
  293 + public void setParity(Integer parity) {
  294 + this.parity = parity;
  295 + }
  296 +
  297 + public Integer getSbp() {
  298 + return sbp;
  299 + }
  300 +
  301 + public void setSbp(Integer sbp) {
  302 + this.sbp = sbp;
  303 + }
  304 +
  305 + public Integer getDbp() {
  306 + return dbp;
  307 + }
  308 +
  309 + public void setDbp(Integer dbp) {
  310 + this.dbp = dbp;
  311 + }
  312 +
  313 + public Integer getWeight() {
  314 + return weight;
  315 + }
  316 +
  317 + public void setWeight(Integer weight) {
  318 + this.weight = weight;
  319 + }
  320 +
  321 + public Integer getHeight() {
  322 + return height;
  323 + }
  324 +
  325 + public void setHeight(Integer height) {
  326 + this.height = height;
  327 + }
  328 +
  329 + public String getRemark() {
  330 + return remark;
  331 + }
  332 +
  333 + public void setRemark(String remark) {
  334 + this.remark = remark;
  335 + }
  336 +
  337 + public String getPersonInfoId() {
  338 + return personInfoId;
  339 + }
  340 +
  341 + public void setPersonInfoId(String personInfoId) {
  342 + this.personInfoId = personInfoId;
  343 + }
  344 +
  345 + public String getMaternalInfoNo() {
  346 + return maternalInfoNo;
  347 + }
  348 +
  349 + public void setMaternalInfoNo(String maternalInfoNo) {
  350 + this.maternalInfoNo = maternalInfoNo;
  351 + }
  352 +}
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/Public2PathController.java View file @ 696ebb1
... ... @@ -78,6 +78,21 @@
78 78 BaseResponse baseResponse=public2PathFacade.saveChildHealthExam(startDate,endDate,hospitalId);
79 79 return baseResponse;
80 80 }
  81 + /**
  82 + * 公卫2.0-新增孕产登记
  83 + * @param startDate
  84 + * @param endDate
  85 + * @param hospitalId
  86 + */
  87 + @ResponseBody
  88 + @TokenRequired
  89 + @RequestMapping(value = "/saveMaternalRegister", method = RequestMethod.GET)
  90 + public BaseResponse saveMaternalRegister(@RequestParam String startDate,
  91 + @RequestParam String endDate,
  92 + @RequestParam String hospitalId) {
  93 + BaseResponse baseResponse=public2PathFacade.saveMaternalRegister(startDate,endDate,hospitalId);
  94 + return baseResponse;
  95 + }
81 96  
82 97 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/Public2PathFacade.java View file @ 696ebb1
... ... @@ -5,6 +5,7 @@
5 5 import com.lyms.platform.biz.service.BabyBookbuildingService;
6 6 import com.lyms.platform.biz.service.BabyCheckService;
7 7 import com.lyms.platform.biz.service.BabyService;
  8 +import com.lyms.platform.biz.service.PatientsService;
8 9 import com.lyms.platform.common.enums.YnEnums;
9 10 import com.lyms.platform.common.result.BaseObjectResponse;
10 11 import com.lyms.platform.common.result.BaseResponse;
11 12  
... ... @@ -13,8 +14,10 @@
13 14 import com.lyms.platform.pojo.BabyCheckModel;
14 15 import com.lyms.platform.pojo.BabyModel;
15 16 import com.lyms.platform.pojo.NewbornVisit;
  17 +import com.lyms.platform.pojo.Patients;
16 18 import com.lyms.platform.query.BabyCheckModelQuery;
17 19 import com.lyms.platform.query.BabyModelQuery;
  20 +import com.lyms.platform.query.PatientsQuery;
18 21 import jxl.common.BaseUnit;
19 22 import org.apache.poi.ss.formula.functions.T;
20 23 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -39,6 +42,8 @@
39 42 BabyBookbuildingService babyBookbuildingService;
40 43 @Autowired
41 44 BabyCheckService babyCheckService;
  45 + @Autowired
  46 + PatientsService patientsService;
42 47  
43 48 private static final String URL = "http://222.223.187.132:7076/ph-s-report";
44 49 public BaseResponse saveChildInfo(String startDate, String endDate,String hospitalId) {
... ... @@ -50,7 +55,7 @@
50 55 modelQuery.setBuildDateStart(DateUtil.getDayFirstSecond(DateUtil.parseYMD(startDate)));
51 56 modelQuery.setBuildDateEnd(DateUtil.getDayLastSecond(DateUtil.parseYMD(endDate)));
52 57 List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(modelQuery);
53   - String urladd=URL+"/thirdApi/saveChildInfo/v1";//新增上传
  58 + String url=URL+"/thirdApi/saveChildInfo/v1";//新增上传
54 59 for (BabyModel model : models) {
55 60 try {
56 61 //数据转换
... ... @@ -58,7 +63,7 @@
58 63 modelInfo.convertToDataModel(model);
59 64 String jsonString = JSON.toJSONString(modelInfo);
60 65 //上传数据
61   - String result=repeatPost(urladd,jsonString);
  66 + String result=repeatPost(url,jsonString);
62 67 if(StringUtils.isNotEmpty(result)){
63 68 List<UploadResult_Public2> results=JsonUtil.jsonToList(result, UploadResult.class);
64 69 if("0".equals(results.get(0).getCode())){
... ... @@ -114,7 +119,7 @@
114 119 .lte(DateUtil.getDayLastSecond(DateUtil.parseYMD(endDate))));
115 120  
116 121 List<NewbornVisit> models = mongoTemplate.find(query, NewbornVisit.class);
117   - String urladd=URL+"/thirdApi/saveChildHomeVisit/v1";//新增上传
  122 + String url=URL+"/thirdApi/saveChildHomeVisit/v1";//新增上传
118 123 for (NewbornVisit model : models) {
119 124 try {
120 125 //数据转换
... ... @@ -122,7 +127,7 @@
122 127 modelInfo.convertToDataModel(model);
123 128 String jsonString = JSON.toJSONString(modelInfo);
124 129 //上传数据
125   - String result=repeatPost(urladd,jsonString);
  130 + String result=repeatPost(url,jsonString);
126 131 if(StringUtils.isNotEmpty(result)){
127 132 List<UploadResult_Public2> results=JsonUtil.jsonToList(result, UploadResult.class);
128 133 if("0".equals(results.get(0).getCode())){
... ... @@ -155,7 +160,7 @@
155 160 modelQuery.setCheckDateStart(DateUtil.getDayFirstSecond(DateUtil.parseYMD(startDate)));
156 161 modelQuery.setCheckDateEnd(DateUtil.getDayLastSecond(DateUtil.parseYMD(endDate)));
157 162 List<BabyCheckModel> models = babyCheckService.queryBabyCheckRecord(modelQuery);
158   - String urladd=URL+"/thirdApi/saveChildHealthExam/v1";//新增上传
  163 + String url=URL+"/thirdApi/saveChildHealthExam/v1";//新增上传
159 164 for (BabyCheckModel model : models) {
160 165 try {
161 166 //数据转换
... ... @@ -163,7 +168,7 @@
163 168 modelInfo.convertToDataModel(model);
164 169 String jsonString = JSON.toJSONString(modelInfo);
165 170 //上传数据
166   - String result=repeatPost(urladd,jsonString);
  171 + String result=repeatPost(url,jsonString);
167 172 if(StringUtils.isNotEmpty(result)){
168 173 List<UploadResult_Public2> results=JsonUtil.jsonToList(result, UploadResult.class);
169 174 if("0".equals(results.get(0).getCode())){
... ... @@ -181,6 +186,49 @@
181 186 e.printStackTrace();
182 187 LogUtil.error("新增儿童健康检查---"+model.getId()+"---"+e.getMessage(),null);
183 188 baseResponse.setErrormsg("新增儿童健康检查---"+model.getId()+"---"+e.getMessage());
  189 + }
  190 + }
  191 + baseResponse.setObject(baseResponseList);
  192 + return baseResponse;
  193 + }
  194 +
  195 + public BaseResponse saveMaternalRegister(String startDate, String endDate, String hospitalId) {
  196 + BaseResponse baseResponse=new BaseResponse();
  197 + List<String> baseResponseList=new ArrayList<>();//记录错误信息
  198 + PatientsQuery modelQuery=new PatientsQuery();
  199 + modelQuery.setYn(YnEnums.YES.getId());
  200 + modelQuery.setHospitalId(hospitalId);
  201 + modelQuery.setExtEnable(false);
  202 + modelQuery.setBuildTypeNot(1);
  203 + modelQuery.setBookbuildingDateStart(DateUtil.getDayFirstSecond(DateUtil.parseYMD(startDate)));
  204 + modelQuery.setBookbuildingDateEnd(DateUtil.getDayLastSecond(DateUtil.parseYMD(endDate)));
  205 + List <Patients> models = patientsService.queryPatient(modelQuery);
  206 + String url=URL+"/thirdApi/saveChildHealthExam/v1";//新增上传
  207 + for (Patients model : models) {
  208 + try {
  209 + //数据转换
  210 + SaveMaternalRegisterInfo modelInfo=new SaveMaternalRegisterInfo();
  211 + modelInfo.convertToDataModel(model);
  212 + String jsonString = JSON.toJSONString(modelInfo);
  213 + //上传数据
  214 + String result=repeatPost(url,jsonString);
  215 + if(StringUtils.isNotEmpty(result)){
  216 + List<UploadResult_Public2> results=JsonUtil.jsonToList(result, UploadResult.class);
  217 + if("0".equals(results.get(0).getCode())){
  218 + baseResponseList.add("新增孕产登记---"+model.getId()+"---code:"+results.get(0).getCode()+"message:"+results.get(0).getMessage());
  219 + LogUtil.taskInfo("新增孕产登记---"+model.getId()+"---code:"+results.get(0).getCode()+"message:"+results.get(0).getMessage());
  220 + }else {
  221 + baseResponseList.add("新增孕产登记---"+model.getId()+"---code:"+results.get(0).getCode()+"message:"+results.get(0).getMessage());
  222 + LogUtil.error("新增孕产登记---"+model.getId()+"---code:"+results.get(0).getCode()+"message:"+results.get(0).getMessage(),null);
  223 + }
  224 + }else {
  225 + baseResponseList.add("新增孕产登记---"+model.getId()+"---上传返回结果为null");
  226 + LogUtil.error("新增孕产登记---"+model.getId()+"---上传返回结果为null",null);
  227 + }
  228 + } catch (Exception e) {
  229 + e.printStackTrace();
  230 + LogUtil.error("新增孕产登记---"+model.getId()+"---"+e.getMessage(),null);
  231 + baseResponse.setErrormsg("新增孕产登记---"+model.getId()+"---"+e.getMessage());
184 232 }
185 233 }
186 234 baseResponse.setObject(baseResponseList);