Commit 64eeb1d1c12fc26f027543a162059674ed3db66c

Authored by hujiaqi

Merge remote-tracking branch 'origin/master'

Showing 9 changed files

platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java View file @ 64eeb1d
... ... @@ -726,15 +726,8 @@
726 726 if (buildTypeEq != null) {
727 727 condition = condition.and("buildType", buildTypeEq, MongoOper.IS);
728 728 }
729   - Criteria c1 = null;
730   - if (lastCheckEmployeeId != null) {
731   - condition = condition.and("lastCheckEmployeeId", lastCheckEmployeeId, MongoOper.IS);
732   - }
733   - else if(lastCheckEId){
734   - // condition = condition.and("lastCheckEmployeeId", "", MongoOper.NE);
735   - // condition = condition.andCondition(MongoCondition.newInstance("lastCheckEmployeeId", null, MongoOper.NE));
736   - c1 = Criteria.where("lastCheckEmployeeId").ne("").ne(null);
737   - }
  729 +
  730 +
738 731 if (bookbuildingDoctor != null) {
739 732 condition = condition.and("bookbuildingDoctor", bookbuildingDoctor, MongoOper.IS);
740 733 }
741 734  
... ... @@ -814,12 +807,23 @@
814 807 if (null != pid) {
815 808 condition = condition.and("pid", pid, MongoOper.IS);
816 809 }
  810 + Criteria c1 = null;
  811 +
