Commit f6fc2c3e21a2c3e02cf4d93fdbe5979f4feea029

Authored by dongqin
1 parent ec8facf12b

新增增值服务统计模块

Showing 7 changed files with 130 additions and 20 deletions

platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/PatientServiceMapper.java View file @ f6fc2c3
... ... @@ -63,6 +63,6 @@
63 63 * @param param
64 64 * @return
65 65 */
66   - List<Map> getServeDetailList(@Param("param") ServiceListQuery param);
  66 + List<Map<String, Object>> getServeDetailList(@Param("param") ServiceListQuery param);
67 67 }
platform-biz-service/src/main/java/com/lyms/platform/permission/model/ServiceListQuery.java View file @ f6fc2c3
... ... @@ -26,6 +26,16 @@
26 26  
27 27 private Integer userId;
28 28  
  29 + private Date endTime;
  30 +
  31 + public Date getEndTime() {
  32 + return endTime;
  33 + }
  34 +
  35 + public void setEndTime(Date endTime) {
  36 + this.endTime = endTime;
  37 + }
  38 +
29 39 private List<String> hospitalIds;
30 40  
31 41 /**
platform-biz-service/src/main/java/com/lyms/platform/permission/service/PatientServiceService.java View file @ f6fc2c3
... ... @@ -27,6 +27,6 @@
27 27  
28 28 int countStatusInfo(ServiceListQuery param);
29 29  
30   - List<Map> getServeDetailList(ServiceListQuery param);
  30 + List<Map<String, Object>> getServeDetailList(ServiceListQuery param);
31 31 }
platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/PatientServiceServiceImpl.java View file @ f6fc2c3
... ... @@ -69,7 +69,7 @@
69 69 }
70 70  
71 71 @Override
72   - public List<Map> getServeDetailList(ServiceListQuery param) {
  72 + public List<Map<String, Object>> getServeDetailList(ServiceListQuery param) {
73 73 if (param.getNeed() != null) {
74 74 param.mysqlBuild(patientServiceMapper.getServeDetailListCount(param));
75 75 }
platform-biz-service/src/main/resources/mainOrm/master/PatientService.xml View file @ f6fc2c3
... ... @@ -407,8 +407,11 @@
407 407 WHERE ps.hospital_id = #{query.hospitalId}
408 408 AND ps.ser_status = 1
409 409 <if test="query.startTime != null ">
410   - AND ps.create_date &lt;= #{query.startTime}
  410 + AND ps.create_date &gt;= #{query.startTime}
411 411 </if>
  412 + <if test="query.endTime != null ">
  413 + AND ps.create_date &lt;= #{query.endTime}
  414 + </if>
412 415 <if test="query.provinceId != null">
413 416 and o.province_id = #{query.provinceId}
414 417 </if>
415 418  
... ... @@ -425,8 +428,11 @@
425 428 WHERE ps.hospital_id = #{query.hospitalId}
426 429 AND ps.ser_status = 2
427 430 <if test="query.startTime != null ">
428   - AND ps.create_date &lt;= #{query.startTime}
  431 + AND ps.create_date &gt;= #{query.startTime}
429 432 </if>
  433 + <if test="query.endTime != null ">
  434 + AND ps.create_date &lt;= #{query.endTime}
  435 + </if>
430 436 <if test="query.provinceId != null">
431 437 and o.province_id = #{query.provinceId}
432 438 </if>
433 439  
... ... @@ -443,8 +449,11 @@
443 449 WHERE ps.hospital_id = #{query.hospitalId}
444 450 AND ps.ser_status = 3
445 451 <if test="query.startTime != null ">
446   - AND ps.create_date &lt;= #{query.startTime}
  452 + AND ps.create_date &gt;= #{query.startTime}
447 453 </if>
  454 + <if test="query.endTime != null ">
  455 + AND ps.create_date &lt;= #{query.endTime}
  456 + </if>
448 457 <if test="query.provinceId != null">
449 458 and o.province_id = #{query.provinceId}
450 459 </if>
451 460  
... ... @@ -461,8 +470,11 @@
461 470 WHERE ps.hospital_id = #{query.hospitalId}
462 471 AND ps.ser_status = 4
463 472 <if test="query.startTime != null ">
464   - AND ps.create_date &lt;= #{query.startTime}
  473 + AND ps.create_date &gt;= #{query.startTime}
465 474 </if>
  475 + <if test="query.endTime != null ">
  476 + AND ps.create_date &lt;= #{query.endTime}
  477 + </if>
466 478 <if test="query.provinceId != null">
467 479 and o.province_id = #{query.provinceId}
468 480 </if>
469 481  
... ... @@ -478,8 +490,11 @@
478 490 ON o.id = ps.hospital_id
479 491 WHERE ps.hospital_id = #{query.hospitalId}
480 492 <if test="query.startTime != null ">
481   - AND ps.create_date &lt;= #{query.startTime}
  493 + AND ps.create_date &gt;= #{query.startTime}
482 494 </if>
  495 + <if test="query.endTime != null ">
  496 + AND ps.create_date &lt;= #{query.endTime}
  497 + </if>
483 498 <if test="query.provinceId != null">
484 499 and o.province_id = #{query.provinceId}
485 500 </if>
486 501  
... ... @@ -500,8 +515,11 @@
500 515 join organization o on o.id = ps.hospital_id
501 516 where 1=1
502 517 <if test="param.startTime != null">
503   - and ps.create_date &lt;= #{param.startTime}
  518 + and ps.create_date &gt;= #{param.startTime}
504 519 </if>
  520 + <if test="param.endTime != null ">
  521 + AND ps.create_date &lt;= #{param.endTime}
  522 + </if>
505 523 <if test="param.provinceId != null">
506 524 and o.province_id = #{param.provinceId}
507 525 </if>
... ... @@ -524,7 +542,6 @@
524 542 ps.create_date as "createDate",
525 543 ps.parentid as "parentId",
526 544 ps.per_type as "perType", -- 1-孕妇、2-儿童
527   - '', -- 孕周
528 545 IFNULL(ps.serviceWeek, 24) as "serviceWeek",
529 546 ps.ser_type as "serType",
530 547 ps.ser_doct as "serDoct",
... ... @@ -542,6 +559,12 @@
542 559 patient_service ps
543 560 JOIN organization o ON o.id = ps.hospital_id
544 561 WHERE 1=1
  562 + <if test="param.startTime != null">
  563 + and ps.create_date &gt;= #{param.startTime}
  564 + </if>
  565 + <if test="param.endTime != null ">
  566 + AND ps.create_date &lt;= #{param.endTime}
  567 + </if>
545 568 <if test="param.hospitalId != null">
546 569 and o.id = #{param.hospitalId}
547 570 </if>
... ... @@ -585,6 +608,12 @@
585 608 </if>
586 609 <if test="param.serStatus != null">
587 610 AND ps.ser_status = #{param.serStatus}
  611 + </if>
  612 + <if test="param.startTime != null">
  613 + and ps.create_date &gt;= #{param.startTime}
  614 + </if>
  615 + <if test="param.endTime != null ">
  616 + AND ps.create_date &lt;= #{param.endTime}
588 617 </if>
589 618 </select>
590 619  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java View file @ f6fc2c3
... ... @@ -213,5 +213,19 @@
213 213 return areaCountFacade.getServiceDetailList(param);
214 214 }
215 215  
  216 + /**
  217 + * 增值服务统计detailList 导出
  218 + *
  219 + * @param param
  220 + */
  221 + @RequestMapping(value = "/getServiceDetail/export",method = RequestMethod.GET)
  222 + @ResponseBody
  223 + @TokenRequired
  224 + public void getServiceDetailExport(@RequestBody ServiceListQuery param, HttpServletRequest request, HttpServletResponse response){
  225 + LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
  226 + param.setUserId(loginState.getId());
  227 + areaCountFacade.getServiceDetailExport(param, response);
  228 + }
  229 +
