|
|
@@ -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);
|
|
|
}
|
|
|
|