diff --git a/parent/base.common/src/main/java/com/lyms/base/common/service/organ/impl/OrganizationsServiceImpl.java b/parent/base.common/src/main/java/com/lyms/base/common/service/organ/impl/OrganizationsServiceImpl.java index baaeef1..d085fcf 100644 --- a/parent/base.common/src/main/java/com/lyms/base/common/service/organ/impl/OrganizationsServiceImpl.java +++ b/parent/base.common/src/main/java/com/lyms/base/common/service/organ/impl/OrganizationsServiceImpl.java @@ -89,12 +89,11 @@ public class OrganizationsServiceImpl extends ServiceImpl selectListByName(String name) { - if(StringUtils.isEmpty(name)){ - return null; - } EntityWrapper ew = new EntityWrapper(); ew.where("1=1"); - ew.like("NAME", name); + if(!StringUtils.isEmpty(name)){ + ew.like("NAME", name); + } return this.selectList(ew); } diff --git a/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/childbirth/ChildbirthInfo.java b/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/childbirth/ChildbirthInfo.java index f1ed837..d1d0ff6 100644 --- a/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/childbirth/ChildbirthInfo.java +++ b/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/childbirth/ChildbirthInfo.java @@ -154,22 +154,22 @@ public class ChildbirthInfo implements Serializable { * 产后1小时失血量 */ @TableField(value="LOSE_BLOOD_A") - private Integer loseBloodA; + private Double loseBloodA; /** * 产后2小时失血量 */ @TableField(value="LOSE_BLOOD_B") - private Integer loseBloodB; + private Double loseBloodB; /** * 产后24小时失血量 */ @TableField(value="LOSE_BLOOD_C") - private Integer loseBloodC; + private Double loseBloodC; /** * 第三产程+产后2小时失血量 */ @TableField(value="LOSE_BLOOD_D") - private Integer loseBloodD; + private Double loseBloodD; /** * 失血原因(枚举) */ @@ -446,35 +446,35 @@ public class ChildbirthInfo implements Serializable { this.pulse = pulse; } - public Integer getLoseBloodA() { + public Double getLoseBloodA() { return loseBloodA; } - public void setLoseBloodA(Integer loseBloodA) { + public void setLoseBloodA(Double loseBloodA) { this.loseBloodA = loseBloodA; } - public Integer getLoseBloodB() { + public Double getLoseBloodB() { return loseBloodB; } - public void setLoseBloodB(Integer loseBloodB) { + public void setLoseBloodB(Double loseBloodB) { this.loseBloodB = loseBloodB; } - public Integer getLoseBloodC() { + public Double getLoseBloodC() { return loseBloodC; } - public void setLoseBloodC(Integer loseBloodC) { + public void setLoseBloodC(Double loseBloodC) { this.loseBloodC = loseBloodC; } - public Integer getLoseBloodD() { + public Double getLoseBloodD() { return loseBloodD; } - public void setLoseBloodD(Integer loseBloodD) { + public void setLoseBloodD(Double loseBloodD) { this.loseBloodD = loseBloodD; } diff --git a/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/childbirth/ChildbirthNewborn.java b/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/childbirth/ChildbirthNewborn.java index 79c0fc3..a16e337 100644 --- a/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/childbirth/ChildbirthNewborn.java +++ b/parent/hospital.mac/src/main/java/com/lyms/hospital/entity/childbirth/ChildbirthNewborn.java @@ -111,20 +111,33 @@ public class ChildbirthNewborn implements Serializable { private Integer ifDel; //==========查询冗余字段(需要查询映射)============ + @TableField(exist = false) private String childbirthTimeText;//分娩孕周 + @TableField(exist = false) private String childbirthType;//分娩方式 + @TableField(exist = false) private String motherName;//母亲姓名 + @TableField(exist = false) private String womanBirth;//孕妇出生日期(计算年龄用) + @TableField(exist = false) private String papersNumber;//母亲证件号 + @TableField(exist = false) private String contactWay;//联系方式 + @TableField(exist = false) private String doctorName;//接生医生 //==========查询冗余字段(无需查询映射)============ + @TableField(exist = false) private String childName;//姓名 + @TableField(exist = false) private Integer daysAfterBirth;//出生天数 + @TableField(exist = false) private Integer motherAge;//母亲年龄 + @TableField(exist = false) private String queryDateBegin;//查询-分娩日期范围开始 + @TableField(exist = false) private String queryDateEnd;//查询-分娩日期范围结束 + @TableField(exist = false) private Integer orgId;//分娩医院ID public String getId() { diff --git a/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/CfEnums.java b/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/CfEnums.java index 8bb3a20..a32960c 100644 --- a/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/CfEnums.java +++ b/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/CfEnums.java @@ -10,8 +10,8 @@ import java.util.Map; * Created by Administrator on 2016/6/24 0024. */ public enum CfEnums { - O("良好","1"), - O1("死亡","2"); + O("良好","0"), + O1("死亡","1"); public static List> getList(){ List> list = new ArrayList<>(); diff --git a/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/DeathCauseEnums.java b/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/DeathCauseEnums.java index ebdd256..78d4902 100644 --- a/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/DeathCauseEnums.java +++ b/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/DeathCauseEnums.java @@ -13,7 +13,7 @@ import org.apache.commons.lang.StringUtils; * Created by Administrator on 2016/6/24 0024. */ public enum DeathCauseEnums { - O("产科出血", "1"), O2("妊娠高血压疾病", "2"), O3("内科合并症", "3"), O4("羊水栓塞", "4"), O5("其他", "5"); + O2("产科出血", "2"), O3("妊娠高血压疾病", "3"), O4("内科合并症", "4"), O5("羊水栓塞", "5"), O6("其他", "6"); public static List> getList(){ List> list = new ArrayList<>(); diff --git a/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/QiDaiEnums.java b/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/QiDaiEnums.java index e1cf127..961c2c1 100644 --- a/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/QiDaiEnums.java +++ b/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/QiDaiEnums.java @@ -24,6 +24,18 @@ public enum QiDaiEnums { } return list; } + + public static String getTitle(String id){ + if (id==null){ + return ""; + } + for (QiDaiEnums e:QiDaiEnums.values()){ + if (id.equals(e.getId())){ + return e.getName(); + } + } + return ""; + } private QiDaiEnums(String name, String id) { this.name = name; diff --git a/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/SXCauseEnums.java b/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/SXCauseEnums.java index cf2bdfd..d4431b6 100644 --- a/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/SXCauseEnums.java +++ b/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/SXCauseEnums.java @@ -25,6 +25,18 @@ public enum SXCauseEnums { return list; } + public static String getTitle(String id){ + if (id==null){ + return ""; + } + for (SXCauseEnums e:SXCauseEnums.values()){ + if (id.equals(e.getId())){ + return e.getName(); + } + } + return ""; + } + private SXCauseEnums(String name, String id){ this.id=id; this.name=name; diff --git a/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/TpmcTypeEnums.java b/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/TpmcTypeEnums.java index 3fe2c50..ca6a36e 100644 --- a/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/TpmcTypeEnums.java +++ b/parent/hospital.mac/src/main/java/com/lyms/hospital/enums/business/TpmcTypeEnums.java @@ -24,6 +24,18 @@ public enum TpmcTypeEnums { return list; } + public static String getTitle(String id){ + if (id==null){ + return ""; + } + for (TpmcTypeEnums e:values()){ + if (id.equals(e.getId())){ + return e.getName(); + } + } + return ""; + } + private TpmcTypeEnums(String name,String id){ this.id=id; this.name=name; diff --git a/parent/hospital.web/src/main/java/com/lyms/hospital/controller/childbirth/ChildbirthController.java b/parent/hospital.web/src/main/java/com/lyms/hospital/controller/childbirth/ChildbirthController.java index 339de51..bd02dfb 100644 --- a/parent/hospital.web/src/main/java/com/lyms/hospital/controller/childbirth/ChildbirthController.java +++ b/parent/hospital.web/src/main/java/com/lyms/hospital/controller/childbirth/ChildbirthController.java @@ -1,5 +1,6 @@ package com.lyms.hospital.controller.childbirth; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -9,12 +10,15 @@ import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; +import com.lyms.base.common.entity.conf.HighriskConf; import com.lyms.base.common.entity.user.Users; import com.lyms.base.common.service.organ.OrganizationsService; +import com.lyms.base.common.service.user.UsersService; import com.lyms.hospital.entity.childbirth.ChildbirthInfo; import com.lyms.hospital.entity.childbirth.ChildbirthInfoVo; import com.lyms.hospital.entity.childbirth.ChildbirthNewborn; @@ -36,7 +40,10 @@ import com.lyms.hospital.enums.business.TpmcTypeEnums; import com.lyms.hospital.request.exam.ChildbirthAddRequest; import com.lyms.hospital.request.exam.ChildbirthAddRequestWrapper; import com.lyms.hospital.service.childbirth.ChildbirthInfoService; +import com.lyms.hospital.service.diagnose.DiagnoseInfoService; import com.lyms.hospital.service.woman.WomanFetationRecordService; +import com.lyms.hospital.util.HospitalUtil; +import com.lyms.hospital.util.UnitConstants; import com.lyms.shiro.ShiroWebUtils; import com.lyms.util.DateUtil; import com.lyms.web.bean.AjaxResult; @@ -51,7 +58,7 @@ import com.lyms.web.controller.BaseController; * [--]保存分娩记录
* []依据cardNo或vcCardNo查询孕妇分娩记录
* []查看表单
- * 查看页面
+ * []查看页面
* 删除分娩信息
* * @author xujiahong @@ -67,6 +74,10 @@ public class ChildbirthController extends BaseController { private ChildbirthInfoService birthService; @Autowired private OrganizationsService orgService; + @Autowired + private DiagnoseInfoService diagnoseInfoService; + @Autowired + private UsersService usersService; /** *
  • @Description:查看分娩页面 @@ -77,6 +88,7 @@ public class ChildbirthController extends BaseController { *
  • 修改人: *
  • 修改时间: */ + @SuppressWarnings({ "unchecked", "rawtypes" }) @RequestMapping(value = "/findMatDeliverData", method = RequestMethod.GET) @ResponseBody public AjaxResult getDetailForPage(String id) { @@ -91,8 +103,269 @@ public class ChildbirthController extends BaseController { List newbornList = vo.getNewbornList(); List taipanList = vo.getTaipanList(); List taiList = vo.getTaiList(); + // 查询孕妇基本信息 + WomanFetationRecord fetation = fetationService.selectById(info.getWomanId()); + // 查询孕妇末次高危 + // 高危因素列表 + BigDecimal riskScore = new BigDecimal(0); + List riskFactor = new ArrayList(); + List highriskConfList = diagnoseInfoService.getLastHighrisk(fetation.getWomanPersonId()); + if (highriskConfList != null && !highriskConfList.isEmpty()) { + for (HighriskConf hc : highriskConfList) { + Map map = new HashMap<>(); + map.put("id", hc.getId()); + map.put("name", hc.getName()); + map.put("color", hc.getColortext()); + map.put("code", hc.getColorcode()); + riskFactor.add(map); + if (hc.getGrade() != null) { + BigDecimal big = new BigDecimal(hc.getGrade()); + riskScore = riskScore.add(big); + } + } + } + + Map map = new HashMap<>(); + map.put("riskFactor", riskFactor);// 高危因素列表 + map.put("riskScore", riskScore.toString());// 高危评分 + + map.put("id", fetation.getId()); + map.put("username", fetation.getBaseWomanName()); + map.put("birth", DateUtil.getyyyy_MM_dd(fetation.getBaseWomanBirth())); + map.put("age", UnitConstants.splice(DateUtil.getAge(fetation.getBaseWomanBirth()), UnitConstants.SUI)); + map.put("phone", fetation.getContactWomanWay()); + map.put("fmWeek", checkWeek(fetation)); + map.put("dueDate", DateUtil.getyyyy_MM_dd(fetation.getHospitalExpectedDate())); + map.put("mremark", fetation.getHospitalRecordRemark()); + + map.put("deliveryDate", DateUtil.getyyyy_MM_dd(info.getChildbirthTime()));// 分娩日期 + map.put("dueWeek", info.getChildbirthTimeText()); + + String fmHospital = ""; + if (!StringUtils.isEmpty(info.getOrgId())) { + fmHospital = orgService.getNameById(info.getOrgId()); + } + map.put("fmHospital", fmHospital); + + String deliverDoctor = ""; + if (!StringUtils.isEmpty(info.getDoctorId())) { + Users users = usersService.selectById(info.getDoctorId()); + deliverDoctor = users.getName(); + } + map.put("deliverDoctor", deliverDoctor); + + /* 分娩信息 */ + map.put("tireNumber", TaiShuEnums.getTitle(info.getFetusNum() + ""));// 胎数 + map.put("placenta", UnitConstants.splice(info.getPlacentaNum(), UnitConstants.GE));// 胎盘 + + // 胎儿信息 + List> placetaList = new ArrayList<>(); + if (taiList != null && !taiList.isEmpty()) { + for (ChildbirthTai tai : taiList) { + Map placetaMap = new HashMap<>(); + placetaMap.put("fetalPosition", FetalPositionEnums.getTitle(tai.getPosition() + "")); + placetaMap.put("fetalPresentation", FetalEnums.getTitle(tai.getFirstExpose() + "")); + placetaMap.put("heartRate", UnitConstants.splice(tai.getHeartRate(), UnitConstants.CIFEN)); + placetaList.add(placetaMap); + } + } + map.put("placentaData", placetaList);// 胎儿信息 + + String deliveryMode = ""; + if (!StringUtils.isEmpty(info.getChildbirthType())) { + if (FmTypeEnums.O1.getId().equals(info.getChildbirthType().toString())) {// 剖宫产 + deliveryMode = "剖宫产"; + } else {// 顺产 + deliveryMode = "顺产," + FmTypeEnums.getFmScNameById(info.getChildbirthType().toString()); + } + } + map.put("deliveryMode", deliveryMode);// 分娩方式 + + if (deliveryMode.contains("顺产")) { + map.put("operationCause", ""); + } else { + map.put("operationCause", info.getOperationReason() == null ? "--" : info.getOperationReason()); + } + + // 1,2,3产程、总产程 + if (!StringUtils.isEmpty(info.getProcessFirst())) { + map.put("one", info.getProcessFirst().replace("-", "时") + "分"); + } + if (!StringUtils.isEmpty(info.getProcessSecond())) { + map.put("two", info.getProcessSecond().replace("-", "时") + "分"); + } + if (!StringUtils.isEmpty(info.getProcessThird())) { + map.put("three", info.getProcessThird().replace("-", "时") + "分"); + } + if (!StringUtils.isEmpty(info.getProcessTotal())) { + map.put("totalProcess", info.getProcessTotal().replace("-", "时") + "分"); + } + + // 会阴情况 + if (info.getPerineumSituation() != null) { + if (info.getPerineumSituation() == ChildbirthInfo.PERINEUM_SITUATION_SPLIT) { + map.put("perinealCondition", "切开"); + } else if (info.getPerineumSituation() == ChildbirthInfo.PERINEUM_SITUATION_WHOLE) { + map.put("perinealCondition", "完整"); + } + } + + // 会阴撕裂程度 + if (info.getPerineumSplit() != null) { + if (info.getPerineumSplit() == 1) { + map.put("siLielevel", "Ⅰ度"); + } else if (info.getPerineumSplit() == 2) { + map.put("siLielevel", "Ⅱ度"); + } else if (info.getPerineumSplit() == 3) { + map.put("siLielevel", "Ⅲ度"); + } else { + map.put("siLielevel", ""); + } + } + + map.put("needleNum", UnitConstants.splice(info.getNeedleNum(), UnitConstants.ZHEN)); + + /* 产后生理 */ + // 产妇情况 + if (info.getWomanSituation() != null) { + if (CfEnums.O.getId().equals(info.getWomanSituation())) {// 良好 + map.put("maternalInfo", "良好"); + } else if (CfEnums.O1.getId().equals(info.getWomanSituation())) { + map.put("maternalInfo", "死亡," + DeathCauseEnums.getName(info.getWomanSituation().toString())); + } + } + map.put("deathCause", + StringUtils.isEmpty(info.getOtherDeathReasonText()) ? "--" : info.getOtherDeathReasonText()); - return AjaxResult.returnFail(); + // 产后血压 收缩压,舒张压 + map.put("ssy", UnitConstants.splice(info.getBloodShrink(), UnitConstants.MMHG)); + map.put("szy", UnitConstants.splice(info.getBloodDiastole(), UnitConstants.MMHG)); + // 产后2小时血压 收缩压,舒张压 + map.put("ssy2h", UnitConstants.splice(info.getBloodShrinkLater(), UnitConstants.MMHG)); + map.put("szy2h", UnitConstants.splice(info.getBloodDiastoleLater(), UnitConstants.MMHG)); + + map.put("breath", UnitConstants.splice(info.getBreath(), UnitConstants.CIFEN)); + map.put("pulse", UnitConstants.splice(info.getPulse(), UnitConstants.CIFEN)); + + map.put("oHloseBloodL", UnitConstants.splice(info.getLoseBloodA(), UnitConstants.ML)); + map.put("tHloseBloodL", UnitConstants.splice(info.getLoseBloodB(), UnitConstants.ML)); + map.put("rHloseBloodL", UnitConstants.splice(info.getLoseBloodC(), UnitConstants.ML)); + map.put("sHloseBloodL", UnitConstants.splice(info.getLoseBloodD(), UnitConstants.ML)); + + if (info.getLoseBloodReason() != null) { + if (SXCauseEnums.O5.getId().equals(info.getLoseBloodReason())) {// 其他失血原因 + if (StringUtils.isEmpty(info.getLoseBloodOtherText())) { + map.put("loseBloodCause", ""); + } else { + map.put("loseBloodCause", info.getLoseBloodOtherText()); + } + } else { + map.put("loseBloodCause", SXCauseEnums.getTitle(info.getLoseBloodReason() + "")); + } + } + + // 产科并发症(需要解析) + StringBuffer ocs = new StringBuffer(); + if (info.getComplicationQztp() != null && info.getComplicationQztp() == 1) { + ocs.append("前置胎盘,"); + } + if (info.getComplicationTpzb() != null && info.getComplicationTpzb() == 1) { + ocs.append("胎盘早剥,"); + } + if (info.getComplicationTpzl() != null && info.getComplicationTpzl() == 1) { + ocs.append("胎盘滞留,"); + } + if (info.getComplicationTmzp() != null && info.getComplicationTmzp() == 1) { + ocs.append("胎膜早破,"); + } + if (info.getComplicationChcx() != null && info.getComplicationChcx() == 1) { + ocs.append("产后出血,"); + } + if (info.getComplicationRsqgxy() != null && info.getComplicationRsqgxy() == 1) { + ocs.append("妊娠期高血压,"); + } + if (info.getComplicationZxa() != null && info.getComplicationZxa() == 1) { + ocs.append("子痫前期(轻),"); + } + if (info.getComplicationZxb() != null && info.getComplicationZxb() == 1) { + ocs.append("子痫前期(重),"); + } + if (info.getComplicationZxc() != null && info.getComplicationZxc() == 1) { + ocs.append("子痫慢性高血压并发子痫前期,"); + } + if (info.getComplicationRshbmxgxy() != null && info.getComplicationRshbmxgxy() == 1) { + ocs.append("妊娠合并慢性高血压,"); + } + if (info.getComplicationOther() != null && info.getComplicationOther() == 1) { + if (!StringUtils.isEmpty(info.getComplicationOtherText())) { + ocs.append(info.getComplicationOtherText()); + } + } + String ocsStr = ocs.toString(); + if (!StringUtils.isEmpty(ocsStr) && ocsStr.charAt(ocsStr.length() - 1) == ',') { + ocsStr = ocsStr.substring(0, ocsStr.length() - 1); + } + map.put("ocs", ocsStr); + + /* 胎盘及新生儿信息 */ + + // 胎盘信息 + List> ExtPlacentaList = new ArrayList<>(); + if (taipanList != null && !taipanList.isEmpty()) { + for (ChildbirthTaipan taipan : taipanList) { + Map extMap = new HashMap<>(); + extMap.put("tpmcType", TpmcTypeEnums.getTitle(taipan.getPlacentaBirthType() + ""));// 胎盘娩出方式(枚举)1自然2手术 + extMap.put("umbilicalCordLength", UnitConstants.splice(taipan.getUmbilicalLength(), UnitConstants.CM));// 脐带长度 + if (taipan.getUmbilicalException() != null && taipan.getUmbilicalException().intValue() == 0) {// 0代表没有异常,其他为异常代号 + extMap.put("umbilicalCordEx", "无");// 脐带异常 + } else { + extMap.put("umbilicalCordEx", "有");// 脐带异常 + extMap.put("umbilicalCordExType", QiDaiEnums.getTitle(taipan.getUmbilicalException().toString()));// 脐带异常类型 + } + if (taipan.getBirthType() != null) { + if (taipan.getBirthType().intValue() == 1) { + extMap.put("mcType", "子面");// 娩出方式 1子面2母面 + } else if (taipan.getBirthType().intValue() == 2) { + extMap.put("mcType", "母面");// 娩出方式 1子面2母面 + } + } + extMap.put("tpWeight", UnitConstants.splice(taipan.getPlacentaWeight(), UnitConstants.G));// 胎盘重量 + extMap.put("tpSize", taipan.getPlacentaLength() + UnitConstants.CM + "*" + taipan.getPlacentaWidth() + + UnitConstants.CM + "*" + taipan.getPlacentaThick() + UnitConstants.CM);// 胎盘大小 + ExtPlacentaList.add(extMap); + } + } + map.put("extPlacentas", ExtPlacentaList); + + // 新生儿信息 + + List> babyList = new ArrayList<>(); + if(newbornList!=null && !newbornList.isEmpty()){ + for (ChildbirthNewborn nb : newbornList) { + Map babyMap = new HashMap<>(); + babyMap.put("dueTime", DateUtil.getyyyy_MM_dd_hms(nb.getBirthTime())); + babyMap.put("pregnancyOut", nb.getGestationEnding() == null ? "" + : RenShenJieJuEnums.getTitle(nb.getGestationEnding().toString())); + babyMap.put("deformity", nb.getDeformity() == null ? "" : nb.getDeformity() == 1 ? "是" : "否"); + babyMap.put("babyGender", nb.getGender() == null ? "" : nb.getGender() == 1 ? "男" : "女"); + babyMap.put("babyWeight", UnitConstants.splice(nb.getWeight(), UnitConstants.G)); + babyMap.put("babyHeight", UnitConstants.splice(nb.getHeight(), UnitConstants.CM)); + babyMap.put("babyHealthy", nb.getDisease()); + String apgarScore = ""; + apgarScore += nb.getApgarScoreOne() == null ? "" : nb.getApgarScoreOne().toString()+ UnitConstants.FEN; + apgarScore += nb.getApgarScoreFive() == null ? "" : "-"+nb.getApgarScoreFive().toString()+ UnitConstants.FEN; + apgarScore += nb.getApgarScoreTen() == null ? "" : "-"+nb.getApgarScoreTen().toString()+ UnitConstants.FEN; + babyMap.put("apgarScore", apgarScore); + babyMap.put("asphyxiaM", UnitConstants.splice(nb.getAsphyxia(), UnitConstants.FZ)); + babyMap.put("contactStartM", UnitConstants.splice(nb.getTouchBegin(), UnitConstants.FZ)); + babyMap.put("contactM", UnitConstants.splice(nb.getTouchStay(), UnitConstants.FZ)); + babyMap.put("earlySuck",nb.getSuck() == null ? "" : nb.getSuck().intValue()==1 ? "是" : "否"); + + babyList.add(babyMap); + } + } + map.put("baby", babyList); + return AjaxResult.returnSuccess(map); } /** @@ -195,7 +468,7 @@ public class ChildbirthController extends BaseController { */ @RequestMapping(value = "/matdel", method = RequestMethod.POST) @ResponseBody - public AjaxResult saveChildbirthVo(ChildbirthAddRequest request) { + public AjaxResult saveChildbirthVo(@RequestBody ChildbirthAddRequest request) { /* * 验证 */ @@ -212,7 +485,10 @@ public class ChildbirthController extends BaseController { } else {// 修改 birthService.updateChildbirthVo(vo); } - return AjaxResult.returnFail(); + + // 分娩后、更新相关的孕妇基本信息 TODO + + return AjaxResult.returnSuccess(); } /** @@ -261,25 +537,40 @@ public class ChildbirthController extends BaseController { data.add(map); } } - + /* * 应前端魏增辉要求,增加以下字段 */ - dataMap.put("dueType", "0");//是否需要补录分娩,为"1"时需要补录 TODO - if(birthList==null || birthList.isEmpty()){ - dataMap.put("isGravida", "1");//是否是孕妇 "1"孕妇 "0"产妇 - dataMap.put("dueDate", "");//分娩日期,当分娩后有该字段 - }else{ - dataMap.put("isGravida", "0");//是否是孕妇 "1"孕妇 "0"产妇 - - dataMap.put("dueDate", "");//分娩日期,当分娩后有该字段 - } - dataMap.put("status", "1");//? TODO - dataMap.put("type", "3");//? TODO + dataMap.put("dueType", "0");// 是否需要补录分娩,为"1"时需要补录 TODO + if (birthList == null || birthList.isEmpty()) { + dataMap.put("isGravida", "1");// 是否是孕妇 "1"孕妇 "0"产妇 + dataMap.put("dueDate", "");// 分娩日期,当分娩后有该字段 + } else { + dataMap.put("isGravida", "0");// 是否是孕妇 "1"孕妇 "0"产妇 + ChildbirthInfo lastInfo = birthList.get(birthList.size() - 1); + dataMap.put("dueDate", DateUtil.getyyyy_MM_dd(lastInfo.getChildbirthTime()));// 分娩日期,当分娩后有该字段 + } + dataMap.put("status", "1");// ? TODO + dataMap.put("type", "3");// ? TODO dataMap.put("data", data);// 分娩记录列表 dataMap.remove("dbFetationRecord"); return AjaxResult.returnSuccess(dataMap); } + // ============================================================================== + + private static String checkWeek(WomanFetationRecord fetation) { + if (fetation.getDueStatus() != null && fetation.getDueStatus() == 1) {// 分娩状态 + // 0未终止妊娠 + // 1终止妊娠 + return "终止妊娠"; + } else if (fetation.getWomanType() != null && fetation.getWomanType() == 3) {// 妇女类别:1孕妇,3产妇 + return "已分娩"; + } else if (fetation.getHospitalCorrectLastMenstruation() != null) { + return HospitalUtil.getPregnantWeek(fetation.getHospitalCorrectLastMenstruation()); + } + return ""; + } + } diff --git a/parent/hospital.web/src/main/java/com/lyms/hospital/request/exam/ChildbirthAddRequestWrapper.java b/parent/hospital.web/src/main/java/com/lyms/hospital/request/exam/ChildbirthAddRequestWrapper.java index 8bf3c19..ece1ffa 100644 --- a/parent/hospital.web/src/main/java/com/lyms/hospital/request/exam/ChildbirthAddRequestWrapper.java +++ b/parent/hospital.web/src/main/java/com/lyms/hospital/request/exam/ChildbirthAddRequestWrapper.java @@ -172,9 +172,9 @@ public class ChildbirthAddRequestWrapper extends OldNewWrapper { Map apgarScore = (Map) baby.get("apgarScore"); if (apgarScore != null && !apgarScore.isEmpty()) { - newborn.setApgarScoreOne(OldNewWrapper.obj2Int(baby.get("pf1")));// apgar评分1分钟 - newborn.setApgarScoreFive(OldNewWrapper.obj2Int(baby.get("pf5")));// apgar评分5分钟 - newborn.setApgarScoreTen(OldNewWrapper.obj2Int(baby.get("pf10")));// apgar评分10分钟 + newborn.setApgarScoreOne(OldNewWrapper.obj2Int(apgarScore.get("pf1")));// apgar评分1分钟 + newborn.setApgarScoreFive(OldNewWrapper.obj2Int(apgarScore.get("pf5")));// apgar评分5分钟 + newborn.setApgarScoreTen(OldNewWrapper.obj2Int(apgarScore.get("pf10")));// apgar评分10分钟 } newborn.setAsphyxia(OldNewWrapper.obj2Int(baby.get("asphyxiaM")));// 窒息分钟 @@ -229,14 +229,15 @@ public class ChildbirthAddRequestWrapper extends OldNewWrapper { /* * 特殊字段处理 */ + this.request.setDueDate(DateUtil.getyyyy_MM_dd_hms(info.getChildbirthTime())); // 胎儿 placentas List> placentas = new ArrayList<>(); if (taiList != null && !taiList.isEmpty()) { for (ChildbirthTai tai : taiList) { Map map = new HashMap<>(); map.put("heartRate", tai.getHeartRate()); - map.put("fetalPosition", tai.getPosition().toString()); - map.put("fetalPresentation", tai.getFirstExpose().toString()); + map.put("fetalPosition", OldNewWrapper.obj2Str(tai.getPosition())); + map.put("fetalPresentation", OldNewWrapper.obj2Str(tai.getFirstExpose())); placentas.add(map); } } @@ -245,11 +246,13 @@ public class ChildbirthAddRequestWrapper extends OldNewWrapper { // 分娩方式 deliveryMode Map deliveryMode = new HashMap<>(); Integer childbirthType = info.getChildbirthType(); - if (childbirthType.equals(1)) {// 剖宫产 - deliveryMode.put("fmfs", "1"); - } else {// 顺产 - deliveryMode.put("fmfs", "0"); - deliveryMode.put("scfs", childbirthType.toString()); + if(childbirthType!=null){ + if (childbirthType.equals(1)) {// 剖宫产 + deliveryMode.put("fmfs", "1"); + } else {// 顺产 + deliveryMode.put("fmfs", "0"); + deliveryMode.put("scfs", childbirthType.toString()); + } } this.request.setDeliveryMode(deliveryMode); @@ -286,13 +289,8 @@ public class ChildbirthAddRequestWrapper extends OldNewWrapper { // loseBloodCause 其他失血原因文本 Map loseBloodCause = new HashMap<>(); - if (!StringUtils.isEmpty(info.getLoseBloodOtherText())) { - loseBloodCause.put("select", "1"); - loseBloodCause.put("other", info.getLoseBloodOtherText()); - } else { - loseBloodCause.put("select", "0"); - loseBloodCause.put("other", ""); - } + loseBloodCause.put("select", OldNewWrapper.obj2Str(info.getLoseBloodReason())); + loseBloodCause.put("other", OldNewWrapper.obj2Str(info.getLoseBloodOtherText())); this.request.setLoseBloodCause(loseBloodCause); // ocs @@ -352,7 +350,7 @@ public class ChildbirthAddRequestWrapper extends OldNewWrapper { for (ChildbirthTaipan taipan : taipanList) { Map map = new HashMap<>(); - map.put("tpmcType", taipan.getPlacentaBirthType()); + map.put("tpmcType", OldNewWrapper.obj2Str(taipan.getPlacentaBirthType())); if (taipan.getBirthType().intValue() == ChildbirthTaipan.BIRTH_TYPE_MUM) { map.put("mcType", "muMian"); } else if (taipan.getBirthType().intValue() == ChildbirthTaipan.BIRTH_TYPE_SON) { @@ -368,7 +366,7 @@ public class ChildbirthAddRequestWrapper extends OldNewWrapper { if (taipan.getUmbilicalException() != null) { if (taipan.getUmbilicalException().intValue() != 0) { map.put("umbilicalCordEx", "yes"); - map.put("umbilicalCordExType", taipan.getUmbilicalException()); + map.put("umbilicalCordExType", taipan.getUmbilicalException().toString()); } } extPlacentas.add(map); @@ -382,9 +380,9 @@ public class ChildbirthAddRequestWrapper extends OldNewWrapper { for (ChildbirthNewborn newborn : newbornList) { Map map = new HashMap<>(); map.put("id", newborn.getId()); - map.put("babyGender", newborn.getGender().toString()); - map.put("babyWeight", newborn.getWeight().toString()); - map.put("babyHeight", newborn.getHeight().toString()); + map.put("babyGender", OldNewWrapper.obj2Str(newborn.getGender())); + map.put("babyWeight", OldNewWrapper.obj2Str(newborn.getWeight())); + map.put("babyHeight", OldNewWrapper.obj2Str(newborn.getHeight())); map.put("deformity", newborn.getDeformity()); Map apgarScore = new HashMap<>(); @@ -394,7 +392,7 @@ public class ChildbirthAddRequestWrapper extends OldNewWrapper { map.put("apgarScore", apgarScore); map.put("asphyxiaM", newborn.getAsphyxia()); - map.put("pregnancyOut", newborn.getGestationEnding().toString()); + map.put("pregnancyOut", OldNewWrapper.obj2Str(newborn.getGestationEnding())); map.put("babyHealthy", newborn.getDisease()); map.put("contactStartM", newborn.getTouchBegin()); map.put("contactM", newborn.getTouchStay()); @@ -438,7 +436,7 @@ public class ChildbirthAddRequestWrapper extends OldNewWrapper { return map; } - private int obj2Bool2Int(Object obj) { + private Integer obj2Bool2Int(Object obj) { Boolean bool = OldNewWrapper.obj2Bool(obj); return OldNewWrapper.bool2Int(bool); }