216 230 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java View file @ f6fc2c3
... ... @@ -3,6 +3,7 @@
3 3  
4 4 import com.lyms.platform.beans.AddressBean;
5 5 import com.lyms.platform.biz.service.*;
  6 +import com.lyms.platform.common.base.PageInfo;
6 7 import com.lyms.platform.common.constants.ErrorCodeConstants;
7 8 import com.lyms.platform.common.enums.YnEnums;
8 9 import com.lyms.platform.common.result.BaseListResponse;
9 10  
... ... @@ -1144,16 +1145,23 @@
1144 1145 param.setNeed("Y");
1145 1146 param.setSort("desc");
1146 1147 BaseResponse response = new BaseResponse();
1147   - if (param.getStartTime() == null){
1148   - Date startDate = getStartDate();
1149   - param.setStartTime(startDate);
1150   - }
1151   - List<Map> mapList = patientServiceService.getServeDetailList(param);
  1148 + setDefaultTime(param);
  1149 + List<Map<String, Object>> mapList = getServiceDetailListMap(param);
  1150 + PageInfo pageInfo = param.getPageInfo();
  1151 + HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
  1152 + objectObjectHashMap.put("pageInfo", pageInfo);
  1153 + objectObjectHashMap.put("list", mapList);
  1154 + response.setObject(objectObjectHashMap);
  1155 + return response;
  1156 + }
  1157 +
  1158 + private List<Map<String, Object>> getServiceDetailListMap(ServiceListQuery param) {
  1159 + List<Map<String, Object>> mapList = patientServiceService.getServeDetailList(param);
1152 1160 for (Map map : mapList){
1153 1161 String parentId = map.get("parentId").toString();
1154 1162 String perType = map.get("perType").toString();
1155 1163 String serType = map.get("serType").toString();
1156   - //String serDoct = map.get("serDoct").toString();
  1164 + String serDoct = map.get("serDoct").toString();
1157 1165 Date createDate = (Date) map.get("createDate");
1158 1166 String userName;
1159 1167 if ("1".equals(perType)){
1160 1168  
1161 1169  
1162 1170  
... ... @@ -1174,18 +1182,66 @@
1174 1182 map.put("patientName", userName);
1175 1183 String serTypeName = getSerTypeName(serType);
1176 1184 map.put("serTypeName", serTypeName);
1177   - // String doctorName = usersService.getUsers(Integer.parseInt(serDoct)).getName();
1178   - map.put("doctorName", "");
  1185 + String doctorName = "";
  1186 + if (StringUtils.isNotEmpty(serDoct)){
  1187 + doctorName = usersService.getUsers(Integer.parseInt(serDoct)).getName();
  1188 + }
1179 1189  
  1190 + map.put("doctorName", doctorName);
1180 1191 map.remove("parentId");
1181 1192 map.remove("perType");
1182 1193 map.remove("serType");
1183 1194 map.remove("serDoct");
1184 1195 }
1185   - response.setObject(mapList);
1186   - return response;
  1196 + return mapList;
1187 1197 }
1188 1198  
  1199 + /**
  1200 + * 详情导出
  1201 + *
  1202 + * @param param
  1203 + * @return
  1204 + */
  1205 + public void getServiceDetailExport(ServiceListQuery param, HttpServletResponse response) {
  1206 + setDefaultTime(param);
  1207 + List<Map<String, Object>> serviceDetailListMap = getServiceDetailListMap(param);
  1208 + /*for (Map map : serviceDetailListMap){
  1209 + HashMap<Object, Object> result = new HashMap<>(16);
  1210 + *//**
  1211 + * "patientName": "王静洁",
  1212 + * "serTypeName": "精准指导",
  1213 + * "doctorName": "",
  1214 + * "opnYumSize": "",
  1215 + * "serviceWeek": "",
  1216 + * "createDate": 1480953600000,
  1217 + * "serStatus": "开通中"
  1218 + *//*
  1219 + result.put("createDate",map.get("createDate"));
  1220 + }*/
  1221 + Map<String, String> names = new LinkedHashMap<>();
  1222 + names.put("","联系电话");
  1223 + names.put("createDate","购买日期");
  1224 + names.put("patientName", "姓名");
  1225 + names.put("opnYumSize", "开通孕周");
  1226 + names.put("serTypeName", "服务类型");
  1227 + names.put("serviceWeek","服务周期");
  1228 + names.put("doctorName", "指定医生");
  1229 + names.put("serStatus","服务状态");
  1230 +
  1231 + ResponseUtil.responseExcel(names,serviceDetailListMap,response);
  1232 +
  1233 + }
  1234 +
  1235 + private void setDefaultTime(ServiceListQuery param) {
  1236 + if (param.getStartTime() == null) {
  1237 + Date startDate = getStartDate();
  1238 + param.setStartTime(startDate);
  1239 + }
  1240 + if (param.getEndTime() == null) {
  1241 + param.setEndTime(new Date());
  1242 + }
  1243 + }
  1244 +
1189 1245 private String getSerTypeName(String serType){
1190 1246 String str = "";
1191 1247 switch (serType){
... ... @@ -1264,5 +1320,6 @@
1264 1320 return day2-day1;
1265 1321 }
1266 1322 }
  1323 +
1267 1324 }