diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java index 298c3e0..65dafb8 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/CouponMapper.java @@ -98,4 +98,8 @@ public interface CouponMapper { CouponInfo findUserCoupon(Map param); String findByType(Map map); + + Map findHospitalInfoById(String hospitalId); + + List> findHospitalInfoByIds(List hospitalIds); } diff --git a/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml b/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml index 7dd3eec..9f337ba 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml @@ -521,4 +521,15 @@ update coupon_info set temp_status = 1,temp_hospital_id=#{hospitalId} where sequence_id = #{code} + + + + \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java index d9fe88b..b94625b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java @@ -33,11 +33,11 @@ public class ReportController extends BaseController { /** * 未发放优惠券统计 */ - @RequestMapping(value = "/unissued", method = RequestMethod.POST) + @RequestMapping(value = "/coupon/unSend", method = RequestMethod.POST) @ResponseBody @TokenRequired - public BaseObjectResponse unissued(Date startDate, Date endDate, String provinceId, String cityId, String areaId, String hospitalId, HttpServletRequest request) { - return reportService.unissued(startDate, endDate, provinceId, cityId, areaId, hospitalId, getUserId(request)); + public BaseObjectResponse unSend(Date startDate, Date endDate, String provinceId, String cityId, String areaId, String hospitalId, HttpServletRequest request) { + return reportService.unSend(startDate, endDate, provinceId, cityId, areaId, hospitalId, getUserId(request)); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java index 72ca2e2..89bafb0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java @@ -84,5 +84,5 @@ public interface IReportService extends IBaseService { void checkNumberInfoExport(Integer childBirth, Date startDate, Date endDate, Integer startWeek, Integer endWeek, Integer number, Integer id, HttpServletResponse resp); - BaseObjectResponse unissued(Date startDate, Date endDate, String provinceId, String cityId, String areaId, String hospitalId, Integer userId); + BaseObjectResponse unSend(Date startDate, Date endDate, String provinceId, String cityId, String areaId, String hospitalId, Integer userId); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java index c0bc853..56df24b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java @@ -162,6 +162,7 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient param.put("doctorName", couponMapper.findUserName(userId + "")); param.put("patientId", patients.getId()); param.put("hospitalName", couponMapper.findHospitalNameById(hospitalId)); + param.put("foreignId", hospitalId); String s = HttpClientUtil.doPost(patSerSyncUrl + "/grWeContr/bindDoctorUser", param, "UTF-8"); // String s = HttpClientUtil.doPost("http://localhost:9092/grWeContr/bindDoctorUser", param, "UTF-8"); System.out.println("绑定医生和患者的关系>>. " + s + " param: " + param); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java index 42f3fec..2c14874 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java @@ -1,7 +1,6 @@ package com.lyms.platform.operate.web.service.impl; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONPObject; import com.lyms.hospitalapi.pojo.ReportModel; import com.lyms.platform.biz.service.CommonService; import com.lyms.platform.common.enums.CouponEnums; @@ -486,8 +485,17 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService ResponseUtil.responseExcel(cnames,results, resp); } + private String getValByKey(List> datas, String id, String key) { + for (Map map : datas) { + if(id.equals(map.get("id") + "")) { + return map.get(key) + ""; + } + } + return null; + } + @Override - public BaseObjectResponse unissued(Date startDate, Date endDate, String provinceId, String cityId, String areaId, String hospitalId, Integer userId) { + public BaseObjectResponse unSend(Date startDate, Date endDate, String provinceId, String cityId, String areaId, String hospitalId, Integer userId) { List hospitalIds = new ArrayList<>(); if(StringUtils.isEmpty(hospitalId)) { hospitalIds.addAll(accessPermissionFacade.getCurrentUserHospPermissions(userId)); @@ -495,11 +503,60 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService hospitalIds.add(hospitalId); } + List> datas = couponMapper.findHospitalInfoByIds(hospitalIds); + Iterator iterator = hospitalIds.iterator(); + while (iterator.hasNext()) { + String id = iterator.next(); + if(StringUtils.isNotEmpty(provinceId)) { + if(!provinceId.equals(getValByKey(datas, id, "province_id"))) { + iterator.remove(); + } + } + if(StringUtils.isNotEmpty(cityId)) { + if(!cityId.equals(getValByKey(datas, id, "city_id"))) { + iterator.remove(); + } + } + if(StringUtils.isNotEmpty(areaId)) { + if(!areaId.equals(getValByKey(datas, id, "area_id"))) { + iterator.remove(); + } + } + } + + List> restList = new ArrayList<>(); + Map hospitalPatientCount = new HashMap<>(); if(CollectionUtils.isNotEmpty(hospitalIds)) { + Criteria c = new Criteria(); + c.and("hospitalId").in(hospitalIds).and("isSendCoupon").ne(true).and("yn").ne(0); + if(startDate != null && endDate != null) { + c.and("bookbuildingDate").gte(startDate).lt(DateUtil.addDay(endDate, 1)); + } - } + List patients = mongoTemplate.find(Query.query(c), Patients.class); + for (Patients patient : patients) { + if(hospitalPatientCount.containsKey(patient.getHospitalId())) { + hospitalPatientCount.put(patient.getHospitalId(), hospitalPatientCount.get(patient.getHospitalId()) + 1); + } else { + hospitalPatientCount.put(patient.getHospitalId(), 1); + } + } - return RespBuilder.buildSuccess(); + for (Map.Entry entry : hospitalPatientCount.entrySet()) { +// Map tempMap = couponMapper.findHospitalInfoById(entry.getKey()); + Map tempMap = new HashMap<>(); + tempMap.put("id", entry.getValue()); + tempMap.put("areaId", getValByKey(datas, entry.getKey(), "area_id")); + tempMap.put("areaName", findName(tempMap.get("areaId"))); + tempMap.put("cityId", getValByKey(datas, entry.getKey(), "city_id")); + tempMap.put("cityName", findName(tempMap.get("cityId"))); + tempMap.put("provinceId", getValByKey(datas, entry.getKey(), "province_id")); + tempMap.put("provinceName", findName(tempMap.get("provinceId"))); + tempMap.put("count", entry.getValue()); + restList.add(tempMap); + } + } + return RespBuilder.buildSuccess(restList); } @Override