Commit def12ea40ddf6c1703a98d9adffeb3ed929b2976
1 parent
d9e3195985
Exists in
master
and in
6 other branches
复查管理导出
Showing 7 changed files with 149 additions and 21 deletions
- platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostReviewController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPostReviewService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PostReviewServiceImpl.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
platform-common/src/main/java/com/lyms/platform/common/utils/DateUtil.java
View file @
def12ea
... | ... | @@ -2,9 +2,11 @@ |
2 | 2 | |
3 | 3 | import org.joda.time.DateTime; |
4 | 4 | |
5 | +import java.sql.*; | |
5 | 6 | import java.text.ParseException; |
6 | 7 | import java.text.SimpleDateFormat; |
7 | 8 | import java.util.*; |
9 | +import java.util.Date; | |
8 | 10 | import java.util.concurrent.locks.Lock; |
9 | 11 | import java.util.concurrent.locks.ReentrantLock; |
10 | 12 | |
11 | 13 | |
12 | 14 | |
... | ... | @@ -969,14 +971,8 @@ |
969 | 971 | return result; |
970 | 972 | } |
971 | 973 | |
972 | - public static void main(String[] arg) throws Exception { | |
973 | 974 | |
974 | - System.out.println(parseYMDHMS("2017-02-10")); | |
975 | -// System.out.println(getMonth(start)); | |
976 | -// System.out.println(getMonth(end)); | |
977 | - } | |
978 | 975 | |
979 | - | |
980 | 976 | /** |
981 | 977 | * 获取月龄描述信息 优惠券使用时间 - 分娩时间 |
982 | 978 | * @param start |
... | ... | @@ -1002,5 +998,33 @@ |
1002 | 998 | calendar.setTime(date); |
1003 | 999 | return calendar.get(Calendar.MONTH) + 1; |
1004 | 1000 | } |
1001 | + | |
1002 | + /** | |
1003 | + * 返回当前时间 只包括年月日 | |
1004 | + * @return | |
1005 | + */ | |
1006 | + public static Date getYMDTime(){ | |
1007 | + try { | |
1008 | + Date now = new SimpleDateFormat("yyyy-MM-dd").parse(getymd()); | |
1009 | + return now; | |
1010 | + } catch (Exception e) { | |
1011 | + e.printStackTrace(); | |
1012 | + } | |
1013 | + return null; | |
1014 | + } | |
1015 | + | |
1016 | + /** | |
1017 | + * 获取当前时间加上多少周的时间 | |
1018 | + * @param week | |
1019 | + * @return | |
1020 | + */ | |
1021 | + public static Date getWeekDay(Integer week) { | |
1022 | + Date now = getYMDTime(); | |
1023 | + Calendar calendar = Calendar.getInstance(); | |
1024 | + calendar.setTime(now); | |
1025 | + calendar.add(Calendar.WEEK_OF_YEAR, week); | |
1026 | + return calendar.getTime(); | |
1027 | + } | |
1028 | + | |
1005 | 1029 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PostReviewController.java
View file @
def12ea
... | ... | @@ -18,6 +18,7 @@ |
18 | 18 | import org.springframework.web.bind.annotation.*; |
19 | 19 | |
20 | 20 | import javax.servlet.http.HttpServletRequest; |
21 | +import javax.servlet.http.HttpServletResponse; | |
21 | 22 | import javax.validation.Valid; |
22 | 23 | import java.util.Date; |
23 | 24 | |
... | ... | @@ -131,6 +132,21 @@ |
131 | 132 | public BaseObjectResponse postpartumReview(Date startDate, Date endDate, String doctorId, |
132 | 133 | String key, Integer page, Integer limit, HttpServletRequest request) { |
133 | 134 | return postReviewService.postpartumReview(getUserId(request), startDate, endDate, doctorId, key, page, limit); |
135 | + } | |
136 | + | |
137 | + /** | |
138 | + * 复查管理导出 | |
139 | + * @param startDate | |
140 | + * @param endDate | |
141 | + * @param doctorId | |
142 | + * @param key 姓名/联系方式/就诊卡 | |
143 | + * @return | |
144 | + */ | |
145 | + @RequestMapping(method = RequestMethod.GET, value = "/postpartum/review/export") | |
146 | + @TokenRequired | |
147 | + public void postpartumReviewExport(Date startDate, Date endDate, String doctorId, | |
148 | + String key, HttpServletRequest request, HttpServletResponse response) { | |
149 | + postReviewService.postpartumReviewExport(getUserId(request), startDate, endDate, doctorId, key, response); | |
134 | 150 | } |
135 | 151 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java
View file @
def12ea
... | ... | @@ -31,7 +31,7 @@ |
31 | 31 | private IReportService reportService; |
32 | 32 | |
33 | 33 | /** |
34 | - * 产检次数分布统计 | |
34 | + * 产检次数分布统计(已废弃 采用 getCheckNumber) | |
35 | 35 | * |
36 | 36 | * @param startDate 建档开始时间 |
37 | 37 | * @param endDate 建档结束时间 |
... | ... | @@ -43,6 +43,7 @@ |
43 | 43 | @RequestMapping(method = RequestMethod.GET, value = "/getCheckStatistics") |
44 | 44 | @ResponseBody |
45 | 45 | @TokenRequired |
46 | + @Deprecated | |
46 | 47 | public BaseObjectResponse getCheckStatistics(String startDate, String endDate, |
47 | 48 | Integer startWeek, Integer endWeek, Integer childBirth, HttpServletRequest request) { |
48 | 49 | LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); |
49 | 50 | |
... | ... | @@ -50,7 +51,29 @@ |
50 | 51 | // return reportService.areaCountFacade(startDate, endDate, startWeek, endWeek, childBirth, 753); |
51 | 52 | } |
52 | 53 | |
54 | + /** | |
55 | + * 产检次数分布统计 | |
56 | + * | |
57 | + * @param startDate 建档开始时间 | |
58 | + * @param endDate 建档结束时间 | |
59 | + * @param startWeek 孕周开始时间 | |
60 | + * @param endWeek 孕周结束时间 | |
61 | + * @param childBirth 统计范围 1=孕妇 3=产妇 不传=全部 | |
62 | + * @return | |
63 | + */ | |
64 | + @RequestMapping(method = RequestMethod.GET, value = "/getCheckNumber") | |
65 | + @ResponseBody | |
66 | + @TokenRequired | |
67 | + public BaseObjectResponse getCheckNumber(Date startDate, Date endDate, | |
68 | + Integer startWeek, Integer endWeek, Integer childBirth, HttpServletRequest request) { | |
69 | + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); | |
70 | + return reportService.getCheckNumber(startDate, endDate, startWeek, endWeek, childBirth, loginState.getId()); | |
71 | +// return reportService.areaCountFacade(startDate, endDate, startWeek, endWeek, childBirth, 753); | |
72 | + } | |
53 | 73 | |
74 | + | |
75 | + | |
76 | + | |
54 | 77 | /** |
55 | 78 | * 产检次数分布统计 excel 导出 |
56 | 79 | * |
... | ... | @@ -170,7 +193,6 @@ |
170 | 193 | HttpServletRequest request, HttpServletResponse resp) { |
171 | 194 | LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); |
172 | 195 | reportService.exportDoctorInfo(startDate, endDate, childBirth, number, name, loginState.getId(), resp); |
173 | -// reportService.exportDoctorInfo(startDate, endDate, childBirth, number, name, 753, resp); | |
174 | 196 | } |
175 | 197 | |
176 | 198 | /** |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPostReviewService.java
View file @
def12ea
... | ... | @@ -2,6 +2,7 @@ |
2 | 2 | |
3 | 3 | import com.lyms.platform.common.result.BaseObjectResponse; |
4 | 4 | |
5 | +import javax.servlet.http.HttpServletResponse; | |
5 | 6 | import java.util.Date; |
6 | 7 | |
7 | 8 | /** |
... | ... | @@ -9,5 +10,7 @@ |
9 | 10 | */ |
10 | 11 | public interface IPostReviewService extends IBaseService { |
11 | 12 | BaseObjectResponse postpartumReview(Integer userId, Date startDate, Date endDate, String doctorId, String key, Integer page, Integer limit); |
13 | + | |
14 | + void postpartumReviewExport(Integer userId, Date startDate, Date endDate, String doctorId, String key, HttpServletResponse response); | |
12 | 15 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java
View file @
def12ea
... | ... | @@ -3,6 +3,7 @@ |
3 | 3 | import com.lyms.platform.common.result.BaseObjectResponse; |
4 | 4 | |
5 | 5 | import javax.servlet.http.HttpServletResponse; |
6 | +import java.util.Date; | |
6 | 7 | import java.util.Map; |
7 | 8 | |
8 | 9 | /** |
... | ... | @@ -76,5 +77,7 @@ |
76 | 77 | void exportCouponInfo(Map<String, Object> param, HttpServletResponse response); |
77 | 78 | |
78 | 79 | BaseObjectResponse patient(Integer userId, String s, String provinceId, String cityId, String year); |
80 | + | |
81 | + BaseObjectResponse getCheckNumber(Date startDate, Date endDate, Integer startWeek, Integer endWeek, Integer childBirth, Integer userId); | |
79 | 82 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PostReviewServiceImpl.java
View file @
def12ea
... | ... | @@ -8,6 +8,7 @@ |
8 | 8 | import com.lyms.platform.operate.web.facade.AutoMatchFacade; |
9 | 9 | import com.lyms.platform.operate.web.service.IPostReviewService; |
10 | 10 | import com.lyms.platform.operate.web.utils.MongoUtil; |
11 | +import com.lyms.platform.operate.web.utils.ResponseUtil; | |
11 | 12 | import com.lyms.platform.permission.dao.master.MasterUsersMapper; |
12 | 13 | import com.lyms.platform.permission.model.Users; |
13 | 14 | import com.lyms.platform.pojo.Patients; |
... | ... | @@ -20,6 +21,7 @@ |
20 | 21 | import org.springframework.data.mongodb.core.query.Query; |
21 | 22 | import org.springframework.stereotype.Service; |
22 | 23 | |
24 | +import javax.servlet.http.HttpServletResponse; | |
23 | 25 | import java.util.*; |
24 | 26 | |
25 | 27 | /** |
... | ... | @@ -92,6 +94,45 @@ |
92 | 94 | } |
93 | 95 | pageResult.setGrid(rest); |
94 | 96 | return RespBuilder.buildSuccess(pageResult); |
97 | + } | |
98 | + | |
99 | + @Override | |
100 | + public void postpartumReviewExport(Integer userId, Date startDate, Date endDate, String doctorId, String key, HttpServletResponse response) { | |
101 | + BaseObjectResponse rest = postpartumReview(userId, startDate, endDate, doctorId, key, 1, Integer.MAX_VALUE); | |
102 | + PageResult pageResult = (PageResult) rest.getData(); | |
103 | + List<Map<String, Object>> datas = (List<Map<String, Object>>) pageResult.getGrid(); | |
104 | + Map<String, String> cnames = new LinkedHashMap<>(); | |
105 | + cnames.put("id", "#"); | |
106 | + cnames.put("checkTime", "复查日期"); | |
107 | + cnames.put("hcertificateNum", "证件号"); | |
108 | + cnames.put("username", "姓名"); | |
109 | + cnames.put("age", "年龄"); | |
110 | + cnames.put("day", "产后天数"); | |
111 | + cnames.put("reviewCount", "复查次数"); | |
112 | + cnames.put("reviewHospitalCount", "本院复查次数"); | |
113 | + cnames.put("doctorName", "检查医生"); | |
114 | + cnames.put("phone", "联系电话"); | |
115 | + | |
116 | + List<Map<String,Object>> results = new ArrayList<>(); | |
117 | + if(CollectionUtils.isNotEmpty(datas)) { | |
118 | + int i = 0; | |
119 | + for (Map<String, Object> data : datas) { | |
120 | + Map<String, Object> result = new LinkedHashMap<>(); | |
121 | + result.put("id", ++i); | |
122 | + result.put("checkTime", data.get("checkTime")); | |
123 | + result.put("hcertificateNum", data.get("hcertificateNum")); | |
124 | + result.put("username", data.get("username")); | |
125 | + result.put("age", data.get("age")); | |
126 | + result.put("day", data.get("day")); | |
127 | + result.put("reviewCount", data.get("reviewCount")); | |
128 | + result.put("reviewHospitalCount", data.get("reviewHospitalCount")); | |
129 | + result.put("doctorName", data.get("doctorName")); | |
130 | + result.put("phone", data.get("phone")); | |
131 | + results.add(result); | |
132 | + } | |
133 | + } | |
134 | + | |
135 | + ResponseUtil.responseExcel(cnames, results, response); | |
95 | 136 | } |
96 | 137 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
View file @
def12ea
... | ... | @@ -15,6 +15,7 @@ |
15 | 15 | import com.lyms.platform.permission.dao.master.CouponMapper; |
16 | 16 | import com.lyms.platform.pojo.*; |
17 | 17 | import com.lymsh.platform.reportdata.model.echarts.Series; |
18 | +import javafx.scene.shape.Circle; | |
18 | 19 | import org.apache.commons.collections.MapUtils; |
19 | 20 | import org.apache.commons.lang.StringUtils; |
20 | 21 | import org.springframework.beans.factory.annotation.Autowired; |
21 | 22 | |
22 | 23 | |
23 | 24 | |
... | ... | @@ -1149,22 +1150,40 @@ |
1149 | 1150 | |
1150 | 1151 | List<Series> series = createPatientSeries(mapList); |
1151 | 1152 | reportModel.setSeries(series); |
1153 | + return RespBuilder.buildSuccess("patients", mapList, "report", reportModel); | |
1154 | + } | |
1152 | 1155 | |
1153 | - /*Map<String, Object> countMap = new HashMap<>(); | |
1154 | - countMap.put("id", -1); | |
1155 | - countMap.put("parentId", null); | |
1156 | - countMap.put("name", "建册人数(按居住地)"); | |
1157 | - List<Object> qhdData = series.get(0).getData(); | |
1158 | - List<Object> otherData = series.get(0).getData(); | |
1159 | - Integer count = 0; | |
1160 | - for(int i = 0; i< 12; i++) { | |
1161 | - countMap.put(i + 1 + "", Integer.parseInt(qhdData.get(i) + "") + Integer.parseInt(otherData.get(i) + "")); | |
1162 | - count += Integer.parseInt(qhdData.get(i) + "") + Integer.parseInt(otherData.get(i) + ""); | |
1156 | + @Override | |
1157 | + public BaseObjectResponse getCheckNumber(Date startDate, Date endDate, Integer startWeek, Integer endWeek, Integer childBirth, Integer userId) { | |
1158 | + BaseObjectResponse rest = new BaseObjectResponse(); | |
1159 | + Criteria criteria = Criteria.where("hospitalId").is(autoMatchFacade.getHospitalId(userId)); | |
1160 | + if(startDate != null && endDate != null) { | |
1161 | + criteria.and("bookbuildingDate").gte(startDate).lt(DateUtil.addDay(endDate, 1)); | |
1163 | 1162 | } |
1164 | - countMap.put("count", count); | |
1165 | - mapList.add(countMap);*/ | |
1163 | + if(startWeek != null) { /** 末次月经 到 现在相隔的周数 */ | |
1164 | + criteria.and("lastMenses").lt(DateUtil.addDay(DateUtil.getWeekDay(startWeek), 1)); | |
1165 | + } | |
1166 | + if(endWeek != null) { /** 末次月经 到 现在相隔的周数 */ | |
1167 | + criteria.and("lastMenses").gte(DateUtil.addDay(DateUtil.getWeekDay(startWeek), 1)); | |
1168 | + } | |
1166 | 1169 | |
1167 | - return RespBuilder.buildSuccess("patients", mapList, "report", reportModel); | |
1170 | + List<Patients> patients = mongoUtil.findField(Patients.class, criteria, "id"); | |
1171 | + System.out.println(patients.size()); | |
1172 | +// List<AntExChuModel> antExChuModels = mongoTemplate.find(antexcQuery, AntExChuModel.class); | |
1173 | + | |
1174 | +// mongoUtil.findField(AntExChuModel.class, antexcQuery, ""); | |
1175 | + | |
1176 | + /*Map<String, Object> restMap = new HashMap<>(); | |
1177 | + List<Object> params = new ArrayList<>(); | |
1178 | + String hospitalId = autoMatchFacade.getHospitalId(userId); | |
1179 | + List<Map<String, Object>> mapList = reportDao.findList(getAreaCountFacadeSql(startDate, endDate, startWeek, endWeek, childBirth, hospitalId, params), params); | |
1180 | + List<Object> peopleList = createPeoples(mapList); | |
1181 | + restMap.put("grid", createGrid( createPeoples(mapList), createProportion(peopleList))); | |
1182 | + restMap.put("xAxis", Arrays.asList("1次", "2次", "3次", "4次", "5次", "6次", "7次", "8次", "9次", "10次", "11次", "12次", "≥13次")); *//** x轴数据 *//* | |
1183 | + restMap.put("yAxis", createYData(peopleList)); | |
1184 | + | |
1185 | + rest.setData(restMap);*/ | |
1186 | + return rest; | |
1168 | 1187 | } |
1169 | 1188 | |
1170 | 1189 | private List<Series> createPatientSeries(List<Map<String, Object>> datas) { |