|
|
@@ -243,17 +243,26 @@ public class KwoTradeOrderService {
|
|
|
if (CollUtil.isNotEmpty(addressInfos)) {
|
|
|
BigDecimal amount = Objects.isNull(param.getAmount()) ? BigDecimal.ZERO : param.getAmount();
|
|
|
if (!isDraft) {
|
|
|
+ boolean isPurchase = OrderSourceEnum.PURCHASE.getType().equals(tradeOrder.getSource());
|
|
|
+ if (isPurchase) {
|
|
|
+ List<AddressInfo> loadAddress = addressInfos.stream().filter(e -> Objects.equals(e.getAddressType(), OrderAddressTypeEnum.LOAD.getType())).toList();
|
|
|
+ if (CollUtil.isEmpty(loadAddress) || loadAddress.size() != 1) {
|
|
|
+ throw new BusinessException("采购下单装货地址信息有误!");
|
|
|
+ }
|
|
|
+ }
|
|
|
BigDecimal totalLoadAmount = BigDecimal.ZERO;
|
|
|
BigDecimal totalUnloadAmount = BigDecimal.ZERO;
|
|
|
boolean loadFlag = false;
|
|
|
boolean unloadFlag = false;
|
|
|
for (AddressInfo e : addressInfos) {
|
|
|
- BigDecimal addressAmount = Objects.isNull(e.getAmount()) ? BigDecimal.ZERO : e.getAmount();
|
|
|
if (Objects.equals(e.getAddressType(), OrderAddressTypeEnum.LOAD.getType())) {
|
|
|
- totalLoadAmount = totalLoadAmount.add(addressAmount);
|
|
|
+ if (isPurchase){
|
|
|
+ e.setAmount(amount);
|
|
|
+ }
|
|
|
+ totalLoadAmount = totalLoadAmount.add(e.getAmount());
|
|
|
loadFlag = true;
|
|
|
} else {
|
|
|
- totalUnloadAmount = totalUnloadAmount.add(addressAmount);
|
|
|
+ totalUnloadAmount = totalUnloadAmount.add(e.getAmount());
|
|
|
unloadFlag = true;
|
|
|
}
|
|
|
}
|
|
|
@@ -1603,7 +1612,7 @@ public class KwoTradeOrderService {
|
|
|
* @author yzc
|
|
|
* @date 2024/3/15 14:23
|
|
|
*/
|
|
|
- private PageResult buildResult(List<OrderListResDTO> list, int pageSize) {
|
|
|
+ public PageResult buildResult(List<OrderListResDTO> list, int pageSize) {
|
|
|
if (CollUtil.isEmpty(list)) {
|
|
|
return PageHelperUtil.getPageResult(new PageInfo<>());
|
|
|
}
|