Kaynağa Gözat

行检万分查堵率+旅检万分查堵率新增字段,处理原始数据,新增大屏接口

wangxx 1 ay önce
ebeveyn
işleme
9d9255b98d

+ 28 - 0
airport-admin/src/main/java/com/sundot/airport/web/controller/blocked/BlockedDashboardController.java

@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.GetMapping;
11
 import org.springframework.web.bind.annotation.RequestMapping;
11
 import org.springframework.web.bind.annotation.RequestMapping;
12
 import org.springframework.web.bind.annotation.RestController;
12
 import org.springframework.web.bind.annotation.RestController;
13
 
13
 
14
+import java.math.BigDecimal;
14
 import java.util.List;
15
 import java.util.List;
15
 
16
 
16
 /**
17
 /**
@@ -388,6 +389,33 @@ public class BlockedDashboardController extends BaseController {
388
         return success(resultList);
389
         return success(resultList);
389
     }
390
     }
390
 
391
 
392
+    /**
393
+     * 查询旅检万分查堵率平均值
394
+     * 数据源:每日过检行李查堵数据收集表-旅检万分查堵率-平均值
395
+     * 
396
+     * @param queryDTO 查询参数(开始时间、结束时间、大队ID)
397
+     * @return 旅检万分查堵率平均值
398
+     */
399
+    @ApiOperation("旅检万分查堵率平均值")
400
+    @GetMapping("/travelInspectionBlockRate")
401
+    public AjaxResult getTravelInspectionBlockRate(BlockedDashboardQueryDTO queryDTO) {
402
+        BigDecimal result = blockedDashboardService.getTravelInspectionBlockRate(queryDTO);
403
+        return success(result);
404
+    }
405
+
406
+    /**
407
+     * 查询行检万分查堵率平均值
408
+     * 数据源:每日过检行李查堵数据收集表-行检万分查堵率-平均值
409
+     * 
410
+     * @param queryDTO 查询参数(开始时间、结束时间、大队ID)
411
+     * @return 行检万分查堵率平均值
412
+     */
413
+    @ApiOperation("行检万分查堵率平均值")
414
+    @GetMapping("/walkInspectionBlockRate")
415
+    public AjaxResult getWalkInspectionBlockRate(BlockedDashboardQueryDTO queryDTO) {
416
+        BigDecimal result = blockedDashboardService.getWalkInspectionBlockRate(queryDTO);
417
+        return success(result);
418
+    }
391
 
419
 
392
 
420
 
393
   
421
   

+ 28 - 0
airport-blocked/src/main/java/com/sundot/airport/blocked/domain/BlockedLuggageStatisticsDaily.java

@@ -148,6 +148,16 @@ public class BlockedLuggageStatisticsDaily extends BaseEntity {
148
     @Excel(name = "T2行检万分率")
148
     @Excel(name = "T2行检万分率")
149
     private BigDecimal t2WalkBlockRate;
149
     private BigDecimal t2WalkBlockRate;
150
 
150
 
151
+    /** 旅检万分查堵率((T1旅检查堵件数+T2旅检查堵件数)/(T1旅检过检行李数+T2旅检过检行李数)*10000) */
152
+    @ApiModelProperty("旅检万分查堵率")
153
+    @Excel(name = "旅检万分查堵率")
154
+    private BigDecimal travelInspectionBlockRate;
155
+
156
+    /** 行检万分查堵率((T1行检查堵件数+T2行检查堵件数)/(T1行检过检行李数+T2行检过检行李数)*10000) */
157
+    @ApiModelProperty("行检万分查堵率")
158
+    @Excel(name = "行检万分查堵率")
159
+    private BigDecimal walkInspectionBlockRate;
160
+
151
     /** 查堵合计件数万分率(查堵合计件数/过检行李合计*10000) */
161
     /** 查堵合计件数万分率(查堵合计件数/过检行李合计*10000) */
152
     @ApiModelProperty("查堵合计万分率")
162
     @ApiModelProperty("查堵合计万分率")
153
     @Excel(name = "查堵合计万分率")
163
     @Excel(name = "查堵合计万分率")
@@ -405,6 +415,22 @@ public class BlockedLuggageStatisticsDaily extends BaseEntity {
405
         return t2WalkBlockRate;
415
         return t2WalkBlockRate;
406
     }
416
     }
407
 
417
 
