Commit 9e61c8273e78ee7e6eb2f21e17fef55e530bd5e9
1 parent
62db5609bd
Exists in
master
and in
1 other branch
预产期管理
Showing 17 changed files with 679 additions and 31 deletions
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPatientDao.java
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientDaoImpl.java
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PredictedStatisticsService.java
- platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java
- platform-dal/src/main/java/com/lyms/platform/pojo/PredictedStatisticsCountModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BCTransferInController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PredictedStatisticsController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BCTransferInFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PredictedStatisticsFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PredictedStatisticsRequest.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PredictedStatisticsSumRequest.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PredictedStatisticsQueryModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PredictedStatisticsQuerySumModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PredictedStatisticsResult.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PredictedStatisticsSumResult.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/RiskLevelResultModel.java
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPatientDao.java
View file @
9e61c82
... | ... | @@ -3,8 +3,7 @@ |
3 | 3 | import com.lyms.platform.common.dao.operator.MongoQuery; |
4 | 4 | import com.lyms.platform.common.dao.operator.Page; |
5 | 5 | import com.lyms.platform.pojo.Patients; |
6 | -import com.lyms.platform.pojo.PuerperaModel; | |
7 | -import com.mongodb.Mongo; | |
6 | +import com.lyms.platform.pojo.PredictedStatisticsCountModel; | |
8 | 7 | |
9 | 8 | import java.util.HashMap; |
10 | 9 | import java.util.List; |
... | ... | @@ -34,6 +33,8 @@ |
34 | 33 | void findAndModify(MongoQuery query,Patients obj); |
35 | 34 | |
36 | 35 | void updatePatientOneCol(String id, Object colValue); |
36 | + | |
37 | + List<PredictedStatisticsCountModel> predictedStatistics(); | |
37 | 38 | |
38 | 39 | List<HashMap> aggregateOne(MongoQuery mongoQuery); |
39 | 40 | } |
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientDaoImpl.java
View file @
9e61c82
... | ... | @@ -6,14 +6,12 @@ |
6 | 6 | import com.lyms.platform.common.dao.operator.MongoOper; |
7 | 7 | import com.lyms.platform.common.dao.operator.MongoQuery; |
8 | 8 | import com.lyms.platform.common.dao.operator.Page; |
9 | -import com.lyms.platform.pojo.AntenatalExaminationModel; | |
10 | -import com.lyms.platform.pojo.BabyModel; | |
11 | 9 | import com.lyms.platform.pojo.Patients; |
10 | +import com.lyms.platform.pojo.PredictedStatisticsCountModel; | |
12 | 11 | import org.bson.types.ObjectId; |
13 | 12 | import org.springframework.data.mongodb.core.aggregation.Aggregation; |
14 | 13 | import org.springframework.data.mongodb.core.aggregation.AggregationOperation; |
15 | 14 | import org.springframework.data.mongodb.core.aggregation.AggregationResults; |
16 | -import org.springframework.data.mongodb.core.aggregation.Field; | |
17 | 15 | import org.springframework.data.mongodb.core.query.Criteria; |
18 | 16 | import org.springframework.data.mongodb.core.query.Query; |
19 | 17 | import org.springframework.data.mongodb.core.query.Update; |
... | ... | @@ -42,6 +40,48 @@ |
42 | 40 | @Override |
43 | 41 | public void updatePatientOneCol(String id, Object colValue) { |
44 | 42 | this.mongoTemplate.updateFirst(new Query(Criteria.where("id").is(id)), Update.update("nextCheckTime", colValue), Patients.class); |
43 | + } | |
44 | + | |
45 | + @Override | |
46 | + public List<PredictedStatisticsCountModel> predictedStatistics() { | |
47 | + // List<PredictedStatisticsCountModel> predictedStatisticsCountModelList = new ArrayList<>(); | |
48 | + // DBCollection dbCollection = this.mongoTemplate.getCollection("lyms_patient"); | |
49 | + // SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM"); | |
50 | + // String date = simpleDateFormat.format(new Date()); | |
51 | + // String map = "function() { " + | |
52 | + // "var date; " + | |
53 | + // "if (this['dueDate'] &&(this.dueDate.getFullYear()+'-'+(this.dueDate.getMonth()+1) == '" + date + "')) " + | |
54 | + // "{date = '" + date + "';} "; | |
55 | + // for (int i = 1; i < 10; i++) { | |
56 | + // map += "else if(this['dueDate'] &&(this.dueDate.getFullYear()+'-'+(this.dueDate.getMonth()+1) == '" + DateUtil.addMonthWithout0(date, i) + "'))" + | |
57 | + // "{date = '" + DateUtil.addMonthWith0(date, i) + "';} "; | |
58 | + // } | |
59 | + // map += "emit(date, 1);}"; | |
60 | + // String reduce = "function(key, values) { " + | |
61 | + // "var sum = 0; " + | |
62 | + // "values.forEach(function(doc) { " + | |
63 | + // "sum += 1; " + | |
64 | + // "}); " + | |
65 | + // "return sum;} "; | |
66 | + // System.out.println(map); | |
67 | + // MapReduceCommand mapReduceCommand = new MapReduceCommand(dbCollection, map, reduce, | |
68 | + // null, MapReduceCommand.OutputType.INLINE, null); | |
69 | + // MapReduceOutput mapReduceOutput = dbCollection.mapReduce(mapReduceCommand); | |
70 | + // Map<String, String> resultMap = new HashMap<>(); | |
71 | + // for (DBObject dbObject : mapReduceOutput.results()) { | |
72 | + // if (dbObject.get("_id") != null) { | |
73 | + // resultMap.put(dbObject.get("_id").toString(), dbObject.get("value").toString()); | |
74 | + // } | |
75 | + // } | |
76 | + // for (int i = 0; i < 10; i++) { | |
77 | + // PredictedStatisticsCountModel predictedStatisticsCountModel = new PredictedStatisticsCountModel(); | |
78 | + // predictedStatisticsCountModel.setPredicted(DateUtil.addMonthWith0(date, i)); | |
79 | + // String number = resultMap.get(DateUtil.addMonthWith0(date, i)); | |
80 | + // predictedStatisticsCountModel.setNumber(number == null ? "0" : String.valueOf(Double.valueOf(number).intValue())); | |
81 | + // predictedStatisticsCountModelList.add(predictedStatisticsCountModel); | |
82 | + // } | |
83 | + // return predictedStatisticsCountModelList; | |
84 | + return null; | |
45 | 85 | } |
46 | 86 | |
47 | 87 | @Override |
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java
View file @
9e61c82
... | ... | @@ -391,6 +391,10 @@ |
391 | 391 | iPatientDao.updatePatientByPid(patientUpdate, pid); |
392 | 392 | } |
393 | 393 | |
394 | + public List<PredictedStatisticsCountModel> predictedStatistics() { | |
395 | + return iPatientDao.predictedStatistics(); | |
396 | + } | |
397 | + | |
394 | 398 | private class PatientWorker extends Thread { |
395 | 399 | private List<Patients> patientses; |
396 | 400 | private long startTime; |
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PredictedStatisticsService.java
View file @
9e61c82
platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java
View file @
9e61c82
1 | 1 | package com.lyms.platform.common.utils; |
2 | 2 | |
3 | -import org.apache.commons.lang.time.DateUtils; | |
4 | 3 | import org.joda.time.DateTime; |
5 | 4 | |
6 | 5 | import java.text.ParseException; |
7 | 6 | import java.text.SimpleDateFormat; |
8 | -import java.util.*; | |
7 | +import java.util.Calendar; | |
8 | +import java.util.Date; | |
9 | +import java.util.GregorianCalendar; | |
9 | 10 | |
10 | 11 | public class DateUtil { |
11 | 12 | |
... | ... | @@ -806,5 +807,35 @@ |
806 | 807 | |
807 | 808 | |
808 | 809 | } |
810 | + | |
811 | + /** | |
812 | + * @auther HuJiaqi | |
813 | + * @createTime 2016年11月29日 11时30分 | |
814 | + * @discription 这个方法是为了孕产妇围产管理-统计管理-预产期统计管理定制,请慎重使用 | |
815 | + */ | |
816 | + public static String addMonthWithout0(String date, int add) { | |
817 | + int year = Integer.valueOf(date.substring(0, 4)); | |
818 | + int month = Integer.valueOf(date.substring(5)) + add; | |
819 | + if (month < 13) { | |
820 | + date = year + "-" + month; | |
821 | + } else { | |
822 | + date = (year + 1) + "-" + (month - 12); | |
823 | + } | |
824 | + return date; | |
825 | + } | |
826 | + | |
827 | + /** | |
828 | + * @auther HuJiaqi | |
829 | + * @createTime 2016年11月29日 11时30分 | |
830 | + * @discription 这个方法是为了孕产妇围产管理-统计管理-预产期统计管理定制,请慎重使用 | |
831 | + */ | |
832 | + public static String addMonthWith0(String date, int add) { | |
833 | + date = addMonthWithout0(date, add); | |
834 | + if (date.substring(5).length() == 1) { | |
835 | + date = date.substring(0, 4) + "-" + 0 + date.substring(5); | |
836 | + } | |
837 | + return date; | |
838 | + } | |
839 | + | |
809 | 840 | } |
platform-dal/src/main/java/com/lyms/platform/pojo/PredictedStatisticsCountModel.java
View file @
9e61c82
1 | +package com.lyms.platform.pojo; | |
2 | + | |
3 | +/** | |
4 | + * @auther HuJiaqi | |
5 | + * @createTime 2016年11月28日 15时12分 | |
6 | + * @discription | |
7 | + */ | |
8 | +public class PredictedStatisticsCountModel { | |
9 | + | |
10 | + private String predicted; | |
11 | + private String number; | |
12 | + | |
13 | + public String getPredicted() { | |
14 | + return predicted; | |
15 | + } | |
16 | + | |
17 | + public void setPredicted(String predicted) { | |
18 | + this.predicted = predicted; | |
19 | + } | |
20 | + | |
21 | + public String getNumber() { | |
22 | + return number; | |
23 | + } | |
24 | + | |
25 | + public void setNumber(String number) { | |
26 | + this.number = number; | |
27 | + } | |
28 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BCTransferInController.java
View file @
9e61c82
... | ... | @@ -26,7 +26,10 @@ |
26 | 26 | |
27 | 27 | import javax.servlet.http.HttpServletRequest; |
28 | 28 | import javax.servlet.http.HttpServletResponse; |
29 | -import java.util.*; | |
29 | +import java.util.ArrayList; | |
30 | +import java.util.HashMap; | |
31 | +import java.util.List; | |
32 | +import java.util.Map; | |
30 | 33 | |
31 | 34 | /** |
32 | 35 | * @auther HuJiaqi |
... | ... | @@ -117,9 +120,8 @@ |
117 | 120 | */ |
118 | 121 | @ResponseBody |
119 | 122 | @RequestMapping(value = "query", method = RequestMethod.POST) |
120 | - public BaseListResponse query(HttpServletRequest httpServletRequest, | |
121 | - @RequestParam String startDate, | |
122 | - @RequestParam String endDate, | |
123 | + public BaseListResponse query(@RequestParam(required = false) String startDate, | |
124 | + @RequestParam(required = false) String endDate, | |
123 | 125 | @RequestParam Integer page, |
124 | 126 | @RequestParam Integer limit) { |
125 | 127 | BaseListResponse baseListResponse; |
... | ... | @@ -135,12 +137,7 @@ |
135 | 137 | bcTransferInQueryRequest.setPage(page); |
136 | 138 | bcTransferInQueryRequest.setLimit(limit); |
137 | 139 | |
138 | - // TODO HuJiaqi-这里是自测使用的调试需要修改 | |
139 | - // LoginContext loginContext = (LoginContext) httpServletRequest.getAttribute("loginContext"); | |
140 | - // Integer operatorId = loginContext.getId(); | |
141 | - Integer operatorId = 123456; | |
142 | - | |
143 | - BCTransferInQueryResult bcTransferInQueryResult = bcTransferInFacade.query(bcTransferInQueryRequest, operatorId); | |
140 | + BCTransferInQueryResult bcTransferInQueryResult = bcTransferInFacade.query(bcTransferInQueryRequest); | |
144 | 141 | if (bcTransferInQueryResult.getErrorcode() != ErrorCodeConstants.SUCCESS) { |
145 | 142 | baseListResponse = new BaseListResponse().setErrorcode(bcTransferInQueryResult.getErrorcode()).setErrormsg(bcTransferInQueryResult.getErrormsg()); |
146 | 143 | return baseListResponse; |
... | ... | @@ -154,9 +151,9 @@ |
154 | 151 | } |
155 | 152 | |
156 | 153 | @RequestMapping(value = "excel", method = RequestMethod.GET) |
157 | - public void excel(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, | |
158 | - @RequestParam String startDate, | |
159 | - @RequestParam String endDate, | |
154 | + public void excel(HttpServletResponse httpServletResponse, | |
155 | + @RequestParam(required = false) String startDate, | |
156 | + @RequestParam(required = false) String endDate, | |
160 | 157 | @RequestParam Integer page, |
161 | 158 | @RequestParam Integer limit) { |
162 | 159 | try { |
163 | 160 | |
... | ... | @@ -166,14 +163,9 @@ |
166 | 163 | bcTransferInQueryRequest.setPage(page); |
167 | 164 | bcTransferInQueryRequest.setLimit(limit); |
168 | 165 | |
169 | - // TODO HuJiaqi-这里是自测使用的调试需要修改 | |
170 | - // LoginContext loginContext = (LoginContext) httpServletRequest.getAttribute("loginContext"); | |
171 | - // Integer operatorId = loginContext.getId(); | |
172 | - Integer operatorId = 123456; | |
173 | - | |
174 | 166 | // 这里返回的结果必然是这个泛型,之所以query返回的结果集没有用泛型是为了更好的传递数据 |
175 | 167 | @SuppressWarnings("unchecked") |
176 | - List<BCTransferInHistoryQueryModel> bcTransferInHistoryQueryModelList = bcTransferInFacade.query(bcTransferInQueryRequest, operatorId).getData(); | |
168 | + List<BCTransferInHistoryQueryModel> bcTransferInHistoryQueryModelList = bcTransferInFacade.query(bcTransferInQueryRequest).getData(); | |
177 | 169 | List<Map<String, Object>> list = new ArrayList<>(); |
178 | 170 | for (BCTransferInHistoryQueryModel bcTransferInHistoryQueryModel : bcTransferInHistoryQueryModelList) { |
179 | 171 | Map<String, Object> map = BeanUtils.objectToObjectMap(bcTransferInHistoryQueryModel); |
... | ... | @@ -189,7 +181,6 @@ |
189 | 181 | header.put("total", "数量"); |
190 | 182 | header.put("inOperatorName", "经办人"); |
191 | 183 | header.put("isCancel", "可否撤销"); |
192 | - // httpServletResponse.setHeader("Content-Disposition", "attachment;fileName=" + "证明入库(" + startDate + "至" + endDate + ").xls"); | |
193 | 184 | httpServletResponse.setContentType("application/force-download"); |
194 | 185 | httpServletResponse.setHeader("Content-Disposition", "attachment;filename=" + new String(("证明入库(" + startDate + "至" + endDate + ").xls").getBytes("UTF-8"), "ISO-8859-1")); |
195 | 186 | ExcelUtil.toExcel(httpServletResponse.getOutputStream(), list, header); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PredictedStatisticsController.java
View file @
9e61c82
1 | +package com.lyms.platform.operate.web.controller; | |
2 | + | |
3 | +import com.lyms.platform.common.annotation.TokenRequired; | |
4 | +import com.lyms.platform.common.base.LoginContext; | |
5 | +import com.lyms.platform.common.constants.ErrorCodeConstants; | |
6 | +import com.lyms.platform.common.result.BaseListResponse; | |
7 | +import com.lyms.platform.operate.web.facade.PredictedStatisticsFacade; | |
8 | +import com.lyms.platform.operate.web.request.PredictedStatisticsRequest; | |
9 | +import com.lyms.platform.operate.web.request.PredictedStatisticsSumRequest; | |
10 | +import com.lyms.platform.operate.web.result.PredictedStatisticsResult; | |
11 | +import com.lyms.platform.operate.web.result.PredictedStatisticsSumResult; | |
12 | +import org.apache.log4j.Logger; | |
13 | +import org.springframework.beans.factory.annotation.Autowired; | |
14 | +import org.springframework.stereotype.Controller; | |
15 | +import org.springframework.web.bind.annotation.RequestMapping; | |
16 | +import org.springframework.web.bind.annotation.RequestMethod; | |
17 | +import org.springframework.web.bind.annotation.RequestParam; | |
18 | +import org.springframework.web.bind.annotation.ResponseBody; | |
19 | + | |
20 | +import javax.servlet.http.HttpServletRequest; | |
21 | + | |
22 | +/** | |
23 | + * @auther HuJiaqi | |
24 | + * @createTime 2016年11月28日 11时31分 | |
25 | + * @discription 孕产妇围产管理-统计管理-预产期统计管理 | |
26 | + */ | |
27 | +@Controller | |
28 | +public class PredictedStatisticsController { | |
29 | + | |
30 | + private Logger log = Logger.getLogger(this.getClass()); | |
31 | + | |
32 | + @Autowired | |
33 | + private PredictedStatisticsFacade predictedStatisticsFacade; | |
34 | + | |
35 | + @ResponseBody | |
36 | + @TokenRequired | |
37 | + @RequestMapping(value = "predictedStatistics", method = RequestMethod.POST) | |
38 | + public BaseListResponse predictedStatistics(HttpServletRequest httpServletRequest, | |
39 | + @RequestParam(required = false) String doctorId, | |
40 | + @RequestParam Integer page, | |
41 | + @RequestParam Integer limit, | |
42 | + @RequestParam(required = false) String date) { | |
43 | + BaseListResponse baseListResponse; | |
44 | + try { | |
45 | + PredictedStatisticsRequest predictedStatisticsRequest = new PredictedStatisticsRequest(); | |
46 | + predictedStatisticsRequest.setDoctorId(doctorId); | |
47 | + predictedStatisticsRequest.setPage(page); | |
48 | + predictedStatisticsRequest.setLimit(limit); | |
49 | + predictedStatisticsRequest.setDate(date); | |
50 | + | |
51 | + predictedStatisticsRequest.setOperatorId(((LoginContext) httpServletRequest.getAttribute("loginContext")).getId()); | |
52 | + | |
53 | + PredictedStatisticsResult predictedStatisticsResult = predictedStatisticsFacade.predictedStatistics(predictedStatisticsRequest); | |
54 | + if (predictedStatisticsResult.getErrorcode() != ErrorCodeConstants.SUCCESS) { | |
55 | + baseListResponse = new BaseListResponse().setErrorcode(predictedStatisticsResult.getErrorcode()).setErrormsg(predictedStatisticsResult.getErrormsg()); | |
56 | + return baseListResponse; | |
57 | + } | |
58 | + baseListResponse = new BaseListResponse().setErrorcode(predictedStatisticsResult.getErrorcode()).setErrormsg(predictedStatisticsResult.getErrormsg()).setData(predictedStatisticsResult.getData()).setPageInfo(predictedStatisticsResult.getPageInfo()); | |
59 | + } catch (Exception e) { | |
60 | + baseListResponse = new BaseListResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); | |
61 | + log.error("predictedStatistics异常:" + e); | |
62 | + } | |
63 | + return baseListResponse; | |
64 | + } | |
65 | + | |
66 | + @ResponseBody | |
67 | + @TokenRequired | |
68 | + @RequestMapping(value = "predictedStatisticsSum", method = RequestMethod.POST) | |
69 | + public BaseListResponse predictedStatisticsSum(HttpServletRequest httpServletRequest, | |
70 | + @RequestParam(required = false) String doctorId) { | |
71 | + BaseListResponse baseListResponse; | |
72 | + try { | |
73 | + PredictedStatisticsSumRequest predictedStatisticsRequest = new PredictedStatisticsSumRequest(); | |
74 | + predictedStatisticsRequest.setDoctorId(doctorId); | |
75 | + | |
76 | + predictedStatisticsRequest.setOperatorId(((LoginContext) httpServletRequest.getAttribute("loginContext")).getId()); | |
77 | + | |
78 | + PredictedStatisticsSumResult predictedStatisticsSumResult = predictedStatisticsFacade.predictedStatisticsSum(predictedStatisticsRequest); | |
79 | + if (predictedStatisticsSumResult.getErrorcode() != ErrorCodeConstants.SUCCESS) { | |
80 | + baseListResponse = new BaseListResponse().setErrorcode(predictedStatisticsSumResult.getErrorcode()).setErrormsg(predictedStatisticsSumResult.getErrormsg()); | |
81 | + return baseListResponse; | |
82 | + } | |
83 | + baseListResponse = new BaseListResponse().setErrorcode(predictedStatisticsSumResult.getErrorcode()).setErrormsg(predictedStatisticsSumResult.getErrormsg()).setData(predictedStatisticsSumResult.getData()); | |
84 | + } catch (Exception e) { | |
85 | + baseListResponse = new BaseListResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); | |
86 | + log.error("predictedStatistics异常:" + e); | |
87 | + } | |
88 | + return baseListResponse; | |
89 | + } | |
90 | + | |
91 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BCTransferInFacade.java
View file @
9e61c82
... | ... | @@ -147,12 +147,12 @@ |
147 | 147 | return bcTransferInCancelResult; |
148 | 148 | } |
149 | 149 | |
150 | - public BCTransferInQueryResult query(BCTransferInQueryRequest bcTransferInQueryRequest, Integer operatorId) { | |
150 | + public BCTransferInQueryResult query(BCTransferInQueryRequest bcTransferInQueryRequest) { | |
151 | 151 | |
152 | 152 | BCTransferInQueryResult bcTransferInQueryResult = new BCTransferInQueryResult(); |
153 | 153 | |
154 | 154 | BCTransferInHistoryQuery bcTransferInHistoryQuery = new BCTransferInHistoryQuery(); |
155 | - BeanUtils.copy(bcTransferInQueryRequest,bcTransferInHistoryQuery); | |
155 | + BeanUtils.copy(bcTransferInQueryRequest, bcTransferInHistoryQuery); | |
156 | 156 | |
157 | 157 | |
158 | 158 | // 查询 |
159 | 159 | |
... | ... | @@ -165,9 +165,9 @@ |
165 | 165 | for (BCTransferInHistoryModel bcTransferInHistoryModel : bcTransferInHistoryModelList) { |
166 | 166 | BCTransferInHistoryQueryModel bcTransferInHistoryQueryModel = new BCTransferInHistoryQueryModel(); |
167 | 167 | BeanUtils.copy(bcTransferInHistoryModel, bcTransferInHistoryQueryModel); |
168 | - if(BCEnums.TRANSFER_IN_HISTORY_EXIST.code.equals(bcTransferInHistoryModel.getStatus())){ | |
168 | + if (BCEnums.TRANSFER_IN_HISTORY_EXIST.code.equals(bcTransferInHistoryModel.getStatus())) { | |
169 | 169 | bcTransferInHistoryQueryModel.setIsCancel(TRANSFER_IN_HISTORY_QUERY_YES.code); |
170 | - }else{ | |
170 | + } else { | |
171 | 171 | bcTransferInHistoryQueryModel.setIsCancel(TRANSFER_IN_HISTORY_QUERY_NO.code); |
172 | 172 | } |
173 | 173 | bcTransferInHistoryQueryModelList.add(bcTransferInHistoryQueryModel); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PredictedStatisticsFacade.java
View file @
9e61c82
1 | +package com.lyms.platform.operate.web.facade; | |
2 | + | |
3 | +import com.lyms.platform.biz.service.BasicConfigService; | |
4 | +import com.lyms.platform.biz.service.PatientsService; | |
5 | +import com.lyms.platform.common.constants.ErrorCodeConstants; | |
6 | +import com.lyms.platform.common.enums.RiskDefaultTypeEnum; | |
7 | +import com.lyms.platform.common.enums.YnEnums; | |
8 | +import com.lyms.platform.common.utils.BeanUtils; | |
9 | +import com.lyms.platform.common.utils.DateUtil; | |
10 | +import com.lyms.platform.common.utils.StringUtils; | |
11 | +import com.lyms.platform.operate.web.request.PredictedStatisticsRequest; | |
12 | +import com.lyms.platform.operate.web.request.PredictedStatisticsSumRequest; | |
13 | +import com.lyms.platform.operate.web.result.PredictedStatisticsQueryModel; | |
14 | +import com.lyms.platform.operate.web.result.PredictedStatisticsResult; | |
15 | +import com.lyms.platform.operate.web.result.PredictedStatisticsSumResult; | |
16 | +import com.lyms.platform.operate.web.result.RiskLevelResultModel; | |
17 | +import com.lyms.platform.permission.service.UsersService; | |
18 | +import com.lyms.platform.pojo.Patients; | |
19 | +import com.lyms.platform.pojo.PredictedStatisticsCountModel; | |
20 | +import com.lyms.platform.query.PatientsQuery; | |
21 | +import net.sf.json.JSONArray; | |
22 | +import org.springframework.beans.factory.annotation.Autowired; | |
23 | +import org.springframework.stereotype.Component; | |
24 | + | |
25 | +import java.text.SimpleDateFormat; | |
26 | +import java.util.ArrayList; | |
27 | +import java.util.Date; | |
28 | +import java.util.List; | |
29 | + | |
30 | +/** | |
31 | + * @auther HuJiaqi | |
32 | + * @createTime 2016年11月28日 11时36分 | |
33 | + * @discription | |
34 | + */ | |
35 | +@Component | |
36 | +public class PredictedStatisticsFacade { | |
37 | + | |
38 | + @Autowired | |
39 | + private PatientsService patientsService; | |
40 | + | |
41 | + @Autowired | |
42 | + private BasicConfigService basicConfigService; | |
43 | + | |
44 | + @Autowired | |
45 | + private UsersService usersService; | |
46 | + | |
47 | + public PredictedStatisticsResult predictedStatistics(PredictedStatisticsRequest predictedStatisticsRequest) { | |
48 | + PredictedStatisticsResult predictedStatisticsResult = new PredictedStatisticsResult(); | |
49 | + PatientsQuery patientsQuery = new PatientsQuery(); | |
50 | + BeanUtils.copy(predictedStatisticsRequest, patientsQuery); | |
51 | + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM"); | |
52 | + String ym = predictedStatisticsRequest.getDate(); | |
53 | + Date date; | |
54 | + if (StringUtils.isEmpty(ym)) { | |
55 | + try { | |
56 | + date = simpleDateFormat.parse(predictedStatisticsRequest.getDate()); | |
57 | + } catch (Exception e) { | |
58 | + date = new Date(); | |
59 | + } | |
60 | + } else { | |
61 | + date = new Date(); | |
62 | + } | |
63 | + Date startDate = DateUtil.getMonthStart(date); | |
64 | + Date endDate = DateUtil.getMonthEndTime(date); | |
65 | + patientsQuery.setDueDateStart(startDate); | |
66 | + patientsQuery.setDueDateEnd(endDate); | |
67 | + patientsQuery.setNeed(YnEnums.YES.name()); | |
68 | + patientsQuery.setYn(YnEnums.YES.getId()); | |
69 | + patientsQuery.setHospitalId(usersService.getUsers(predictedStatisticsRequest.getOperatorId()).getOrgId().toString()); | |
70 | + patientsQuery.setType(1); | |
71 | + String doctorId = predictedStatisticsRequest.getDoctorId(); | |
72 | + if (!StringUtils.isEmpty(doctorId)) { | |
73 | + patientsQuery.setLastCheckEmployeeId(doctorId); | |
74 | + } | |
75 | + // 查列表 | |
76 | + List<Patients> patientsList = patientsService.queryPatient(patientsQuery); | |
77 | + List<PredictedStatisticsQueryModel> predictedStatisticsQueryModelList = new ArrayList<>(); | |
78 | + if (patientsList != null && patientsList.size() > 0) { | |
79 | + for (Patients patients : patientsList) { | |
80 | + PredictedStatisticsQueryModel predictedStatisticsQueryModel = new PredictedStatisticsQueryModel(); | |
81 | + BeanUtils.copy(patients, predictedStatisticsQueryModel); | |
82 | + predictedStatisticsQueryModel.setDueDate(DateUtil.getyyyy_MM_dd(patients.getDueDate())); | |
83 | + predictedStatisticsQueryModel.setRiskLevelResultModelList(getRiskLevel(patients.getRiskLevelId())); | |
84 | + predictedStatisticsQueryModel.setRiskFactor(getRiskFactor(patients.getFirstRiskFactorId())); | |
85 | + predictedStatisticsQueryModel.setLastCheckEmployee(getLastCheckEmployee(patients.getLastCheckEmployeeId())); | |
86 | + predictedStatisticsQueryModel.setGestationalWeeks(getGestationalWeeks(patients.getLastMenses())); | |
87 | + predictedStatisticsQueryModelList.add(predictedStatisticsQueryModel); | |
88 | + } | |
89 | + } | |
90 | + predictedStatisticsResult.setPageInfo(patientsQuery.getPageInfo()); | |
91 | + predictedStatisticsResult.setData(predictedStatisticsQueryModelList); | |
92 | + | |
93 | + predictedStatisticsResult.setErrorcode(ErrorCodeConstants.SUCCESS); | |
94 | + predictedStatisticsResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); | |
95 | + | |
96 | + return predictedStatisticsResult; | |
97 | + } | |
98 | + | |
99 | + public PredictedStatisticsSumResult predictedStatisticsSum(PredictedStatisticsSumRequest predictedStatisticsRequest) { | |
100 | + | |
101 | + PredictedStatisticsSumResult predictedStatisticsSumResult = new PredictedStatisticsSumResult(); | |
102 | + // 查统计 | |
103 | + // List<PredictedStatisticsCountModel> predictedStatisticsCountModelList = patientsService.predictedStatistics(); | |
104 | + List<PredictedStatisticsCountModel> predictedStatisticsCountModelList = new ArrayList<>(); | |
105 | + Date date = new Date(); | |
106 | + for (int i = 0; i < 10; i++) { | |
107 | + date = DateUtil.addMonth(date, i); | |
108 | + Date startDate = DateUtil.getMonthStart(date); | |
109 | + Date endDate = DateUtil.getMonthEndTime(date); | |
110 | + PatientsQuery patientsQuery = new PatientsQuery(); | |
111 | + String doctorId = predictedStatisticsRequest.getDoctorId(); | |
112 | + patientsQuery.setHospitalId(usersService.getUsers(predictedStatisticsRequest.getOperatorId()).getOrgId().toString()); | |
113 | + if (!StringUtils.isEmpty(doctorId)) { | |
114 | + patientsQuery.setLastCheckEmployeeId(doctorId); | |
115 | + } | |
116 | + patientsQuery.setDueDateStart(startDate); | |
117 | + patientsQuery.setDueDateEnd(endDate); | |
118 | + int count = patientsService.queryPatientCount(patientsQuery); | |
119 | + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM"); | |
120 | + String dateStr = simpleDateFormat.format(new Date()); | |
121 | + PredictedStatisticsCountModel predictedStatisticsCountModel = new PredictedStatisticsCountModel(); | |
122 | + predictedStatisticsCountModel.setPredicted(DateUtil.addMonthWith0(dateStr, i)); | |
123 | + predictedStatisticsCountModel.setNumber(String.valueOf(count)); | |
124 | + predictedStatisticsCountModelList.add(predictedStatisticsCountModel); | |
125 | + } | |
126 | + predictedStatisticsSumResult.setData(predictedStatisticsCountModelList); | |
127 | + | |
128 | + predictedStatisticsSumResult.setErrorcode(ErrorCodeConstants.SUCCESS); | |
129 | + predictedStatisticsSumResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); | |
130 | + | |
131 | + return predictedStatisticsSumResult; | |
132 | + | |
133 | + } | |
134 | + | |
135 | + private static String getGestationalWeeks(Date date) { | |
136 | + try { | |
137 | + long s = new Date().getTime() - date.getTime(); | |
138 | + long d = s / (60 * 60 * 24 * 1000); | |
139 | + int day = (int) d; | |
140 | + int w = day / 7; | |
141 | + int dd = day % 7; | |
142 | + return "孕" + w + "周+" + dd + "天"; | |
143 | + } catch (Exception e) { | |
144 | + return ""; | |
145 | + } | |
146 | + } | |
147 | + | |
148 | + private List<RiskLevelResultModel> getRiskLevel(String str) { | |
149 | + | |
150 | + List<RiskLevelResultModel> riskLevelResultModelList = new ArrayList<>(); | |
151 | + | |
152 | + Object[] array; | |
153 | + try { | |
154 | + array = JSONArray.fromObject(str).toArray(); | |
155 | + } catch (Exception e) { | |
156 | + return null; | |
157 | + } | |
158 | + if (array.length > 0) { | |
159 | + for (Object o : array) { | |
160 | + RiskLevelResultModel riskLevelResultModel = new RiskLevelResultModel(); | |
161 | + try { | |
162 | + String name = basicConfigService.getOneBasicConfigById(o.toString()).getName(); | |
163 | + if (name.contains("预警")) { | |
164 | + name = name.replace("预警", ""); | |
165 | + } | |
166 | + riskLevelResultModel.setName(name); | |
167 | + riskLevelResultModel.setColor("risk_" + RiskDefaultTypeEnum.getColor(name)); | |
168 | + riskLevelResultModelList.add(riskLevelResultModel); | |
169 | + } catch (Exception e) { | |
170 | + // 什么都不干 | |
171 | + } | |
172 | + } | |
173 | + } | |
174 | + return riskLevelResultModelList; | |
175 | + } | |
176 | + | |
177 | + private String getRiskFactor(List<String> list) { | |
178 | + String riskFactor = ""; | |
179 | + if (list != null && list.size() > 0) { | |
180 | + for (String s : list) { | |
181 | + try { | |
182 | + riskFactor += basicConfigService.getOneBasicConfigById(s).getName(); | |
183 | + } catch (Exception e) { | |
184 | + riskFactor += ""; | |
185 | + } | |
186 | + } | |
187 | + } | |
188 | + return riskFactor; | |
189 | + } | |
190 | + | |
191 | + | |
192 | + private String getLastCheckEmployee(String str) { | |
193 | + try { | |
194 | + return usersService.getUsers(Integer.valueOf(str)).getName(); | |
195 | + } catch (Exception e) { | |
196 | + return ""; | |
197 | + } | |
198 | + } | |
199 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PredictedStatisticsRequest.java
View file @
9e61c82
1 | +package com.lyms.platform.operate.web.request; | |
2 | + | |
3 | +/** | |
4 | + * @auther HuJiaqi | |
5 | + * @createTime 2016年11月28日 11时37分 | |
6 | + * @discription | |
7 | + */ | |
8 | +public class PredictedStatisticsRequest extends BasePageQueryRequest { | |
9 | + | |
10 | + private String doctorId; | |
11 | + | |
12 | + private Integer operatorId; | |
13 | + | |
14 | + private String date; | |
15 | + | |
16 | + public String getDate() { | |
17 | + return date; | |
18 | + } | |
19 | + | |
20 | + public void setDate(String date) { | |
21 | + this.date = date; | |
22 | + } | |
23 | + | |
24 | + public Integer getOperatorId() { | |
25 | + return operatorId; | |
26 | + } | |
27 | + | |
28 | + public void setOperatorId(Integer operatorId) { | |
29 | + this.operatorId = operatorId; | |
30 | + } | |
31 | + | |
32 | + public String getDoctorId() { | |
33 | + return doctorId; | |
34 | + } | |
35 | + | |
36 | + public void setDoctorId(String doctorId) { | |
37 | + this.doctorId = doctorId; | |
38 | + } | |
39 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PredictedStatisticsSumRequest.java
View file @
9e61c82
1 | +package com.lyms.platform.operate.web.request; | |
2 | + | |
3 | +/** | |
4 | + * @auther HuJiaqi | |
5 | + * @createTime 2016年11月30日 10时14分 | |
6 | + * @discription | |
7 | + */ | |
8 | +public class PredictedStatisticsSumRequest { | |
9 | + | |
10 | + private Integer operatorId; | |
11 | + private String doctorId; | |
12 | + | |
13 | + public String getDoctorId() { | |
14 | + return doctorId; | |
15 | + } | |
16 | + | |
17 | + public void setDoctorId(String doctorId) { | |
18 | + this.doctorId = doctorId; | |
19 | + } | |
20 | + | |
21 | + public Integer getOperatorId() { | |
22 | + return operatorId; | |
23 | + } | |
24 | + | |
25 | + public void setOperatorId(Integer operatorId) { | |
26 | + this.operatorId = operatorId; | |
27 | + } | |
28 | + | |
29 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PredictedStatisticsQueryModel.java
View file @
9e61c82
1 | +package com.lyms.platform.operate.web.result; | |
2 | + | |
3 | +import java.util.List; | |
4 | + | |
5 | +/** | |
6 | + * @auther HuJiaqi | |
7 | + * @createTime 2016年11月28日 11时46分 | |
8 | + * @discription | |
9 | + */ | |
10 | +public class PredictedStatisticsQueryModel { | |
11 | + | |
12 | + /** | |
13 | + * @auther HuJiaqi | |
14 | + * @createTime 2016年11月29日 17时03分 | |
15 | + * @discription 姓名 | |
16 | + */ | |
17 | + private String username; | |
18 | + /** | |
19 | + * @auther HuJiaqi | |
20 | + * @createTime 2016年11月29日 17时03分 | |
21 | + * @discription 孕周 | |
22 | + */ | |
23 | + // 需要计算 | |
24 | + private String gestationalWeeks; | |
25 | + /** | |
26 | + * @auther HuJiaqi | |
27 | + * @createTime 2016年11月29日 17时04分 | |
28 | + * @discription 预产期 | |
29 | + */ | |
30 | + private String dueDate; | |
31 | + /** | |
32 | + * @auther HuJiaqi | |
33 | + * @createTime 2016年11月29日 17时05分 | |
34 | + * @discription 高危评分 | |
35 | + */ | |
36 | + private Integer riskScore; | |
37 | + /** | |
38 | + * @auther HuJiaqi | |
39 | + * @createTime 2016年11月29日 17时06分 | |
40 | + * @discription 风险等级 | |
41 | + */ | |
42 | + // 需要计算 | |
43 | + private List<RiskLevelResultModel> riskLevelResultModelList; | |
44 | + /** | |
45 | + * @auther HuJiaqi | |
46 | + * @createTime 2016年11月29日 17时06分 | |
47 | + * @discription 风险因素 | |
48 | + */ | |
49 | + // 需要计算 | |
50 | + private String riskFactor; | |
51 | + /** | |
52 | + * @auther HuJiaqi | |
53 | + * @createTime 2016年11月29日 17时06分 | |
54 | + * @discription 产检医生 | |
55 | + */ | |
56 | + private String lastCheckEmployee; | |
57 | + | |
58 | + private String pid; | |
59 | + | |
60 | + public String getPid() { | |
61 | + return pid; | |
62 | + } | |
63 | + | |
64 | + public void setPid(String pid) { | |
65 | + this.pid = pid; | |
66 | + } | |
67 | + | |
68 | + public String getUsername() { | |
69 | + return username; | |
70 | + } | |
71 | + | |
72 | + public void setUsername(String username) { | |
73 | + this.username = username; | |
74 | + } | |
75 | + | |
76 | + public String getGestationalWeeks() { | |
77 | + return gestationalWeeks; | |
78 | + } | |
79 | + | |
80 | + public void setGestationalWeeks(String gestationalWeeks) { | |
81 | + this.gestationalWeeks = gestationalWeeks; | |
82 | + } | |
83 | + | |
84 | + public String getDueDate() { | |
85 | + return dueDate; | |
86 | + } | |
87 | + | |
88 | + public void setDueDate(String dueDate) { | |
89 | + this.dueDate = dueDate; | |
90 | + } | |
91 | + | |
92 | + public Integer getRiskScore() { | |
93 | + return riskScore; | |
94 | + } | |
95 | + | |
96 | + public void setRiskScore(Integer riskScore) { | |
97 | + this.riskScore = riskScore; | |
98 | + } | |
99 | + | |
100 | + public List<RiskLevelResultModel> getRiskLevelResultModelList() { | |
101 | + return riskLevelResultModelList; | |
102 | + } | |
103 | + | |
104 | + public void setRiskLevelResultModelList(List<RiskLevelResultModel> riskLevelResultModelList) { | |
105 | + this.riskLevelResultModelList = riskLevelResultModelList; | |
106 | + } | |
107 | + | |
108 | + public String getRiskFactor() { | |
109 | + return riskFactor; | |
110 | + } | |
111 | + | |
112 | + public void setRiskFactor(String riskFactor) { | |
113 | + this.riskFactor = riskFactor; | |
114 | + } | |
115 | + | |
116 | + public String getLastCheckEmployee() { | |
117 | + return lastCheckEmployee; | |
118 | + } | |
119 | + | |
120 | + public void setLastCheckEmployee(String lastCheckEmployee) { | |
121 | + this.lastCheckEmployee = lastCheckEmployee; | |
122 | + } | |
123 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PredictedStatisticsQuerySumModel.java
View file @
9e61c82
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PredictedStatisticsResult.java
View file @
9e61c82
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PredictedStatisticsSumResult.java
View file @
9e61c82
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/RiskLevelResultModel.java
View file @
9e61c82
1 | +package com.lyms.platform.operate.web.result; | |
2 | + | |
3 | +/** | |
4 | + * @auther HuJiaqi | |
5 | + * @createTime 2016年11月30日 10时57分 | |
6 | + * @discription | |
7 | + */ | |
8 | +public class RiskLevelResultModel { | |
9 | + | |
10 | + private String name; | |
11 | + | |
12 | + private String color; | |
13 | + | |
14 | + public String getName() { | |
15 | + return name; | |
16 | + } | |
17 | + | |
18 | + public void setName(String name) { | |
19 | + this.name = name; | |
20 | + } | |
21 | + | |
22 | + public String getColor() { | |
23 | + return color; | |
24 | + } | |
25 | + | |
26 | + public void setColor(String color) { | |
27 | + this.color = color; | |
28 | + } | |
29 | +} |