diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java b/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java index 2c6c7ce..63722e5 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java @@ -16,6 +16,23 @@ package com.lyms.platform.common.utils; */ public final class StringUtils { + + + //体重克算成千克 + public static String cutBabyWeight(String babyWeight){ + if(StringUtils.isEmpty(babyWeight)){ + return babyWeight; + } + if(babyWeight.length()<=3){ + babyWeight = org.apache.commons.lang.StringUtils.leftPad(babyWeight, 4,"0"); + } + StringBuilder stringBuilder=new StringBuilder(babyWeight); + if(babyWeight.length()>2){ + stringBuilder.setLength(babyWeight.length()-1); + } + stringBuilder.insert(stringBuilder.length() - 2,"."); + return stringBuilder.toString(); + } public static Object isEmpty(Object obj, Object defaultVal) { if (null == obj) { return defaultVal; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java index a6f0bfd..9dbe62e 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java @@ -4,6 +4,7 @@ import org.springframework.data.mongodb.core.mapping.Document; import java.util.Date; import java.util.List; +import java.util.Map; /** * 产妇分娩 @@ -72,24 +73,24 @@ public class MaternalDeliverModel { private String loseBloodCause; //产科并发症 private String ocs; - /* //胎盘娩出方式 - private String tpmcType; - //娩出方式 - private String mcType; - // 胎盘大小 - private String tpSize; - // 胎盘重量 - private String tpWeight; - //脐带长度 - private String umbilicalCordLength; - // 脐带异常 - private String umbilicalCordEx; - // 脐带异常类型 - private String umbilicalCordExType;*/ + /* //胎盘娩出方式 + private String tpmcType; + //娩出方式 + private String mcType; + // 胎盘大小 + private String tpSize; + // 胎盘重量 + private String tpWeight; + //脐带长度 + private String umbilicalCordLength; + // 脐带异常 + private String umbilicalCordEx; + // 脐带异常类型 + private String umbilicalCordExType;*/ private List extPlacentas; //存放新生儿表的id - private List baby; + private List baby; //分娩医院 private String fmHospital; //接生医生 @@ -123,7 +124,133 @@ public class MaternalDeliverModel { this.modified = modified; } - public static class ExtPlacenta{ + public static class Baby { + + private String id; + //新生儿性别; + private String babyGender; + //新生儿重量 + private String babyWeight; + //新生儿生长 + private String babyHeight; + //畸形 0非畸形 1畸形 + private Integer deformity; + //apgar评分 + private String apgarScore; + //窒息分钟 + private String asphyxiaM; + // 妊娠结局 + private String pregnancyOut; + //新生儿疾病 + private String babyHealthy; + //母婴接触开始 + private String contactStartM; + //母婴接触时间 + private String contactM; + //早吮吸 + private String earlySuck; + public Baby(){ + + } + + public String getApgarScore() { + return apgarScore; + } + + public void setApgarScore(String apgarScore) { + this.apgarScore = apgarScore; + } + + public String getAsphyxiaM() { + return asphyxiaM; + } + + public void setAsphyxiaM(String asphyxiaM) { + this.asphyxiaM = asphyxiaM; + } + + public String getBabyGender() { + return babyGender; + } + + public void setBabyGender(String babyGender) { + this.babyGender = babyGender; + } + + public String getBabyHealthy() { + return babyHealthy; + } + + public void setBabyHealthy(String babyHealthy) { + this.babyHealthy = babyHealthy; + } + + public String getBabyHeight() { + return babyHeight; + } + + public void setBabyHeight(String babyHeight) { + this.babyHeight = babyHeight; + } + + public String getBabyWeight() { + return babyWeight; + } + + public void setBabyWeight(String babyWeight) { + this.babyWeight = babyWeight; + } + + public String getContactM() { + return contactM; + } + + public void setContactM(String contactM) { + this.contactM = contactM; + } + + public String getContactStartM() { + return contactStartM; + } + + public void setContactStartM(String contactStartM) { + this.contactStartM = contactStartM; + } + + public Integer getDeformity() { + return deformity; + } + + public void setDeformity(Integer deformity) { + this.deformity = deformity; + } + + public String getEarlySuck() { + return earlySuck; + } + + public void setEarlySuck(String earlySuck) { + this.earlySuck = earlySuck; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getPregnancyOut() { + return pregnancyOut; + } + + public void setPregnancyOut(String pregnancyOut) { + this.pregnancyOut = pregnancyOut; + } + } + + public static class ExtPlacenta { //胎盘娩出方式 private String tpmcType; //娩出方式 @@ -195,6 +322,7 @@ public class MaternalDeliverModel { this.umbilicalCordLength = umbilicalCordLength; } } + public Integer getYn() { return yn; } @@ -203,11 +331,11 @@ public class MaternalDeliverModel { this.yn = yn; } - public List getBaby() { + public List getBaby() { return baby; } - public void setBaby(List baby) { + public void setBaby(List baby) { this.baby = baby; } @@ -308,7 +436,6 @@ public class MaternalDeliverModel { } - public Integer getNeedleNum() { return needleNum; } 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 0b4ecac..8eb4f0e 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 @@ -59,6 +59,7 @@ public class MatDeliverFacade { * @return */ public BaseResponse addOrUpdateMatDeliver(MatDeliverAddRequest deliverAddRequest, Integer userId) { + List babyList = new ArrayList<>(); //增加 if (StringUtils.isEmpty(deliverAddRequest.getId()) && StringUtils.isNotEmpty(deliverAddRequest.getParentId())) { MaternalDeliverModel maternalDeliverModel = deliverAddRequest.convertToDataModel(); @@ -69,30 +70,51 @@ public class MatDeliverFacade { PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setId(parentId); List patients = patientsService.queryPatient(patientsQuery); - Patients patients1 =null; + Patients patients1 = null; if (CollectionUtils.isNotEmpty(list)) { String userName = ""; if (CollectionUtils.isNotEmpty(patients)) { - patients1=patients.get(0); - userName =patients1 .getUsername(); + patients1 = patients.get(0); + userName = patients1.getUsername(); if (null != deliverAddRequest.getDueDate()) { Date fmDate = DateUtil.parseYMD(deliverAddRequest.getDueDate()); patients1.setFmDate(fmDate); patients1.setType(3); patientsService.updatePatient(patients1); //修改person表状态为产妇 - if(StringUtils.isNotEmpty(patients1.getPid())){ - PersonModel personModel=new PersonModel(); + if (StringUtils.isNotEmpty(patients1.getPid())) { + PersonModel personModel = new PersonModel(); personModel.setType(3); personModel.setId(patients1.getPid()); personModel.setModified(new Date()); - personService.updatePerson(personModel,patients1.getPid()); + personService.updatePerson(personModel, patients1.getPid()); } } } + for (MatDeliverAddRequest.Baby baby : list) { + MaternalDeliverModel.Baby baby1 = baby.convertToDataModel(); + babyList.add(baby1); - BabyModel babyModel = baby.convertToDataModel(); + BabyModel babyModel = new BabyModel(); + baby.setId(baby1.getId()); + babyModel.setBirth(new Date()); + babyModel.setYn(YnEnums.YES.getId()); + babyModel.setVisitstatus(VisitStatusEnums.UNVISIT.getId()); + babyModel.setAsphyxiaM(baby1.getAsphyxiaM()); + if (null != baby1.getBabyGender()) { + babyModel.setSex(Integer.valueOf(baby1.getBabyGender())); + } + babyModel.setApgarScore(baby1.getApgarScore()); + babyModel.setModified(new Date()); + babyModel.setBabyHealthy(baby1.getBabyHealthy()); + babyModel.setBabyWeight(com.lyms.platform.common.utils.StringUtils.cutBabyWeight(baby1.getBabyWeight())); + babyModel.setBabyHeight(baby1.getBabyHeight()); + babyModel.setMalformation(baby1.getDeformity()); + babyModel.setPregnancyOut(baby1.getPregnancyOut()); + babyModel.setContactM(baby1.getContactM()); + babyModel.setContactStartM(baby1.getContactStartM()); + babyModel.setEarlySuck(baby1.getEarlySuck()); babyModel.setParentId(parentId); babyModel.setName(userName + (babyModel.getSex() == 1 ? "之子" : "之女")); babyModel.setYn(YnEnums.NO.getId()); @@ -108,29 +130,30 @@ public class MatDeliverFacade { } babyIds.add(babyService.addOneBaby(babyModel).getId()); } + maternalDeliverModel.setBaby(babyList); } List list1 = autoMatchFacade.matchOrgId(userId); if (CollectionUtils.isNotEmpty(list1)) { maternalDeliverModel.setHospitalId(list1.get(0) + ""); } - maternalDeliverModel.setBaby(babyIds); + maternalDeliverModel.setYn(YnEnums.YES.getId()); matDeliverService.addMatDeliver(maternalDeliverModel); //修改 } else if (StringUtils.isNotEmpty(deliverAddRequest.getId()) && StringUtils.isNotEmpty(deliverAddRequest.getParentId())) { MaternalDeliverModel maternalDeliverModel = deliverAddRequest.convertToDataModel(); + matDeliverService.updateOne(maternalDeliverModel, maternalDeliverModel.getId()); //获取到小孩信息 List list = deliverAddRequest.getBabies(); //修改小孩信息 if (CollectionUtils.isNotEmpty(list)) { for (MatDeliverAddRequest.Baby baby : list) { - BabyModel babyModel = baby.convertToDataModel(); - if (StringUtils.isNotEmpty(babyModel.getId())) { - babyService.updateOneBaby(babyModel, babyModel.getId()); - } + MaternalDeliverModel.Baby babyModel = baby.convertToDataModel(); + babyList.add(babyModel); } + maternalDeliverModel.setBaby(babyList); } if (null != deliverAddRequest.getDueDate()) { Date fmDate = DateUtil.parseYMD(deliverAddRequest.getDueDate()); @@ -241,14 +264,11 @@ public class MatDeliverFacade { maternalDeliverResult.convertToResult(deliverModel); //获取新生儿信息 - List babyIdList = deliverModel.getBaby(); + List babyIdList = deliverModel.getBaby(); List babyList = new ArrayList(); if (CollectionUtils.isNotEmpty(babyIdList)) { - for (String babyId : babyIdList) { - BabyModel babyModel = babyService.getOneBabyById(babyId); - if (null != babyModel) { - babyList.add(maternalDeliverResult.new Baby(babyModel)); - } + for (MaternalDeliverModel.Baby baby : babyIdList) { + babyList.add(maternalDeliverResult.new Baby(baby)); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverAddRequest.java index db79e2b..9d5f91f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverAddRequest.java @@ -416,7 +416,7 @@ public class MatDeliverAddRequest implements IBasicRequestConvert{ + public static class Baby implements IBasicRequestConvert{ private String id; //新生儿性别; @@ -443,30 +443,25 @@ public class MatDeliverAddRequest implements IBasicRequestConvert