Browse Source

update 增加运单列表显示导出相关权限条件

chenlin 2 năm trước cách đây
mục cha
commit
3c2f15bffe

+ 2 - 14
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtWaybillOrderMapper.java

@@ -149,6 +149,7 @@ public interface KwtWaybillOrderMapper extends BaseMapper<KwtWaybillOrder> {
      */
     Long selectWaybillOrderCountByStatus(
             @Param("entId") Long entId,
+            @Param("createBys") List<Long> createBys,
             @Param("statuses") List<Long> statuses,
             @Param("keyword") String keyword,
             @Param("startDate") String startDate,
@@ -156,20 +157,6 @@ public interface KwtWaybillOrderMapper extends BaseMapper<KwtWaybillOrder> {
 
     Map<String,Object> selectOrderByOrderId(@Param("orderId") Long orderId, @Param("type") Integer type, @Param("statusList") List<Long> statusList);
 
-    /**
-     * 按装卸量统计运单
-     * @param entId 企业ID
-     * @param statuses 查询状态
-     * @return
-     */
-    Map<String,Object> selectWaybillOrderAmountByStatus(
-            @Param("entId") Long entId,
-            @Param("statuses") List<Long> statuses,
-            @Param("keyword") String keyword,
-            @Param("startDate") String startDate,
-            @Param("endDate") String endDate
-    );
-
     /**
      * 按装卸量统计运单
      * @param entId 企业ID
@@ -178,6 +165,7 @@ public interface KwtWaybillOrderMapper extends BaseMapper<KwtWaybillOrder> {
      */
     List<WaybillAmountDTO> selectWaybillOrdersByStatus(
             @Param("entId") Long entId,
+            @Param("createBys") List<Long> createBys,
             @Param("statuses") List<Long> statuses,
             @Param("keyword") String keyword,
             @Param("startDate") String startDate,

+ 17 - 120
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java

@@ -322,64 +322,6 @@ public class WaybillManagementService {
         }
         waybillSimpleDataVO.setProcess(statusVOS);
         return HttpResult.ok(waybillSimpleDataVO);
-        /*WaybillSimpleDataVO waybillSimpleDataVO = new WaybillSimpleDataVO();
-        Criteria criteria = new Criteria();
-        criteria.and("wOrderId").is(id);
-        criteria.and("entId").is(LoginUserHolder.getEntId());
-        criteria.and("delFlag").is(NumberConstant.ZERO);
-        Query queryFormat = new Query(criteria);
-        SckwWaybillOrder info = mongoTemplate.findOne(queryFormat, SckwWaybillOrder.class);
-        if(!ObjectUtils.isEmpty(info)) {
-            waybillSimpleDataVO.setWOrderId(info.getWOrderId() == null ?
-                    String.valueOf(info.get_id()) : String.valueOf(info.getWOrderId()));
-            waybillSimpleDataVO.setWOrderNo(info.getWOrderNo());
-            waybillSimpleDataVO.setLOrderId(String.valueOf(info.getLOrderId()));
-            waybillSimpleDataVO.setLOrderNo(info.getLOrderNo());
-            waybillSimpleDataVO.setLOrderNo(info.getLOrderNo());
-            waybillSimpleDataVO.setTruckId(info.getTruckId());
-            waybillSimpleDataVO.setStatus(String.valueOf(info.getStatus()));
-            waybillSimpleDataVO.setTruckNo(info.getTruckNo());
-            waybillSimpleDataVO.setDriverId(info.getDriverId());
-            waybillSimpleDataVO.setDriverName(info.getDriverName());
-            waybillSimpleDataVO.setDriverPhone(info.getDriverPhone());
-            waybillSimpleDataVO.setDriverId(info.getDriverId());
-            waybillSimpleDataVO.setType(String.valueOf(info.getType()));
-        }
-        List<Integer> statuses = initWaybillIndexStatus();
-        // 初始化各状态
-        List<WaybillStatusVO> statusVOS = new ArrayList<>();
-        statuses.forEach(e -> {
-            WaybillStatusVO waybillStatusVO = new WaybillStatusVO();
-            waybillStatusVO.setStatus(false);
-            waybillStatusVO.setCode(e);
-            waybillStatusVO.setDestination(CarWaybillEnum.getName(e));
-            statusVOS.add(waybillStatusVO);
-        });
-        List<KwtWaybillOrderTrack> kwtWaybillOrderTracks = kwtWaybillOrderTrackMapper.selectList(new LambdaQueryWrapper<KwtWaybillOrderTrack>()
-                .eq(KwtWaybillOrderTrack::getWOrderId, id));
-        if (CollectionUtils.isNotEmpty(kwtWaybillOrderTracks)) {
-            List<Long> userIds = new ArrayList<>();
-            kwtWaybillOrderTracks.forEach(e -> userIds.add(e.getCreateBy()));
-            List<UserCacheResDto> users = remoteSystemService.queryUserCacheByIds(userIds);
-            Map<Long, UserCacheResDto> usersMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
-            users.forEach(e -> usersMap.put(e.getId(), e));
-            for (KwtWaybillOrderTrack kwtWaybillOrderTrack : kwtWaybillOrderTracks) {
-                for (WaybillStatusVO statusVO : statusVOS) {
-                    if (statusVO.getCode().equals(kwtWaybillOrderTrack.getStatus())) {
-                        statusVO.setStatus(true);
-                        statusVO.setId(kwtWaybillOrderTrack.getId());
-                        statusVO.setCreateTime(DateUtil.getDateTime(kwtWaybillOrderTrack.getCreateTime()));
-                        statusVO.setOperateTime(kwtWaybillOrderTrack.getOperateTime() == null
-                                ? null : DateUtil.getDateTime(kwtWaybillOrderTrack.getOperateTime()));
-                        statusVO.setCreateByName(usersMap.get(kwtWaybillOrderTrack.getCreateBy()) == null
-                                ? null : usersMap.get(kwtWaybillOrderTrack.getCreateBy()).getName());
-                        break;
-                    }
-                }
-            }
-        }
-        waybillSimpleDataVO.setProcess(statusVOS);
-        return HttpResult.ok(waybillSimpleDataVO);*/
     }
 
     /**
@@ -524,25 +466,6 @@ public class WaybillManagementService {
         if (CollectionUtils.isNotEmpty(wOrderIds)) {
             Criteria.where("wOrderId").in(wOrderIds);
         }
-//        if (StringUtils.isNotBlank(query.getStatus())) {
-//            if (query.getStatus().equals(String.valueOf(CarWaybillEnum.COMPLETION_UNLOADING.getCode()))) {
-//                List<Integer> _statuses = new ArrayList<>();
-//                _statuses.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
-//                _statuses.add(CarWaybillEnum.APPROVAL_NO_PASS.getCode());
-//                criteria.and("status").in(_statuses);
-//            } else if (query.getStatus().equals(String.valueOf(NumberConstant.ONE_ZERO_ZERO))) {
-//                List<Integer> _statuses = new ArrayList<>();
-//                _statuses.add(CarWaybillEnum.REJECT_ORDER.getCode());
-//                _statuses.add(CarWaybillEnum.REFUSE_TRAFFIC.getCode());
-//                _statuses.add(CarWaybillEnum.REVOKED.getCode());
-//                criteria.and("status").in(_statuses);
-//            } else if (!query.getStatus().equals("all")
-//                    && (!query.getStatus().equals(String.valueOf(CarWaybillEnum.COMPLETION_UNLOADING.getCode())))
-//                    && (!query.getStatus().equals(String.valueOf(NumberConstant.ONE_ZERO_ZERO)))
-//            ) {
-//                criteria.and("status").is(Integer.valueOf(query.getStatus()));
-//            }
-//        }
         /**
          * 【拒绝接单】、【拒绝出车】、【已撤销】状态在列表页的表头,都归类到【已作废】状态中;
          *
@@ -666,23 +589,6 @@ public class WaybillManagementService {
         list.add(topExpired);
         list.add(documentCheck);
 
-//        statuses.forEach(e -> {
-//            TableTops top = new TableTops();
-//            top.setValue(String.valueOf(e));
-//            top.setTotal(0);
-//            top.setName(CarWaybillEnum.getName(e));
-//            listMap.put(String.valueOf(e), top);
-//        });
-        /**计算总条数*/
-//        if (CollectionUtils.isNotEmpty(results)) {
-//            for (TableTops result : results) {
-//                if (listMap.containsKey(result.getValue())) {
-//                    listMap.get(result.getValue()).setTotal(result.getTotal());
-//                }
-//                allTotal += result.getTotal();
-//            }
-//        }
-
         /**数据统计计算*/
         //单证审核合并计算
         documentCheckNumberCount(list);
@@ -709,7 +615,6 @@ public class WaybillManagementService {
                 }
             }
         }
-//        list.add(topExpired);
         /**去除不展示统计字段*/
         List<TableTops> returnList = new ArrayList<>();
         for (TableTops tops : list) {
@@ -728,30 +633,8 @@ public class WaybillManagementService {
         /**排序*/
         returnList = returnList.stream().sorted(Comparator.comparing(TableTops::getSort)).collect(Collectors.toList());
         allTotal = results.stream().collect(Collectors.summingInt(TableTops::getTotal));
-        // allTotal= Math.toIntExact(results.stream().filter(item -> ObjectUtil.isNotEmpty(item.getTotal())).collect(Collectors.summarizingInt(item -> item.getTotal())).getSum());
-//        long sum = results.stream().filter(item -> ObjectUtil.isNotEmpty(item.getTotal())).collect(Collectors.summarizingInt(TableTops::getTotal)).getSum();
         topTotal.setTotal(allTotal);
         returnList.add(0, topTotal);
-
-        /**数据状态整合做计算
-         * 整合页面数据状态查询*/
-//        if (CollectionUtils.isNotEmpty(results)) {
-//            //已卸货包含本身以及审核不通过
-//            Integer number = 0;
-//            for (TableTops result : results) {
-//                if (CarWaybillEnum.APPROVAL_NO_PASS.getStatus().equals(result.getValue())) {
-//                    Integer total = result.getTotal();
-//                    number = number + total;
-//                }
-//            }
-//            for (TableTops result : results) {
-//                if (CarWaybillEnum.COMPLETION_UNLOADING.getStatus().equals(result.getValue())) {
-//                    result.setTotal(result.getTotal() + number);
-//                    listMap.put(result.getValue(), result);
-//                }
-//            }
-//        }
-
         return HttpResult.ok(returnList);
     }
 
@@ -840,7 +723,14 @@ public class WaybillManagementService {
         _onway.put("value", "onway");
         _onway.put("total", "0");
         List<Long> onWayStates = getWallBillStatues("onway");
-        Long onWayCount = kwtWaybillOrderMapper.selectWaybillOrderCountByStatus(entId, onWayStates, keyword, null, null);
+        Long onWayCount = kwtWaybillOrderMapper.selectWaybillOrderCountByStatus(
+            entId,
+            LoginUserHolder.getAuthUserIdList(),
+            onWayStates,
+            keyword,
+            null,
+            null
+        );
         _onway.put("total", onWayCount.toString());
         // 已完成
         Map<String, String> _finish = new HashMap<>();
@@ -848,7 +738,14 @@ public class WaybillManagementService {
         _finish.put("value", "finish");
         _finish.put("total", "0");
         List<Long> finishStates = getWallBillStatues("finish");
-        Long finishCount = kwtWaybillOrderMapper.selectWaybillOrderCountByStatus(entId, finishStates, keyword, startDate, endDate);
+        Long finishCount = kwtWaybillOrderMapper.selectWaybillOrderCountByStatus(
+            entId,
+            LoginUserHolder.getAuthUserIdList(),
+            finishStates,
+            keyword,
+            startDate,
+            endDate
+        );
         _finish.put("total", finishCount.toString());
         List<Map<String, String>> _list = new ArrayList<>();
         _list.add(_onway);
@@ -921,7 +818,6 @@ public class WaybillManagementService {
             return HttpResult.ok();
         }
         criteria.and("lOrderId").in(lOrderIds);
-//        criteria.and("wOrderId").exists(true);
         criteria.and("wOrderId").ne("").ne(null);
         // 多条件模糊查询
         List<Criteria> orCriteria = new ArrayList<>();
@@ -968,6 +864,7 @@ public class WaybillManagementService {
         List<Long> _statuses = getWallBillStatues(query.getStatus());
         List<WaybillAmountDTO> wOrders = kwtWaybillOrderMapper.selectWaybillOrdersByStatus(
                 LoginUserHolder.getEntId(),
+                LoginUserHolder.getAuthUserIdList(),
                 _statuses,
                 query.getKeyword(),
                 StringUtils.isBlank(query.getStartDate()) ? null : query.getStartDate().concat(" 00:00:00"),

+ 25 - 13
sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderMapper.xml

@@ -529,13 +529,11 @@
         FROM kwt_waybill_order
         WHERE ent_id = #{entId}
         AND del_flag = 0
-        <if test="keyword != null and keyword != ''">
-            AND (
-                w_order_no LIKE concat('%',#{keyword},'%')
-                OR truck_no LIKE concat('%',#{keyword},'%')
-                OR driver_name LIKE concat('%',#{keyword},'%')
-                OR driver_phone LIKE concat('%',#{keyword},'%')
-            )
+        <if test="createBys != null and createBys.size() > 0">
+            AND create_by IN
+            <foreach collection="createBys" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
         </if>
         <if test="statuses != null and statuses.size() > 0">
             AND status IN
@@ -543,6 +541,14 @@
                 #{item}
             </foreach>
         </if>
+        <if test="keyword != null and keyword != ''">
+            AND (
+            w_order_no LIKE concat('%',#{keyword},'%')
+            OR truck_no LIKE concat('%',#{keyword},'%')
+            OR driver_name LIKE concat('%',#{keyword},'%')
+            OR driver_phone LIKE concat('%',#{keyword},'%')
+            )
+        </if>
     </select>
 
     <select id="selectOrderByOrderId" resultType="java.util.Map">
@@ -606,6 +612,18 @@
         <if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
             AND wo.create_time BETWEEN #{startDate} AND #{endDate}
         </if>
+        <if test="createBys != null and createBys.size() > 0">
+            AND wo.create_by IN
+            <foreach collection="createBys" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="statuses != null and statuses.size() > 0">
+            AND wo.status IN
+            <foreach collection="statuses" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="keyword != null and keyword != ''">
             AND (
             wo.w_order_no LIKE concat('%',#{keyword},'%')
@@ -614,12 +632,6 @@
             OR wo.driver_phone LIKE concat('%',#{keyword},'%')
             )
         </if>
-        <if test="statuses != null and statuses.size() > 0">
-            AND wo.status IN
-            <foreach collection="statuses" item="item" open="(" close=")" separator=",">
-                #{item}
-            </foreach>
-        </if>
     </select>
 
     <select id="getMaxOrderNo" resultType="java.lang.String">