|
|
@@ -243,196 +243,6 @@ public class KwtWaybillManagementService {
|
|
|
return HttpResult.ok(waybillDataVO);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 运单详情
|
|
|
- *
|
|
|
- * @param id
|
|
|
- * @return
|
|
|
- */
|
|
|
- public HttpResult waybillDataOld(Long id) {
|
|
|
- if (Objects.isNull(id)) {
|
|
|
- return HttpResult.error("id不能为空");
|
|
|
- }
|
|
|
- WaybillDataVO waybillDataVO = new WaybillDataVO();
|
|
|
- Criteria criteria = new Criteria();
|
|
|
- //criteria.and("wOrderId").is(id);
|
|
|
- criteria.and("_id").is(id);
|
|
|
-// criteria.and("entId").is(LoginUserHolder.getAuthUserIdList());
|
|
|
- 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.setTruckId(info.getTruckId());
|
|
|
- wayBillDetailDTO.setStatus(String.valueOf(info.getStatus()));
|
|
|
- wayBillDetailDTO.setTruckNo(info.getTruckNo());
|
|
|
- wayBillDetailDTO.setDriverId(info.getDriverId());
|
|
|
- wayBillDetailDTO.setDriverName(info.getDriverName());
|
|
|
- wayBillDetailDTO.setDriverPhone(info.getDriverPhone());
|
|
|
- wayBillDetailDTO.setDriverId(info.getDriverId());
|
|
|
- wayBillDetailDTO.setWOrderId(info.getWOrderId());
|
|
|
- wayBillDetailDTO.setWOrderNo(info.getWOrderNo());
|
|
|
- wayBillDetailDTO.setLOrderId(info.getLOrderId());
|
|
|
- wayBillDetailDTO.setLOrderNo(info.getLOrderNo());
|
|
|
- wayBillDetailDTO.setLOrderNo(info.getLOrderNo());
|
|
|
- wayBillDetailDTO.setEntrustAmount(String.valueOf(info.getEntrustAmount()));
|
|
|
- wayBillDetailDTO.setType(String.valueOf(info.getType()));
|
|
|
- wayBillDetailDTO.setTypeLabel(info.getType().equals(NumberConstant.ONE) ? "趟次" : "循环");
|
|
|
- wayBillDetailDTO.setStartTime(info.getStartTime());
|
|
|
- wayBillDetailDTO.setEndTime(info.getEndTime());
|
|
|
- wayBillDetailDTO.setCreateBy(info.getCreateByName());
|
|
|
- wayBillDetailDTO.setGoodsName(info.getGoodsName());
|
|
|
- if (info.getLoadDetailAddress().contains(info.getLoadCityName())){
|
|
|
- wayBillDetailDTO.setLoadDetailAddress(info.getLoadDetailAddress());
|
|
|
- }else {
|
|
|
- wayBillDetailDTO.setLoadDetailAddress(info.getLoadCityName().concat(info.getLoadDetailAddress()));
|
|
|
- }
|
|
|
- if (info.getUnloadDetailAddress().contains(info.getUnloadCityName())){
|
|
|
- wayBillDetailDTO.setUnloadDetailAddress(info.getUnloadDetailAddress());
|
|
|
- }else {
|
|
|
- wayBillDetailDTO.setUnloadDetailAddress(info.getUnloadCityName().concat(info.getUnloadDetailAddress()));
|
|
|
- }
|
|
|
- wayBillDetailDTO.setLoadName(info.getLoadName());
|
|
|
- wayBillDetailDTO.setUnloadName(info.getUnloadName());
|
|
|
- wayBillDetailDTO.setCarrierFirmName(info.getCarrierFirmName());
|
|
|
- wayBillDetailDTO.setCheckFirmName(info.getCheckFirmName());
|
|
|
- // 计费方式
|
|
|
- KwtLogisticsOrder kwtLogisticsOrder = kwtLogisticsOrderMapper.selectById(info.getLOrderId());
|
|
|
- if (!ObjectUtils.isEmpty(kwtLogisticsOrder)) {
|
|
|
- wayBillDetailDTO.setPriceType(kwtLogisticsOrder.getBillingMode());
|
|
|
- SysDictResDto billingMode = remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.CHARGING_TYPE.getType(), kwtLogisticsOrder.getBillingMode());
|
|
|
- if (!ObjectUtils.isEmpty(billingMode)) {
|
|
|
- wayBillDetailDTO.setPriceTypeLabe(billingMode.getLabel());
|
|
|
- }
|
|
|
- }
|
|
|
- wayBillDetailDTO.setCheckFirmName(info.getCheckFirmName());
|
|
|
- // 运输量单位
|
|
|
- wayBillDetailDTO.setUnit(info.getUnit() == null ? null : info.getUnit());
|
|
|
- if (info.getUnit() != null) {
|
|
|
- Map<String, SysDictResDto> unitType = remoteSystemService.queryDictMapByType(DictTypeEnum.UNIT_TYPE.getType());
|
|
|
- SysDictResDto sysDict = unitType.get(info.getUnit());
|
|
|
- wayBillDetailDTO.setUnitLabel(sysDict == null ? null : sysDict.getLabel());
|
|
|
- }
|
|
|
- // 派车人信息
|
|
|
- UserCacheResDto createUser = remoteSystemService.queryUserCacheById(info.getCreateBy());
|
|
|
- if (!ObjectUtils.isEmpty(createUser)) {
|
|
|
- wayBillDetailDTO.setCreateByPhone(createUser.getPhone());
|
|
|
- }
|
|
|
- // 车辆信息
|
|
|
- SysDictResDto truckTypeString = remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.TRUCK_TYPE.getType(), info.getTruckType());
|
|
|
- if (!ObjectUtils.isEmpty(truckTypeString)) {
|
|
|
- waybillCarVO.setTypeLabel(truckTypeString.getLabel());
|
|
|
- }
|
|
|
- waybillCarVO.setTruckId(String.valueOf(info.getTruckId()));
|
|
|
- waybillCarVO.setTruckNo(info.getTruckNo());
|
|
|
- waybillCarVO.setType(info.getTruckType());
|
|
|
- waybillCarVO.setDriverName(info.getDriverName());
|
|
|
- waybillCarVO.setDriverPhone(info.getDriverPhone());
|
|
|
- waybillCarVO.setDriverId(String.valueOf(info.getTruckId()));
|
|
|
- waybillCarVO.setTrailerNo(info.getTruckTrailerNo());
|
|
|
- // 票据
|
|
|
- List<KwtWaybillOrderTicket> waybillOrderTickets = kwtWaybillOrderTicketMapper.selectList(new LambdaQueryWrapper<KwtWaybillOrderTicket>()
|
|
|
- .eq(KwtWaybillOrderTicket::getWOrderId, id)
|
|
|
- );
|
|
|
- if (!org.springframework.util.CollectionUtils.isEmpty(waybillOrderTickets)) {
|
|
|
- for (KwtWaybillOrderTicket waybillOrderTicket : waybillOrderTickets) {
|
|
|
- //1装货单/2卸货单
|
|
|
- if (waybillOrderTicket.getType() == 1) {
|
|
|
- if (info.getLoadTime() != null) {
|
|
|
- waybillTicketVO.setLoadTime(waybillOrderTicket.getOperateTime() == null ? null : DateUtil.getDateTime(waybillOrderTicket.getOperateTime()));
|
|
|
- }
|
|
|
- waybillTicketVO.setLoadWeight(String.valueOf(info.getLoadAmount()));
|
|
|
- waybillTicketVO.setLoadUrl(FileUtils.splice(String.valueOf(info.getLoadUrls())));
|
|
|
- }
|
|
|
- if (waybillOrderTicket.getType() == 2) {
|
|
|
- if (info.getUnloadTime() != null) {
|
|
|
- waybillTicketVO.setUnloadTime(waybillOrderTicket.getOperateTime() == null ? null : DateUtil.getDateTime(waybillOrderTicket.getOperateTime()));
|
|
|
- }
|
|
|
- waybillTicketVO.setUnloadWeight(String.valueOf(info.getUnloadAmount()));
|
|
|
- waybillTicketVO.setUnloadUrl(FileUtils.splice(String.valueOf(info.getUnloadUrls())));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- waybillTicketVO.setDeficitAmount(String.valueOf(info.getDeficitAmount()));
|
|
|
- // 计算扣亏量
|
|
|
- BigDecimal deficitLoss = info.getLoss() == null ? BigDecimal.valueOf(0) : info.getLoss();
|
|
|
- BigDecimal loadAmount = info.getLoadAmount() == null ? NumberConstant.ZERO_TWO : info.getLoadAmount();
|
|
|
- BigDecimal unloadAmount = info.getUnloadAmount() == null ? NumberConstant.ZERO_TWO : info.getUnloadAmount();
|
|
|
- BigDecimal deficitRealAmount = commonService.deficitLossAmount(
|
|
|
- info.getLoadAmount(),
|
|
|
- loadAmount.subtract(unloadAmount),
|
|
|
- deficitLoss,
|
|
|
- info.getLossUnit()
|
|
|
- );
|
|
|
- waybillTicketVO.setDeficitRealAmount(deficitRealAmount.toString());
|
|
|
- }
|
|
|
-
|
|
|
- List<Integer> statuses = initWaybillIndexStatus();
|
|
|
- // 初始化各状态
|
|
|
- List<WaybillStatusVO> statusVOS = new ArrayList<>();
|
|
|
- statuses.forEach(e -> {
|
|
|
- WaybillStatusVO waybillStatusVO = new WaybillStatusVO();
|
|
|
- waybillStatusVO.setStatus(false);
|
|
|
- if(e.equals(CarWaybillEnum.PENDING_ORDER.getCode())) {
|
|
|
- // 默认选中 待接单 状态
|
|
|
- waybillStatusVO.setStatus(true);
|
|
|
- }
|
|
|
- waybillStatusVO.setCode(e);
|
|
|
- waybillStatusVO.setDestination(CarWaybillEnum.getName(e));
|
|
|
- statusVOS.add(waybillStatusVO);
|
|
|
- });
|
|
|
-
|
|
|
- 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<UserInfoVo> users = commonService.findUserList(userIds);
|
|
|
- Map<Long, String> userNameMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
- users.forEach(e -> userNameMap.put(e.getId(), e.getName()));
|
|
|
- Map<Long, String> userPhoneMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
- users.forEach(e -> userPhoneMap.put(e.getId(), e.getPhone()));
|
|
|
-
|
|
|
- for (KwtWaybillOrderTrack track : kwtWaybillOrderTracks) {
|
|
|
- for (WaybillStatusVO statusVO : statusVOS) {
|
|
|
- if (statusVO.getCode().equals(track.getStatus())) {
|
|
|
- statusVO.setStatus(true);
|
|
|
- statusVO.setId(track.getId());
|
|
|
- statusVO.setCreateTime(DateUtil.getDateTime(track.getCreateTime()));
|
|
|
- statusVO.setOperateTime(DateUtil.getDateTime(track.getOperateTime()));
|
|
|
- statusVO.setCreateByName(userNameMap.get(track.getCreateBy()));
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- WaybillTrackVO waybillTrackVO = new WaybillTrackVO();
|
|
|
- waybillTrackVO.setId(String.valueOf(track.getId()))
|
|
|
- .setRemark(track.getRemark())
|
|
|
- .setStatus(String.valueOf(track.getStatus()))
|
|
|
- .setStatusLabel(CarWaybillEnum.getName(track.getStatus()))
|
|
|
- .setCreateBy(track.getCreateBy())
|
|
|
- .setCreateByPhone(userPhoneMap.get(track.getCreateBy()))
|
|
|
- .setCreateByName(userNameMap.get(track.getCreateBy()))
|
|
|
- .setCreateTime(DateUtil.getDateTime(track.getCreateTime()))
|
|
|
- .setOperateTime(DateUtil.getDateTime(track.getOperateTime()));
|
|
|
- waybillTrackVOS.add(waybillTrackVO);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- waybillDataVO.setAgreement(waybillTicketVO);
|
|
|
- waybillDataVO.setCar(waybillCarVO);
|
|
|
- waybillDataVO.setTransport(wayBillDetailDTO);
|
|
|
- waybillDataVO.setProcess(statusVOS);
|
|
|
- waybillTrackVOS = waybillTrackVOS.stream().sorted(Comparator.comparing(WaybillTrackVO::getCreateTime).reversed()).collect(Collectors.toList());
|
|
|
- waybillDataVO.setLogs(waybillTrackVOS);
|
|
|
- return HttpResult.ok(waybillDataVO);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 简洁版运单详情
|
|
|
*
|