diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/PatientServiceMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/PatientServiceMapper.java index b0f7560..bc3231f 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/PatientServiceMapper.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/PatientServiceMapper.java @@ -63,5 +63,5 @@ public interface PatientServiceMapper { * @param param * @return */ - List getServeDetailList(@Param("param") ServiceListQuery param); + List> getServeDetailList(@Param("param") ServiceListQuery param); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/ServiceListQuery.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/ServiceListQuery.java index 0c098a1..1134d8f 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/ServiceListQuery.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/ServiceListQuery.java @@ -26,6 +26,16 @@ public class ServiceListQuery extends BaseQuery { private Integer userId; + private Date endTime; + + public Date getEndTime() { + return endTime; + } + + public void setEndTime(Date endTime) { + this.endTime = endTime; + } + private List hospitalIds; /** diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/PatientServiceService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/PatientServiceService.java index 63367d6..4ce7b07 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/PatientServiceService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/PatientServiceService.java @@ -27,5 +27,5 @@ public interface PatientServiceService { int countStatusInfo(ServiceListQuery param); - List getServeDetailList(ServiceListQuery param); + List> getServeDetailList(ServiceListQuery param); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/PatientServiceServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/PatientServiceServiceImpl.java index 2c3e663..3c11623 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/PatientServiceServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/PatientServiceServiceImpl.java @@ -69,7 +69,7 @@ public class PatientServiceServiceImpl implements PatientServiceService { } @Override - public List getServeDetailList(ServiceListQuery param) { + public List> getServeDetailList(ServiceListQuery param) { if (param.getNeed() != null) { param.mysqlBuild(patientServiceMapper.getServeDetailListCount(param)); } diff --git a/platform-biz-service/src/main/resources/mainOrm/master/PatientService.xml b/platform-biz-service/src/main/resources/mainOrm/master/PatientService.xml index 7eb0625..6102f7c 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/PatientService.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/PatientService.xml @@ -407,7 +407,10 @@ WHERE ps.hospital_id = #{query.hospitalId} AND ps.ser_status = 1 - AND ps.create_date <= #{query.startTime} + AND ps.create_date >= #{query.startTime} + + + AND ps.create_date <= #{query.endTime} and o.province_id = #{query.provinceId} @@ -425,7 +428,10 @@ WHERE ps.hospital_id = #{query.hospitalId} AND ps.ser_status = 2 - AND ps.create_date <= #{query.startTime} + AND ps.create_date >= #{query.startTime} + + + AND ps.create_date <= #{query.endTime} and o.province_id = #{query.provinceId} @@ -443,7 +449,10 @@ WHERE ps.hospital_id = #{query.hospitalId} AND ps.ser_status = 3 - AND ps.create_date <= #{query.startTime} + AND ps.create_date >= #{query.startTime} + + + AND ps.create_date <= #{query.endTime} and o.province_id = #{query.provinceId} @@ -461,7 +470,10 @@ WHERE ps.hospital_id = #{query.hospitalId} AND ps.ser_status = 4 - AND ps.create_date <= #{query.startTime} + AND ps.create_date >= #{query.startTime} + + + AND ps.create_date <= #{query.endTime} and o.province_id = #{query.provinceId} @@ -478,8 +490,11 @@ ON o.id = ps.hospital_id WHERE ps.hospital_id = #{query.hospitalId} - AND ps.create_date <= #{query.startTime} + AND ps.create_date >= #{query.startTime} + + AND ps.create_date <= #{query.endTime} + and o.province_id = #{query.provinceId} @@ -500,7 +515,10 @@ join organization o on o.id = ps.hospital_id where 1=1 - and ps.create_date <= #{param.startTime} + and ps.create_date >= #{param.startTime} + + + AND ps.create_date <= #{param.endTime} and o.province_id = #{param.provinceId} @@ -524,7 +542,6 @@ ps.create_date as "createDate", ps.parentid as "parentId", ps.per_type as "perType", -- 1-孕妇、2-儿童 - '', -- 孕周 IFNULL(ps.serviceWeek, 24) as "serviceWeek", ps.ser_type as "serType", ps.ser_doct as "serDoct", @@ -542,6 +559,12 @@ patient_service ps JOIN organization o ON o.id = ps.hospital_id WHERE 1=1 + + and ps.create_date >= #{param.startTime} + + + AND ps.create_date <= #{param.endTime} + and o.id = #{param.hospitalId} @@ -586,6 +609,12 @@ AND ps.ser_status = #{param.serStatus} + + and ps.create_date >= #{param.startTime} + + + AND ps.create_date <= #{param.endTime} + diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java index d3bcea6..9682bb1 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java @@ -213,4 +213,18 @@ public class AreaCountController extends BaseController { return areaCountFacade.getServiceDetailList(param); } + /** + * 增值服务统计detailList 导出 + * + * @param param + */ + @RequestMapping(value = "/getServiceDetail/export",method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public void getServiceDetailExport(@RequestBody ServiceListQuery param, HttpServletRequest request, HttpServletResponse response){ + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + param.setUserId(loginState.getId()); + areaCountFacade.getServiceDetailExport(param, response); + } + } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java index 8c1292f..ee8df2f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java @@ -3,6 +3,7 @@ package com.lyms.platform.operate.web.facade; import com.lyms.platform.beans.AddressBean; import com.lyms.platform.biz.service.*; +import com.lyms.platform.common.base.PageInfo; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseListResponse; @@ -1144,16 +1145,23 @@ public class AreaCountFacade { param.setNeed("Y"); param.setSort("desc"); BaseResponse response = new BaseResponse(); - if (param.getStartTime() == null){ - Date startDate = getStartDate(); - param.setStartTime(startDate); - } - List mapList = patientServiceService.getServeDetailList(param); + setDefaultTime(param); + List> mapList = getServiceDetailListMap(param); + PageInfo pageInfo = param.getPageInfo(); + HashMap objectObjectHashMap = new HashMap<>(); + objectObjectHashMap.put("pageInfo", pageInfo); + objectObjectHashMap.put("list", mapList); + response.setObject(objectObjectHashMap); + return response; + } + + private List> getServiceDetailListMap(ServiceListQuery param) { + List> mapList = patientServiceService.getServeDetailList(param); for (Map map : mapList){ String parentId = map.get("parentId").toString(); String perType = map.get("perType").toString(); String serType = map.get("serType").toString(); - //String serDoct = map.get("serDoct").toString(); + String serDoct = map.get("serDoct").toString(); Date createDate = (Date) map.get("createDate"); String userName; if ("1".equals(perType)){ @@ -1174,16 +1182,64 @@ public class AreaCountFacade { map.put("patientName", userName); String serTypeName = getSerTypeName(serType); map.put("serTypeName", serTypeName); - // String doctorName = usersService.getUsers(Integer.parseInt(serDoct)).getName(); - map.put("doctorName", ""); + String doctorName = ""; + if (StringUtils.isNotEmpty(serDoct)){ + doctorName = usersService.getUsers(Integer.parseInt(serDoct)).getName(); + } + map.put("doctorName", doctorName); map.remove("parentId"); map.remove("perType"); map.remove("serType"); map.remove("serDoct"); } - response.setObject(mapList); - return response; + return mapList; + } + + /** + * 详情导出 + * + * @param param + * @return + */ + public void getServiceDetailExport(ServiceListQuery param, HttpServletResponse response) { + setDefaultTime(param); + List> serviceDetailListMap = getServiceDetailListMap(param); + /*for (Map map : serviceDetailListMap){ + HashMap result = new HashMap<>(16); + *//** + * "patientName": "王静洁", + * "serTypeName": "精准指导", + * "doctorName": "", + * "opnYumSize": "", + * "serviceWeek": "", + * "createDate": 1480953600000, + * "serStatus": "开通中" + *//* + result.put("createDate",map.get("createDate")); + }*/ + Map names = new LinkedHashMap<>(); + names.put("","联系电话"); + names.put("createDate","购买日期"); + names.put("patientName", "姓名"); + names.put("opnYumSize", "开通孕周"); + names.put("serTypeName", "服务类型"); + names.put("serviceWeek","服务周期"); + names.put("doctorName", "指定医生"); + names.put("serStatus","服务状态"); + + ResponseUtil.responseExcel(names,serviceDetailListMap,response); + + } + + private void setDefaultTime(ServiceListQuery param) { + if (param.getStartTime() == null) { + Date startDate = getStartDate(); + param.setStartTime(startDate); + } + if (param.getEndTime() == null) { + param.setEndTime(new Date()); + } } private String getSerTypeName(String serType){ @@ -1264,6 +1320,7 @@ public class AreaCountFacade { return day2-day1; } } + }