diff --git a/platform-dal/src/main/java/com/lyms/platform/query/SieveQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/SieveQuery.java index db5601d..481e334 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/SieveQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/SieveQuery.java @@ -6,6 +6,7 @@ import com.lyms.platform.common.dao.operator.MongoCondition; import com.lyms.platform.common.dao.operator.MongoOper; import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.common.utils.StringUtils; +import org.apache.commons.collections.CollectionUtils; import org.springframework.data.mongodb.core.query.Criteria; import java.util.Date; @@ -23,6 +24,8 @@ public class SieveQuery extends BaseQuery implements IConvertToNativeQuery { private List hospitalIds; //患者id private String parentId; + + //姓名 private String name; //胎数 @@ -41,6 +44,9 @@ public class SieveQuery extends BaseQuery implements IConvertToNativeQuery { private Integer renShenResult; //状态 private Integer status; + + private Integer nStatus; + private String cardNo; private String from; private Integer yn; @@ -86,10 +92,20 @@ public class SieveQuery extends BaseQuery implements IConvertToNativeQuery { //申请医院 private String applyHospitalId; + private List parentIds; private List statuses; + + public Integer getnStatus() { + return nStatus; + } + + public void setnStatus(Integer nStatus) { + this.nStatus = nStatus; + } + public List getStatuses() { return statuses; } @@ -300,6 +316,7 @@ public class SieveQuery extends BaseQuery implements IConvertToNativeQuery { condition = condition.and("hospitalId", hospitalIds, MongoOper.IN); } + if (null != sieveHospitalId) { condition = condition.and("sieveHospitalId", sieveHospitalId, MongoOper.IS); } @@ -346,6 +363,9 @@ public class SieveQuery extends BaseQuery implements IConvertToNativeQuery { condition = condition.and("status", statuses, MongoOper.IN); } + if (null != nStatus) { + condition = condition.and("status", nStatus, MongoOper.NIN); + } if (null != renShenResult) { condition = condition.and("renShenResult", renShenResult, MongoOper.IS); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java index 4274a22..7524761 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java @@ -13,11 +13,9 @@ import com.lyms.platform.operate.web.request.TrackDownQueryRequest; import com.lyms.platform.operate.web.result.HighScoreResult; import com.lyms.platform.operate.web.utils.CommonsHelper; import com.lyms.platform.operate.web.utils.ResponseUtil; +import com.lyms.platform.permission.model.ServiceListQuery; import com.lyms.platform.pojo.*; -import com.lyms.platform.query.MatDeliverQuery; -import com.lyms.platform.query.PatientsQuery; -import com.lyms.platform.query.PostReviewQuery; -import com.lyms.platform.query.TrackDownRecordQuery; +import com.lyms.platform.query.*; import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -222,6 +220,9 @@ public class TrackDownFacade { private TrackDownService trackDownService; @Autowired + private SieveService sieveService; + + @Autowired private BasicConfigService basicConfigService; private Map trackDownTypeHandlerMap; @@ -286,7 +287,17 @@ public class TrackDownFacade { boolean isPatient = false; String hospitalId = autoMatchFacade.getHospitalId(userId); + PatientsQuery patientsQuery = new PatientsQuery(); + //孕14周-孕20周+6天、未进行产前筛查 + if (downQueryRequest.getTrackType() == 4) { + Date start = DateUtil.getWeekStart(21); + patientsQuery.setLastMensesStart(start); + Date end = DateUtil.getWeekEnd(14); + patientsQuery.setLastMensesEnd(end); + isPatient = true; + } + if (downQueryRequest.getStartDueDate() != null) {//预产期开始日期 patientsQuery.setDueDateStart(downQueryRequest.getStartDueDate()); isPatient = true; @@ -393,7 +404,7 @@ public class TrackDownFacade { TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery(); if (isPatient) {//加入了高危因数查询条件 patientsQuery.setHospitalId(hospitalId); - patientsQuery.setType(3); + //patientsQuery.setType(3); patientsQuery.setQueryNo(downQueryRequest.getKey()); System.out.println("过滤条件:" + patientsQuery.convertToQuery().convertToMongoQuery()); List patientses = patientsService.queryPatient(patientsQuery); @@ -405,7 +416,23 @@ public class TrackDownFacade { pids.add(ps.getId()); System.out.println(ps.getId()); } - downRecordQuery.setParentIds(pids); + if (downQueryRequest.getTrackType() == 4) { + List sievePatients = new ArrayList<>(); + SieveQuery sieveQuery = new SieveQuery(); + sieveQuery.setParentIds(pids); + sieveQuery.setYn(YnEnums.YES.getId()); + sieveQuery.setnStatus(1); + List sieveModels = sieveService.queryList(sieveQuery); + for (SieveModel sieveModel : sieveModels) { + sievePatients.add(sieveModel.getParentId()); + System.out.println("未产筛的ParentIds" + sieveModel.getParentId()); + } + //去掉做个产筛的人 + pids.removeAll(sievePatients); + downRecordQuery.setParentIds(pids); + } else { + downRecordQuery.setParentIds(pids); + } } downRecordQuery.setAreaId(downQueryRequest.getAreaId()); @@ -473,7 +500,6 @@ public class TrackDownFacade { // downRecordQuery.setSort("modified desc"); downRecordQuery.setHospitalId(hospitalId); - return downRecordQuery; } @@ -1043,4 +1069,5 @@ public class TrackDownFacade { } + } \ No newline at end of file diff --git a/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml b/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml index d93b6ea..44dd0b4 100644 --- a/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml +++ b/platform-operate-api/src/main/resources/spring/applicationContext-quartz.xml @@ -127,8 +127,6 @@ - -