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