From 49c26974e801b1806a6c1a1117711f86d2471d7b Mon Sep 17 00:00:00 2001 From: shiyang Date: Thu, 16 Sep 2021 20:31:39 +0800 Subject: [PATCH] update --- .../platform/operate/web/facade/PatientFacade.java | 13 +++++++-- .../web/request/RiskPatientsQueryRequest.java | 11 ++++++++ .../operate/web/worker/QuanWeightWorker.java | 32 +++++++++++++++++++++- 3 files changed, 52 insertions(+), 4 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index 9fc5920..af565e0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -801,9 +801,16 @@ public class PatientFacade extends BaseServiceImpl { query.addCriteria(Criteria.where("$where").is(formatBmi)); PageResult pageResult = findMongoPage(PatientWeight.class, query.with(new Sort(Sort.Direction.DESC, "modified")), riskPatientsQueryRequest.getPage(), riskPatientsQueryRequest.getLimit()); List patientWeightList = (List ) pageResult.getGrid(); + + //根据建档时间查询 + String bookbuildingDate=null; + if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getBookbuildingDate())) { + bookbuildingDate=riskPatientsQueryRequest.getBookbuildingDate(); + } + List data = new ArrayList <>(); if (CollectionUtils.isNotEmpty(patientWeightList)) { - data = convertToQuanWeight(patientWeightList); + data = convertToQuanWeight(patientWeightList,bookbuildingDate); } return new BaseListResponse().setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS) .setData(data).setPageInfo(new PageInfo(pageResult.getPage(), pageResult.getLastPage(), pageResult.getCount(), pageResult.getLimit())); @@ -1671,7 +1678,7 @@ public class PatientFacade extends BaseServiceImpl { return data; } - private List convertToQuanWeight(List patientWeightList) { + private List convertToQuanWeight(List patientWeightList,String bookbuildingDate) { List data = new ArrayList <>(); int batchSize = 4; int end = 0; @@ -1681,7 +1688,7 @@ public class PatientFacade extends BaseServiceImpl { if (end > patientWeightList.size()) { end = patientWeightList.size(); } - listFuture.add(commonThreadPool.submit(new QuanWeightWorker(patientWeightList.subList(i, end), mongoTemplate, + listFuture.add(commonThreadPool.submit(new QuanWeightWorker(patientWeightList.subList(i, end),bookbuildingDate, mongoTemplate, commonService, basicConfigService, trackDownRecordService,trackDownService,matDeliverService))); } for (Future f : listFuture) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java index f811d50..30d42b5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java @@ -189,6 +189,17 @@ public class RiskPatientsQueryRequest extends BasePageQueryRequest { // 0 全部 1 正常 2 异常 private Integer isUp; + //体重异常管理-接收建档时间筛选用 + private String bookbuildingDate; + + public String getBookbuildingDate() { + return bookbuildingDate; + } + + public void setBookbuildingDate(String bookbuildingDate) { + this.bookbuildingDate = bookbuildingDate; + } + public Integer getIsUp() { return isUp; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanWeightWorker.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanWeightWorker.java index 0d28d3f..f5a77df 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanWeightWorker.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/QuanWeightWorker.java @@ -21,6 +21,7 @@ import com.lyms.platform.query.AntExQuery; import com.lyms.platform.query.MatDeliverQuery; import com.lyms.platform.query.TrackDownRecordQuery; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.time.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -42,12 +43,14 @@ public class QuanWeightWorker implements Callable> { private static final Logger logger = LoggerFactory.getLogger(PatientFacade.class); private ITrackDownService trackDownService; private List patientWeightList; + private String bookbuildingDate; private MongoTemplate mongoTemplate; private CommonService commonService; private BasicConfigService basicConfigService; private TrackDownRecordService trackDownRecordService; private MatDeliverService matDeliverService; public QuanWeightWorker(List patientWeightList, + String bookbuildingDate, MongoTemplate mongoTemplate, CommonService commonService, BasicConfigService basicConfigService, @@ -56,6 +59,7 @@ public class QuanWeightWorker implements Callable> { MatDeliverService matDeliverService ) { this.patientWeightList = patientWeightList; + this.bookbuildingDate = bookbuildingDate; this.mongoTemplate = mongoTemplate; this.commonService = commonService; this.basicConfigService = basicConfigService; @@ -67,9 +71,34 @@ public class QuanWeightWorker implements Callable> { @Override public List call() throws Exception { + //根据建档时间查询整理传来的时间 + Date bookbuildingDateStart=null; + Date bookbuildingDateEnd=null; + if (StringUtils.isNotEmpty(bookbuildingDate)) { + String[] dates = bookbuildingDate.split(" - "); + bookbuildingDateStart=DateUtil.parseYMD(dates[0]); + if (dates.length == 2) { +// bookbuildingDateEnd=DateUtil.parseYMDHMS(dates[1]+" 23:59:59"); + bookbuildingDateEnd=new Date(DateUtil.parseYMD(dates[1]).getTime() + 24 * 60 * 60 * 1000 - 1); + } + } List data = new ArrayList<>(); for (PatientWeight patientWeight : patientWeightList){ - List patientsList = mongoTemplate.find(Query.query(Criteria.where("id").is(patientWeight.getPatientId()).and("yn").ne("0")), Patients.class); + Criteria criteriaPatients=Criteria.where("id").is(patientWeight.getPatientId()).and("yn").ne("0"); + //根据建档时间查询 拼查询语句 + if(null!=bookbuildingDateStart&&null!=bookbuildingDateEnd){ + criteriaPatients=criteriaPatients.and("bookbuildingDate").gte(bookbuildingDateStart).lte(bookbuildingDateEnd); + }else { + if(null!=bookbuildingDateStart){ + criteriaPatients=criteriaPatients.and("bookbuildingDate").gte(bookbuildingDateStart); + } + if(null!=bookbuildingDateEnd){ + criteriaPatients=criteriaPatients.and("bookbuildingDate").lte(bookbuildingDateEnd); + } + } + Query queryPatients=Query.query(criteriaPatients); + List patientsList = mongoTemplate.find(queryPatients, Patients.class); + if(CollectionUtils.isNotEmpty(patientsList)){ Patients patients = patientsList.get(0); Map map = new HashMap(); @@ -187,6 +216,7 @@ public class QuanWeightWorker implements Callable> { map.put("patientId", patients.getId()); map.put("pid", patients.getPid()); map.put("cardNo", patients.getCardNo()); + map.put("bookbuildingDate", DateUtil.getyyyy_MM_dd(patients.getBookbuildingDate())); } -- 1.8.3.1