418
+    public void setTravelInspectionBlockRate(BigDecimal travelInspectionBlockRate) {
419
+        this.travelInspectionBlockRate = travelInspectionBlockRate;
420
+    }
421
+
422
+    public BigDecimal getTravelInspectionBlockRate() {
423
+        return travelInspectionBlockRate;
424
+    }
425
+
426
+    public void setWalkInspectionBlockRate(BigDecimal walkInspectionBlockRate) {
427
+        this.walkInspectionBlockRate = walkInspectionBlockRate;
428
+    }
429
+
430
+    public BigDecimal getWalkInspectionBlockRate() {
431
+        return walkInspectionBlockRate;
432
+    }
433
+
408
     public void setTotalBlockRate(BigDecimal totalBlockRate) {
434
     public void setTotalBlockRate(BigDecimal totalBlockRate) {
409
         this.totalBlockRate = totalBlockRate;
435
         this.totalBlockRate = totalBlockRate;
410
     }
436
     }
@@ -514,6 +540,8 @@ public class BlockedLuggageStatisticsDaily extends BaseEntity {
514
                 .append("t2TravelBlockRate", getT2TravelBlockRate())
540
                 .append("t2TravelBlockRate", getT2TravelBlockRate())
515
                 .append("t1WalkBlockRate", getT1WalkBlockRate())
541
                 .append("t1WalkBlockRate", getT1WalkBlockRate())
516
                 .append("t2WalkBlockRate", getT2WalkBlockRate())
542
                 .append("t2WalkBlockRate", getT2WalkBlockRate())
543
+                .append("travelInspectionBlockRate", getTravelInspectionBlockRate())
544
+                .append("walkInspectionBlockRate", getWalkInspectionBlockRate())
517
                 .append("totalBlockRate", getTotalBlockRate())
545
                 .append("totalBlockRate", getTotalBlockRate())
518
                 .append("dailyBlockRate", getDailyBlockRate())
546
                 .append("dailyBlockRate", getDailyBlockRate())
519
                 .append("totalLuggageCount", getTotalLuggageCount())
547
                 .append("totalLuggageCount", getTotalLuggageCount())

+ 16 - 0
airport-blocked/src/main/java/com/sundot/airport/blocked/mapper/BlockedDashboardMapper.java

@@ -375,4 +375,20 @@ public interface BlockedDashboardMapper {
375
      * @return 开机年限分布统计列表
375
      * @return 开机年限分布统计列表
376
      */
376
      */
377
     List<BlockedOperatingYearsDistributionDTO> selectOperatingYearsDistribution(BlockedDashboardQueryDTO queryDTO);
377
     List<BlockedOperatingYearsDistributionDTO> selectOperatingYearsDistribution(BlockedDashboardQueryDTO queryDTO);
378
+
379
+    /**
380
+     * 查询旅检万分查堵率平均值
381
+     * 
382
+     * @param queryDTO 查询参数
383
+     * @return 旅检万分查堵率平均值
384
+     */
385
+    java.math.BigDecimal selectTravelInspectionBlockRate(BlockedDashboardQueryDTO queryDTO);
386
+
387
+    /**
388
+     * 查询行检万分查堵率平均值
389
+     * 
390
+     * @param queryDTO 查询参数
391
+     * @return 行检万分查堵率平均值
392
+     */
393
+    java.math.BigDecimal selectWalkInspectionBlockRate(BlockedDashboardQueryDTO queryDTO);
378
 }
394
 }

+ 18 - 0
airport-blocked/src/main/java/com/sundot/airport/blocked/service/IBlockedDashboardService.java

@@ -2,6 +2,7 @@ package com.sundot.airport.blocked.service;
2
 
2
 
3
 import com.sundot.airport.blocked.dto.*;
3
 import com.sundot.airport.blocked.dto.*;
4
 
4
 
5
+import java.math.BigDecimal;
5
 import java.util.List;
6
 import java.util.List;
6
 
7
 
7
 /**
8
 /**
@@ -362,4 +363,21 @@ public interface IBlockedDashboardService {
362
      * @return 开机年限分布统计列表
363
      * @return 开机年限分布统计列表
363
      */
364
      */
364
     List<BlockedOperatingYearsDistributionDTO> getOperatingYearsDistribution(BlockedDashboardQueryDTO queryDTO);
365
     List<BlockedOperatingYearsDistributionDTO> getOperatingYearsDistribution(BlockedDashboardQueryDTO queryDTO);
