|
@@ -16,10 +16,9 @@ import com.sckw.mongo.model.SckwWaybillOrder;
|
|
|
import com.sckw.mongo.model.TableTops;
|
|
import com.sckw.mongo.model.TableTops;
|
|
|
import com.sckw.system.api.RemoteSystemService;
|
|
import com.sckw.system.api.RemoteSystemService;
|
|
|
import com.sckw.system.api.model.dto.res.UserCacheResDto;
|
|
import com.sckw.system.api.model.dto.res.UserCacheResDto;
|
|
|
-import com.sckw.transport.dao.KwtWaybillOrderAddressMapper;
|
|
|
|
|
-import com.sckw.transport.dao.KwtWaybillOrderMapper;
|
|
|
|
|
-import com.sckw.transport.dao.KwtWaybillOrderTicketMapper;
|
|
|
|
|
-import com.sckw.transport.dao.KwtWaybillOrderTrackMapper;
|
|
|
|
|
|
|
+import com.sckw.transport.api.model.dto.vo.LogisticsOrderVO;
|
|
|
|
|
+import com.sckw.transport.dao.*;
|
|
|
|
|
+import com.sckw.transport.model.KwtLogisticsOrder;
|
|
|
import com.sckw.transport.model.KwtWaybillOrderAddress;
|
|
import com.sckw.transport.model.KwtWaybillOrderAddress;
|
|
|
import com.sckw.transport.model.KwtWaybillOrderTicket;
|
|
import com.sckw.transport.model.KwtWaybillOrderTicket;
|
|
|
import com.sckw.transport.model.KwtWaybillOrderTrack;
|
|
import com.sckw.transport.model.KwtWaybillOrderTrack;
|
|
@@ -61,6 +60,9 @@ public class WaybillManagementService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
public KwtWaybillOrderMapper kwtWaybillOrderMapper;
|
|
public KwtWaybillOrderMapper kwtWaybillOrderMapper;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ public KwtLogisticsOrderMapper kwtLogisticsOrderMapper;
|
|
|
|
|
+
|
|
|
@Autowired
|
|
@Autowired
|
|
|
public KwtWaybillOrderAddressMapper kwtWaybillOrderAddressMapper;
|
|
public KwtWaybillOrderAddressMapper kwtWaybillOrderAddressMapper;
|
|
|
|
|
|
|
@@ -80,131 +82,108 @@ public class WaybillManagementService {
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
public HttpResult waybillData(@Param("id") Long id) {
|
|
public HttpResult waybillData(@Param("id") Long id) {
|
|
|
|
|
+ WaybillDataVO waybillDataVO = new WaybillDataVO();
|
|
|
|
|
+ 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);
|
|
|
|
|
+ WayBillDetailDTO wayBillDetailDTO = new WayBillDetailDTO();
|
|
|
|
|
+ WaybillTicketVO waybillTicketVO = new WaybillTicketVO();
|
|
|
|
|
+ WaybillCarVO waybillCarVO = new WaybillCarVO();
|
|
|
|
|
+ if(!ObjectUtils.isEmpty(info)) {
|
|
|
|
|
+ // 基础信息
|
|
|
|
|
+ wayBillDetailDTO.setDriverId(info.getDriverId());
|
|
|
|
|
+ wayBillDetailDTO.setDriverName(info.getDriverName());
|
|
|
|
|
+ wayBillDetailDTO.setDriverPhone(info.getDriverPhone());
|
|
|
|
|
+ wayBillDetailDTO.setDriverId(info.getDriverId());
|
|
|
|
|
+ wayBillDetailDTO.setWOrderNo(info.getWOrderNo());
|
|
|
|
|
+ wayBillDetailDTO.setLOrderNo(info.getLOrderNo());
|
|
|
|
|
+ wayBillDetailDTO.setEntrustAmount(String.valueOf(info.getEntrustAmount()));
|
|
|
|
|
+ wayBillDetailDTO.setType(String.valueOf(info.getType()));
|
|
|
|
|
+ wayBillDetailDTO.setStartTime(DateUtil.getDateTime(info.getStartTime()));
|
|
|
|
|
+ wayBillDetailDTO.setEndTime(DateUtil.getDateTime(info.getEndTime()));
|
|
|
|
|
+ wayBillDetailDTO.setCreateBy(info.getCreateByName());
|
|
|
|
|
+ wayBillDetailDTO.setGoodsName(info.getGoodsName());
|
|
|
|
|
+ wayBillDetailDTO.setLoadDetailAddress(info.getLoadDetailAddress());
|
|
|
|
|
+ wayBillDetailDTO.setUnloadDetailAddress(info.getUnloadDetailAddress());
|
|
|
|
|
+ KwtLogisticsOrder kwtLogisticsOrder = kwtLogisticsOrderMapper.selectById(info.getLOrderId());
|
|
|
|
|
+ wayBillDetailDTO.setPriceType(kwtLogisticsOrder.getBillingMode());
|
|
|
|
|
+ wayBillDetailDTO.setCheckFirmName(info.getCheckFirmName());
|
|
|
|
|
+ // 车辆信息
|
|
|
|
|
+ waybillCarVO.setType(info.getTruckType());
|
|
|
|
|
+ waybillCarVO.setTruckNo(info.getTruckNo());
|
|
|
|
|
+ waybillCarVO.setDriverName(info.getDriverName());
|
|
|
|
|
+ waybillCarVO.setDriverPhone(info.getDriverPhone());
|
|
|
|
|
+ List<String> list = new ArrayList<>();
|
|
|
|
|
+ list.add(info.getTruckNo());
|
|
|
|
|
+// Map<String, RTruckVo> trucks = remoteFleetService.findTruck(list);
|
|
|
|
|
+ Map<String, RTruckVo> trucks = new HashMap<>();
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(trucks)) {
|
|
|
|
|
+ waybillCarVO.setTrailerNo(trucks.get(0).getTrailerNo());
|
|
|
|
|
+ }
|
|
|
|
|
+ // 票据
|
|
|
|
|
+ waybillTicketVO.setLoadTime(DateUtil.getDateTime(info.getLoadTime()));
|
|
|
|
|
+ waybillTicketVO.setLoadWeight(String.valueOf(info.getLoadAmount()));
|
|
|
|
|
+ waybillTicketVO.setLoadUrl(String.valueOf(info.getLoadUrls()));
|
|
|
|
|
+ waybillTicketVO.setUnloadTime(DateUtil.getDateTime(info.getUnloadTime()));
|
|
|
|
|
+ waybillTicketVO.setUnloadWeight(String.valueOf(info.getUnloadAmount()));
|
|
|
|
|
+ waybillTicketVO.setUnloadUrl(String.valueOf(info.getUnloadUrls()));
|
|
|
|
|
+ }
|
|
|
List<Integer> statuses = initWaybillIndexStatus();
|
|
List<Integer> statuses = initWaybillIndexStatus();
|
|
|
// 初始化各状态
|
|
// 初始化各状态
|
|
|
- Map<String, WaybillStatusVO> statusMap = new HashMap<>();
|
|
|
|
|
|
|
+ List<WaybillStatusVO> statusVOS = new ArrayList<>();
|
|
|
statuses.forEach(e -> {
|
|
statuses.forEach(e -> {
|
|
|
WaybillStatusVO waybillStatusVO = new WaybillStatusVO();
|
|
WaybillStatusVO waybillStatusVO = new WaybillStatusVO();
|
|
|
waybillStatusVO.setStatus(false);
|
|
waybillStatusVO.setStatus(false);
|
|
|
waybillStatusVO.setCode(e);
|
|
waybillStatusVO.setCode(e);
|
|
|
switch (e){
|
|
switch (e){
|
|
|
- case 2 -> waybillStatusVO.setDestination("司机接单");
|
|
|
|
|
|
|
+ case 2 -> waybillStatusVO.setDestination("已接单");
|
|
|
case 3 -> waybillStatusVO.setDestination("已出车");
|
|
case 3 -> waybillStatusVO.setDestination("已出车");
|
|
|
- case 4 -> waybillStatusVO.setDestination("到装货地");
|
|
|
|
|
|
|
+ case 4 -> waybillStatusVO.setDestination("到达装货地");
|
|
|
case 5 -> waybillStatusVO.setDestination("已装货");
|
|
case 5 -> waybillStatusVO.setDestination("已装货");
|
|
|
- case 6 -> waybillStatusVO.setDestination("到卸货地");
|
|
|
|
|
|
|
+ case 6 -> waybillStatusVO.setDestination("到达卸货点");
|
|
|
case 7 -> waybillStatusVO.setDestination("已卸货");
|
|
case 7 -> waybillStatusVO.setDestination("已卸货");
|
|
|
case 8 -> waybillStatusVO.setDestination("已核单");
|
|
case 8 -> waybillStatusVO.setDestination("已核单");
|
|
|
}
|
|
}
|
|
|
- statusMap.put(String.valueOf(e), waybillStatusVO);
|
|
|
|
|
|
|
+ statusVOS.add(waybillStatusVO);
|
|
|
});
|
|
});
|
|
|
-
|
|
|
|
|
-// WayBillDetailDTO kwtWaybillOrder = kwtWaybillOrderMapper.selectWaybillRelate(id);
|
|
|
|
|
-// // 收发地址
|
|
|
|
|
-// List<KwtWaybillOrderAddress> kwtWaybillOrderAddressList = kwtWaybillOrderAddressMapper.selectList(new LambdaQueryWrapper<KwtWaybillOrderAddress>()
|
|
|
|
|
-// .eq(KwtWaybillOrderAddress::getWOrderId, kwtWaybillOrder.getLOrderId()));
|
|
|
|
|
-// if (CollectionUtils.isNotEmpty(kwtWaybillOrderAddressList)) {
|
|
|
|
|
-// for (KwtWaybillOrderAddress kwtWaybillOrderAddress : kwtWaybillOrderAddressList) {
|
|
|
|
|
-// // 1装货地址、2卸货地址
|
|
|
|
|
-// if (kwtWaybillOrderAddress.getAddressType().equals(NumberConstant.ONE)) {
|
|
|
|
|
-// kwtWaybillOrder.setStartLocationName(kwtWaybillOrderAddress.getName());
|
|
|
|
|
-// kwtWaybillOrder.setStartLocationAddress(kwtWaybillOrderAddress.getDetailAddress());
|
|
|
|
|
-// }
|
|
|
|
|
-// if (kwtWaybillOrderAddress.getAddressType().equals(NumberConstant.TWO)) {
|
|
|
|
|
-// kwtWaybillOrder.setEndLocationName(kwtWaybillOrderAddress.getName());
|
|
|
|
|
-// kwtWaybillOrder.setEndLocationAddress(kwtWaybillOrderAddress.getDetailAddress());
|
|
|
|
|
-// }
|
|
|
|
|
-// }
|
|
|
|
|
-// }
|
|
|
|
|
-// WaybillDataVO waybillDataVO = new WaybillDataVO();
|
|
|
|
|
-// waybillDataVO.setTransport(kwtWaybillOrder);
|
|
|
|
|
-//
|
|
|
|
|
-// // 车辆信息
|
|
|
|
|
-// List<String> list = new ArrayList<>();
|
|
|
|
|
-// list.add(kwtWaybillOrder.getTruckNo());
|
|
|
|
|
-//// Map<String, RTruckVo> trucks = remoteFleetService.findTruck(list);
|
|
|
|
|
-// Map<String, RTruckVo> trucks = new HashMap<>();
|
|
|
|
|
-// WaybillCarVO waybillCarVO = new WaybillCarVO();
|
|
|
|
|
-// if (CollectionUtils.isNotEmpty(trucks)) {
|
|
|
|
|
-// waybillCarVO.setType(trucks.get(0).getTruckType());
|
|
|
|
|
-// waybillCarVO.setTruckId(String.valueOf(trucks.get(0).getId()));
|
|
|
|
|
-// waybillCarVO.setTrailerNo(trucks.get(0).getTrailerNo());
|
|
|
|
|
-// }
|
|
|
|
|
-// waybillCarVO.setDriverId(String.valueOf(kwtWaybillOrder.getDriverId()))
|
|
|
|
|
-// .setTruckNo(kwtWaybillOrder.getTruckNo())
|
|
|
|
|
-// .setDriverName(kwtWaybillOrder.getDriverName())
|
|
|
|
|
-// .setDriverPhone(kwtWaybillOrder.getDriverPhone());
|
|
|
|
|
-// waybillDataVO.setCar(waybillCarVO);
|
|
|
|
|
-// // 履约信息
|
|
|
|
|
-// List<KwtWaybillOrderTicket> kwtWaybillOrderTicket = kwtWaybillOrderTicketMapper.selectList(new LambdaQueryWrapper<KwtWaybillOrderTicket>()
|
|
|
|
|
-// .eq(KwtWaybillOrderTicket::getWOrderId, kwtWaybillOrder.getWOrderId()));
|
|
|
|
|
-// WaybillTicketVO waybillTicketVO = new WaybillTicketVO();
|
|
|
|
|
-// if (CollectionUtils.isNotEmpty(kwtWaybillOrderTicket)) {
|
|
|
|
|
-// for (KwtWaybillOrderTicket ticket : kwtWaybillOrderTicket) {
|
|
|
|
|
-// // 装货
|
|
|
|
|
-// if (ticket.getType().equals(NumberConstant.ONE)) {
|
|
|
|
|
-// waybillTicketVO.setLoadUrl(ticket.getUrls())
|
|
|
|
|
-// .setLoadWeight(String.valueOf(ticket.getGrossAmount()))
|
|
|
|
|
-// .setLoadTime(String.valueOf(ticket.getCreateTime()));
|
|
|
|
|
-// }
|
|
|
|
|
-// // 卸货
|
|
|
|
|
-// if (ticket.getType().equals(NumberConstant.TWO)) {
|
|
|
|
|
-// waybillTicketVO.setUnloadUrl(ticket.getUrls())
|
|
|
|
|
-// .setUnloadWeight(String.valueOf(ticket.getGrossAmount()))
|
|
|
|
|
-// .setUnloadTime(String.valueOf(ticket.getCreateTime()));
|
|
|
|
|
-// }
|
|
|
|
|
-// }
|
|
|
|
|
-// }
|
|
|
|
|
-// waybillDataVO.setAgreement(waybillTicketVO);
|
|
|
|
|
-// // 业务日志
|
|
|
|
|
-// List<WaybillTrackVO> waybillTrackVOS = new ArrayList<>();
|
|
|
|
|
-// List<KwtWaybillOrderTrack> kwtWaybillOrderTracks = kwtWaybillOrderTrackMapper.selectList(new LambdaQueryWrapper<KwtWaybillOrderTrack>()
|
|
|
|
|
-// .eq(KwtWaybillOrderTrack::getWOrderId, kwtWaybillOrder.getWOrderId()));
|
|
|
|
|
-// if (CollectionUtils.isNotEmpty(kwtWaybillOrderTracks)) {
|
|
|
|
|
-// List<Long> userIds = new ArrayList<>();
|
|
|
|
|
-// for (KwtWaybillOrderTrack track : kwtWaybillOrderTracks) {
|
|
|
|
|
-// userIds.add(track.getCreateBy());
|
|
|
|
|
-// }
|
|
|
|
|
|
|
+ List<KwtWaybillOrderTrack> kwtWaybillOrderTracks = kwtWaybillOrderTrackMapper.selectList(new LambdaQueryWrapper<KwtWaybillOrderTrack>()
|
|
|
|
|
+ .eq(KwtWaybillOrderTrack::getWOrderId, id));
|
|
|
|
|
+ List<WaybillTrackVO> waybillTrackVOS = new ArrayList<>();
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(kwtWaybillOrderTracks)) {
|
|
|
|
|
+ List<Long> userIds = new ArrayList<>();
|
|
|
|
|
+ kwtWaybillOrderTracks.forEach(e -> userIds.add(e.getCreateBy()));
|
|
|
// List<UserCacheResDto> users = remoteSystemService.queryUserCacheByIds(userIds);
|
|
// List<UserCacheResDto> users = remoteSystemService.queryUserCacheByIds(userIds);
|
|
|
-// Map<String, UserCacheResDto> userMap = new HashMap<>();
|
|
|
|
|
-// if(!ObjectUtils.isEmpty(users)) {
|
|
|
|
|
-// users.forEach(e -> userMap.put(String.valueOf(e.getId()), e));
|
|
|
|
|
-// }
|
|
|
|
|
-// for (KwtWaybillOrderTrack track : kwtWaybillOrderTracks) {
|
|
|
|
|
-// WaybillTrackVO waybillTrackVO = new WaybillTrackVO();
|
|
|
|
|
-// if(statusMap.containsKey(String.valueOf(track.getStatus()))) {
|
|
|
|
|
-// statusMap.get(String.valueOf(track.getStatus()))
|
|
|
|
|
-// .setCreateTime(DateUtil.getDateTime(track.getCreateTime()))
|
|
|
|
|
-// .setCreateByName(userMap.get(String.valueOf(track.getCreateBy())).getName())
|
|
|
|
|
-// .setStatus(true)
|
|
|
|
|
-// .setId(track.getId());
|
|
|
|
|
-// }
|
|
|
|
|
-// waybillTrackVO.setId(String.valueOf(track.getId()))
|
|
|
|
|
-// .setRemark(track.getRemark())
|
|
|
|
|
-// .setStatus(String.valueOf(track.getStatus()))
|
|
|
|
|
-// .setCreateBy(userMap.get(String.valueOf(track.getCreateBy())).getName());
|
|
|
|
|
-// waybillTrackVOS.add(waybillTrackVO);
|
|
|
|
|
-// }
|
|
|
|
|
-// }
|
|
|
|
|
-// waybillDataVO.setLogs(waybillTrackVOS);
|
|
|
|
|
-// waybillDataVO.setProcess(statusMap.values().stream().toList());
|
|
|
|
|
-// return HttpResult.ok(waybillDataVO);
|
|
|
|
|
-
|
|
|
|
|
- WaybillDataVO waybillDataVO = new WaybillDataVO();
|
|
|
|
|
- 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);
|
|
|
|
|
- WayBillDetailDTO wayBillDetailDTO = new WayBillDetailDTO();
|
|
|
|
|
- if(!ObjectUtils.isEmpty(info)) {
|
|
|
|
|
- wayBillDetailDTO.setDriverId(info.getDriverId());
|
|
|
|
|
- wayBillDetailDTO.setDriverName(info.getDriverName());
|
|
|
|
|
- wayBillDetailDTO.setDriverPhone(info.getDriverPhone());
|
|
|
|
|
- wayBillDetailDTO.setDriverId(info.getDriverId());
|
|
|
|
|
|
|
+ List<UserCacheResDto> users = new ArrayList<>();
|
|
|
|
|
+ Map<Long, String> usersMap = new HashMap<>();
|
|
|
|
|
+ users.forEach(e -> usersMap.put(e.getId(), e.getName()));
|
|
|
|
|
+ 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.setCreateByName(usersMap.get(kwtWaybillOrderTrack.getCreateBy()));
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ WaybillTrackVO waybillTrackVO = new WaybillTrackVO();
|
|
|
|
|
+ waybillTrackVO.setId(String.valueOf(kwtWaybillOrderTrack.getId()))
|
|
|
|
|
+ .setRemark(kwtWaybillOrderTrack.getRemark())
|
|
|
|
|
+ .setStatus(String.valueOf(kwtWaybillOrderTrack.getStatus()))
|
|
|
|
|
+ .setCreateBy(usersMap.get(String.valueOf(kwtWaybillOrderTrack.getCreateBy())))
|
|
|
|
|
+ .setCreateTime(DateUtil.getDateTime(kwtWaybillOrderTrack.getCreateTime()));
|
|
|
|
|
+ waybillTrackVOS.add(waybillTrackVO);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ waybillDataVO.setAgreement(waybillTicketVO);
|
|
|
|
|
+ waybillDataVO.setCar(waybillCarVO);
|
|
|
waybillDataVO.setTransport(wayBillDetailDTO);
|
|
waybillDataVO.setTransport(wayBillDetailDTO);
|
|
|
|
|
+ waybillDataVO.setProcess(statusVOS);
|
|
|
|
|
+ waybillDataVO.setLogs(waybillTrackVOS);
|
|
|
return HttpResult.ok(waybillDataVO);
|
|
return HttpResult.ok(waybillDataVO);
|
|
|
}
|
|
}
|
|
|
|
|
|