From b65b92c9597f54fc0d60e4462cc17ab1601f3650 Mon Sep 17 00:00:00 2001 From: litao Date: Wed, 24 May 2017 09:52:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E6=95=B0=E6=8D=AE=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/common/result/RespBuilder.java | 3 +- .../com/lyms/hospitalapi/pojo/ReportModel.java | 19 ++++++++-- .../web/service/impl/ReportServiceImpl.java | 44 +++++++++++++++------- .../lyms/etl/service/impl/CouponServiceImpl.java | 9 +++-- 4 files changed, 54 insertions(+), 21 deletions(-) diff --git a/platform-common/src/main/java/com/lyms/platform/common/result/RespBuilder.java b/platform-common/src/main/java/com/lyms/platform/common/result/RespBuilder.java index 0d66802..7f18668 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/result/RespBuilder.java +++ b/platform-common/src/main/java/com/lyms/platform/common/result/RespBuilder.java @@ -1,6 +1,5 @@ package com.lyms.platform.common.result; -import org.apache.commons.lang3.StringUtils; import org.springframework.util.Assert; import java.util.HashMap; @@ -48,7 +47,7 @@ public class RespBuilder { return resp; } - private static Map createMap(Object ... args){ + public static Map createMap(Object ... args){ Map map = new HashMap<>(); for (int i = 0; i < args.length; i++) { String key = args[i++].toString(); diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/ReportModel.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/ReportModel.java index c0e3df2..e1fcd70 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/ReportModel.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/pojo/ReportModel.java @@ -1,5 +1,7 @@ package com.lyms.hospitalapi.pojo; +import com.lymsh.platform.reportdata.model.echarts.Series; + import java.util.List; import java.util.Map; @@ -20,7 +22,10 @@ public class ReportModel { private List> grid; /** 其他数据 */ - private List data; + private Object data; + + /** 封装对应x轴的值 返回到y轴 */ + private List series; private List doctorInfo; @@ -48,11 +53,11 @@ public class ReportModel { this.grid = grid; } - public List getData() { + public Object getData() { return data; } - public void setData(List data) { + public void setData(Object data) { this.data = data; } @@ -63,4 +68,12 @@ public class ReportModel { public void setDoctorInfo(List doctorInfo) { this.doctorInfo = doctorInfo; } + + public List getSeries() { + return series; + } + + public void setSeries(List series) { + this.series = series; + } } 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 0d9f4fe..2954c2d 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 @@ -16,6 +16,7 @@ import com.lyms.platform.operate.web.utils.ResponseUtil; import com.lyms.platform.operate.web.utils.SystemDataSource; import com.lyms.platform.permission.dao.master.CouponMapper; import com.lyms.platform.pojo.BasicConfig; +import com.lymsh.platform.reportdata.model.echarts.Series; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; @@ -258,7 +259,7 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService cnames.put("otherTimes", "≥13次"); @SuppressWarnings("unchecked") - List> grid = (List>) ((Map) rest.getData()).get("grid"); + List> grid = (List>) ((Map) rest.getData()).get("grid"); List> results = new ArrayList<>(); for (Map map : grid) { Map result = new LinkedHashMap<>(); @@ -417,6 +418,7 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService List> couponReport = couponMapper.findReport(param); /** 优惠券统计详情(发放人数、发放券数、使用人数、使用券数) */ List> usedInfo = couponMapper.findUsedInfo(param); /** 优惠券使用详情 */ + List xAxis = new ArrayList<>(); if(org.apache.commons.collections.CollectionUtils.isNotEmpty(couponReport) && org.apache.commons.collections.CollectionUtils.isNotEmpty(usedInfo)) { @@ -424,13 +426,34 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService for (Map map : couponReport) { map.put("province_name", findName(map.get("province_id"))); map.put("city_name", findName(map.get("city_id"))); - map.put("area_name", findName(map.get("area_id"))); + + String areaName = findName(map.get("area_id")); + map.put("area_name", areaName); + xAxis.add(areaName); } } else{ return RespBuilder.buildErro(ResponseCode.DATA_ERROR); } } - return RespBuilder.buildSuccess("couponReport", couponReport, "couponReportMap", couponReportMap); + + ReportModel reportModel = new ReportModel(); + reportModel.setxAxis(xAxis); + reportModel.setData(Arrays.asList("发放券数", "使用券数")); + reportModel.setSeries(createSeries(couponReport)); + + return RespBuilder.buildSuccess("couponReport", couponReport, "couponReportMap", couponReportMap, "reportModel", reportModel); + } + + private List createSeries(List> couponReport) { + List seriesList = new ArrayList<>(); + for (Map coupon : couponReport) { + Series series = new Series(); + series.setName((String) coupon.get("area_name")); + series.setType("bar"); + series.setData(Arrays.asList(coupon.get("coupon_send_count"), coupon.get("people_send_count"))); + seriesList.add(series); + } + return seriesList; } @Override @@ -438,11 +461,7 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService List hospitalIds = Arrays.asList("216", "245"); /** 模拟根据登陆人id 查询出来的医院 */ param.put("hospitalIds", hospitalIds); return RespBuilder.buildSuccess("coupons", EnumUtil.toJson(CouponEnums.class, "code", "name"), - "hTemp", couponMapper.findHospitals(param)); - } - - public static void main(String[] args) { - System.out.println(EnumUtil.toJson(CouponEnums.class, "code", "name")); + "hTemp", couponMapper.findHospitals(param)); } private String findName(Object id) { @@ -479,7 +498,7 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService } if(StringUtils.isNotBlank(hospitalId)) { - sql.append("AND C.YCY_STSTEM_ID = ? "); + sql.append("AND C.YCY_STSTEM_ID = ? "); params.add(hospitalId); } @@ -520,7 +539,6 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService return sql.toString(); } - private List> createGrid(List peopleList, List proportionList) { List> restList = new ArrayList<>(); Map peoples = new LinkedHashMap<>(); @@ -631,8 +649,8 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService sql.append("AND A.IS_CHILDBIRTH = ? "); params.add(childBirth); } - - + + if(StringUtils.isNotBlank(hospitalId)) { sql.append("AND C.YCY_STSTEM_ID= ? "); params.add(hospitalId); @@ -651,7 +669,7 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService } sql.append("GROUP BY B.EXAMINE_HISTORY_NUM ") - .append("ORDER BY EXAMINE_HISTORY_NUM"); + .append("ORDER BY EXAMINE_HISTORY_NUM"); return sql.toString(); } diff --git a/regional-etl/src/main/java/com/lyms/etl/service/impl/CouponServiceImpl.java b/regional-etl/src/main/java/com/lyms/etl/service/impl/CouponServiceImpl.java index 1a9e425..9d5b52a 100644 --- a/regional-etl/src/main/java/com/lyms/etl/service/impl/CouponServiceImpl.java +++ b/regional-etl/src/main/java/com/lyms/etl/service/impl/CouponServiceImpl.java @@ -55,7 +55,7 @@ public class CouponServiceImpl implements ICouponInfoService { } batchInsert(couponInfos, 100); - setnx(hospitalIds); +// setnx(hospitalIds); } /** @@ -138,8 +138,11 @@ public class CouponServiceImpl implements ICouponInfoService { HospitalCouponTemplateGroup hospitalCouponTemplateGroup = new HospitalCouponTemplateGroup(); hospitalCouponTemplateGroup.setId(UUIDUtil.createId()); hospitalCouponTemplateGroup.setHospitalId(hospitalId); - hospitalCouponTemplateGroup.setCouponTemplateGroupId(couponInfoDao.findHospital(hospitalId).getCouponTemplateGroupId()); - couponInfoDao.saveHospitalGroup(hospitalCouponTemplateGroup); + HospitalCouponTemplateGroup hospital = couponInfoDao.findHospital(hospitalId); + if(hospital != null) { + hospitalCouponTemplateGroup.setCouponTemplateGroupId(hospital.getCouponTemplateGroupId()); + couponInfoDao.saveHospitalGroup(hospitalCouponTemplateGroup); + } } } } -- 1.8.3.1