diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/JsonUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/JsonUtil.java index 0dec6ae..7e00299 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/JsonUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/JsonUtil.java @@ -149,7 +149,7 @@ public class JsonUtil { * @discription 获取map,处理总产程类似使用-"{\"h\":5,\"m\":0}",不按规则使用则返回null */ public static Map getMap(String str) { - if (StringUtils.isEmpty(str)) { + if (StringUtils.isEmpty(str)||"null".equals(str)) { return null; } try { diff --git a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java index 730059c..c6b4de3 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java @@ -244,7 +244,7 @@ public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery condition = condition.and("rHloseBloodL", 500, MongoOper.LT); break; case 3: - condition = condition.and("tHloseBloodL", 500, MongoOper.GTE); + condition = condition.and("rHloseBloodL", 500, MongoOper.GTE); break; case 4: condition = condition.and("rHloseBloodL", 1000, MongoOper.LT); 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 29fc04b..fa64141 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 @@ -26,6 +26,7 @@ import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; +import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; import org.slf4j.Logger; @@ -984,8 +985,8 @@ public class MatDeliverFacade { } if (CollectionUtils.isNotEmpty(antExChuModels)) { - matDeliverListResult.setDueCount(antExChuModels.get(0).getProdTime() == null ? 1 : antExChuModels.get(0).getProdTime()+1); - }else{ + matDeliverListResult.setDueCount(antExChuModels.get(0).getProdTime() == null ? 1 : antExChuModels.get(0).getProdTime() + 1); + } else { matDeliverListResult.setDueCount(1); } @@ -1621,7 +1622,7 @@ public class MatDeliverFacade { } } } - if (!childbirthManagerRequest.isExcel()||childbirthManagerRequest.getHloseBloodType()!=null) {//导出excel和根据出血量查询 + if (!childbirthManagerRequest.isExcel() && childbirthManagerRequest.getHloseBloodType() == null && StringUtils.isEmpty(childbirthManagerRequest.getDeliveryMode())) {//导出excel和根据出血量查询 patientsQuery.setLimit(childbirthManagerRequest.getLimit()); patientsQuery.setPage(childbirthManagerRequest.getPage()); patientsQuery.setNeed("need"); @@ -1640,8 +1641,8 @@ public class MatDeliverFacade { patientsQuery.setHusbandPhone(StringUtils.isEmpty(childbirthManagerRequest.getHusbandPhone()) ? null : childbirthManagerRequest.getHusbandPhone()); patientsQuery.setQueryNo(StringUtils.isEmpty(childbirthManagerRequest.getQueryNo()) ? null : childbirthManagerRequest.getQueryNo()); patientsQuery.setFmHospitalQueryList(hospitalList); - String deliveryModeQueryJson = "fmfs\\\":\\\"" + childbirthManagerRequest.getDeliveryMode(); - patientsQuery.setFmType(StringUtils.isEmpty(childbirthManagerRequest.getDeliveryMode()) ? null : deliveryModeQueryJson); + // String deliveryModeQueryJson = "fmfs\\\":\\\"" + childbirthManagerRequest.getDeliveryMode(); + // patientsQuery.setFmType(StringUtils.isEmpty(childbirthManagerRequest.getDeliveryMode()) ? null : deliveryModeQueryJson); patientsQuery.setFmAgeStart(StringUtils.isEmpty(childbirthManagerRequest.getStartAge()) ? null : Integer.valueOf(childbirthManagerRequest.getStartAge())); patientsQuery.setFmAgeEnd(StringUtils.isEmpty(childbirthManagerRequest.getEndAge()) ? null : Integer.valueOf(childbirthManagerRequest.getEndAge())); patientsQuery.setFmWeekStart(StringUtils.isEmpty(childbirthManagerRequest.getStartDueWeek()) ? null : Integer.valueOf(childbirthManagerRequest.getStartDueWeek()) * 7); @@ -1649,7 +1650,7 @@ public class MatDeliverFacade { // 分娩方式去另外一张表查 patientsQuery.setDesc("fmDate"); patientsQuery.setSort("fmDate"); - // System.out.println("分娩查询:"+patientsQuery.convertToQuery().convertToMongoQuery()); + // System.out.println("分娩查询:" + patientsQuery.convertToQuery().convertToMongoQuery()); List patientsList = patientsService.queryPatient(patientsQuery); // 这里就设置分页内容 childbirthManagerResult.setPageInfo(patientsQuery.getPageInfo()); @@ -1668,31 +1669,33 @@ public class MatDeliverFacade { matDeliverQuery.setParentIdList(parentIdList); matDeliverQuery.setYn(YnEnums.YES.getId()); matDeliverQuery.setHloseBloodType(childbirthManagerRequest.getHloseBloodType()); + String deliveryModeQueryJson = "fmfs\\\":\\\"" + childbirthManagerRequest.getDeliveryMode(); + matDeliverQuery.setDeliveryModeQueryJson(StringUtils.isEmpty(childbirthManagerRequest.getDeliveryMode()) ? null : deliveryModeQueryJson); + List maternalDeliverModelList; - if (childbirthManagerRequest.getHloseBloodType()!=null) {//根据出血量查询继续分页 + if (!childbirthManagerRequest.isExcel() && (childbirthManagerRequest.getHloseBloodType() != null || StringUtils.isNotEmpty(childbirthManagerRequest.getDeliveryMode()))) {//根据出血量查询继续分页 matDeliverQuery.setLimit(childbirthManagerRequest.getLimit()); matDeliverQuery.setPage(childbirthManagerRequest.getPage()); matDeliverQuery.setNeed("need"); + // System.out.println("分娩查询条件:" + matDeliverQuery.convertToQuery().convertToMongoQuery()); maternalDeliverModelList = matDeliverService.pageQuery(matDeliverQuery); - }else{//否则按常规查询 + // 这里就设置分页内容 + childbirthManagerResult.setPageInfo(matDeliverQuery.getPageInfo()); + } else {//否则按常规查询 maternalDeliverModelList = matDeliverService.query(matDeliverQuery); } // System.out.println("分娩表查询:"+matDeliverQuery.convertToQuery().convertToMongoQuery()); - List childbirthManagerQueryModelList = new ArrayList<>(); + Map patientsMap = new HashedMap(); + for (Patients patients : patientsList) { - MaternalDeliverModel maternalDeliverModel = null; - for (MaternalDeliverModel each : maternalDeliverModelList) { - if (each.getParentId().equals(patients.getId())) { - maternalDeliverModel = each; - } - if (maternalDeliverModel == null) { - maternalDeliverModel = new MaternalDeliverModel(); - } - } + patientsMap.put(patients.getId(), patients); + } + for (MaternalDeliverModel maternalDeliverModel : maternalDeliverModelList) { + Patients patients = patientsMap.get(maternalDeliverModel.getParentId()); // 开始封装数据 ChildbirthManagerQueryModel childbirthManagerQueryModel = new ChildbirthManagerQueryModel(); if (maternalDeliverModel != null) { @@ -2078,15 +2081,13 @@ public class MatDeliverFacade { } childbirthManagerQueryModelList.add(childbirthManagerQueryModel); + // 拼装自定义查询结果结束 } - // 拼装自定义查询结果结束 - childbirthManagerResult.setData(childbirthManagerQueryModelList); childbirthManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); childbirthManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); return childbirthManagerResult; - } public NewBabyManagerResult newBabyManager(NewBabyManagerRequest newBabyManagerRequest) {