|
@@ -100,6 +100,7 @@ public class KwoTradeOrderService {
|
|
|
private final KwoTradeOrderContractService kwoTradeOrderContractService;
|
|
private final KwoTradeOrderContractService kwoTradeOrderContractService;
|
|
|
private final KwoTradeOrderTrackService kwoTradeOrderTrackService;
|
|
private final KwoTradeOrderTrackService kwoTradeOrderTrackService;
|
|
|
private final KwoTradeOrderGoodsUnitService kwoTradeOrderGoodsUnitService;
|
|
private final KwoTradeOrderGoodsUnitService kwoTradeOrderGoodsUnitService;
|
|
|
|
|
+ private final KwoTradeOrderAmountService tradeOrderAmountService;
|
|
|
|
|
|
|
|
@Value("${url.order.list.valet.pc}")
|
|
@Value("${url.order.list.valet.pc}")
|
|
|
private String pcValetListUrl;
|
|
private String pcValetListUrl;
|
|
@@ -224,6 +225,7 @@ public class KwoTradeOrderService {
|
|
|
|
|
|
|
|
//地址信息
|
|
//地址信息
|
|
|
kwoTradeOrderAddressService.delByOrderId(id);
|
|
kwoTradeOrderAddressService.delByOrderId(id);
|
|
|
|
|
+ tradeOrderAmountService.delByOrderId(id);
|
|
|
List<AddressInfo> addressInfos = param.getAddressInfo();
|
|
List<AddressInfo> addressInfos = param.getAddressInfo();
|
|
|
if (CollectionUtils.isNotEmpty(addressInfos)) {
|
|
if (CollectionUtils.isNotEmpty(addressInfos)) {
|
|
|
BigDecimal amount = Objects.isNull(param.getAmount()) ? BigDecimal.ZERO : param.getAmount();
|
|
BigDecimal amount = Objects.isNull(param.getAmount()) ? BigDecimal.ZERO : param.getAmount();
|
|
@@ -251,10 +253,13 @@ public class KwoTradeOrderService {
|
|
|
totalUnloadAmount = totalUnloadAmount.add(e.getAmount());
|
|
totalUnloadAmount = totalUnloadAmount.add(e.getAmount());
|
|
|
unloadFlag = true;
|
|
unloadFlag = true;
|
|
|
}
|
|
}
|
|
|
|
|
+ //地址信息
|
|
|
Long addressId = kwoTradeOrderAddressService.add(address);
|
|
Long addressId = kwoTradeOrderAddressService.add(address);
|
|
|
|
|
+ //分配量信息
|
|
|
KwoTradeOrderAmount orderAmount = new KwoTradeOrderAmount();
|
|
KwoTradeOrderAmount orderAmount = new KwoTradeOrderAmount();
|
|
|
orderAmount.setTOrderId(id).setAmount(e.getAmount())
|
|
orderAmount.setTOrderId(id).setAmount(e.getAmount())
|
|
|
- .setAddressId(addressId);
|
|
|
|
|
|
|
+ .setTAddressId(addressId);
|
|
|
|
|
+ tradeOrderAmountService.add(orderAmount);
|
|
|
}
|
|
}
|
|
|
if (loadFlag && totalLoadAmount.compareTo(amount) != 0) {
|
|
if (loadFlag && totalLoadAmount.compareTo(amount) != 0) {
|
|
|
throw new BusinessException("装货分配量总量与订单总量不符!");
|
|
throw new BusinessException("装货分配量总量与订单总量不符!");
|
|
@@ -262,8 +267,6 @@ public class KwoTradeOrderService {
|
|
|
if (unloadFlag && totalUnloadAmount.compareTo(amount) != 0) {
|
|
if (unloadFlag && totalUnloadAmount.compareTo(amount) != 0) {
|
|
|
throw new BusinessException("卸货分配量总量与订单总量不符!");
|
|
throw new BusinessException("卸货分配量总量与订单总量不符!");
|
|
|
}
|
|
}
|
|
|
- kwoTradeOrderAddressService.insertBatch(list);
|
|
|
|
|
- //分配量信息
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//合同信息
|
|
//合同信息
|
|
@@ -761,11 +764,18 @@ public class KwoTradeOrderService {
|
|
|
//地址信息
|
|
//地址信息
|
|
|
List<KwoTradeOrderAddress> addressList = kwoTradeOrderAddressService.getByOrderId(id);
|
|
List<KwoTradeOrderAddress> addressList = kwoTradeOrderAddressService.getByOrderId(id);
|
|
|
if (CollectionUtils.isNotEmpty(addressList)) {
|
|
if (CollectionUtils.isNotEmpty(addressList)) {
|
|
|
|
|
+ //分配量信息
|
|
|
|
|
+ List<KwoTradeOrderAmount> amountList = tradeOrderAmountService.getByOrderId(id);
|
|
|
|
|
+ Map<Long, KwoTradeOrderAmount> amountMap = amountList.stream().collect(Collectors.toMap(KwoTradeOrderAmount::getTAddressId, e -> e, (k1, k2) -> k1));
|
|
|
List<AddressInfoDetailRes> addressInfoDetails = new ArrayList<>(addressList.size());
|
|
List<AddressInfoDetailRes> addressInfoDetails = new ArrayList<>(addressList.size());
|
|
|
addressList.forEach(e -> {
|
|
addressList.forEach(e -> {
|
|
|
AddressInfoDetailRes address = BeanUtils.copyProperties(e, AddressInfoDetailRes.class);
|
|
AddressInfoDetailRes address = BeanUtils.copyProperties(e, AddressInfoDetailRes.class);
|
|
|
address.setAddressTypeLabel(CollectionUtils.isNotEmpty(orderAddressMap) ? orderAddressMap.get(address.getAddressType()) : null);
|
|
address.setAddressTypeLabel(CollectionUtils.isNotEmpty(orderAddressMap) ? orderAddressMap.get(address.getAddressType()) : null);
|
|
|
address.setTypeLabel(CollectionUtils.isNotEmpty(addressMap) ? addressMap.get(address.getType()) : null);
|
|
address.setTypeLabel(CollectionUtils.isNotEmpty(addressMap) ? addressMap.get(address.getType()) : null);
|
|
|
|
|
+ KwoTradeOrderAmount orderAmount = amountMap.get(e.getId());
|
|
|
|
|
+ if (Objects.nonNull(orderAmount)) {
|
|
|
|
|
+ address.setAmount(orderAmount.getAmount());
|
|
|
|
|
+ }
|
|
|
addressInfoDetails.add(address);
|
|
addressInfoDetails.add(address);
|
|
|
});
|
|
});
|
|
|
detail.setAddressInfo(addressInfoDetails);
|
|
detail.setAddressInfo(addressInfoDetails);
|
|
@@ -1269,6 +1279,7 @@ public class KwoTradeOrderService {
|
|
|
kwoTradeOrderGoodsService.delByOrderIds(ids);
|
|
kwoTradeOrderGoodsService.delByOrderIds(ids);
|
|
|
kwoTradeOrderUnitService.delByOrderIds(ids);
|
|
kwoTradeOrderUnitService.delByOrderIds(ids);
|
|
|
kwoTradeOrderAddressService.delByOrderIds(ids);
|
|
kwoTradeOrderAddressService.delByOrderIds(ids);
|
|
|
|
|
+ tradeOrderAmountService.delByOrderIds(ids);
|
|
|
kwoTradeOrderContractService.delByOrderIds(ids);
|
|
kwoTradeOrderContractService.delByOrderIds(ids);
|
|
|
//更新mongodb
|
|
//更新mongodb
|
|
|
ids.forEach(id -> {
|
|
ids.forEach(id -> {
|
|
@@ -1462,4 +1473,34 @@ public class KwoTradeOrderService {
|
|
|
|
|
|
|
|
return unitDetails;
|
|
return unitDetails;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @desc 根据id获取地址信息
|
|
|
|
|
+ * @param id
|
|
|
|
|
+ * @return com.sckw.order.model.vo.res.OrderAddressInfoRes
|
|
|
|
|
+ * @author yzc
|
|
|
|
|
+ * @date 2024/3/5 15:50
|
|
|
|
|
+ */
|
|
|
|
|
+ public OrderAddressInfoRes getAddressInfo(Long id) {
|
|
|
|
|
+ OrderAddressInfoRes res = new OrderAddressInfoRes();
|
|
|
|
|
+ List<String> loadNameList = new ArrayList<>();
|
|
|
|
|
+ List<String> loadDetailAddressList = new ArrayList<>();
|
|
|
|
|
+ List<String> unloadNameList = new ArrayList<>();
|
|
|
|
|
+ List<String> unloadDetailAddressList = new ArrayList<>();
|
|
|
|
|
+ List<KwoTradeOrderAddress> list = kwoTradeOrderAddressService.getByOrderId(id);
|
|
|
|
|
+ list.forEach(e -> {
|
|
|
|
|
+ if (OrderAddressTypeEnum.LOAD.getType().equals(e.getAddressType())) {
|
|
|
|
|
+ loadNameList.add(e.getName());
|
|
|
|
|
+ loadDetailAddressList.add(e.getCityName() + e.getDetailAddress());
|
|
|
|
|
+ } else {
|
|
|
|
|
+ unloadNameList.add(e.getName());
|
|
|
|
|
+ unloadDetailAddressList.add(e.getCityName() + e.getDetailAddress());
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ res.setLoadNameList(loadNameList)
|
|
|
|
|
+ .setLoadDetailAddressList(loadDetailAddressList)
|
|
|
|
|
+ .setUnloadNameList(unloadNameList)
|
|
|
|
|
+ .setUnloadDetailAddressList(unloadDetailAddressList);
|
|
|
|
|
+ return res;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|