Commit da8d06be471934e83203382e6e5235a04f7699b8

Authored by guzijian
1 parent fc5a7fb2

fix: 解决查询区域公司为空时报错问题

trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderServiceImpl.java
@@ -572,9 +572,8 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> @@ -572,9 +572,8 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder>
572 } else { 572 } else {
573 comparator = Comparator.comparing(TransportationEnterpriseVo::getDistance); 573 comparator = Comparator.comparing(TransportationEnterpriseVo::getDistance);
574 } 574 }
575 -  
576 - List<Long> enterpriseIds = list.stream().map(TransportationEnterprise::getId).collect(Collectors.toList());  
577 // 企业id为空说明没有公司 575 // 企业id为空说明没有公司
  576 + List<Long> enterpriseIds = list.stream().map(TransportationEnterprise::getId).collect(Collectors.toList());
578 List<GarOrder> orderList = baseMapper.queryCleanNumberByEnterpriseIds(enterpriseIds, GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue()); 577 List<GarOrder> orderList = baseMapper.queryCleanNumberByEnterpriseIds(enterpriseIds, GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue());
579 List<GarOrderEvaluate> evaluateList = garOrderEvaluateService.queryEvaluateByEnterpriseIds(enterpriseIds, GlobalStatus.GarOrderStatus.EVALUATE_TYPE_COMPANY.getValue()); 578 List<GarOrderEvaluate> evaluateList = garOrderEvaluateService.queryEvaluateByEnterpriseIds(enterpriseIds, GlobalStatus.GarOrderStatus.EVALUATE_TYPE_COMPANY.getValue());
580 Map<String, List<GarOrderEvaluate>> evaluateMap = new HashMap<>(); 579 Map<String, List<GarOrderEvaluate>> evaluateMap = new HashMap<>();
trash-garbage/src/main/resources/mapper/GarOrderMapper.xml
@@ -77,18 +77,19 @@ @@ -77,18 +77,19 @@
77 </foreach> 77 </foreach>
78 </update> 78 </update>
79 <select id="queryCleanNumberByEnterpriseIds" resultType="com.trash.garbage.pojo.domain.GarOrder"> 79 <select id="queryCleanNumberByEnterpriseIds" resultType="com.trash.garbage.pojo.domain.GarOrder">
80 -  
81 - <if test="list != null and list.size() > 0">  
82 select gar_order_company_id, count(gar_order_company_id) as count 80 select gar_order_company_id, count(gar_order_company_id) as count
83 from gar_order 81 from gar_order
84 where gar_order_handler_status = #{status} 82 where gar_order_handler_status = #{status}
  83 + <if test="list == null or list.size() == 0">
  84 + and 1 = 0
  85 + </if>
  86 + <if test="list != null and list.size() > 0">
85 and gar_order_company_id in 87 and gar_order_company_id in
86 <foreach collection="list" item="item" open="(" separator="," close=")"> 88 <foreach collection="list" item="item" open="(" separator="," close=")">
87 #{item} 89 #{item}
88 </foreach> 90 </foreach>
89 - group by gar_order_company_id  
90 </if> 91 </if>
91 - 92 + group by gar_order_company_id
92 </select> 93 </select>
93 <select id="queryDriverOrderListByTelWithType" resultType="com.trash.garbage.pojo.vo.GarOrderDriverVo"> 94 <select id="queryDriverOrderListByTelWithType" resultType="com.trash.garbage.pojo.vo.GarOrderDriverVo">
94 SELECT 95 SELECT
@@ -97,7 +98,7 @@ @@ -97,7 +98,7 @@
97 `order`.gar_order_trash_type,`order`.gar_order_contact_tel,`order`.gar_order_company_id,`order`.gar_latitude, 98 `order`.gar_order_trash_type,`order`.gar_order_contact_tel,`order`.gar_order_company_id,`order`.gar_latitude,
98 `order`.gar_order_company_name,`order`.gar_order_company_tel,`order`.gar_order_scan_handler_flag, 99 `order`.gar_order_company_name,`order`.gar_order_company_tel,`order`.gar_order_scan_handler_flag,
99 `order`.gar_order_agreement_time,`order`.gar_remark,`order`.gar_handler_evaluate_flag, 100 `order`.gar_order_agreement_time,`order`.gar_remark,`order`.gar_handler_evaluate_flag,
100 --- `order`.gar_order_handler_status gar_order_status, 101 + -- `order`.gar_order_handler_status gar_order_status,
101 `handler`.gar_order_handler_status,`handler`.gar_cancel_flag,`handler`.gar_reason,`order`.gar_real_car_count 102 `handler`.gar_order_handler_status,`handler`.gar_cancel_flag,`handler`.gar_reason,`order`.gar_real_car_count
102 FROM gar_order `order` 103 FROM gar_order `order`
103 INNER JOIN gar_order_match_handler `handler` ON `order`.gar_order_id = `handler`.gar_order_id 104 INNER JOIN gar_order_match_handler `handler` ON `order`.gar_order_id = `handler`.gar_order_id
@@ -151,12 +152,12 @@ @@ -151,12 +152,12 @@
151 `disposal`.gar_order_disposal_status, 152 `disposal`.gar_order_disposal_status,
152 `order`.gar_real_car_count, 153 `order`.gar_real_car_count,
153 ( 154 (
154 - CASE  
155 - `order`.gar_order_id  
156 - WHEN `order`.gar_order_id THEN  
157 - ( SELECT count(*) FROM gar_order_match_ask ask INNER JOIN gar_order ON `gar_order`.gar_order_id =  
158 - `ask`.gar_order_id WHERE `order`.gar_order_id = `gar_order`.gar_order_id )  
159 - END 155 + CASE
  156 + `order`.gar_order_id
  157 + WHEN `order`.gar_order_id THEN
  158 + ( SELECT count(*) FROM gar_order_match_ask ask INNER JOIN gar_order ON `gar_order`.gar_order_id =
  159 + `ask`.gar_order_id WHERE `order`.gar_order_id = `gar_order`.gar_order_id )
  160 + END
160 ) AS gar_now_car_count 161 ) AS gar_now_car_count
161 FROM 162 FROM
162 gar_order `order` 163 gar_order `order`
@@ -219,11 +220,13 @@ @@ -219,11 +220,13 @@
219 <select id="queryUnprocessedOrder" resultType="com.trash.garbage.pojo.domain.GarOrder"> 220 <select id="queryUnprocessedOrder" resultType="com.trash.garbage.pojo.domain.GarOrder">
220 select * 221 select *
221 from gar_order 222 from gar_order
222 - where gar_order.gar_order_handler_status = #{orderType} and gar_order.gar_time_out_flag = #{timeOutFlag} and gar_order.gar_cancel_flag = #{cancelFlag} 223 + where gar_order.gar_order_handler_status = #{orderType}
  224 + and gar_order.gar_time_out_flag = #{timeOutFlag}
  225 + and gar_order.gar_cancel_flag = #{cancelFlag}
223 </select> 226 </select>
224 <select id="queryDriverOrderListByTelWithTypeCount" resultType="java.lang.Integer"> 227 <select id="queryDriverOrderListByTelWithTypeCount" resultType="java.lang.Integer">
225 SELECT 228 SELECT
226 - count(*) 229 + count(*)
227 FROM gar_order `order` 230 FROM gar_order `order`
228 INNER JOIN gar_order_match_handler `handler` ON `order`.gar_order_id = `handler`.gar_order_id 231 INNER JOIN gar_order_match_handler `handler` ON `order`.gar_order_id = `handler`.gar_order_id
229 <where> 232 <where>