366
+
367
+    /**
368
+     * 查询旅检万分查堵率平均值
369
+     * 
370
+     * @param queryDTO 查询参数
371
+     * @return 旅检万分查堵率平均值
372
+     */
373
+    BigDecimal getTravelInspectionBlockRate(BlockedDashboardQueryDTO queryDTO);
374
+
375
+    /**
376
+     * 查询行检万分查堵率平均值
377
+     * 
378
+     * @param queryDTO 查询参数
379
+     * @return 行检万分查堵率平均值
380
+     */
381
+    BigDecimal getWalkInspectionBlockRate(BlockedDashboardQueryDTO queryDTO);
365
 }
382
 }
383
+

+ 32 - 0
airport-blocked/src/main/java/com/sundot/airport/blocked/service/impl/BlockedDashboardServiceImpl.java

@@ -1057,4 +1057,36 @@ public class BlockedDashboardServiceImpl implements IBlockedDashboardService {
1057
 
1057
 
1058
         return result;
1058
         return result;
1059
     }
1059
     }
1060
+
1061
+    /**
1062
+     * 查询旅检万分查堵率平均值
1063
+     * 
1064
+     * @param queryDTO 查询参数
1065
+     * @return 旅检万分查堵率平均值
1066
+     */
1067
+    @Override
1068
+    public BigDecimal getTravelInspectionBlockRate(BlockedDashboardQueryDTO queryDTO) {
1069
+        BigDecimal travelRate = blockedDashboardMapper.selectTravelInspectionBlockRate(queryDTO);
1070
+        // 保留两位小数
1071
+        if (travelRate != null) {
1072
+            return travelRate.setScale(2, java.math.RoundingMode.HALF_UP);
1073
+        }
1074
+        return BigDecimal.ZERO;
1075
+    }
1076
+
1077
+    /**
1078
+     * 查询行检万分查堵率平均值
1079
+     * 
1080
+     * @param queryDTO 查询参数
1081
+     * @return 行检万分查堵率平均值
1082
+     */
1083
+    @Override
1084
+    public BigDecimal getWalkInspectionBlockRate(BlockedDashboardQueryDTO queryDTO) {
1085
+        BigDecimal walkRate = blockedDashboardMapper.selectWalkInspectionBlockRate(queryDTO);
1086
+        // 保留两位小数
1087
+        if (walkRate != null) {
1088
+            return walkRate.setScale(2, java.math.RoundingMode.HALF_UP);
1089
+        }
1090
+        return BigDecimal.ZERO;
1091
+    }
1060
 }
1092
 }

+ 15 - 0
airport-blocked/src/main/java/com/sundot/airport/blocked/service/impl/BlockedLuggageStatisticsDailyServiceImpl.java

@@ -220,6 +220,21 @@ public class BlockedLuggageStatisticsDailyServiceImpl implements IBlockedLuggage
220
         data.setT2TravelBlockRate(calculateBlockRate(data.getT2TravelBlockedCount(), data.getT2TravelLuggageCount()));
220
         data.setT2TravelBlockRate(calculateBlockRate(data.getT2TravelBlockedCount(), data.getT2TravelLuggageCount()));
221
         data.setT1WalkBlockRate(calculateBlockRate(data.getT1WalkBlockedCount(), data.getT1WalkLuggageCount()));
221
         data.setT1WalkBlockRate(calculateBlockRate(data.getT1WalkBlockedCount(), data.getT1WalkLuggageCount()));
222
         data.setT2WalkBlockRate(calculateBlockRate(data.getT2WalkBlockedCount(), data.getT2WalkLuggageCount()));
222
         data.setT2WalkBlockRate(calculateBlockRate(data.getT2WalkBlockedCount(), data.getT2WalkLuggageCount()));
223
+        
224
+        // 计算旅检万分查堵率:(T1旅检查堵件数+T2旅检查堵件数)/(T1旅检过检行李数+T2旅检过检行李数)*10000
225
+        Integer travelBlockedCount = (data.getT1TravelBlockedCount() != null ? data.getT1TravelBlockedCount() : 0)
226
+                + (data.getT2TravelBlockedCount() != null ? data.getT2TravelBlockedCount() : 0);
227
+        Integer travelLuggageCount = (data.getT1TravelLuggageCount() != null ? data.getT1TravelLuggageCount() : 0)
228
+                + (data.getT2TravelLuggageCount() != null ? data.getT2TravelLuggageCount() : 0);
229
+        data.setTravelInspectionBlockRate(calculateBlockRate(travelBlockedCount, travelLuggageCount));
230
+        
231
+        // 计算行检万分查堵率:(T1行检查堵件数+T2行检查堵件数)/(T1行检过检行李数+T2行检过检行李数)*10000
232
+        Integer walkBlockedCount = (data.getT1WalkBlockedCount() != null ? data.getT1WalkBlockedCount() : 0)
233
+                + (data.getT2WalkBlockedCount() != null ? data.getT2WalkBlockedCount() : 0);
234
+        Integer walkLuggageCount = (data.getT1WalkLuggageCount() != null ? data.getT1WalkLuggageCount() : 0)
235
+                + (data.getT2WalkLuggageCount() != null ? data.getT2WalkLuggageCount() : 0);
236
+        data.setWalkInspectionBlockRate(calculateBlockRate(walkBlockedCount, walkLuggageCount));
237
+        
223
         data.setTotalBlockRate(calculateBlockRate(totalBlocked, totalLuggage));
