ソースを参照

update 调整参数及修改部分运单看板逻辑

chenlin 2 年 前
コミット
dc230cf268

+ 3 - 2
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwTransportService.java

@@ -143,8 +143,9 @@ public class KwTransportService {
         Criteria criteria = buildWaybillOrdersQuery(query);
         Query queryFormat = new Query(criteria);
         // in查询
-        if (CollectionUtils.isNotEmpty(query.getIds())) {
-            queryFormat.addCriteria(Criteria.where("wOrderId").in(query.getIds()));
+        List<Long> wOrderIds = StringUtils.splitStrToList(query.getIds(), ",", Long.class);
+        if (CollectionUtils.isNotEmpty(wOrderIds)) {
+            queryFormat.addCriteria(Criteria.where("wOrderId").in(wOrderIds));
         }
         // 总记录数
         long total = mongoTemplate.count(queryFormat, SckwWaybillOrder.class);

+ 1 - 1
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderQuery.java

@@ -17,7 +17,7 @@ import java.util.List;
 @Data
 @Accessors(chain = true)
 public class WaybillOrderQuery extends PageRequest implements Serializable {
-    private List<Long> ids;
+    private String ids;
     /**
      * 派车开始时间
      */

+ 1 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/WaybillManagementController.java

@@ -38,6 +38,7 @@ public class WaybillManagementController {
             return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
         }
     }
+
     @RequestMapping(name = "运单看板", value = "/waybillIndex", method = RequestMethod.GET)
     public HttpResult waybillIndex(WaybillOrderDTO waybillOrderDTO) {
         try {

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/WaybillOrderDTO.java

@@ -18,7 +18,7 @@ import java.util.List;
 @Data
 @Accessors(chain = true)
 public class WaybillOrderDTO extends PageRequest implements Serializable {
-    private List<Long> ids;
+    private String ids;
     /**
      * 派车开始时间
      */

+ 5 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillStatusVO.java

@@ -36,4 +36,9 @@ public class WaybillStatusVO {
      * 记录时间
      */
     private String createByName;
+
+    /**
+     * 记录ID
+     */
+    private Long id;
 }

+ 31 - 24
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java

@@ -25,8 +25,6 @@ import com.sckw.transport.model.KwtWaybillOrderTrack;
 import com.sckw.transport.model.dto.WayBillDetailDTO;
 import com.sckw.transport.model.dto.WaybillOrderDTO;
 import com.sckw.transport.model.vo.*;
-import jakarta.validation.constraints.NotBlank;
-import lombok.Value;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.apache.ibatis.annotations.Param;
@@ -37,11 +35,9 @@ import org.springframework.data.mongodb.core.MongoTemplate;
 import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
-import org.springframework.web.bind.annotation.RequestParam;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.regex.Pattern;
 
 /**
  * @author jc
@@ -203,6 +199,11 @@ public class WaybillManagementService {
         criteria.and("entId").is(LoginUserHolder.getEntId());
         criteria.and("delFlag").is(NumberConstant.ZERO);
 
+        List<Long> wOrderIds = StringUtils.splitStrToList(query.getIds(), ",", Long.class);
+        if (CollectionUtils.isNotEmpty(wOrderIds)) {
+            Criteria.where("wOrderId").in(wOrderIds);
+        }
+
         if (StringUtils.isNotBlank(query.getStatus())) {
             criteria.and("status").is(query.getStatus());
         } else {
@@ -230,14 +231,14 @@ public class WaybillManagementService {
         // 多条件模糊查询
         List<Criteria> orCriteria = new ArrayList<>();
         if (StringUtils.isNotBlank(query.getKeywords())) {
-            /*Pattern pattern = Pattern.compile("^.*" + query.getKeywords() + ".*$", Pattern.CASE_INSENSITIVE);
+            Pattern pattern = Pattern.compile("^.*" + query.getKeywords() + ".*$", Pattern.CASE_INSENSITIVE);
             orCriteria.add(Criteria.where("wOrderNo").regex(pattern));
             orCriteria.add(Criteria.where("truckNo").regex(pattern));
             orCriteria.add(Criteria.where("driverName").regex(pattern));
             orCriteria.add(Criteria.where("firmName").regex(pattern));
             orCriteria.add(Criteria.where("loadAddress").regex(pattern));
             orCriteria.add(Criteria.where("unloadAddress").regex(pattern));
-            criteria.orOperator(orCriteria);*/
+            criteria.orOperator(orCriteria);
         }
         Query queryFormat = new Query(criteria);
         long total = mongoTemplate.count(queryFormat, SckwWaybillOrder.class);
@@ -245,7 +246,6 @@ public class WaybillManagementService {
                 Sort.by(Sort.Order.desc("createTime"))));
         // 执行查询
         List<SckwWaybillOrder> list = mongoTemplate.find(queryFormat, SckwWaybillOrder.class);
-        // 查询关联单据信息
         List<WaybillBoardListVO> orders = new ArrayList<>();
         for (SckwWaybillOrder sckwWaybillOrder:list) {
             WaybillBoardListVO waybillBoardListVO = new WaybillBoardListVO();
@@ -266,27 +266,34 @@ public class WaybillManagementService {
             waybillBoardListVO.setUnloadGrossAmount(sckwWaybillOrder.getUnloadGrossAmount() != null ? String.valueOf(sckwWaybillOrder.getUnloadGrossAmount()) : null);
             waybillBoardListVO.setLoadUrls(sckwWaybillOrder.getLoadUrls() != null ? String.valueOf(sckwWaybillOrder.getLoadUrls()) : null);
             waybillBoardListVO.setUnloadUrls(sckwWaybillOrder.getUnloadUrls() != null ? String.valueOf(sckwWaybillOrder.getUnloadUrls()) : null);
-            // 运单进度
             List<WaybillStatusVO> statusVOS2 = new ArrayList<>();
-            BeanUtils.copyProperties(statusVOS, statusVOS2);
-            log.error("XXXX-11 {}", statusVOS);
-            log.error("XXXX-12 {}", statusVOS2);
+            statusVOS.forEach(e -> {
+                WaybillStatusVO temp = new WaybillStatusVO();
+                BeanUtils.copyProperties(e, temp);
+                statusVOS2.add(temp);
+            });
+            waybillBoardListVO.setTracks(statusVOS2);
+            // 运单进度
             List<KwtWaybillOrderTrack> kwtWaybillOrderTracks = kwtWaybillOrderTrackMapper.selectList(new LambdaQueryWrapper<KwtWaybillOrderTrack>()
                     .eq(KwtWaybillOrderTrack::getWOrderId, sckwWaybillOrder.getWOrderId()));
             if (CollectionUtils.isNotEmpty(kwtWaybillOrderTracks)) {
-                for (WaybillStatusVO waybillStatusVO: statusVOS2) {
-                    for (KwtWaybillOrderTrack waybillOrderTrack: kwtWaybillOrderTracks) {
-                        log.error("XXXX-1 {}", waybillStatusVO.getCode());
-                        log.error("XXXX-2 {}", waybillOrderTrack.getStatus());
-                        if(waybillStatusVO.getCode().equals(waybillOrderTrack.getStatus())) {
-                            waybillStatusVO.setStatus(true);
-                            waybillStatusVO.setCreateTime(DateUtil.getDateTime(waybillOrderTrack.getCreateTime()));
-                            waybillStatusVO.setCreateByName(String.valueOf(waybillOrderTrack.getCreateBy()));
+                List<Long> userIds = new ArrayList<>();
+                kwtWaybillOrderTracks.forEach(e -> userIds.add(e.getCreateBy()));
+//                List<UserCacheResDto> users = remoteSystemService.queryUserCacheByIds(userIds);
+                List<UserCacheResDto> users = new ArrayList<>();
+                Map<Long, String> usersMap = new HashMap<>();
+                users.forEach(e -> usersMap.put(e.getId(), e.getName()));
+                waybillBoardListVO.getTracks().forEach(e -> {
+                    kwtWaybillOrderTracks.forEach(e2 -> {
+                        if(e.getCode().equals(e2.getStatus())) {
+                            e.setStatus(true);
+                            e.setId(e2.getId());
+                            e.setCreateTime(DateUtil.getDateTime(e2.getCreateTime()));
+                            e.setCreateByName(usersMap.get(e2.getCreateBy()));
                         }
-                    }
-                }
+                    });
+                });
             }
-            waybillBoardListVO.setTracks(statusVOS);
             orders.add(waybillBoardListVO);
         }