wuxw
2023-11-01 2acb5e4dc2769d4d104afb48e2964cd656283a4b
service-report/src/main/java/com/java110/report/cmd/admin/GetCommunityOperationalAnalysisCmd.java
@@ -69,13 +69,85 @@
        //todo 查询小区缴费订单数
        List<Map> feeDetailData = baseDataStatisticsInnerServiceSMOImpl.getCommunityFeeDetailCountAnalysis(reqJson);
        feeDetailData = fillDate(feeDetailData, startTime, endTime);
        data.put("feeDetailData", feeDetailData);
        //todo 查询小区报修单订单数
        List<Map> repairData = baseDataStatisticsInnerServiceSMOImpl.getCommunityRepairCountAnalysis(reqJson);
        repairData = fillDate(repairData, startTime, endTime);
        data.put("repairData", repairData);
        //todo 查询巡检数据数
        List<Map> inspectionData = baseDataStatisticsInnerServiceSMOImpl.getCommunityInspectionAnalysis(reqJson);
        inspectionData = fillDate(inspectionData, startTime, endTime);
        data.put("inspectionData", inspectionData);
        //todo 查询保养数据数
        List<Map> maintainanceData = baseDataStatisticsInnerServiceSMOImpl.getCommunityMaintainanceAnalysis(reqJson);
        maintainanceData = fillDate(maintainanceData, startTime, endTime);
        data.put("maintainanceData", maintainanceData);
        //todo 查询采购订单数
        List<Map> itemInData = baseDataStatisticsInnerServiceSMOImpl.getCommunityItemInAnalysis(reqJson);
        itemInData = fillDate(itemInData, startTime, endTime);
        data.put("itemInData", itemInData);
        //todo 查询领用订单数
        List<Map> itemOutData = baseDataStatisticsInnerServiceSMOImpl.getCommunityItemOutAnalysis(reqJson);
        itemOutData = fillDate(itemOutData, startTime, endTime);
        data.put("itemOutData", itemOutData);
        //todo 查询车辆进场数
        List<Map> carInData = baseDataStatisticsInnerServiceSMOImpl.getCommunityCarInAnalysis(reqJson);
        carInData = fillDate(carInData, startTime, endTime);
        data.put("carInData", carInData);
        //todo 查询人员进场数
        List<Map> personInData = baseDataStatisticsInnerServiceSMOImpl.getCommunityPersonInAnalysis(reqJson);
        personInData = fillDate(personInData, startTime, endTime);
        data.put("personInData", personInData);
        //todo 查询起草合同数
        List<Map> contractData = baseDataStatisticsInnerServiceSMOImpl.getCommunityContractAnalysis(reqJson);
        contractData = fillDate(contractData, startTime, endTime);
        data.put("contractData", contractData);
        context.setResponseEntity(ResultVo.createResponseEntity(data));
    }
    private List<Map> fillDate(List<Map> datas, String startTime, String endTime) {
        Date sTime = DateUtil.getDateFromStringB(startTime);
        Date eTime = DateUtil.getDateFromStringB(endTime);
        List<Map> tempDatas = new ArrayList<>();
        while (sTime.getTime() <= eTime.getTime()) {
            Map data = hasInDatas(sTime, datas);
            if (data == null) {
                data = new HashMap();
                data.put("createTime", DateUtil.getFormatTimeStringB(sTime));
                data.put("countValue", "0");
            }
            tempDatas.add(data);
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(sTime);
            calendar.add(Calendar.DAY_OF_MONTH, 1);
            sTime = calendar.getTime();
        }
        return tempDatas;
    }
    private Map hasInDatas(Date sTime, List<Map> datas) {
        String curTime = DateUtil.getFormatTimeStringB(sTime);
        for (Map data : datas) {
            if (curTime.equals(data.get("createTime"))) {
                return data;
            }
        }
        return null;
    }
}