Sfoglia il codice sorgente

小程序数据统计-电梯数据调整

黄远 5 anni fa
parent
commit
79859528b3

+ 2 - 2
lift-batch-service/src/main/java/cn/com/ty/lift/batch/applet/dao/mapper/PaymentDataMapper.java

@@ -1,7 +1,7 @@
 package cn.com.ty.lift.batch.applet.dao.mapper;
 
 import cn.com.ty.lift.batch.applet.dao.model.PaymentDataModel;
-import cn.com.ty.lift.batch.applet.dao.model.request.CommonRequest;
+import cn.com.ty.lift.batch.applet.dao.model.request.PaymentDataRequest;
 import cn.com.xwy.boot.mybatis.MyBatisMapper;
 
 import java.util.List;
@@ -19,5 +19,5 @@ public interface PaymentDataMapper {
      * @description 获取时间段内的收款数据
      * @date 2020/2/4 2:23 下午
      */
-    List<PaymentDataModel> getPaymentDataList(CommonRequest commonRequest);
+    List<PaymentDataModel> getPaymentDataList(PaymentDataRequest paymentDataRequest);
 }

+ 6 - 4
lift-batch-service/src/main/java/cn/com/ty/lift/batch/applet/service/AnnualInspectionDataService.java

@@ -56,9 +56,11 @@ public class AnnualInspectionDataService {
     public List<AnnualInspectionDataModel> getAnnualInspectionDataListFromRedis(
             AnnualInspectionDataRequest annualInspectionDataRequest) {
         //从redis中获取当前公司的年检信息
-        List<AnnualInspectionDataModel> annualInspectionDataModelList = (List<AnnualInspectionDataModel>)
-                DataStatisticsUtil.getStatisticsDataFromRedis(redisTemplate,
-                        DataStatisticsConstants.ANNUAL_INSPECTION_DATA_FIELD, annualInspectionDataRequest.getMtCompanyId());
+        List<AnnualInspectionDataModel> annualInspectionDataModelList =
+                annualInspectionDataMapper.getAnnualInspectionDataList(annualInspectionDataRequest);
+//                (List<AnnualInspectionDataModel>)
+//                DataStatisticsUtil.getStatisticsDataFromRedis(redisTemplate,
+//                        DataStatisticsConstants.ANNUAL_INSPECTION_DATA_FIELD, annualInspectionDataRequest.getMtCompanyId());
         if (annualInspectionDataModelList != null && annualInspectionDataModelList.size() > 0) {
             if (annualInspectionDataRequest.getStartTimeDate() != null) {
                 //通过起始时间过滤数据
@@ -98,7 +100,7 @@ public class AnnualInspectionDataService {
         Map<Integer, Long> annualStatusToNum = DataStatisticsConstants.ANNUAL_STATUS_TO_NUM;
         if (annualInspectionDataModelList != null && annualInspectionDataModelList.size() > 0) {
             //设置计划年检条数
-            annualStatusToNum.put(1, annualInspectionDataModelList.stream().count());
+            annualStatusToNum.put(1, (long) annualInspectionDataModelList.size());
             //设置完成年检条数
             long finishAnnualCount = annualInspectionDataModelList.stream()
                     .filter(a -> a.getStatus() == 1).count();

+ 4 - 3
lift-batch-service/src/main/java/cn/com/ty/lift/batch/applet/service/ContractDataService.java

@@ -78,9 +78,10 @@ public class ContractDataService {
      */
     public List<ContractDataModel> getContractDataListFromRedis(ContractDataRequest contractDataRequest) {
         //从redis中获取当前公司合同数据
-        List<ContractDataModel> contractDataModelList = (List<ContractDataModel>) DataStatisticsUtil
-                .getStatisticsDataFromRedis(redisTemplate,
-                        DataStatisticsConstants.CONTRACT_DATA_FIELD, contractDataRequest.getMtCompanyId());
+        List<ContractDataModel> contractDataModelList = contractDataMapper.getContractDataList(contractDataRequest);
+//                (List<ContractDataModel>) DataStatisticsUtil
+//                .getStatisticsDataFromRedis(redisTemplate,
+//                        DataStatisticsConstants.CONTRACT_DATA_FIELD, contractDataRequest.getMtCompanyId());
         if (contractDataModelList != null && contractDataModelList.size() > 0) {
             //通过起始时间过滤合同信息
             if (contractDataRequest.getStartTimeDate() != null) {

+ 5 - 3
lift-batch-service/src/main/java/cn/com/ty/lift/batch/applet/service/EmergencyRepairDataService.java

@@ -73,9 +73,11 @@ public class EmergencyRepairDataService {
     public List<EmergencyRepairDataModel> getEmergencyRepairDataListFromRedis(EmergencyRepairDataRequest
                                                                                       emergencyRepairDataRequest) {
         //从redis获取当前公司的急修信息
-        List<EmergencyRepairDataModel> emergencyRepairDataModelList = (List<EmergencyRepairDataModel>)
-                DataStatisticsUtil.getStatisticsDataFromRedis(redisTemplate,
-                        DataStatisticsConstants.EMERGENCY_REPAIR_DATA_FIELD, emergencyRepairDataRequest.getMtCompanyId());
+        List<EmergencyRepairDataModel> emergencyRepairDataModelList =
+                emergencyRepairDataMapper.getEmergencyRepairDataList(emergencyRepairDataRequest);
+//                (List<EmergencyRepairDataModel>)
+//                DataStatisticsUtil.getStatisticsDataFromRedis(redisTemplate,
+//                        DataStatisticsConstants.EMERGENCY_REPAIR_DATA_FIELD, emergencyRepairDataRequest.getMtCompanyId());
         if (emergencyRepairDataModelList != null && emergencyRepairDataModelList.size() > 0) {
             //过滤起始时间之前的数据
             if (emergencyRepairDataRequest.getStartTimeDate() != null) {

+ 31 - 10
lift-batch-service/src/main/java/cn/com/ty/lift/batch/applet/service/LiftDataService.java

@@ -41,9 +41,10 @@ public class LiftDataService {
      * @date 2020/2/7 12:01 下午
      */
     private List<LiftDataModel> getLiftDataModels(LiftDataRequest liftDataRequest) {
-        return (List<LiftDataModel>)
-                DataStatisticsUtil.getStatisticsDataFromRedis(redisTemplate,
-                        DataStatisticsConstants.LIFT_DATA_FIELD, liftDataRequest.getMtCompanyId());
+        return liftDataMapper.getLiftDataList(liftDataRequest);
+//                (List<LiftDataModel>)
+//                DataStatisticsUtil.getStatisticsDataFromRedis(redisTemplate,
+//                        DataStatisticsConstants.LIFT_DATA_FIELD, liftDataRequest.getMtCompanyId());
     }
 
     /**
@@ -133,19 +134,34 @@ public class LiftDataService {
             //获取传递起始时间之前的电梯信息
             List<LiftDataModel> beforeLiftDataList = companyTotalLiftDataList.stream()
                     //新建时间在起始时间之前的
-                    .filter(a -> a.getConnectTime().isBefore(liftDataRequest.getStartTimeDate()))
+                    .filter(a -> {
+                        if (a.getConnectTime() != null) {
+                            a.getConnectTime().isBefore(liftDataRequest.getStartTimeDate());
+                        }
+                        return false;
+                    })
                     .collect(Collectors.toList());
             //时间段之前的电梯台数,去掉丢失的电梯
             long beforeLiftTotalNum = 0L;
-            if (beforeLiftDataList != null && beforeLiftDataList.size() > 0) {
+            if (beforeLiftDataList.size() > 0) {
                 beforeLiftTotalNum = beforeLiftDataList.stream()
-                        .filter(a -> a.getLiftStatus() != 3).count();
+                        .filter(a -> {
+                            if (a.getLiftStatus() != null) {
+                                return a.getLiftStatus() != 3;
+                            }
+                            return false;
+                        }).count();
             }
 
             //获取时间段内按月份统计的新增电梯数量
             Map<Integer, Long> monthToNewLiftNums = liftDataModelList.stream()
                     //获取电梯状态是新增的电梯数据
-                    .filter(a -> a.getLiftStatus() == 1)
+                    .filter(a -> {
+                        if (a.getLiftStatus() != null) {
+                            return a.getLiftStatus() == 1;
+                        }
+                        return false;
+                    })
                     //通过新增时间顺序排列
                     .sorted(Comparator.comparing(LiftDataModel::getConnectTime))
                     .collect(Collectors.groupingBy(liftDataModel ->
@@ -154,7 +170,12 @@ public class LiftDataService {
             //获取时间段内按月份统计的丢失电梯数量
             Map<Integer, Long> monthToLostLiftNums = liftDataModelList.stream()
                     //获取电梯状态是丢失的电梯数据
-                    .filter(a -> a.getLiftStatus() == 3)
+                    .filter(a -> {
+                        if (a.getLiftStatus() != null) {
+                            return a.getLiftStatus() == 3;
+                        }
+                        return false;
+                    })
                     //通过丢失时间顺序排列
                     .sorted(Comparator.comparing(LiftDataModel::getLostTime))
                     .collect(Collectors.groupingBy(liftDataModel ->
@@ -253,7 +274,7 @@ public class LiftDataService {
                                     Map<Integer, Long> monthToLostLiftNums) {
         int nowMonthValue = LocalDateTime.now().getMonthValue();
         //获取截止时间的月份值
-        if(liftDataRequest != null) {
+        if (liftDataRequest != null) {
             nowMonthValue = liftDataRequest.getEndTimeDate().getMonthValue();
         }
         //设置不同状态对应的电梯台量
@@ -284,7 +305,7 @@ public class LiftDataService {
         Map<Integer, List<Long>> liftStatusToNums = new HashMap<>();
         //时间初始化 默认时间为当前时间
         LocalDateTime time = LocalDateTime.now();
-        if(liftDataRequest.getEndTimeDate() != null) {
+        if (liftDataRequest.getEndTimeDate() != null) {
             time = liftDataRequest.getEndTimeDate();
         }
         //设置不同状态对应的电梯台量

+ 11 - 23
lift-batch-service/src/main/java/cn/com/ty/lift/batch/applet/service/MaintenanceDataService.java

@@ -19,7 +19,7 @@ import java.time.LocalDate;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Random;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
 /**
@@ -57,9 +57,11 @@ public class MaintenanceDataService {
      */
     public List<MaintenanceDataModel> getMaintenanceDataListFromRedis(MaintenanceDataRequest maintenanceDataRequest) {
         //从redis中获取当前公司维保数据
-        List<MaintenanceDataModel> maintenanceDataModelList = (List<MaintenanceDataModel>) DataStatisticsUtil
-                .getStatisticsDataFromRedis(redisTemplate, DataStatisticsConstants.MAINTENANCE_DATA_FIELD,
-                        maintenanceDataRequest.getMtCompanyId());
+        List<MaintenanceDataModel> maintenanceDataModelList = maintenanceDataMapper
+                .getMaintenanceDataList(maintenanceDataRequest);
+//                (List<MaintenanceDataModel>) DataStatisticsUtil
+//                .getStatisticsDataFromRedis(redisTemplate, DataStatisticsConstants.MAINTENANCE_DATA_FIELD,
+//                        maintenanceDataRequest.getMtCompanyId());
         if (maintenanceDataModelList != null && maintenanceDataModelList.size() > 0) {
             //通过起始时间过滤
             if (maintenanceDataRequest.getStartDate() != null) {
@@ -99,7 +101,7 @@ public class MaintenanceDataService {
         List<MaintenanceDataModel> maintenanceDataModelList = getMaintenanceDataListFromRedis(maintenanceDataRequest);
         if (maintenanceDataModelList != null && maintenanceDataModelList.size() > 0) {
             //设置计划保养数
-            maintenanceOverViewResponse.setPlanNum(maintenanceDataModelList.stream().count());
+            maintenanceOverViewResponse.setPlanNum((long) maintenanceDataModelList.size());
             //保养状态 0:待完成 1:已完成 2:超期
             //设置完成保养数
             long finishNum = maintenanceDataModelList.stream()
@@ -123,7 +125,7 @@ public class MaintenanceDataService {
      * @date 2020/2/5 4:53 下午
      */
     public RestResponse beyondStatistics(MaintenanceDataRequest maintenanceDataRequest) {
-        Map<String, Long> projectNameToBeyondNum = getTestBeyondStatistics();
+        Map<String, Long> projectNameToBeyondNum = new HashMap<>();
         //从redis中获取维保数据
         List<MaintenanceDataModel> maintenanceDataModelList = getMaintenanceDataListFromRedis(maintenanceDataRequest);
         if (maintenanceDataModelList != null && maintenanceDataModelList.size() > 0) {
@@ -141,8 +143,9 @@ public class MaintenanceDataService {
             //通过超期台量倒序排列
             allProjectNameToBeyondNum = DataStatisticsUtil.sortByValue(allProjectNameToBeyondNum, true);
             //获取前5的数据
+            AtomicInteger i = new AtomicInteger(1);
             allProjectNameToBeyondNum.forEach((key, value) -> {
-                if (projectNameToBeyondNum.size() < 5) {
+                if(i.getAndIncrement() <= 5) {
                     projectNameToBeyondNum.put(key, value);
                 }
             });
@@ -150,21 +153,6 @@ public class MaintenanceDataService {
         return RestResponse.success(ProjectUtils.transReturnMapToStatisticsKVModel(projectNameToBeyondNum), ApiConstants.RESULT_SUCCESS, "获取统计数据成功");
     }
 
-    /**
-     * @param
-     * @return
-     * @description 获取超期统计测试数据
-     * @date 2020/2/24 7:49 上午
-     */
-    private Map<String, Long> getTestBeyondStatistics() {
-        Map<String, Long> testMap = new HashMap<>();
-        Random random = new Random();
-        for(int i = 1; i <= 5; i++) {
-            testMap.put("测试项目" + i, (long)random.nextInt(10));
-        }
-        return testMap;
-    }
-
     /**
      * @param
      * @return
@@ -192,7 +180,7 @@ public class MaintenanceDataService {
                     return false;
                 })
                 .collect(Collectors.toList());
-        if (beyondMaintenanceDataModelList != null && beyondMaintenanceDataModelList.size() > 0) {
+        if (beyondMaintenanceDataModelList.size() > 0) {
             //获取当前时间
             LocalDate now = LocalDate.now();
             //设置超期类型

+ 8 - 7
lift-batch-service/src/main/java/cn/com/ty/lift/batch/applet/service/PaymentDataService.java

@@ -44,10 +44,10 @@ public class PaymentDataService {
      * @date 2020/2/4 2:20 下午
      */
     public void putPaymentDataToRedis(CommonRequest commonRequest) {
-        List<PaymentDataModel> paymentDataModelList = paymentDataMapper.getPaymentDataList(commonRequest);
-        //将收款数据放入redis中
-        DataStatisticsUtil.putStatisticsDataToRedis(paymentDataModelList, redisTemplate,
-                DataStatisticsConstants.PAYMENT_DATA_FIELD);
+//        List<PaymentDataModel> paymentDataModelList = paymentDataMapper.getPaymentDataList(commonRequest);
+//        //将收款数据放入redis中
+//        DataStatisticsUtil.putStatisticsDataToRedis(paymentDataModelList, redisTemplate,
+//                DataStatisticsConstants.PAYMENT_DATA_FIELD);
     }
 
     /**
@@ -58,9 +58,10 @@ public class PaymentDataService {
      */
     public List<PaymentDataModel> getPaymentDataListFromRedis(PaymentDataRequest paymentDataRequest) {
         //从redis中获取当前公司的收款数据
-        List<PaymentDataModel> paymentDataModelList = (List<PaymentDataModel>)
-                DataStatisticsUtil.getStatisticsDataFromRedis(redisTemplate,
-                        DataStatisticsConstants.PAYMENT_DATA_FIELD, paymentDataRequest.getMtCompanyId());
+        List<PaymentDataModel> paymentDataModelList = paymentDataMapper.getPaymentDataList(paymentDataRequest);
+//                (List<PaymentDataModel>)
+//                DataStatisticsUtil.getStatisticsDataFromRedis(redisTemplate,
+//                        DataStatisticsConstants.PAYMENT_DATA_FIELD, paymentDataRequest.getMtCompanyId());
         if (paymentDataModelList != null && paymentDataModelList.size() > 0) {
             //通过终止时间过滤
             if (paymentDataRequest.getEndDate() != null) {

+ 2 - 0
lift-batch-service/src/main/resources/mapper/AnnualInspectionDataMapper.xml

@@ -22,6 +22,8 @@
         on
             plr.project_id = p.id
         where
+            ai.mt_company_id = #{mtCompanyId}
+        and
             ai.plan_date <![CDATA[ >= ]]> #{startTimeDateStr}
         and
             ai.plan_date <![CDATA[ <= ]]> #{endTimeDateStr}

+ 5 - 0
lift-batch-service/src/main/resources/mapper/ContractDataMapper.xml

@@ -30,6 +30,11 @@
             on
                 c.id = pay.contracts_id
             where
+                true
+            <if test = "mtCompanyId !=  null">
+                and c.mt_company_id = #{mtCompanyId}
+            </if>
+            and
                 c.given_date <![CDATA[ >= ]]> #{startTimeDateStr}
             and
                 c.given_date <![CDATA[ <= ]]> #{endTimeDateStr}

+ 5 - 0
lift-batch-service/src/main/resources/mapper/EmergencyRepairDataMapper.xml

@@ -22,6 +22,11 @@
         on
             er.project_id = p.id
         where
+            true
+        <if test = "mtCompanyId !=  null">
+            and er.mt_company_id = #{mtCompanyId}
+        </if>
+        and
             er.caller_date <![CDATA[ >= ]]> #{startTimeDateStr}
         and
             er.caller_date <![CDATA[ <= ]]> #{endTimeDateStr}

+ 5 - 0
lift-batch-service/src/main/resources/mapper/LiftDataMapper.xml

@@ -30,6 +30,11 @@
             region r
         on
             p.region_id = r.id
+        where
+            true
+        <if test = "mtCompanyId !=  null">
+            and pclr.mt_company_id = #{mtCompanyId}
+        </if>
     </select>
 
 </mapper>

+ 5 - 4
lift-batch-service/src/main/resources/mapper/MaintenanceDataMapper.xml

@@ -17,10 +17,6 @@
             p.project_name as projectName
         from
             maintenance_plan mp
-        left join
-            maintenance_record mr
-        on
-            mp.id = mr.mt_plan_id
         left join
             project_lift_relevance plr
         on
@@ -30,6 +26,11 @@
         on
             mp.project_id = p.id
         where
+            true
+        <if test = "mtCompanyId !=  null">
+            and mp.mt_company_id = #{mtCompanyId}
+        </if>
+        and
             mp.plan_date <![CDATA[ >= ]]> #{startTimeDateStr}
         and
             mp.plan_date <![CDATA[ <= ]]> #{endTimeDateStr}

+ 6 - 1
lift-batch-service/src/main/resources/mapper/PaymentDataMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="cn.com.ty.lift.batch.applet.dao.mapper.PaymentDataMapper">
 
     <!-- 获取时间段内的收款数据 -->
-    <select id="getPaymentDataList" parameterType="cn.com.ty.lift.batch.applet.dao.model.request.CommonRequest"
+    <select id="getPaymentDataList" parameterType="cn.com.ty.lift.batch.applet.dao.model.request.PaymentDataRequest"
             resultType="cn.com.ty.lift.batch.applet.dao.model.PaymentDataModel">
            select
               c.mt_company_id as mtCompanyId,
@@ -29,5 +29,10 @@
               region r
            on
               pro.region_id = r.id
+        where
+            true
+        <if test = "mtCompanyId !=  null">
+            and c.mt_company_id = #{mtCompanyId}
+        </if>
     </select>
 </mapper>