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