From 8de841ceb67ed28227065fc5bbcbda01180e584b Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Thu, 1 Dec 2016 13:48:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/biz/service/AntExRecordService.java | 10 +- .../com/lyms/platform/pojo/AntExRecordModel.java | 20 ++++ .../com/lyms/platform/query/AntExRecordQuery.java | 30 +++--- .../operate/web/facade/AntExRecordFacade.java | 102 +++++++++------------ .../operate/web/result/CjStatisticsListResult.java | 14 +++ 5 files changed, 106 insertions(+), 70 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java index 1405667..752d2f7 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java @@ -108,10 +108,14 @@ public class AntExRecordService { antExRecordModel.setPid(antEx.getPid()); Patients patients = patientsService.findOnePatientById(antEx.getParentId()); if (null != patients) { - if (patients.getType() == 3 && patients.getFmDate() != null) { + if (patients.getType() == 1) { antExRecordModel.setStatus(1); + }else{ + antExRecordModel.setStatus(2); } antExRecordModel.setBrith(patients.getBirth()); + antExRecordModel.setBuildTime(patients.getBookbuildingDate()); + antExRecordModel.setLastMenses(patients.getLastMenses()); antExRecordModel.setDueDate(patients.getDueDate()); antExRecordModel.setName(patients.getUsername()); antExRecordModel.sethScore(patients.getRiskScore()); @@ -135,7 +139,11 @@ public class AntExRecordService { if (null != patients) { if (patients.getType() == 1) { antExRecordModel.setStatus(1); + }else{ + antExRecordModel.setStatus(2); } + antExRecordModel.setLastMenses(patients.getLastMenses()); + antExRecordModel.setBuildTime(patients.getBookbuildingDate()); antExRecordModel.setDueDate(patients.getDueDate()); antExRecordModel.setBrith(patients.getBirth()); antExRecordModel.setName(patients.getUsername()); diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java index 59ebe21..2e18a3c 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java @@ -40,6 +40,26 @@ public class AntExRecordModel implements Serializable { //风险因素 private List hRisk; private String pid; + //建档时间 + private Date buildTime; + //末次月经 + private Date lastMenses; + + public Date getBuildTime() { + return buildTime; + } + + public void setBuildTime(Date buildTime) { + this.buildTime = buildTime; + } + + public Date getLastMenses() { + return lastMenses; + } + + public void setLastMenses(Date lastMenses) { + this.lastMenses = lastMenses; + } public String getPid() { return pid; diff --git a/platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java index 4f4b196..85c299e 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java @@ -5,6 +5,7 @@ import com.lyms.platform.common.dao.BaseQuery; 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.springframework.data.mongodb.core.query.Criteria; import java.util.Date; @@ -20,7 +21,8 @@ public class AntExRecordQuery extends BaseQuery implements IConvertToNativeQuery //孕妇状态 private Integer status; private String levelId; - + //产检医生id + private String cId; private Date buildTimeStart; private Date buildTimeEnd; private Date dueDateStart; @@ -30,6 +32,14 @@ public class AntExRecordQuery extends BaseQuery implements IConvertToNativeQuery private Date gteCreated; private String pid; + public String getcId() { + return cId; + } + + public void setcId(String cId) { + this.cId = cId; + } + public Integer getStatus() { return status; } @@ -127,7 +137,9 @@ public class AntExRecordQuery extends BaseQuery implements IConvertToNativeQuery if (null != id) { condition = condition.and("id", id, MongoOper.IS); } - + if (StringUtils.isNotEmpty(levelId)) { + condition = condition.and("hLevel", levelId, MongoOper.IN); + } if (null != status) { condition = condition.and("status", status, MongoOper.IS); } @@ -141,31 +153,25 @@ public class AntExRecordQuery extends BaseQuery implements IConvertToNativeQuery Criteria c = null; if (null != buildTimeStart) { - c = Criteria.where("checkTime").gte(buildTimeStart); + c = Criteria.where("buildTime").gte(buildTimeStart); } if (null != buildTimeEnd) { if (null != c) { c = c.lte(buildTimeEnd); } else { - c = Criteria.where("checkTime").lte(buildTimeEnd); + c = Criteria.where("buildTime").lte(buildTimeEnd); } } if (null != dueDateStart && dueDateEnd != null) { if (null != c) { - c = c.where("nextCheckTime").gte(dueDateStart).lte(dueDateEnd); + c = c.where("dueDate").gte(dueDateStart).lte(dueDateEnd); } else { - c = Criteria.where("nextCheckTime").gte(dueDateStart).lte(dueDateEnd); + c = Criteria.where("dueDate").gte(dueDateStart).lte(dueDateEnd); } } - if (null != gteModified && null != gteCreated) { - MongoCondition mongoCondition = new MongoCondition("modified", gteModified, MongoOper.GTE); - MongoCondition condition2 = new MongoCondition("created", gteCreated, MongoOper.GTE); - condition = condition.orCondition(new MongoCondition[]{mongoCondition, condition2}); - } - if (null != c) { condition = condition.andCondition(new MongoCondition(c)); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java index e98e713..e23fd8a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java @@ -54,41 +54,33 @@ public class AntExRecordFacade { } /** - * * 产检统计 * * @param userId * @return */ - public BaseResponse queryStatis(Integer userId,CjStatisticsQueryRequest statisticsQueryRequest) { + public BaseResponse queryStatis(Integer userId, CjStatisticsQueryRequest statisticsQueryRequest) { BaseListResponse baseListResponse = new BaseListResponse(); List data = new ArrayList<>(); String hospitalId = autoMatchFacade.getHospitalId(userId); - if(StringUtils.isEmpty(hospitalId)){ + if (StringUtils.isEmpty(hospitalId)) { baseListResponse.setErrormsg("获取医院id为空").setErrorcode(ErrorCodeConstants.SUCCESS); return baseListResponse; } - - PatientsQuery patientsQuery1=new PatientsQuery(); - patientsQuery1.setLastCheckEId(true); - patientsQuery1.setHospitalId(hospitalId); - patientsQuery1.setYn(YnEnums.YES.getId()); - patientsQuery1.setNeed("1"); - patientsQuery1.setPage(statisticsQueryRequest.getPage()); - patientsQuery1.setLimit(statisticsQueryRequest.getLimit()); - patientsQuery1.setrLevel(statisticsQueryRequest.getLevelId()); - patientsQuery1.setLastCheckEmployeeId(statisticsQueryRequest.getdId()); - List buildType = new ArrayList(); - buildType.add(0); - buildType.add(2); - patientsQuery1.setBuildTypeList(buildType); - if(null!=statisticsQueryRequest.getStatus()){ + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); +// PatientsQuery patientsQuery1=new PatientsQuery(); + antExRecordQuery.setHospitalId(hospitalId); + antExRecordQuery.setNeed("1"); + antExRecordQuery.setPage(statisticsQueryRequest.getPage()); + antExRecordQuery.setLimit(statisticsQueryRequest.getLimit()); + antExRecordQuery.setLevelId(statisticsQueryRequest.getLevelId()); + if (null != statisticsQueryRequest.getStatus()) { //1 - if(1==statisticsQueryRequest.getStatus()){ - patientsQuery1.setType(3); - }else if(2==statisticsQueryRequest.getStatus()){ - patientsQuery1.setType(1); + if (1 == statisticsQueryRequest.getStatus()) { + antExRecordQuery.setStatus(1); + } else if (2 == statisticsQueryRequest.getStatus()) { + antExRecordQuery.setStatus(2); } } @@ -96,10 +88,9 @@ public class AntExRecordFacade { if (org.apache.commons.lang.StringUtils.isNotEmpty(statisticsQueryRequest.getbTime())) { String nextDateStr = statisticsQueryRequest.getbTime(); String[] dates = nextDateStr.split(" - "); - - patientsQuery1.setBookbuildingDateStart(DateUtil.parseYMD(dates[0])); + antExRecordQuery.setBuildTimeStart(DateUtil.parseYMD(dates[0])); if (dates.length == 2) { - patientsQuery1.setBookbuildingDateEnd(DateUtil.parseYMD(dates[1])); + antExRecordQuery.setBuildTimeEnd(DateUtil.parseYMD(dates[1])); } } @@ -107,24 +98,23 @@ public class AntExRecordFacade { if (org.apache.commons.lang.StringUtils.isNotEmpty(statisticsQueryRequest.getDueDate())) { String nextDateStr = statisticsQueryRequest.getDueDate(); String[] dates = nextDateStr.split(" - "); - - patientsQuery1.setDueDateStart(DateUtil.parseYMD(dates[0])); + antExRecordQuery.setDueDateStart(DateUtil.parseYMD(dates[0])); if (dates.length == 2) { - patientsQuery1.setDueDateEnd(DateUtil.parseYMD(dates[1])); + antExRecordQuery.setDueDateEnd(DateUtil.parseYMD(dates[0])); } } - if(statisticsQueryRequest.getType()==1){ - List patientses= patientsService.queryPatient(patientsQuery1); - if(CollectionUtils.isNotEmpty(patientses)){ - for(Patients record:patientses){ - CjStatisticsListResult cjStatisticsListResult=new CjStatisticsListResult(); + if (statisticsQueryRequest.getType() == 1) { + List list2 = recordService.queryAntExRecords(antExRecordQuery); + if (CollectionUtils.isNotEmpty(list2)) { + for (AntExRecordModel record : list2) { + CjStatisticsListResult cjStatisticsListResult = new CjStatisticsListResult(); cjStatisticsListResult.convertToResult(record); - Users users = usersService.getUsers(NumberUtils.toInt(record.getLastCheckEmployeeId())); + Users users = usersService.getUsers(NumberUtils.toInt(record.getCheckDoctor())); if (null != users) { cjStatisticsListResult.setCheckDoctor(users.getName()); } - List factor = record.getRiskFactorId(); + List factor = record.gethRisk(); if (CollectionUtils.isNotEmpty(factor)) { StringBuilder sb = new StringBuilder(56); @@ -143,33 +133,31 @@ public class AntExRecordFacade { } } List level = new ArrayList(); - if (org.apache.commons.lang.StringUtils.isNotEmpty(record.getRiskLevelId())) { - try { - List list = JsonUtil.jkstr2Obj(record.getRiskLevelId(), List.class); - for (String str : list) { - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(str); - if (null != basicConfig) { - Map map = new HashMap(); - String name = basicConfig.getName(); - if (name.indexOf("预警") > -1) { - name = name.replace("预警", ""); - } - map.put("name",name); - map.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); - level.add(map); + try { + for (Object str : record.gethLevel()) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(str.toString()); + if (null != basicConfig) { + Map map = new HashMap(); + String name = basicConfig.getName(); + if (name.indexOf("预警") > -1) { + name = name.replace("预警", ""); } + map.put("name", name); + map.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); + level.add(map); } - } catch (Exception e) { - ExceptionUtils.catchException(e, "patients.getRiskLevelId error."); } - cjStatisticsListResult.setrLevel(HighScoreResult.filter(level)); -// cjStatisticsListResult.setrLevel(HighScoreResult.getLevelStr(HighScoreResult.filter(level))); + } catch (Exception e) { + ExceptionUtils.catchException(e, "patients.getRiskLevelId error."); } + cjStatisticsListResult.setrLevel(HighScoreResult.filter(level)); data.add(cjStatisticsListResult); } } - }else { - List list = patientsService.aggregateOne(patientsQuery1); + } else { +// List list = patientsService.aggregateOne(patientsQuery1); + + List list = recordService.aggregateOne(antExRecordQuery); for (HashMap map : list) { CjStatisticsResult cjStatisticsResult = new CjStatisticsResult(); String dId = map.get("_id").toString(); @@ -184,8 +172,8 @@ public class AntExRecordFacade { } data.add(cjStatisticsResult); } - Collections.sort(data,new CjStatisticsResult()); + Collections.sort(data, new CjStatisticsResult()); } - return baseListResponse.setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(data).setPageInfo(patientsQuery1.getPageInfo()); + return baseListResponse.setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(data).setPageInfo(antExRecordQuery.getPageInfo()); } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/CjStatisticsListResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/CjStatisticsListResult.java index e096903..f55d291 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/CjStatisticsListResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/CjStatisticsListResult.java @@ -48,6 +48,20 @@ public class CjStatisticsListResult { setType(record.getType()); return this; } + public CjStatisticsListResult convertToResult(AntExRecordModel record) { + setDueDate(DateUtil.getyyyy_MM_dd(record.getDueDate())); + if(null!=record.getLastMenses()){ + int days= DateUtil.daysBetween(record.getLastMenses(),new Date()); + this.dueWeek= StringUtils.dueWeek(days); + } + setId(record.getId()); + setName(record.getName()); + setPid(record.getPid()); + setScore(record.gethScore()); + setType(record.getType()); + return this; + } + public String getId() { return id; } -- 1.8.3.1