238
         data.setTotalBlockRate(calculateBlockRate(totalBlocked, totalLuggage));
224
         data.setDailyBlockRate(calculateBlockRate(totalBlocked, totalLuggage));
239
         data.setDailyBlockRate(calculateBlockRate(totalBlocked, totalLuggage));
225
 
240
 

+ 28 - 0
airport-blocked/src/main/resources/mapper/blocked/BlockedDashboardMapper.xml

@@ -1012,4 +1012,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
1012
         ORDER BY count DESC
1012
         ORDER BY count DESC
1013
     </select>
1013
     </select>
1014
 
1014
 
1015
+    <!-- 查询旅检万分查堵率平均值 -->
1016
+    <select id="selectTravelInspectionBlockRate" resultType="java.math.BigDecimal">
1017
+        SELECT COALESCE(AVG(travel_inspection_block_rate), 0) as travelInspectionBlockRate
1018
+        FROM blocked_luggage_statistics_daily
1019
+        WHERE del_flag = '0'
1020
+        <if test="startTime != null and endTime != null">
1021
+            AND stat_date &gt;= #{startTime}
1022
+            AND stat_date &lt;= #{endTime}
1023
+        </if>
1024
+        <if test="brigadeId != null">
1025
+            AND brigade_id = #{brigadeId}
1026
+        </if>
1027
+    </select>
1028
+
1029
+    <!-- 查询行检万分查堵率平均值 -->
1030
+    <select id="selectWalkInspectionBlockRate" resultType="java.math.BigDecimal">
1031
+        SELECT COALESCE(AVG(walk_inspection_block_rate), 0) as walkInspectionBlockRate
1032
+        FROM blocked_luggage_statistics_daily
1033
+        WHERE del_flag = '0'
1034
+        <if test="startTime != null and endTime != null">
1035
+            AND stat_date &gt;= #{startTime}
1036
+            AND stat_date &lt;= #{endTime}
1037
+        </if>
1038
+        <if test="brigadeId != null">
1039
+            AND brigade_id = #{brigadeId}
1040
+        </if>
1041
+    </select>
1042
+
1015
 </mapper>
1043
 </mapper>

+ 10 - 0
airport-blocked/src/main/resources/mapper/blocked/BlockedLuggageStatisticsDailyMapper.xml

@@ -31,6 +31,8 @@
31
         <result property="t2TravelBlockRate" column="t2_travel_block_rate"/>
31
         <result property="t2TravelBlockRate" column="t2_travel_block_rate"/>
32
         <result property="t1WalkBlockRate" column="t1_walk_block_rate"/>
32
         <result property="t1WalkBlockRate" column="t1_walk_block_rate"/>
33
         <result property="t2WalkBlockRate" column="t2_walk_block_rate"/>
33
         <result property="t2WalkBlockRate" column="t2_walk_block_rate"/>
34
+        <result property="travelInspectionBlockRate" column="travel_inspection_block_rate"/>
35
+        <result property="walkInspectionBlockRate" column="walk_inspection_block_rate"/>
34
         <result property="totalBlockRate" column="total_block_rate"/>
36
         <result property="totalBlockRate" column="total_block_rate"/>
35
         <result property="dailyBlockRate" column="daily_block_rate"/>
37
         <result property="dailyBlockRate" column="daily_block_rate"/>
36
         <result property="totalLuggageCount" column="total_luggage_count"/>
38
         <result property="totalLuggageCount" column="total_luggage_count"/>
@@ -75,6 +77,8 @@
75
                t2_travel_block_rate,
77
                t2_travel_block_rate,
76
                t1_walk_block_rate,
78
                t1_walk_block_rate,
