diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySieveFacede.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySieveFacede.java index e844fe6..0fc4a57 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySieveFacede.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySieveFacede.java @@ -4,6 +4,7 @@ import com.lyms.platform.biz.dal.IbabySieveDao; import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.common.enums.FmTypeEnums; import com.lyms.platform.common.enums.OptActionEnums; import com.lyms.platform.common.enums.SexEnum; import com.lyms.platform.common.enums.YnEnums; @@ -12,6 +13,7 @@ import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.BeanUtils; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.ExceptionUtils; +import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.operate.web.request.BabyScreenAddRequest; import com.lyms.platform.operate.web.request.BabySieveAddRequest; import com.lyms.platform.operate.web.result.*; @@ -36,6 +38,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; /** * 新生儿筛查 @@ -108,6 +111,52 @@ public class BabySieveFacede { for(BabyModel babyModel : models){ if(null == babyModel.getSieveStatus()){//sieveStatus值为空时新生儿为未申请筛查的状态 BabySieveData data = new BabySieveData(); + //查询分娩记录 + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); + matDeliverQuery.setParentId(babyModel.getParentId()); + MaternalDeliverModel maternalDeliverModel = null; + List mList = matDeliverService.pageQuery(matDeliverQuery); + if(mList != null && mList.size() > 0){ + maternalDeliverModel = mList.get(0); + } + data.setMatdeliverId(maternalDeliverModel.getId()); + //分娩方式 + String deliveryMode = ""; + if (StringUtils.isNotEmpty(maternalDeliverModel.getDeliveryMode())) { + + StringBuilder sb = new StringBuilder(); + + Map m = JsonUtil.str2Obj(maternalDeliverModel.getDeliveryMode(), Map.class); + String fmfs = null; + if (m != null) { + Object b = m.get("fmfs"); + if (b != null) { + fmfs = b.toString(); + if (fmfs != null) { + if (fmfs.equals("1")) { + String fmName = FmTypeEnums.getFmNameById(fmfs); + sb.append(fmName); + if (null != m.get("scfs") && !"null".equals(m.get("scfs").toString())) { + sb.append(","); + String scfs = m.get("scfs").toString(); + sb.append(FmTypeEnums.getFmScNameById(scfs)); + } + deliveryMode = sb.toString(); + } else if (fmfs.equals("2")) { + String fmName = FmTypeEnums.getFmNameById(fmfs); + deliveryMode = fmName; + } + } + } + } + } + if (deliveryMode.contains("顺产")) { + data.setDueType(deliveryMode); + } else { + data.setDueType(deliveryMode); + data.setOperationCause(maternalDeliverModel.getOperationCause() == null ? "--" : maternalDeliverModel.getOperationCause()); + } + data.setDueDate(maternalDeliverModel.getDueDate()); data.setId(babyModel.getId()); data.setCardNo(pat.getCardNo()); data.setMonthAge(DateUtil.getBabyMonthAge(babyModel.getBirth(), new Date())); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabySieveAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabySieveAddRequest.java index a5e0be0..b0205dc 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabySieveAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabySieveAddRequest.java @@ -85,6 +85,8 @@ public class BabySieveAddRequest implements IBasicRequestConvert private String dueWeek; //分娩方式 private String dueType; + //分娩详细方式 + private String duescfs; //性别 private Integer sex; //35种疾病筛查 @@ -114,6 +116,14 @@ public class BabySieveAddRequest implements IBasicRequestConvert //医院ID private Integer operatorId; + public String getDuescfs() { + return duescfs; + } + + public void setDuescfs(String duescfs) { + this.duescfs = duescfs; + } + public Integer getOperatorId() { return operatorId; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveData.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveData.java index 6d761a0..bbfabd2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveData.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveData.java @@ -10,7 +10,43 @@ public class BabySieveData { private String monthAge;//月龄 private String babyName;//儿童姓名 private String pid;//母亲ID + private String matdeliverId;//分娩id private String sex;//性别 + private String dueType;//分娩方式 + private String dueDate;//出生日期 + private String operationCause;//手术原因 + + public String getMatdeliverId() { + return matdeliverId; + } + + public void setMatdeliverId(String matdeliverId) { + this.matdeliverId = matdeliverId; + } + + public String getOperationCause() { + return operationCause; + } + + public void setOperationCause(String operationCause) { + this.operationCause = operationCause; + } + + public String getDueType() { + return dueType; + } + + public void setDueType(String dueType) { + this.dueType = dueType; + } + + public String getDueDate() { + return dueDate; + } + + public void setDueDate(String dueDate) { + this.dueDate = dueDate; + } public String getId() { return id;