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) { |