77
                t2_walk_block_rate,
79
                t2_walk_block_rate,
80
+               travel_inspection_block_rate,
81
+               walk_inspection_block_rate,
78
                total_block_rate,
82
                total_block_rate,
79
                daily_block_rate,
83
                daily_block_rate,
80
                total_luggage_count,
84
                total_luggage_count,
@@ -143,6 +147,8 @@
143
             <if test="t2TravelBlockRate != null">t2_travel_block_rate,</if>
147
             <if test="t2TravelBlockRate != null">t2_travel_block_rate,</if>
144
             <if test="t1WalkBlockRate != null">t1_walk_block_rate,</if>
148
             <if test="t1WalkBlockRate != null">t1_walk_block_rate,</if>
145
             <if test="t2WalkBlockRate != null">t2_walk_block_rate,</if>
149
             <if test="t2WalkBlockRate != null">t2_walk_block_rate,</if>
150
+            <if test="travelInspectionBlockRate != null">travel_inspection_block_rate,</if>
151
+            <if test="walkInspectionBlockRate != null">walk_inspection_block_rate,</if>
146
             <if test="totalBlockRate != null">total_block_rate,</if>
152
             <if test="totalBlockRate != null">total_block_rate,</if>
147
             <if test="dailyBlockRate != null">daily_block_rate,</if>
153
             <if test="dailyBlockRate != null">daily_block_rate,</if>
148
             <if test="totalLuggageCount != null">total_luggage_count,</if>
154
             <if test="totalLuggageCount != null">total_luggage_count,</if>
@@ -185,6 +191,8 @@
185
             <if test="t2TravelBlockRate != null">#{t2TravelBlockRate},</if>
191
             <if test="t2TravelBlockRate != null">#{t2TravelBlockRate},</if>
186
             <if test="t1WalkBlockRate != null">#{t1WalkBlockRate},</if>
192
             <if test="t1WalkBlockRate != null">#{t1WalkBlockRate},</if>
187
             <if test="t2WalkBlockRate != null">#{t2WalkBlockRate},</if>
193
             <if test="t2WalkBlockRate != null">#{t2WalkBlockRate},</if>
194
+            <if test="travelInspectionBlockRate != null">#{travelInspectionBlockRate},</if>
195
+            <if test="walkInspectionBlockRate != null">#{walkInspectionBlockRate},</if>
188
             <if test="totalBlockRate != null">#{totalBlockRate},</if>
196
             <if test="totalBlockRate != null">#{totalBlockRate},</if>
189
             <if test="dailyBlockRate != null">#{dailyBlockRate},</if>
197
             <if test="dailyBlockRate != null">#{dailyBlockRate},</if>
190
             <if test="totalLuggageCount != null">#{totalLuggageCount},</if>
198
             <if test="totalLuggageCount != null">#{totalLuggageCount},</if>
@@ -231,6 +239,8 @@
231
             <if test="t2TravelBlockRate != null">t2_travel_block_rate = #{t2TravelBlockRate},</if>
239
             <if test="t2TravelBlockRate != null">t2_travel_block_rate = #{t2TravelBlockRate},</if>
232
             <if test="t1WalkBlockRate != null">t1_walk_block_rate = #{t1WalkBlockRate},</if>
240
             <if test="t1WalkBlockRate != null">t1_walk_block_rate = #{t1WalkBlockRate},</if>
233
             <if test="t2WalkBlockRate != null">t2_walk_block_rate = #{t2WalkBlockRate},</if>
241
             <if test="t2WalkBlockRate != null">t2_walk_block_rate = #{t2WalkBlockRate},</if>
242
+            <if test="travelInspectionBlockRate != null">travel_inspection_block_rate = #{travelInspectionBlockRate},</if>
243
+            <if test="walkInspectionBlockRate != null">walk_inspection_block_rate = #{walkInspectionBlockRate},</if>
234
             <if test="totalBlockRate != null">total_block_rate = #{totalBlockRate},</if>
244
             <if test="totalBlockRate != null">total_block_rate = #{totalBlockRate},</if>
235
             <if test="dailyBlockRate != null">daily_block_rate = #{dailyBlockRate},</if>
245
             <if test="dailyBlockRate != null">daily_block_rate = #{dailyBlockRate},</if>
236
             <if test="totalLuggageCount != null">total_luggage_count = #{totalLuggageCount},</if>
246
             <if test="totalLuggageCount != null">total_luggage_count = #{totalLuggageCount},</if>