From 21e7a35a203f22c6e45574c21ea56aa7cbfee7b9 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Wed, 13 Jun 2018 10:27:23 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AB=98=E5=8D=B1=E6=A3=80=E6=9F=A5=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/biz/service/CommonService.java | 17 +++ .../lyms/platform/common/utils/StringUtils.java | 8 +- .../com/lyms/platform/query/AntExRecordQuery.java | 14 +++ .../operate/web/facade/AntExRecordFacade.java | 120 ++++++++------------- .../web/facade/AntenatalExaminationFacade.java | 26 +++-- .../operate/web/result/AntExManagerResult.java | 24 +++++ .../operate/web/worker/AntExRecordWorker.java | 8 ++ 7 files changed, 128 insertions(+), 89 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CommonService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CommonService.java index ca545ba..d87ec2b 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CommonService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CommonService.java @@ -82,6 +82,23 @@ public class CommonService { return filter(level); } + public List findRiskLevelByRisk(List riskIds) { + List level = new ArrayList(); + if (CollectionUtils.isNotEmpty(riskIds)) { + try { + for (String str : riskIds) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(str); + if (null != basicConfig) { + level.add(basicConfig.getParentId()); + } + } + } catch (Exception e) { + ExceptionUtils.catchException(e, "findRiskLevelByRisk error."); + } + } + return findRiskLevel(level); + } + /** * 高危id转成列表 diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java b/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java index 03c2ab9..8a408f4 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java @@ -281,16 +281,16 @@ public final class StringUtils { } - public static String replaceName(String name, String repalceStr) { + public static String replaceName(String name, String repalceStr,String doctor) { if (StringUtils.isNotEmpty(repalceStr)) { - return repalceStr.replace("{{姓名}}", name); + return repalceStr.replace("{{姓名}}", name).replace("{{医生名称}}",doctor); } return repalceStr; } - public static String replaceNameRisk(String name, String risk,String repalceStr) { + public static String replaceNameRisk(String name, String risk,String repalceStr,String doctor) { if (StringUtils.isNotEmpty(repalceStr)) { - return repalceStr.replace("{{姓名}}", name).replace("{{高危因素}}", risk); + return repalceStr.replace("{{姓名}}", name).replace("{{高危因素}}", risk).replace("{{医生名称}}",doctor); } return repalceStr; } 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 972e9db..c8acc20 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 @@ -18,6 +18,8 @@ import java.util.List; public class AntExRecordQuery extends BaseQuery implements IConvertToNativeQuery { private String parentId; private String id; + private List ids; + private String fId; private String name; private String cardNo; @@ -63,6 +65,14 @@ public class AntExRecordQuery extends BaseQuery implements IConvertToNativeQuery private Integer type; private String neqId; + public List getIds() { + return ids; + } + + public void setIds(List ids) { + this.ids = ids; + } + public String getNeqId() { return neqId; } @@ -466,6 +476,10 @@ public class AntExRecordQuery extends BaseQuery implements IConvertToNativeQuery condition = condition.and("id", id, MongoOper.IS); } + if (null != ids && ids.size() > 0) { + condition = condition.and("id", ids, MongoOper.IN); + } + if (StringUtils.isNotEmpty(name)) { condition = condition.and("name", name, MongoOper.IS); } 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 2b15529..e30c8f9 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 @@ -28,6 +28,7 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.math.NumberUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.data.domain.Sort; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; @@ -242,67 +243,16 @@ public class AntExRecordFacade { } String hospital = autoMatchFacade.getHospitalId(userId); - List data = new ArrayList<>(); List antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery); - if (CollectionUtils.isNotEmpty(antExRecordModelList)) { - /*AntExManagerResult antExManagerResult = new AntExManagerResult(); - antExManagerResult.convertToResult(e); - if (isRegion) { - //产检医院 - if (StringUtils.isNotEmpty(e.getHospitalId())) { - Organization org = organizationService.getOrganization(Integer.valueOf(e.getHospitalId())); - if (null != org) { - antExManagerResult.setCheckHospital(org.getName()); - } else { - antExManagerResult.setCheckHospital(e.getHospitalId()); - } - } - antExManagerResult.setAddr(CommonsHelper.getResidence(e.getProvinceRegisterId(), e.getCityRegisterId(), e.getAreaRegisterId(), e.getStreetRegisterId(), e.getAddressRegister(), basicConfigService)); - } - - //登记人 - if (org.apache.commons.lang.StringUtils.isNotEmpty(e.getBuildDoctor())) { - if (NumberUtils.isNumber(e.getBuildDoctor())) { - Users users = usersService.getUsers(NumberUtils.toInt(e.getBuildDoctor())); - if (null != users) { - antExManagerResult.setlName(users.getName()); - } else { - antExManagerResult.setlName(e.getBuildDoctor()); - } - } else { - antExManagerResult.setlName(e.getBuildDoctor()); - } - } - //产检医生 - if (org.apache.commons.lang.StringUtils.isNotEmpty(e.getCheckDoctor())) { - if (NumberUtils.isNumber(e.getCheckDoctor())) { - Users users = usersService.getUsers(NumberUtils.toInt(e.getCheckDoctor())); - if (null != users) { - antExManagerResult.setCheckDoctor(users.getName()); - } else { - antExManagerResult.setCheckDoctor(e.getCheckDoctor()); - } - } else { - antExManagerResult.setCheckDoctor(e.getCheckDoctor()); - } - } - - AntExRecordQuery antExRecordQuery1 = new AntExRecordQuery(); - antExRecordQuery1.setCheckTimeEnd(e.getCheckTime()); - antExRecordQuery1.setPid(e.getPid()); - antExRecordQuery1.setHospitalId(hospital); - - //本院低次 - int dichi = recordService.count(antExRecordQuery1); - antExRecordQuery1.setHospitalId(null); - - antExManagerResult.settTimes(recordService.count(antExRecordQuery1)); - antExManagerResult.setChTimes(dichi); - //高危因素 - antExManagerResult.setrLevel(commonService.findRiskLevel(e.gethLevel())); - antExManagerResult.setRiskFactor(commonService.resloveFactor(e.gethRisk()));*/ + List data = getAntExRecords(antExRecordModelList, hospital, isRegion, antExManagerQueryRequest.getShowDetail()); + return new BaseListResponse().setData(data).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(antExRecordQuery.getPageInfo()); + } + private List getAntExRecords( List antExRecordModelList,String hospital,boolean isRegion,Integer isShowDetail) + { + List data = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(antExRecordModelList)) { int batchSize = 4; int end = 0; List listFuture = new ArrayList<>(); @@ -323,15 +273,16 @@ public class AntExRecordFacade { } Organization og = organizationService.getOrganization(Integer.valueOf(hospital)); - if(og!=null&&"2".equals(og.getCityId())&&antExManagerQueryRequest.getShowDetail()==1){//需要隐藏姓名、地址 + if(og!=null&&"2".equals(og.getCityId())&&isShowDetail==1){//需要隐藏姓名、地址 for (AntExManagerResult result:data){ result.setName(StringUtils.encryName(result.getName())); result.setAddr(StringUtils.encryAddr(result.getAddr())); } } - return new BaseListResponse().setData(data).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(antExRecordQuery.getPageInfo()); + return data; } + /** * 产检统计 * @@ -644,7 +595,7 @@ public class AntExRecordFacade { Map> map = new HashMap<>(); antExRecordQuery.setHospitalId(hospitalId); - List antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery); + List antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery, Sort.Direction.DESC,"created"); if (CollectionUtils.isNotEmpty(antExRecordModelList)) { for (AntExRecordModel recordModel : antExRecordModelList) @@ -659,7 +610,9 @@ public class AntExRecordFacade { } } - List riskList = new ArrayList<>(); + List riskListIds = new ArrayList<>(); + + Map> incriskMap = new HashMap<>(); AntExRecordQuery beforeRecordQuery = new AntExRecordQuery(); @@ -686,10 +639,11 @@ public class AntExRecordFacade { AntExRecordModel twoRecord = beforeAntRecords.get(0); List currentRiskList = oneRecord.gethRisk(); List beforeRiskList = twoRecord.gethRisk(); + if (CollectionUtils.isNotEmpty(beforeRiskList) && beforeRiskList.contains("d42eec03-aa86-45b8-a4e0-78a0ff365fb6")) { - oneRecord.setIncrhRisk(currentRiskList); - riskList.add(oneRecord); + riskListIds.add(oneRecord.getId()); + incriskMap.put(oneRecord.getId(), currentRiskList); } else if (CollectionUtils.isNotEmpty(beforeRiskList) ) { @@ -703,15 +657,15 @@ public class AntExRecordFacade { } if (CollectionUtils.isNotEmpty(incrHrisk)) { - oneRecord.setIncrhRisk(incrHrisk); - riskList.add(oneRecord); + riskListIds.add(oneRecord.getId()); + incriskMap.put(oneRecord.getId(), incrHrisk); } } } else { - oneRecord.setIncrhRisk(oneRecord.gethRisk()); - riskList.add(oneRecord); + riskListIds.add(oneRecord.getId()); + incriskMap.put(oneRecord.getId(), oneRecord.gethRisk()); } } } @@ -731,23 +685,23 @@ public class AntExRecordFacade { List beforeRiskList = twoRecord.gethRisk(); if (CollectionUtils.isNotEmpty(beforeRiskList) && beforeRiskList.contains("d42eec03-aa86-45b8-a4e0-78a0ff365fb6")) { - oneRecord.setIncrhRisk(currentRiskList); - riskList.add(oneRecord); + riskListIds.add(oneRecord.getId()); + incriskMap.put(oneRecord.getId(), currentRiskList); } else if (CollectionUtils.isNotEmpty(beforeRiskList) ) { - List incrHrisk = new ArrayList(); + List incrHrisk = new ArrayList(); for (Object riskId : currentRiskList) { if (!beforeRiskList.contains(riskId)) { - incrHrisk.add(riskId); + incrHrisk.add(String.valueOf(riskId)); } } if (CollectionUtils.isNotEmpty(incrHrisk)) { - oneRecord.setIncrhRisk(incrHrisk); - riskList.add(oneRecord); + riskListIds.add(oneRecord.getId()); + incriskMap.put(oneRecord.getId(), incrHrisk); } } } @@ -755,6 +709,22 @@ public class AntExRecordFacade { } } - return null; + AntExRecordQuery pageAntExRecordsQuery = new AntExRecordQuery(); + pageAntExRecordsQuery.setNeed("true"); + pageAntExRecordsQuery.setPage(antExManagerQueryRequest.getPage()); + pageAntExRecordsQuery.setLimit(antExManagerQueryRequest.getLimit()); + pageAntExRecordsQuery.setIds(riskListIds); + List pageAntExRecords = recordService.queryAntExRecords(pageAntExRecordsQuery); + if (CollectionUtils.isNotEmpty(pageAntExRecords)) + { + for (AntExRecordModel model : pageAntExRecords) + { + model.setIncrhRisk(incriskMap.get(model.getId())); + } + } + + List data = getAntExRecords(pageAntExRecords, hospitalId, false, antExManagerQueryRequest.getShowDetail()); + + return new BaseListResponse().setData(data).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(pageAntExRecordsQuery.getPageInfo()); } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java index 598267d..0ec0706 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java @@ -730,13 +730,26 @@ public class AntenatalExaminationFacade { List messages = new ArrayList<>(); MsgRequest mr = new MsgRequest(); + + String doctorName = ""; + try { + Users users = usersService.getUsers(Integer.parseInt(patient.getLastCheckEmployeeId())); + if (users != null && users.getYn() == YnEnums.YES.getId()) { + doctorName = users.getName(); + mr.setKeyword1(doctorName); + } + } catch (Exception e) { + System.out.print(e + patient.getLastCheckEmployeeId()); + } + + String content = ""; if (isHightRisk) { //风险名称 String riskNmae = queryRiskNameStr(patient.getRiskFactorId()); - content = com.lyms.platform.common.utils.StringUtils.replaceNameRisk(patient.getUsername(), riskNmae, templateModel.getContent()); + content = com.lyms.platform.common.utils.StringUtils.replaceNameRisk(patient.getUsername(), riskNmae, templateModel.getContent(),doctorName); } else { - content = com.lyms.platform.common.utils.StringUtils.replaceName(patient.getUsername(), templateModel.getContent()); + content = com.lyms.platform.common.utils.StringUtils.replaceName(patient.getUsername(), templateModel.getContent(),doctorName); } mr.setFirst("【" + messagePrefix + "】" + content); @@ -752,14 +765,7 @@ public class AntenatalExaminationFacade { mr.setPatientId(patient.getId()); mr.setSmsStatus(SmsStatusEnums.WFS.getId()); mr.setServiceType((templateModel.getTemplateType() == null || templateModel.getTemplateType() == 0) ? 1 : 3); //判断发送类型 - try { - Users users = usersService.getUsers(Integer.parseInt(patient.getLastCheckEmployeeId())); - if (users != null && users.getYn() == YnEnums.YES.getId()) { - mr.setKeyword1(users.getName()); - } - } catch (Exception e) { - System.out.print(e + patient.getLastCheckEmployeeId()); - } + mr.setKeyword2(DateUtil.getymd()); mr.setRemark(""); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntExManagerResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntExManagerResult.java index b46f403..79a4836 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntExManagerResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntExManagerResult.java @@ -29,8 +29,16 @@ public class AntExManagerResult { private String cDueWeek; //风险等级 private List rLevel; + + //新增风险等级 + private List incrRLevel; + //高危因素 private String riskFactor; + + //新增高危因素 + private String incrRiskFactor; + //高危评分 private String riskScore; //本院产检次数 @@ -56,6 +64,22 @@ public class AntExManagerResult { //产次 private int cTimes=1; + public List getIncrRLevel() { + return incrRLevel; + } + + public void setIncrRLevel(List incrRLevel) { + this.incrRLevel = incrRLevel; + } + + public String getIncrRiskFactor() { + return incrRiskFactor; + } + + public void setIncrRiskFactor(String incrRiskFactor) { + this.incrRiskFactor = incrRiskFactor; + } + public String getScreenResult() { return screenResult; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/AntExRecordWorker.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/AntExRecordWorker.java index 8f0da86..0e2b527 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/AntExRecordWorker.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/AntExRecordWorker.java @@ -199,6 +199,14 @@ public class AntExRecordWorker implements Callable> { //筛查结果 List screen = e.getScreenResult(); + + //新增高危因素 + String incrRisk = commonService.resloveFactor(e.getIncrhRisk()); + antExManagerResult.setIncrRiskFactor(incrRisk); + + //高危因素 + antExManagerResult.setIncrRLevel(commonService.findRiskLevelByRisk(e.getIncrhRisk())); + String screenStr = basicConfigService.getScreenResult(screen); antExManagerResult.setScreenResult(screenStr); antExManagerResult.setRiskFactor(ri); -- 1.8.3.1