817 812 if (null != queryNo) {
818 813 MongoCondition c = MongoCondition.newInstance();
819 814 MongoCondition con1 = MongoCondition.newInstance("phone", queryNo, MongoOper.IS);
820 815 MongoCondition con2 = MongoCondition.newInstance("username", queryNo, MongoOper.IS);
821 816 MongoCondition con3 = MongoCondition.newInstance("cardNo", queryNo, MongoOper.IS);
822 817 c1= c.orCondition(new MongoCondition[]{con1, con2, con3}).getCriteria();
  818 + }
  819 +
  820 + if (lastCheckEmployeeId != null) {
  821 + condition = condition.and("lastCheckEmployeeId", lastCheckEmployeeId, MongoOper.IS);
  822 + }
  823 + else if(lastCheckEId){
  824 + condition = condition.and("lastCheckEmployeeId", "", MongoOper.NE);
  825 + MongoCondition c = MongoCondition.newInstance();
  826 + c1= c.andCondition(MongoCondition.newInstance("lastCheckEmployeeId", null, MongoOper.NE)).getCriteria();
823 827 }
824 828  
825 829 if (fmDateStart != null && fmDateEnd != null) {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java View file @ 64eeb1d
... ... @@ -26,7 +26,7 @@
26 26 public class Test {
27 27  
28 28 public static void main(String[] args) {
29   -// PatientsQuery patientsQuery1 = new PatientsQuery();
  29 + PatientsQuery patientsQuery1 = new PatientsQuery();
30 30 // patientsQuery1.setHospitalId("221");
31 31 // patientsQuery1.setYn(YnEnums.YES.getId());
32 32 // patientsQuery1.setType(1);
33 33  
34 34  
... ... @@ -44,18 +44,30 @@
44 44 // patientsQuery1.setBookbuildingDateEnd(DateUtil.parseYMD("2016-12-08"));
45 45  
46 46  
  47 +// Date yuYueDate = DateUtil.addDay(new Date(), 2);
  48 +// if (yuYueDate != null) {
  49 +// //把时间格式化成 yyyy_MM_dd 的日期
  50 +// yuYueDate = DateUtil.formatDate(yuYueDate);
  51 +// }
  52 +// AntExChuQuery antExChuQuery = new AntExChuQuery();
  53 +// antExChuQuery.setYn(YnEnums.YES.getId());
  54 +// antExChuQuery.setNextCheckTimeStart(yuYueDate);
  55 +// antExChuQuery.setNextCheckTimeEnd(yuYueDate);
  56 +// antExChuQuery.setHospitalId("242");
  57 +
  58 + patientsQuery1.setLastCheckEId(true);
  59 + patientsQuery1.setHospitalId("242");
  60 + patientsQuery1.setType(1);
  61 +
47 62 Date yuYueDate = DateUtil.addDay(new Date(), 2);
48 63 if (yuYueDate != null) {
49 64 //把时间格式化成 yyyy_MM_dd 的日期
50 65 yuYueDate = DateUtil.formatDate(yuYueDate);
51 66 }
52   - AntExChuQuery antExChuQuery = new AntExChuQuery();
53   - antExChuQuery.setYn(YnEnums.YES.getId());
54   - antExChuQuery.setNextCheckTimeStart(yuYueDate);
55   - antExChuQuery.setNextCheckTimeEnd(yuYueDate);
56   - antExChuQuery.setHospitalId("242");
  67 + patientsQuery1.setDueDateStart(yuYueDate);
  68 + patientsQuery1.setDueDateEnd(yuYueDate);
57 69  
58   - System.out.println(antExChuQuery.convertToQuery().convertToMongoQuery());
  70 + System.out.println(patientsQuery1.convertToQuery().convertToMongoQuery());
59 71  
60 72  
61 73 /*
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java View file @ 64eeb1d
... ... @@ -93,7 +93,7 @@
93 93 @TokenRequired
94 94 public BaseResponse queryAllPatPuerpera(@Valid RiskPatientsQueryRequest patientsQueryRequest,HttpServletRequest request) {
95 95 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
96   - return patientFacade.queryHighRisk(patientsQueryRequest, Boolean.TRUE, null, loginState.getId(), "true", Boolean.FALSE);
  96 + return patientFacade.queryHighRisk1(patientsQueryRequest, null, null, loginState.getId(), "true", Boolean.FALSE);
97 97 }
98 98  
99 99 /**
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java View file @ 64eeb1d
... ... @@ -28,10 +28,7 @@
28 28 import org.springframework.beans.factory.annotation.Autowired;
29 29 import org.springframework.stereotype.Component;
30 30  
31   -import java.util.ArrayList;
32   -import java.util.HashMap;
33   -import java.util.List;
34   -import java.util.Map;
  31 +import java.util.*;
35 32  
36 33 /**
37 34 * 产检管理
... ... @@ -187,6 +184,7 @@
187 184 }
188 185 data.add(cjStatisticsResult);
189 186 }
  187 + Collections.sort(data,new CjStatisticsResult());
190 188 }
191 189 return baseListResponse.setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(data).setPageInfo(patientsQuery1.getPageInfo());
192 190 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java View file @ 64eeb1d
... ... @@ -421,6 +421,27 @@
421 421 return new BaseListResponse().setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(data).setPageInfo(patientsQuery.getPageInfo());
422 422 }
423 423  
  424 +
  425 + public BaseResponse queryHighRisk1(RiskPatientsQueryRequest riskPatientsQueryRequest, Boolean isHighRisk, Integer type, Integer userId, String needPage, boolean isRegion) {
  426 + //组合请求
  427 + PatientsQuery patientsQuery = complayRequest(riskPatientsQueryRequest, isHighRisk, type, userId, needPage, isRegion);
  428 +
  429 + String hospital = autoMatchFacade.getHospitalId(userId);
  430 + //查询符合条件的孕妇
  431 + StopWatch stopWatch = new StopWatch("queryPatient2 -" + hospital);
  432 + stopWatch.start();
  433 + List<Patients> patientses = patientsService.queryPatient1(patientsQuery, "modified");
  434 + stopWatch.stop();
  435 +
  436 + logger.info(stopWatch.toString());
  437 + List data = new ArrayList<>();
  438 + if (CollectionUtils.isNotEmpty(patientses)) {
  439 + //如果是查高危孕妇
  440 + data = convertToHighRisk(patientses, userId, hospital);
  441 + }
  442 + return new BaseListResponse().setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(data).setPageInfo(patientsQuery.getPageInfo());
  443 + }
  444 +
424 445 public BaseResponse findPatient(PatientQueryRequest patientQueryRequest, Integer userId) {
425 446 PatientsQuery patientsQuery = new PatientsQuery();
426 447 patientsQuery.setPid(patientQueryRequest.getPid());
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java View file @ 64eeb1d
... ... @@ -10,10 +10,7 @@
10 10 import com.lyms.platform.common.result.BaseListResponse;
11 11 import com.lyms.platform.common.result.BaseObjectResponse;
12 12 import com.lyms.platform.common.result.BaseResponse;
13   -import com.lyms.platform.common.utils.DateUtil;
14   -import com.lyms.platform.common.utils.JsonUtil;
15   -import com.lyms.platform.common.utils.StringUtils;
16   -import com.lyms.platform.common.utils.SystemConfig;
  13 +import com.lyms.platform.common.utils.*;
17 14 import com.lyms.platform.operate.web.request.BabyCheckRequest;
18 15 import com.lyms.platform.operate.web.request.RiskPatientsQueryRequest;
19 16 import com.lyms.platform.operate.web.result.*;
... ... @@ -101,7 +98,7 @@
101 98 //总的孕妇条数
102 99 int allPatientCount = patientsService.queryPatientCount(patientsQuery);
103 100  
104   - List results = new ArrayList<>();
  101 + List<RiskReportResult> results = new ArrayList<>();
105 102  
106 103 BasicConfigQuery basicConfigQuery = new BasicConfigQuery();
107 104 basicConfigQuery.setYn(YnEnums.YES.getId());
108 105  
... ... @@ -115,12 +112,16 @@
115 112 ExecutorService pool = Executors.newFixedThreadPool(riskLevelConfig.size());
116 113 for(BasicConfig levelConfig : riskLevelConfig)
117 114 {
118   - Callable c = new HiskCountTask( basicConfigService,
  115 + if ("e637b361-99cf-41eb-84f2-f0dab596e928".equals(levelConfig.getId()))
  116 + {
  117 + continue;
  118 + }
  119 + Callable c = new HiskCountTask( basicConfigService,
119 120 patientsService, levelConfig,
120 121 patientsQuery,
121 122 allPatientCount);
122   - Future f = pool.submit(c);
123   - futures.add(f);
  123 + Future f = pool.submit(c);
  124 + futures.add(f);
124 125 }
125 126 // 关闭线程池
126 127 pool.shutdown();
127 128  
... ... @@ -131,14 +132,14 @@
131 132 for (Future f : futures)
132 133 {
133 134 try {
134   - results.addAll((List) f.get());
135   - } catch (InterruptedException e) {
136   - e.printStackTrace();
137   - } catch (ExecutionException e) {
138   - e.printStackTrace();
  135 + results.addAll((List<RiskReportResult>) f.get());
  136 + } catch (Exception e) {
  137 + ExceptionUtils.catchException(e, "high risk count error.");
139 138 }
140 139 }
141 140 }
  141 +
  142 + Collections.sort(results,new RiskReportResult());
142 143  
143 144 return new BaseListResponse()
144 145 .setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(results);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/CjStatisticsResult.java View file @ 64eeb1d
1 1 package com.lyms.platform.operate.web.result;
2 2  
  3 +import com.lyms.platform.common.utils.StringUtils;
  4 +
  5 +import java.util.Comparator;
  6 +
3 7 /**
4 8 *
5 9 * 产检统计
6 10 * Created by Administrator on 2016/11/28 0028.
7 11 */
8   -public class CjStatisticsResult {
  12 +public class CjStatisticsResult implements Comparator<CjStatisticsResult> {
9 13 private String dId;
10 14 private String dName;
11 15 private String count;
... ... @@ -37,5 +41,18 @@
37 41 public void setCount(String count) {
38 42 this.count = count;
39 43 }
  44 +
  45 + @Override
  46 + public int compare(CjStatisticsResult o1, CjStatisticsResult o2) {
  47 + if (o1 != null && o2 != null)
  48 + {
  49 + if (StringUtils.isNotEmpty(o2.getCount()) && StringUtils.isNotEmpty(o1.getCount()))
  50 + {
  51 + return Integer.parseInt(o2.getCount()) - Integer.parseInt(o1.getCount());
  52 + }
  53 + }
  54 + return 0;
  55 + }
  56 +
40 57 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/RiskPatientsResult.java View file @ 64eeb1d
... ... @@ -69,6 +69,63 @@
69 69 //服务状态
70 70 private String serviceStatus;
71 71  
  72 + //户籍地
  73 + private String hjAddress;
  74 +
  75 + //居住地址
  76 + private String jzAddress;
  77 +
  78 + //首次建档医院
  79 + private String firstHospital;
  80 +
  81 +
  82 + //当前产检医院
  83 + private String currentCheckHospital;
  84 +
  85 + public String getHjAddress() {
  86 + if(null==hjAddress){
  87 + return SPIT;
  88 + }
  89 + return hjAddress;
  90 + }
  91 +
  92 + public void setHjAddress(String hjAddress) {
  93 + this.hjAddress = hjAddress;
  94 + }
  95 +
  96 + public String getJzAddress() {
  97 + if(null==jzAddress){
  98 + return SPIT;
  99 + }
  100 + return jzAddress;
  101 + }
  102 +
  103 + public void setJzAddress(String jzAddress) {
  104 + this.jzAddress = jzAddress;
  105 + }
  106 +
  107 + public String getFirstHospital() {
  108 + if(null==firstHospital){
  109 + return SPIT;
  110 + }
  111 + return firstHospital;
  112 + }
  113 +
  114 + public void setFirstHospital(String firstHospital) {
  115 + this.firstHospital = firstHospital;
  116 + }
  117 +
  118 + public String getCurrentCheckHospital() {
  119 + if(null==currentCheckHospital){
  120 + return SPIT;
  121 + }
  122 + return currentCheckHospital;
  123 + }
  124 +
  125 + public void setCurrentCheckHospital(String currentCheckHospital) {
  126 + this.currentCheckHospital = currentCheckHospital;
  127 + }
  128 +
72 129 public String getServiceType() {
73 130 return serviceType;
74 131 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/RiskReportResult.java View file @ 64eeb1d
1 1 package com.lyms.platform.operate.web.result;
2 2  
3 3  
  4 +import com.lyms.platform.common.utils.StringUtils;
  5 +
  6 +import java.util.Comparator;
4 7 import java.util.List;
5 8  
6 9 /**
7 10 * 高危报表结果
8 11 * Created by lqy on 2016/11/28
9 12 */
10   -public class RiskReportResult {
  13 +public class RiskReportResult implements Comparator<RiskReportResult> {
11 14  
12 15 //高危因素Id
13 16 private String highRiskId;
... ... @@ -63,5 +66,19 @@
63 66 public void setPercent(String percent) {
64 67 this.percent = percent;
65 68 }
  69 +
  70 + @Override
  71 + public int compare(RiskReportResult o1, RiskReportResult o2) {
  72 + if (o1 != null && o2 != null)
  73 + {
  74 + if (StringUtils.isNotEmpty(o2.getRiskCount()) && StringUtils.isNotEmpty(o1.getRiskCount()))
  75 + {
  76 + return Integer.parseInt(o2.getRiskCount()) - Integer.parseInt(o1.getRiskCount());
  77 + }
  78 + }
  79 + return 0;
  80 + }
  81 +
  82 +
66 83 }