Sfoglia il codice sorgente

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

wangxx 1 mese fa
parent
commit
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 11
 import org.springframework.web.bind.annotation.RequestMapping;
12 12
 import org.springframework.web.bind.annotation.RestController;
13 13
 
14
+import java.math.BigDecimal;
14 15
 import java.util.List;
15 16
 
16 17
 /**
@@ -388,6 +389,33 @@ public class BlockedDashboardController extends BaseController {
388 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 148
     @Excel(name = "T2行检万分率")
149 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 161
     /** 查堵合计件数万分率(查堵合计件数/过检行李合计*10000) */
152 162
     @ApiModelProperty("查堵合计万分率")
153 163
     @Excel(name = "查堵合计万分率")
@@ -405,6 +415,22 @@ public class BlockedLuggageStatisticsDaily extends BaseEntity {
405 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 434
     public void setTotalBlockRate(BigDecimal totalBlockRate) {
409 435
         this.totalBlockRate = totalBlockRate;
410 436
     }
@@ -514,6 +540,8 @@ public class BlockedLuggageStatisticsDaily extends BaseEntity {
514 540
                 .append("t2TravelBlockRate", getT2TravelBlockRate())
515 541
                 .append("t1WalkBlockRate", getT1WalkBlockRate())
516 542
                 .append("t2WalkBlockRate", getT2WalkBlockRate())
543
+                .append("travelInspectionBlockRate", getTravelInspectionBlockRate())
544
+                .append("walkInspectionBlockRate", getWalkInspectionBlockRate())
517 545
                 .append("totalBlockRate", getTotalBlockRate())
518 546
                 .append("dailyBlockRate", getDailyBlockRate())
519 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 375
      * @return 开机年限分布统计列表
376 376
      */
377 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 3
 import com.sundot.airport.blocked.dto.*;
4 4
 
5
+import java.math.BigDecimal;
5 6
 import java.util.List;
6 7
 
7 8
 /**
@@ -362,4 +363,21 @@ public interface IBlockedDashboardService {
362 363
      * @return 开机年限分布统计列表
363 364
      */
364 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 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 220
         data.setT2TravelBlockRate(calculateBlockRate(data.getT2TravelBlockedCount(), data.getT2TravelLuggageCount()));
221 221
         data.setT1WalkBlockRate(calculateBlockRate(data.getT1WalkBlockedCount(), data.getT1WalkLuggageCount()));
222 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 238
         data.setTotalBlockRate(calculateBlockRate(totalBlocked, totalLuggage));
224 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 1012
         ORDER BY count DESC
1013 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 1043
 </mapper>

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

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