From 6398ac4a3b9cf7d9f36756307aa1448e1e215e0c Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <279049017@qq.com> Date: Wed, 25 Nov 2020 09:12:42 +0800 Subject: [PATCH] 添加taocan 的功能,继续完善 --- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 107 insertions(+), 8 deletions(-) diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java index 908e93b..cff6d71 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java @@ -12,6 +12,7 @@ import com.kidgrow.oprationcenter.service.IProductOrderDetailService; import com.kidgrow.oprationcenter.service.IProductOrderRecordService; import com.kidgrow.oprationcenter.service.IProductOrderService; +import com.kidgrow.oprationcenter.vo.OrderChartVo; import com.kidgrow.oprationcenter.vo.ProductOrderJoinDetail; import com.kidgrow.oprationcenter.vo.UserProductData; import com.kidgrow.usercenter.feign.SysUserService; @@ -29,9 +30,7 @@ import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; /** @@ -91,6 +90,22 @@ } return productOrderDetailService.all(params); } + /** + * 列表 + */ + @ApiOperation(value = "查询列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "page", value = "分页起始位置", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer") + }) + @GetMapping("alldetail") + public PageResult alldetail(@RequestParam Map<String, Object> params) { + if (params.size() == 0) { + params.put("page", 1); + params.put("limit", 10); + } + return productOrderDetailService.departmentProductDetail(params); + } /** * 列表 @@ -127,7 +142,22 @@ } return productOrderDetailService.groupList(params); } - + /** + * 查询到期列表 + */ + @ApiOperation(value = "查询到期列表") + @ApiImplicitParams({ + @ApiImplicitParam(name = "page", value = "分页起始位置", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer") + }) + @GetMapping("/productEnd") + public PageResult productEndList(@RequestParam Map<String, Object> params) { + if (params.size() == 0) { + params.put("page", 1); + params.put("limit", 10); + } + return productOrderDetailService.productEndList(params); + } /** * 获取医院套餐是否到期和到期时间 * data内 isend为true说明套餐到期 @@ -135,13 +165,14 @@ * * @param hospitalId * @param departmentId + * @param diagnosticId * @return */ @ApiOperation(value = "获取医院套餐是否到期和到期时间") @GetMapping("/UserProductDetailData") - public ResultBody UserProductDetailData(@RequestParam Long hospitalId, @RequestParam Long departmentId) { - return productOrderDetailService.UserProductDetailData(hospitalId, departmentId); + public ResultBody<UserProductData> serProductDetailData(@RequestParam Long hospitalId, @RequestParam Long departmentId,@RequestParam String diagnosticId) { + return productOrderDetailService.userProductDetailData(hospitalId, departmentId,diagnosticId); } /** @@ -154,8 +185,8 @@ @ApiOperation(value = "获取医院套餐是否到期和到期时间") @PostMapping("/serviceperiod") - public ResultBody<UserProductData> ServicePeriod(@RequestBody HospitalInfo hospitalInfo) { - return productOrderDetailService.UserProductDetailData(hospitalInfo.getHospitalId(), hospitalInfo.getDepartmentId()); + public ResultBody<UserProductData> servicePeriod(@RequestBody HospitalInfo hospitalInfo) { + return productOrderDetailService.userProductDetailData(hospitalInfo.getHospitalId(), hospitalInfo.getDepartmentId(),hospitalInfo.getDiagnosticId()); } /** @@ -361,4 +392,72 @@ public ResultBody getTypeByUser(@LoginUser SysUser sysUser) { return productOrderDetailService.getTypeByUser(sysUser); } + + /** + * 统计获取数据量 + * @param datatype + * 0 试用审核量 + * 1 套餐总量 + * 2 未处理用户反馈 + * 3 未处理数据需求 + * @return + */ + @ApiOperation(value = "统计获取数据量") + @GetMapping("/oprationChart") + public ResultBody oprationChart(int datatype) { + int counts=productOrderDetailService.oprationChart(datatype); + return ResultBody.ok().data(counts).msg("数据获取成功!") ; + } + + /** + * 按指定类型统计合同数量 + * @param params + * datatype 1 按年 + * 2 按月 + * 3 按天 + * 4 按周 + * beginTime 查询时间段的开始时间 + * endTime 结束时间 + * @return + */ + @ApiOperation(value = "按指定类型统计合同数量") + @GetMapping("/productOrderChart") + public ResultBody productOrderChart(@RequestParam Map<String, Object> params) { + List<OrderChartVo> orderChartVo=productOrderDetailService.productOrderChart(params); + return ResultBody.ok().data(orderChartVo).msg("数据获取成功!") ; + } + + /** + * 统计产品的使用数量 + * @return ccount 是数量 + * units 是产品名称 + */ + @ApiOperation(value = "统计产品的使用数量") + @GetMapping("/proCountChart") + public ResultBody proCountChart() { + List<OrderChartVo> orderChartVo=productOrderDetailService.proCountChart(); + return ResultBody.ok().data(orderChartVo).msg("数据获取成功!") ; + } + + /** + * 获取软件服务周期 和 读片总量 + * + */ + @ApiOperation(value = "获取软件服务周期") + @GetMapping("/getContractBeginEndTimeAndNum") + public ResultBody getContractBeginEndTimeAndNum(@RequestParam("departmentId") Long departmentId) { + Map<String,Object> map = new HashMap<>(); + map.put("department_id",departmentId); + map.put("enabled",true); + map.put("is_del",false); + List<ProductOrder> productOrders = productOrderService.listByMap(map); + IntSummaryStatistics intSummaryStatistics = productOrders.stream().mapToInt((x) -> x.getContractNum()).summaryStatistics(); + Date minDate = productOrders.stream().map(e -> e.getContractBeginTime()).min((e1, e2) -> e1.compareTo(e2)).get(); + Date manDate = productOrders.stream().map(e -> e.getContractEndTime()).max((e1, e2) -> e1.compareTo(e2)).get(); + map = new HashMap<>(); + map.put("count",intSummaryStatistics.getSum()); + map.put("beginTime",minDate); + map.put("endTime",manDate); + return ResultBody.ok().data(map); + } } -- Gitblit v1.8.0