forked from kidgrow-microservices-platform

zhaoxiaohao
2021-01-29 a76ac105d4798b703e3a7e623cc9883731b34cc6
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java
@@ -4,6 +4,7 @@
import com.kidgrow.common.constant.CommonConstant;
import com.kidgrow.common.controller.BaseController;
import com.kidgrow.common.model.*;
import com.kidgrow.common.utils.DateUtils;
import com.kidgrow.oprationcenter.model.HospitalInfo;
import com.kidgrow.oprationcenter.model.ProductOrder;
import com.kidgrow.oprationcenter.model.ProductOrderDetail;
@@ -30,9 +31,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.*;
/**
@@ -440,4 +439,28 @@
        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);
        map = new HashMap<>();
        if(productOrders!=null&&productOrders.size()>0){
            IntSummaryStatistics intSummaryStatistics = productOrders.stream().filter(a-> a.getContractNum()!=null&&a.getEnabled()).mapToInt((x) -> x.getContractNum()).summaryStatistics();
            Date minDate = productOrders.stream().filter(a->a.getEnabled()).map(e -> e.getContractBeginTime()).min((e1, e2) -> e1.compareTo(e2)).get();
            Date manDate = productOrders.stream().filter(a->a.getEnabled()).map(e -> e.getContractEndTime()).max((e1, e2) -> e1.compareTo(e2)).get();
            map.put("count", intSummaryStatistics.getSum());
            map.put("beginTime",DateUtils.formatDate(minDate,"yyyy-MM-dd HH:mm:ss"));
            map.put("endTime",DateUtils.formatDate(manDate,"yyyy-MM-dd HH:mm:ss"));
        }
        return  ResultBody.ok().data(map);
    }
}