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 -- 分组字段补全,避免语法警告 + + + -