|
@@ -12,6 +12,7 @@ import com.github.pagehelper.PageInfo;
|
|
|
import com.sckw.contract.api.RemoteContractService;
|
|
import com.sckw.contract.api.RemoteContractService;
|
|
|
import com.sckw.contract.api.model.dto.res.ContractCommonInfoResDto;
|
|
import com.sckw.contract.api.model.dto.res.ContractCommonInfoResDto;
|
|
|
import com.sckw.core.common.enums.StringConstant;
|
|
import com.sckw.core.common.enums.StringConstant;
|
|
|
|
|
+import com.sckw.core.common.enums.enums.DictEnum;
|
|
|
import com.sckw.core.common.enums.enums.DictTypeEnum;
|
|
import com.sckw.core.common.enums.enums.DictTypeEnum;
|
|
|
import com.sckw.core.exception.BusinessException;
|
|
import com.sckw.core.exception.BusinessException;
|
|
|
import com.sckw.core.model.constant.Global;
|
|
import com.sckw.core.model.constant.Global;
|
|
@@ -32,11 +33,9 @@ import com.sckw.mongo.enums.BusinessTypeEnum;
|
|
|
import com.sckw.mongo.model.SckwLogisticsOrder;
|
|
import com.sckw.mongo.model.SckwLogisticsOrder;
|
|
|
import com.sckw.mongo.model.SckwWaybillOrder;
|
|
import com.sckw.mongo.model.SckwWaybillOrder;
|
|
|
import com.sckw.mongo.model.TableTops;
|
|
import com.sckw.mongo.model.TableTops;
|
|
|
|
|
+import com.sckw.order.api.dubbo.RemoteTradeOrderAmountService;
|
|
|
import com.sckw.order.api.dubbo.TradeOrderInfoService;
|
|
import com.sckw.order.api.dubbo.TradeOrderInfoService;
|
|
|
-import com.sckw.order.api.model.CompleteLogisticsOrderParam;
|
|
|
|
|
-import com.sckw.order.api.model.GoodsLoadingParam;
|
|
|
|
|
-import com.sckw.order.api.model.OrderDetailRes;
|
|
|
|
|
-import com.sckw.order.api.model.UnitInfoDetailRes;
|
|
|
|
|
|
|
+import com.sckw.order.api.model.*;
|
|
|
import com.sckw.payment.api.dubbo.PaymentDubboService;
|
|
import com.sckw.payment.api.dubbo.PaymentDubboService;
|
|
|
import com.sckw.payment.api.model.dto.SettlementMoney;
|
|
import com.sckw.payment.api.model.dto.SettlementMoney;
|
|
|
import com.sckw.product.api.dubbo.GoodsInfoService;
|
|
import com.sckw.product.api.dubbo.GoodsInfoService;
|
|
@@ -59,6 +58,7 @@ import com.sckw.transport.model.param.DriverParam;
|
|
|
import com.sckw.transport.model.param.LogisticsOrderStatisticsParam;
|
|
import com.sckw.transport.model.param.LogisticsOrderStatisticsParam;
|
|
|
import com.sckw.transport.model.vo.*;
|
|
import com.sckw.transport.model.vo.*;
|
|
|
import com.sckw.transport.model.vo.execlVo.AcceptCarriageOrderExcelVo;
|
|
import com.sckw.transport.model.vo.execlVo.AcceptCarriageOrderExcelVo;
|
|
|
|
|
+import io.seata.spring.annotation.GlobalTransactional;
|
|
|
import jakarta.annotation.Resource;
|
|
import jakarta.annotation.Resource;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -98,6 +98,9 @@ public class KwtAcceptCarriageOrderService {
|
|
|
@DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
|
|
@DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
|
|
|
TradeOrderInfoService tradeOrderInfoService;
|
|
TradeOrderInfoService tradeOrderInfoService;
|
|
|
|
|
|
|
|
|
|
+ @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
|
|
|
|
|
+ RemoteTradeOrderAmountService tradeOrderAmountService;
|
|
|
|
|
+
|
|
|
@DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
|
|
@DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
|
|
|
GoodsInfoService goodsInfoService;
|
|
GoodsInfoService goodsInfoService;
|
|
|
|
|
|
|
@@ -158,6 +161,9 @@ public class KwtAcceptCarriageOrderService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private KwtLogisticsOrderMapper logisticsOrderMapper;
|
|
private KwtLogisticsOrderMapper logisticsOrderMapper;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private KwtWaybillOrderSubtaskMapper waybillOrderSubtaskMapper;
|
|
|
|
|
+
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private KwtWaybillOrderMapper waybillOrderMapper;
|
|
private KwtWaybillOrderMapper waybillOrderMapper;
|
|
|
|
|
|
|
@@ -166,6 +172,9 @@ public class KwtAcceptCarriageOrderService {
|
|
|
|
|
|
|
|
private final RedisLockUtil redisLockUtil;
|
|
private final RedisLockUtil redisLockUtil;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ public KwtLogisticsOrderLineFreightRateMapper lineFreightRateMapper;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 承运订单-分包托运
|
|
* 承运订单-分包托运
|
|
@@ -682,7 +691,8 @@ public class KwtAcceptCarriageOrderService {
|
|
|
* @param orderDTO
|
|
* @param orderDTO
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
|
|
|
|
+// @Transactional(rollbackFor = Exception.class)
|
|
|
|
|
+ @GlobalTransactional
|
|
|
public HttpResult orderTaking(OrderTakingDTO orderDTO) {
|
|
public HttpResult orderTaking(OrderTakingDTO orderDTO) {
|
|
|
String key = String.format(RedisConstant.LOGISTICS_ORDER_TAKING_KEY, orderDTO.getLOrderId());
|
|
String key = String.format(RedisConstant.LOGISTICS_ORDER_TAKING_KEY, orderDTO.getLOrderId());
|
|
|
log.info("接单操作接收数据:{}", JSONObject.toJSONString(orderDTO));
|
|
log.info("接单操作接收数据:{}", JSONObject.toJSONString(orderDTO));
|
|
@@ -831,6 +841,26 @@ public class KwtAcceptCarriageOrderService {
|
|
|
log.info("{}拒绝接单->贸易订单失败!,返回信息:{}", "id:" + logisticsOrder.getTOrderId() + "orderNo" + logisticsOrder.getTOrderNo(), JSONObject.toJSONString(result1));
|
|
log.info("{}拒绝接单->贸易订单失败!,返回信息:{}", "id:" + logisticsOrder.getTOrderId() + "orderNo" + logisticsOrder.getTOrderNo(), JSONObject.toJSONString(result1));
|
|
|
throw new BusinessException("{" + logisticsOrder.getTOrderNo() + "} 拒绝接单->贸易订单失败!");
|
|
throw new BusinessException("{" + logisticsOrder.getTOrderNo() + "} 拒绝接单->贸易订单失败!");
|
|
|
}
|
|
}
|
|
|
|
|
+ Long id = logisticsOrder.getId();
|
|
|
|
|
+ List<LogisticsOrderCancelAmountVo> logisticsOrderCancelAmountVos = logisticsOrderAmountMapper.cancelOrderToAmountByOrderId(id, NumberConstant.ONE);
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(logisticsOrderCancelAmountVos)) {
|
|
|
|
|
+ logisticsOrderCancelAmountVos.forEach(cancelAmountVos -> {
|
|
|
|
|
+ Long tOrderId = cancelAmountVos.getTOrderId();
|
|
|
|
|
+ Long tOrderAddressId = cancelAmountVos.getTOrderAddressId();
|
|
|
|
|
+ UpdateAddressEntrustAmountParam param = new UpdateAddressEntrustAmountParam();
|
|
|
|
|
+ param.setTOrderId(tOrderId);
|
|
|
|
|
+ param.setTAddressId(tOrderAddressId);
|
|
|
|
|
+ param.setEntrustAmount(cancelAmountVos.getAmount().negate());
|
|
|
|
|
+ param.setUpdateBy(LoginUserHolder.getUserId());
|
|
|
|
|
+ param.setUpdateByName(LoginUserHolder.getUserName());
|
|
|
|
|
+ HttpResult httpResult1 = tradeOrderAmountService.updateAddressEntrustAmount(param);
|
|
|
|
|
+ if (HttpStatus.SUCCESS_CODE != httpResult1.getCode()) {
|
|
|
|
|
+ log.info("拒绝接单->还原地址的分配量错误:,请求参数:{},{},响应信息:{}",
|
|
|
|
|
+ logisticsOrder.getTOrderId(), JSONObject.toJSONString(param), JSONObject.toJSONString(httpResult1));
|
|
|
|
|
+ throw new BusinessException("拒绝接单->还原地址的分配量错误:" + httpResult1.getMsg());
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -909,40 +939,40 @@ public class KwtAcceptCarriageOrderService {
|
|
|
List<KwtWaybillOrderTicket> kwtWaybillOrderTickets = waybillOrderTicketMapper.selectList(new LambdaQueryWrapper<KwtWaybillOrderTicket>()
|
|
List<KwtWaybillOrderTicket> kwtWaybillOrderTickets = waybillOrderTicketMapper.selectList(new LambdaQueryWrapper<KwtWaybillOrderTicket>()
|
|
|
.eq(KwtWaybillOrderTicket::getWOrderId, Long.parseLong(wOrderId))
|
|
.eq(KwtWaybillOrderTicket::getWOrderId, Long.parseLong(wOrderId))
|
|
|
);
|
|
);
|
|
|
- WaybillDetailVO vo = new WaybillDetailVO();
|
|
|
|
|
- vo.setSendCarWeigh(waybillOrder.getEntrustAmount());
|
|
|
|
|
- vo.setLoadAmount(waybillOrder.getLoadAmount());
|
|
|
|
|
- vo.setUnloadAmount(waybillOrder.getUnloadAmount());
|
|
|
|
|
- for (KwtWaybillOrderTicket waybillOrderTicket : kwtWaybillOrderTickets) {
|
|
|
|
|
- if (waybillOrderTicket != null) {
|
|
|
|
|
- if (waybillOrderTicket.getType() == 1) {
|
|
|
|
|
- vo.setStowageDateTime(waybillOrderTicket.getOperateTime());
|
|
|
|
|
- }
|
|
|
|
|
- if (waybillOrderTicket.getType() == 2) {
|
|
|
|
|
- vo.setUnloadDateTime(waybillOrderTicket.getOperateTime());
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- vo.setUnit(kwtLogisticsOrder.getUnit());
|
|
|
|
|
- if (kwtLogisticsOrder.getUnit() != null) {
|
|
|
|
|
- SysDictResDto dictResDto = remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.UNIT_TYPE.getType(), kwtLogisticsOrder.getUnit());
|
|
|
|
|
- vo.setUnitLabel(dictResDto == null ? null : dictResDto.getLabel());
|
|
|
|
|
- }
|
|
|
|
|
- vo.setWaybillType(waybillOrder.getType());
|
|
|
|
|
- vo.setDeficitAmount(waybillOrder.getDeficitAmount());
|
|
|
|
|
- vo.setLoss(kwtLogisticsOrder.getLoss());
|
|
|
|
|
- vo.setLossLabel(sysDictResDto == null ? null : sysDictResDto.getLabel());
|
|
|
|
|
- vo.setGoodsPrice(sckwWaybillOrder.getGoodsPrice());
|
|
|
|
|
- if (kwtLogisticsOrder.getGoodsPriceUnit() != null) {
|
|
|
|
|
- SysDictResDto dictResDto = remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.PRICE_TYPE.getType(), kwtLogisticsOrder.getGoodsPriceUnit());
|
|
|
|
|
- vo.setGoodsPriceLabel(dictResDto == null ? null : dictResDto.getLabel());
|
|
|
|
|
- }
|
|
|
|
|
- vo.setAppointor(sckwWaybillOrder.getCreateByName());
|
|
|
|
|
- vo.setFleetName(sckwWaybillOrder.getCarrierFirmName());
|
|
|
|
|
- vo.setTruckNo(waybillOrder.getTruckNo());
|
|
|
|
|
- vo.setDriverName(waybillOrder.getDriverName());
|
|
|
|
|
- vo.setStartTime(waybillOrder.getStartTime());
|
|
|
|
|
- vo.setEndTime(waybillOrder.getEndTime());
|
|
|
|
|
|
|
+ WaybillDetailVo vo = new WaybillDetailVo();
|
|
|
|
|
+// vo.setSendCarWeigh(waybillOrder.getEntrustAmount());
|
|
|
|
|
+// vo.setLoadAmount(waybillOrder.getLoadAmount());
|
|
|
|
|
+// vo.setUnloadAmount(waybillOrder.getUnloadAmount());
|
|
|
|
|
+// for (KwtWaybillOrderTicket waybillOrderTicket : kwtWaybillOrderTickets) {
|
|
|
|
|
+// if (waybillOrderTicket != null) {
|
|
|
|
|
+// if (waybillOrderTicket.getType() == 1) {
|
|
|
|
|
+// vo.setStowageDateTime(waybillOrderTicket.getOperateTime());
|
|
|
|
|
+// }
|
|
|
|
|
+// if (waybillOrderTicket.getType() == 2) {
|
|
|
|
|
+// vo.setUnloadDateTime(waybillOrderTicket.getOperateTime());
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// vo.setUnit(kwtLogisticsOrder.getUnit());
|
|
|
|
|
+// if (kwtLogisticsOrder.getUnit() != null) {
|
|
|
|
|
+// SysDictResDto dictResDto = remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.UNIT_TYPE.getType(), kwtLogisticsOrder.getUnit());
|
|
|
|
|
+// vo.setUnitLabel(dictResDto == null ? null : dictResDto.getLabel());
|
|
|
|
|
+// }
|
|
|
|
|
+// vo.setWaybillType(waybillOrder.getType());
|
|
|
|
|
+// vo.setDeficitAmount(waybillOrder.getDeficitAmount());
|
|
|
|
|
+// vo.setLoss(kwtLogisticsOrder.getLoss());
|
|
|
|
|
+// vo.setLossLabel(sysDictResDto == null ? null : sysDictResDto.getLabel());
|
|
|
|
|
+// vo.setGoodsPrice(sckwWaybillOrder.getGoodsPrice());
|
|
|
|
|
+// if (kwtLogisticsOrder.getGoodsPriceUnit() != null) {
|
|
|
|
|
+// SysDictResDto dictResDto = remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.PRICE_TYPE.getType(), kwtLogisticsOrder.getGoodsPriceUnit());
|
|
|
|
|
+// vo.setGoodsPriceLabel(dictResDto == null ? null : dictResDto.getLabel());
|
|
|
|
|
+// }
|
|
|
|
|
+// vo.setAppointor(sckwWaybillOrder.getCreateByName());
|
|
|
|
|
+// vo.setFleetName(sckwWaybillOrder.getCarrierFirmName());
|
|
|
|
|
+// vo.setTruckNo(waybillOrder.getTruckNo());
|
|
|
|
|
+// vo.setDriverName(waybillOrder.getDriverName());
|
|
|
|
|
+// vo.setStartTime(waybillOrder.getStartTime());
|
|
|
|
|
+// vo.setEndTime(waybillOrder.getEndTime());
|
|
|
// if (!ObjectUtils.isEmpty(sckwWaybillOrder)) {
|
|
// if (!ObjectUtils.isEmpty(sckwWaybillOrder)) {
|
|
|
// vo.setFleetName(sckwWaybillOrder.getCarrierFirmName());
|
|
// vo.setFleetName(sckwWaybillOrder.getCarrierFirmName());
|
|
|
// vo.setTruckNo(sckwWaybillOrder.getTruckNo());
|
|
// vo.setTruckNo(sckwWaybillOrder.getTruckNo());
|
|
@@ -1038,6 +1068,38 @@ public class KwtAcceptCarriageOrderService {
|
|
|
subcontractConsignmentVO.setUnloadAddressDetail(subcontractConsignmentVO.getUnloadCityName() + subcontractConsignmentVO.getUnloadAddress());
|
|
subcontractConsignmentVO.setUnloadAddressDetail(subcontractConsignmentVO.getUnloadCityName() + subcontractConsignmentVO.getUnloadAddress());
|
|
|
subcontractConsignmentVO.setOrderSourceLabel(orderSource == null ? null : orderSource.get(subcontractConsignmentVO.getOrderSource()));
|
|
subcontractConsignmentVO.setOrderSourceLabel(orderSource == null ? null : orderSource.get(subcontractConsignmentVO.getOrderSource()));
|
|
|
subcontractConsignmentVO.setTaxRateLabel(subcontractConsignmentVO.getTaxRate() + "%");
|
|
subcontractConsignmentVO.setTaxRateLabel(subcontractConsignmentVO.getTaxRate() + "%");
|
|
|
|
|
+ String lOrderId = subcontractConsignmentVO.getId();
|
|
|
|
|
+ List<KwtLogisticsOrderAddress> loadAddress = logisticsOrderAddressMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
|
|
|
|
|
+ .eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.ONE)
|
|
|
|
|
+ .eq(KwtLogisticsOrderAddress::getDelFlag, NumberConstant.ZERO)
|
|
|
|
|
+ .eq(KwtLogisticsOrderAddress::getLOrderId, Long.parseLong(lOrderId))
|
|
|
|
|
+ );
|
|
|
|
|
+ List<String> loadName = new ArrayList<String>();
|
|
|
|
|
+ List<String> loadAddressList = new ArrayList<String>();
|
|
|
|
|
+ loadAddress.forEach(address -> {
|
|
|
|
|
+ loadName.add(address.getName());
|
|
|
|
|
+ loadAddressList.add(address.getDetailAddress());
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ List<String> unloadName = new ArrayList<String>();
|
|
|
|
|
+ List<String> unloadAddressList = new ArrayList<String>();
|
|
|
|
|
+ List<KwtLogisticsOrderAddress> unloadAddress = logisticsOrderAddressMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
|
|
|
|
|
+ .eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.TWO)
|
|
|
|
|
+ .eq(KwtLogisticsOrderAddress::getDelFlag, NumberConstant.ZERO)
|
|
|
|
|
+ .eq(KwtLogisticsOrderAddress::getLOrderId, Long.parseLong(lOrderId))
|
|
|
|
|
+ );
|
|
|
|
|
+ unloadAddress.forEach(address -> {
|
|
|
|
|
+ unloadName.add(address.getName());
|
|
|
|
|
+ unloadAddressList.add(address.getDetailAddress());
|
|
|
|
|
+ });
|
|
|
|
|
+ subcontractConsignmentVO.setLoadNames(loadName);
|
|
|
|
|
+ subcontractConsignmentVO.setLoadAddresses(loadAddressList);
|
|
|
|
|
+ subcontractConsignmentVO.setUnloadNames(unloadName);
|
|
|
|
|
+ subcontractConsignmentVO.setUnloadAddresses(unloadAddressList);
|
|
|
|
|
+ List<LoadAddressVo> loadAddressAmount = logisticsOrderAddressMapper.findByAddressAndLoadAmount(Long.parseLong(lOrderId), NumberConstant.ONE);
|
|
|
|
|
+ subcontractConsignmentVO.setLoading(loadAddressAmount);
|
|
|
|
|
+ List<UnLoadAddressVo> unloadAddressAmount = logisticsOrderAddressMapper.findByAddressAndUnLoadAmount(Long.parseLong(lOrderId), NumberConstant.TWO);
|
|
|
|
|
+ subcontractConsignmentVO.setUnloading(unloadAddressAmount);
|
|
|
}
|
|
}
|
|
|
allList.addAll(voList);
|
|
allList.addAll(voList);
|
|
|
}
|
|
}
|
|
@@ -1098,7 +1160,14 @@ public class KwtAcceptCarriageOrderService {
|
|
|
Map<String, RTruckVo> truck = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
Map<String, RTruckVo> truck = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
if (String.valueOf(NumberConstant.ONE).equals(driverParam.getType())) {
|
|
if (String.valueOf(NumberConstant.ONE).equals(driverParam.getType())) {
|
|
|
//只展示待接单数据
|
|
//只展示待接单数据
|
|
|
- List<DriverListVo> list = logisticsOrderMapper.selectDriverListById(driverParam);
|
|
|
|
|
|
|
+ List<Integer> orderStatus = new ArrayList<>() {{
|
|
|
|
|
+ add(CarWaybillEnum.APPROVAL_PASS.getCode());
|
|
|
|
|
+ add(CarWaybillEnum.APPROVAL_IN.getCode());
|
|
|
|
|
+ add(CarWaybillEnum.APPROVAL_NO_PASS.getCode());
|
|
|
|
|
+ add(CarWaybillEnum.APPROVAL_TREAT.getCode());
|
|
|
|
|
+ }};
|
|
|
|
|
+// List<DriverListVo> list = logisticsOrderMapper.selectDriverListById(driverParam,orderStatus);
|
|
|
|
|
+ List<DriverListVo> list = waybillOrderSubtaskMapper.selectLoopOrderAndDriverListByOrderId(driverParam,Integer.valueOf(driverParam.getType()),orderStatus);
|
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
|
List<String> collect = list.stream().map(DriverListVo::getTruckNo).distinct().collect(Collectors.toList());
|
|
List<String> collect = list.stream().map(DriverListVo::getTruckNo).distinct().collect(Collectors.toList());
|
|
|
if (CollectionUtils.isNotEmpty(collect)) {
|
|
if (CollectionUtils.isNotEmpty(collect)) {
|
|
@@ -1106,7 +1175,7 @@ public class KwtAcceptCarriageOrderService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
//只展示待接单数据统计
|
|
//只展示待接单数据统计
|
|
|
- List<DriverListVo> truckCount = logisticsOrderMapper.selectDriverCountById(driverParam);
|
|
|
|
|
|
|
+ List<DriverListVo> truckCount = logisticsOrderMapper.selectDriverCountById(driverParam,Integer.valueOf(driverParam.getType()),orderStatus);
|
|
|
Map<String, Integer> truckMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
Map<String, Integer> truckMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
truckCount.forEach(entity -> {
|
|
truckCount.forEach(entity -> {
|
|
|
truckMap.put(entity.getTruckNo(), entity.getCount());
|
|
truckMap.put(entity.getTruckNo(), entity.getCount());
|
|
@@ -1132,7 +1201,14 @@ public class KwtAcceptCarriageOrderService {
|
|
|
}
|
|
}
|
|
|
result.setData(list);
|
|
result.setData(list);
|
|
|
} else if (String.valueOf(NumberConstant.TWO).equals(driverParam.getType())) {
|
|
} else if (String.valueOf(NumberConstant.TWO).equals(driverParam.getType())) {
|
|
|
- List<DriverListVo> list = logisticsOrderMapper.selectLoopOrderAndDriverListByOrderId(driverParam);
|
|
|
|
|
|
|
+ List<Integer> orderStatus = new ArrayList<>() {{
|
|
|
|
|
+ add(CarWaybillEnum.APPROVAL_PASS.getCode());
|
|
|
|
|
+ add(CarWaybillEnum.APPROVAL_IN.getCode());
|
|
|
|
|
+ add(CarWaybillEnum.APPROVAL_NO_PASS.getCode());
|
|
|
|
|
+ add(CarWaybillEnum.APPROVAL_TREAT.getCode());
|
|
|
|
|
+ }};
|
|
|
|
|
+// List<DriverListVo> list1 = logisticsOrderMapper.selectLoopOrderAndDriverListByOrderId(driverParam);
|
|
|
|
|
+ List<DriverListVo> list = waybillOrderSubtaskMapper.selectLoopOrderAndDriverListByOrderId(driverParam,Integer.valueOf(driverParam.getType()),orderStatus);
|
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
|
List<String> collect = list.stream().map(DriverListVo::getTruckNo).distinct().collect(Collectors.toList());
|
|
List<String> collect = list.stream().map(DriverListVo::getTruckNo).distinct().collect(Collectors.toList());
|
|
|
if (CollectionUtils.isNotEmpty(collect)) {
|
|
if (CollectionUtils.isNotEmpty(collect)) {
|
|
@@ -1211,24 +1287,44 @@ public class KwtAcceptCarriageOrderService {
|
|
|
*/
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public HttpResult stopDocumentCommit(StopOrderTakingDTO stopOrderTakingDTO) {
|
|
public HttpResult stopDocumentCommit(StopOrderTakingDTO stopOrderTakingDTO) {
|
|
|
- List<String> stringList = StringUtils.splitStrToList(stopOrderTakingDTO.getIds(), ",", String.class);
|
|
|
|
|
- List<Long> circulateIds = logisticsOrderCirculateMapper.selectEntityBylOrderIdAndOrderIds(stopOrderTakingDTO.getLOrderId(), stringList);
|
|
|
|
|
- if (CollectionUtils.isEmpty(circulateIds)) {
|
|
|
|
|
|
|
+ List<Long> ids = StringUtils.splitStrToList(stopOrderTakingDTO.getIds(), ",", Long.class);
|
|
|
|
|
+ List<KwtWaybillOrderSubtask> subtasks = waybillOrderSubtaskMapper.selectList(new LambdaQueryWrapper<KwtWaybillOrderSubtask>()
|
|
|
|
|
+ .eq(KwtWaybillOrderSubtask::getDelFlag,0)
|
|
|
|
|
+ .eq(KwtWaybillOrderSubtask::getLOrderId,Long.parseLong(stopOrderTakingDTO.getLOrderId()))
|
|
|
|
|
+ .in(KwtWaybillOrderSubtask::getId,ids)
|
|
|
|
|
+ );
|
|
|
|
|
+ if (CollectionUtils.isEmpty(subtasks)) {
|
|
|
return HttpResult.error("循环停止接单,单据不存在!");
|
|
return HttpResult.error("循环停止接单,单据不存在!");
|
|
|
}
|
|
}
|
|
|
- List<JSONObject> list = new ArrayList<>(stringList.size());
|
|
|
|
|
- acceptStopDocumentCommit(stopOrderTakingDTO, list, circulateIds);
|
|
|
|
|
-// String type = stopOrderTakingDTO.getType();
|
|
|
|
|
-// if (String.valueOf(NumberConstant.TWO).equals(type)) {
|
|
|
|
|
-// acceptStopDocumentCommit(stopOrderTakingDTO, list, wOrderIds);
|
|
|
|
|
-// } else if (String.valueOf(NumberConstant.ONE).equals(type)) {
|
|
|
|
|
-// consignStopDocumentCommit(stopOrderTakingDTO, list, wOrderIds);
|
|
|
|
|
-// } else {
|
|
|
|
|
-// return HttpResult.error("单据类型错误!");
|
|
|
|
|
-// }
|
|
|
|
|
|
|
+ List<JSONObject> list = new ArrayList<>(subtasks.size());
|
|
|
|
|
+ updateWayBillOrderSubtask(stopOrderTakingDTO, list,ids );
|
|
|
return HttpResult.ok(list);
|
|
return HttpResult.ok(list);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 承运订单设置停止接单
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param stopOrderTakingDTO
|
|
|
|
|
+ */
|
|
|
|
|
+ private void updateWayBillOrderSubtask(StopOrderTakingDTO stopOrderTakingDTO, List<JSONObject> list, List<Long> ids) {
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(ids)) {
|
|
|
|
|
+ ids.forEach(id -> {
|
|
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
|
|
+ jsonObject.put("id", id);
|
|
|
|
|
+ waybillOrderSubtaskMapper.update(null, new LambdaUpdateWrapper<KwtWaybillOrderSubtask>()
|
|
|
|
|
+ .set(KwtWaybillOrderSubtask::getStatus, NumberConstant.ONE)
|
|
|
|
|
+ .set(KwtWaybillOrderSubtask::getUpdateBy, LoginUserHolder.getUserId())
|
|
|
|
|
+ .set(KwtWaybillOrderSubtask::getUpdateTime, new Date())
|
|
|
|
|
+ .eq(KwtWaybillOrderSubtask::getId, id)
|
|
|
|
|
+ );
|
|
|
|
|
+ jsonObject.put("status", HttpStatus.SUCCESS_CODE);
|
|
|
|
|
+ jsonObject.put("message", "停止接单成功");
|
|
|
|
|
+ list.add(jsonObject);
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 托运订单-设置停止接单
|
|
* 托运订单-设置停止接单
|
|
|
*
|
|
*
|
|
@@ -2428,11 +2524,9 @@ public class KwtAcceptCarriageOrderService {
|
|
|
if (CollectionUtils.isEmpty(list)) {
|
|
if (CollectionUtils.isEmpty(list)) {
|
|
|
return PageRes.build(pageInfo, list);
|
|
return PageRes.build(pageInfo, list);
|
|
|
}
|
|
}
|
|
|
-// List<AcceptCarriageOrderVO> detailRes = new ArrayList<>();
|
|
|
|
|
/**计量单位*/
|
|
/**计量单位*/
|
|
|
Map<String, String> unitTypeDictData = getDictData(DictTypeEnum.UNIT_TYPE.getType());
|
|
Map<String, String> unitTypeDictData = getDictData(DictTypeEnum.UNIT_TYPE.getType());
|
|
|
/**运价方式*/
|
|
/**运价方式*/
|
|
|
-// Map<String, String> priceDictData = getDictData(DictTypeEnum.PRICE_TYPE.getType());
|
|
|
|
|
/**计费方式*/
|
|
/**计费方式*/
|
|
|
Map<String, String> chargingDictData = getDictData(DictTypeEnum.CHARGING_TYPE.getType());
|
|
Map<String, String> chargingDictData = getDictData(DictTypeEnum.CHARGING_TYPE.getType());
|
|
|
/**结算周期*/
|
|
/**结算周期*/
|
|
@@ -2440,7 +2534,6 @@ public class KwtAcceptCarriageOrderService {
|
|
|
/**签约方式*/
|
|
/**签约方式*/
|
|
|
Map<String, String> signingWay = getDictData(DictTypeEnum.SIGNING_TYPE.getType());
|
|
Map<String, String> signingWay = getDictData(DictTypeEnum.SIGNING_TYPE.getType());
|
|
|
/**合理损耗*/
|
|
/**合理损耗*/
|
|
|
-// Map<String, String> taxRateTypeDictData = getDictData(DictTypeEnum.TAX_RATE_TYPE.getType());
|
|
|
|
|
/**订单来源*/
|
|
/**订单来源*/
|
|
|
Map<String, String> orderSource = getDictData(DictTypeEnum.ORDER_SOURCE.getType());
|
|
Map<String, String> orderSource = getDictData(DictTypeEnum.ORDER_SOURCE.getType());
|
|
|
Map<Long, UserCacheResDto> longUserMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
Map<Long, UserCacheResDto> longUserMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
@@ -2450,18 +2543,31 @@ public class KwtAcceptCarriageOrderService {
|
|
|
longUserMap = remoteSystemService.queryUserCacheMapByIds(collect);
|
|
longUserMap = remoteSystemService.queryUserCacheMapByIds(collect);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ List<AcceptCarriageOrderVO> collect = list.stream().filter(item -> item.getBillingMode().equals(DictEnum.CHARGING_TYPE_4.getValue())).collect(Collectors.toList());
|
|
|
|
|
+ Map<Long, List<KwtLogisticsOrderLineFreightRate>> collect1 = new HashMap<>();
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(collect)) {
|
|
|
|
|
+ List<KwtLogisticsOrderLineFreightRate> kwtLogisticsOrderLineFreightRates = lineFreightRateMapper.selectListByOrderIdList(collect.stream().map(AcceptCarriageOrderVO::getLOrderId).map(Long::parseLong).toList());
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(kwtLogisticsOrderLineFreightRates)) {
|
|
|
|
|
+ collect1 = kwtLogisticsOrderLineFreightRates.stream().collect(Collectors.groupingBy(KwtLogisticsOrderLineFreightRate::getLOrderId));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
for (AcceptCarriageOrderVO vo : list) {
|
|
for (AcceptCarriageOrderVO vo : list) {
|
|
|
|
|
+
|
|
|
|
|
+ List<KwtLogisticsOrderLineFreightRate> kwtLogisticsOrderLineFreightRates = collect1.get(Long.parseLong(vo.getLOrderId()));
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(kwtLogisticsOrderLineFreightRates)) {
|
|
|
|
|
+ vo.setPrices(kwtLogisticsOrderLineFreightRates.stream().map(item -> item.getName() + " " + item.getTransportPrice()).toList());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
vo.setAccountsCycleLabel(settlementDictData.get(vo.getAccountsCycle()));
|
|
vo.setAccountsCycleLabel(settlementDictData.get(vo.getAccountsCycle()));
|
|
|
vo.setAppointor(longUserMap.get(vo.getCreateBy()) == null ? null : longUserMap.get(vo.getCreateBy()).getName());
|
|
vo.setAppointor(longUserMap.get(vo.getCreateBy()) == null ? null : longUserMap.get(vo.getCreateBy()).getName());
|
|
|
vo.setBillingModeLabel(chargingDictData.get(vo.getBillingMode()));
|
|
vo.setBillingModeLabel(chargingDictData.get(vo.getBillingMode()));
|
|
|
vo.setSigningLabel(signingWay.get(vo.getSigning()));
|
|
vo.setSigningLabel(signingWay.get(vo.getSigning()));
|
|
|
vo.setOrderSourceLabel(orderSource == null ? null : orderSource.get(vo.getOrderSource()));
|
|
vo.setOrderSourceLabel(orderSource == null ? null : orderSource.get(vo.getOrderSource()));
|
|
|
vo.setStatusLabel(LogisticsOrderEnum.getName(vo.getStatus()));
|
|
vo.setStatusLabel(LogisticsOrderEnum.getName(vo.getStatus()));
|
|
|
- vo.setLoadAddress(vo.getLoadCityName() + vo.getLoadAddress());
|
|
|
|
|
- vo.setUnloadAddress(vo.getUnloadCityName() + vo.getUnloadAddress());
|
|
|
|
|
- vo.setLoadCityName(vo.getLoadName());
|
|
|
|
|
vo.setUnitLabel(unitTypeDictData == null ? vo.getUnit() : (unitTypeDictData.get(vo.getUnit()) == null ? vo.getUnit() : unitTypeDictData.get(vo.getUnit())));
|
|
vo.setUnitLabel(unitTypeDictData == null ? vo.getUnit() : (unitTypeDictData.get(vo.getUnit()) == null ? vo.getUnit() : unitTypeDictData.get(vo.getUnit())));
|
|
|
- vo.setUnloadCityName(vo.getUnloadName());
|
|
|
|
|
vo.setWaitDistributionAmount(vo.getCarryingCapacity().subtract(vo.getSubcontractAmount()).subtract(vo.getEntrustAmount()));
|
|
vo.setWaitDistributionAmount(vo.getCarryingCapacity().subtract(vo.getSubcontractAmount()).subtract(vo.getEntrustAmount()));
|
|
|
String tOrderId = vo.getTOrderId();
|
|
String tOrderId = vo.getTOrderId();
|
|
|
if (StringUtils.isNotBlank(tOrderId)) {
|
|
if (StringUtils.isNotBlank(tOrderId)) {
|
|
@@ -2487,36 +2593,32 @@ public class KwtAcceptCarriageOrderService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
String lOrderId = vo.getLOrderId();
|
|
String lOrderId = vo.getLOrderId();
|
|
|
- List<String> loadName = new ArrayList<String>();
|
|
|
|
|
- List<String> loadAddressList = new ArrayList<String>();
|
|
|
|
|
- List<KwtLogisticsOrderAddress> loadAddress = logisticsOrderAddressMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
|
|
|
|
|
|
|
+ List<KwtLogisticsOrderAddress> loadAddresses = logisticsOrderAddressMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
|
|
|
.eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.ONE)
|
|
.eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.ONE)
|
|
|
.eq(KwtLogisticsOrderAddress::getDelFlag, NumberConstant.ZERO)
|
|
.eq(KwtLogisticsOrderAddress::getDelFlag, NumberConstant.ZERO)
|
|
|
.eq(KwtLogisticsOrderAddress::getLOrderId, Long.parseLong(lOrderId))
|
|
.eq(KwtLogisticsOrderAddress::getLOrderId, Long.parseLong(lOrderId))
|
|
|
);
|
|
);
|
|
|
- loadAddress.forEach(address -> {
|
|
|
|
|
- loadName.add(address.getName());
|
|
|
|
|
- loadAddressList.add(address.getDetailAddress());
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- List<String> unloadName = new ArrayList<String>();
|
|
|
|
|
- List<String> unloadAddressList = new ArrayList<String>();
|
|
|
|
|
- List<KwtLogisticsOrderAddress> unloadAddress = logisticsOrderAddressMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
|
|
|
|
|
|
|
+ List<KwtLogisticsOrderAddress> unloadAddresses = logisticsOrderAddressMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
|
|
|
.eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.TWO)
|
|
.eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.TWO)
|
|
|
.eq(KwtLogisticsOrderAddress::getDelFlag, NumberConstant.ZERO)
|
|
.eq(KwtLogisticsOrderAddress::getDelFlag, NumberConstant.ZERO)
|
|
|
.eq(KwtLogisticsOrderAddress::getLOrderId, Long.parseLong(lOrderId))
|
|
.eq(KwtLogisticsOrderAddress::getLOrderId, Long.parseLong(lOrderId))
|
|
|
);
|
|
);
|
|
|
- unloadAddress.forEach(address -> {
|
|
|
|
|
- unloadName.add(address.getName());
|
|
|
|
|
- unloadAddressList.add(address.getDetailAddress());
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ //装货地点名称
|
|
|
|
|
+ List<String> loadName = loadAddresses.stream().map(KwtLogisticsOrderAddress::getCityName).toList();
|
|
|
|
|
+ //装货地点
|
|
|
|
|
+ List<String> loadAddress = loadAddresses.stream().map(KwtLogisticsOrderAddress::getDetailAddress).toList();
|
|
|
|
|
+ //卸货地点点名称
|
|
|
|
|
+ List<String> unloadName = unloadAddresses.stream().map(KwtLogisticsOrderAddress::getCityName).toList();
|
|
|
|
|
+ //卸货地点
|
|
|
|
|
+ List<String> unloadAddress = unloadAddresses.stream().map(KwtLogisticsOrderAddress::getDetailAddress).toList();
|
|
|
|
|
+ List<LoadAddressVo> loadAddressAmount = logisticsOrderAddressMapper.findByAddressAndLoadAmount(Long.parseLong(lOrderId), NumberConstant.ONE);
|
|
|
|
|
+ List<UnLoadAddressVo> unloadAddressAmount = logisticsOrderAddressMapper.findByAddressAndUnLoadAmount(Long.parseLong(lOrderId), NumberConstant.TWO);
|
|
|
|
|
+
|
|
|
vo.setLoadNames(loadName);
|
|
vo.setLoadNames(loadName);
|
|
|
- vo.setLoadAddresses(loadAddressList);
|
|
|
|
|
|
|
+ vo.setLoadAddresses(loadAddress);
|
|
|
vo.setUnloadNames(unloadName);
|
|
vo.setUnloadNames(unloadName);
|
|
|
- vo.setUnloadAddresses(unloadAddressList);
|
|
|
|
|
- List<LoadAddressVo> loadAddressAmount = logisticsOrderAddressMapper.findByAddressAndLoadAmount(Long.parseLong(lOrderId), NumberConstant.ONE);
|
|
|
|
|
|
|
+ vo.setUnloadAddresses(unloadAddress);
|
|
|
vo.setLoading(loadAddressAmount);
|
|
vo.setLoading(loadAddressAmount);
|
|
|
- List<UnLoadAddressVo> unloadAddressAmount = logisticsOrderAddressMapper.findByAddressAndUnLoadAmount(Long.parseLong(lOrderId), NumberConstant.TWO);
|
|
|
|
|
vo.setUnloading(unloadAddressAmount);
|
|
vo.setUnloading(unloadAddressAmount);
|
|
|
}
|
|
}
|
|
|
return PageRes.build(pageInfo, list);
|
|
return PageRes.build(pageInfo, list);
|