From b6cceb30043362024861530c7bf4bb55b9322fd1 Mon Sep 17 00:00:00 2001 From: haozq <1611483981@qq.com> Date: Fri, 26 Dec 2025 10:35:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=8B=E5=8F=91=E7=8F=AD?= =?UTF-8?q?=E7=BB=84=E4=BB=BB=E5=8A=A1=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/redis/service/RedisService.java | 9 ++- .../mapper/bmw/BmWorkerAttMapper.xml | 34 +++++----- .../mapper/bmw/ProStatisticsMapper.xml | 39 ++++------- .../java/com/bonus/urk/handle/ReceiveCmd.java | 2 - .../com/bonus/urk/handle/ResultHandle.java | 16 ++++- .../com/bonus/urk/service/ResultService.java | 46 ++++++------- .../com/bonus/urk/service/TaskService.java | 64 ++++++++++++++++++- .../com/bonus/urk/servlet/DeviceServlet.java | 7 +- .../java/com/bonus/urk/vo/DeviceTaskVo.java | 2 + .../src/main/resources/bootstrap.yml | 2 +- .../main/resources/mapper/urk/TaskMapper.xml | 2 +- 11 files changed, 143 insertions(+), 80 deletions(-) diff --git a/bonus-common/bonus-common-redis/src/main/java/com/bonus/common/redis/service/RedisService.java b/bonus-common/bonus-common-redis/src/main/java/com/bonus/common/redis/service/RedisService.java index 392b3b9..9026932 100644 --- a/bonus-common/bonus-common-redis/src/main/java/com/bonus/common/redis/service/RedisService.java +++ b/bonus-common/bonus-common-redis/src/main/java/com/bonus/common/redis/service/RedisService.java @@ -101,8 +101,13 @@ public class RedisService */ public T getCacheObject(final String key) { - ValueOperations operation = redisTemplate.opsForValue(); - return operation.get(key); + try{ + ValueOperations operation = redisTemplate.opsForValue(); + return operation.get(key); + }catch(Exception e){ + e.printStackTrace(); + } + return null; } /** diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerAttMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerAttMapper.xml index 2161a21..fe5f5f2 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerAttMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerAttMapper.xml @@ -36,32 +36,32 @@ SELECT psc.id AS sub_com_id, psc.sub_company_name, - COUNT(distinct IF(pp.pro_status = '0', pp.id, NULL)) AS buildProNum, - COUNT(distinct IF(pp.pro_status = '2', pp.id, NULL)) AS preProNum, - COUNT(distinct IF(pp.pro_status = '4', pp.id, NULL)) AS completedProNum, + SUM(CASE WHEN pp.pro_status = '0' THEN 1 ELSE 0 END) AS buildProNum, + SUM(CASE WHEN pp.pro_status = '2' THEN 1 ELSE 0 END) AS preProNum, + SUM(CASE WHEN pp.pro_status = '4' THEN 1 ELSE 0 END) AS completedProNum, COUNT(DISTINCT bsc.sub_id) AS subNum, COUNT(DISTINCT bstc.team_id) AS teamNum, COUNT(DISTINCT bwem.worker_id) AS einNum, COUNT(DISTINCT bap.worker_id) AS attNum - FROM + FROM pm_sub_company psc - LEFT JOIN pm_project pp ON psc.id = pp.sub_com_id - AND pp.is_active = 1 - LEFT JOIN bm_sub_contract bsc ON bsc.pro_id = pp.id - AND bsc.is_active = 1 - LEFT JOIN pm_sub_team_contract bstc ON bstc.sub_id = bsc.sub_id - AND bsc.pro_id = bstc.pro_id - AND bstc.is_active = 1 - - LEFT JOIN bm_worker_ein_day_record bwem ON pp.id = bwem.pro_id and bwem.ein_day = #{startDate} - LEFT JOIN bm_att_person bap ON bap.pro_id = pp.id AND bap.att_day = #{startDate} - WHERE + LEFT JOIN pm_project pp ON psc.id = pp.sub_com_id AND pp.is_active = 1 + LEFT JOIN bm_sub_contract bsc ON bsc.pro_id = pp.id AND bsc.is_active = 1 + LEFT JOIN pm_sub_team_contract bstc ON bstc.sub_id = bsc.sub_id AND bstc.pro_id = pp.id AND bstc.is_active = 1 + LEFT JOIN bm_worker_ein_day_record bwem ON pp.id = bwem.pro_id AND bwem.ein_day = #{startDate} + LEFT JOIN bm_att_person bap ON bap.pro_id = pp.id AND bap.att_day = #{startDate} + WHERE psc.is_active = 1 AND psc.id = #{subComId} - GROUP BY - psc.id + -- 将pp的过滤条件移到WHERE,减少关联数据(LEFT JOIN不影响主表) + + GROUP BY + psc.id, psc.sub_company_name -- 分组字段补全,避免语法警告 + + + -