forked from kidgrow-microservices-platform

zhaoxiaohao
2020-11-25 6398ac4a3b9cf7d9f36756307aa1448e1e215e0c
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java
@@ -30,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.*;
/**
@@ -144,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说明套餐到期
@@ -152,12 +165,13 @@
     *
     * @param hospitalId
     * @param departmentId
     * @param diagnosticId
     * @return
     */
    @ApiOperation(value = "获取医院套餐是否到期和到期时间")
    @GetMapping("/UserProductDetailData")
    public ResultBody UserProductDetailData(@RequestParam Long hospitalId, @RequestParam Long departmentId,@RequestParam String diagnosticId) {
    public ResultBody<UserProductData> serProductDetailData(@RequestParam Long hospitalId, @RequestParam Long departmentId,@RequestParam String diagnosticId) {
        return productOrderDetailService.userProductDetailData(hospitalId, departmentId,diagnosticId);
    }
@@ -171,7 +185,7 @@
    @ApiOperation(value = "获取医院套餐是否到期和到期时间")
    @PostMapping("/serviceperiod")
    public ResultBody<UserProductData> ServicePeriod(@RequestBody HospitalInfo hospitalInfo) {
    public ResultBody<UserProductData> servicePeriod(@RequestBody HospitalInfo hospitalInfo) {
        return productOrderDetailService.userProductDetailData(hospitalInfo.getHospitalId(), hospitalInfo.getDepartmentId(),hospitalInfo.getDiagnosticId());
    }
@@ -424,4 +438,26 @@
        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);
    }
}