Преглед на файлове

贸易订单自然完结逻辑修改

yzc преди 2 години
родител
ревизия
a6a077b9ab

+ 0 - 10
sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/dubbo/TradeOrderInfoService.java

@@ -64,16 +64,6 @@ public interface TradeOrderInfoService {
      */
     void updateAssociateStatement(UpdateAssociateStatementParam param);
 
-    /**
-     * @desc: 是否关联企业  true是,false否 (废弃)
-     * @author: yzc
-     * @date: 2023-08-16 16:20
-     * @Param entId:
-     * @return: java.lang.Boolean
-     */
-    @Deprecated
-    Boolean associateEnt(Long entId);
-
     /**
      * @desc: 是否关联企业  true是,false否
      * @author: yzc

+ 1 - 1
sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/model/CompleteLogisticsOrderParam.java

@@ -40,7 +40,7 @@ public class CompleteLogisticsOrderParam implements Serializable {
     private BigDecimal actualUnloadAmount;
 
     /**
-     * 物流订单是否已全部完结
+     * 物流订单是否已全部完结(废弃)
      */
     private Boolean isAllComplete;
 

+ 24 - 29
sckw-modules/sckw-order/src/main/java/com/sckw/order/dubbo/TradeOrderInfoServiceImpl.java

@@ -126,7 +126,8 @@ public class TradeOrderInfoServiceImpl implements TradeOrderInfoService {
             if (!Objects.equals(String.valueOf(order.getStatus()), DictEnum.TORDER_STATUS_4.getValue())) {
                 return HttpResult.error("执行中的订单才可物流托运!");
             }
-            BigDecimal totalEntrustAmount = Objects.isNull(order.getEntrustAmount()) ? entrustAmount : entrustAmount.add(order.getEntrustAmount());
+            BigDecimal totalEntrustAmount = Objects.isNull(order.getEntrustAmount()) ?
+                    entrustAmount : entrustAmount.add(order.getEntrustAmount());
             if (order.getAmount().compareTo(totalEntrustAmount) < 0) {
                 return HttpResult.error("物流已委托总量不可大于订单总量!");
             }
@@ -154,9 +155,9 @@ public class TradeOrderInfoServiceImpl implements TradeOrderInfoService {
         if (Objects.isNull(actualLoadAmount) || Objects.isNull(actualUnloadAmount)) {
             return HttpResult.error("装卸总量不能为空!");
         }
-        if (Objects.isNull(param.getIsAllComplete())) {
-            return HttpResult.error("物流订单是否已全部完结不能为空!");
-        }
+//        if (Objects.isNull(param.getIsAllComplete())) {
+//            return HttpResult.error("物流订单是否已全部完结不能为空!");
+//        }
         if (Objects.isNull(updateBy) || StringUtils.isBlank(updateByName)) {
             return HttpResult.error("操作人信息不能为空!");
         }
@@ -172,24 +173,28 @@ public class TradeOrderInfoServiceImpl implements TradeOrderInfoService {
             if (!Objects.equals(String.valueOf(order.getStatus()), DictEnum.TORDER_STATUS_4.getValue())) {
                 return HttpResult.error("执行中的订单才可物流托运!");
             }
-            BigDecimal actualAmount = Objects.equals(order.getDeliveryType(), DictEnum.DELIVERY_TYPE_0.getValue()) ? actualLoadAmount : actualUnloadAmount;
-            order.setActualAmount(actualAmount).setUpdateBy(param.getUpdateBy());
-            if (param.getIsAllComplete() && actualAmount.compareTo(order.getAmount()) >= 0) {
-                //完结订单
-                order.setStatus(Integer.valueOf(DictEnum.TORDER_STATUS_5.getValue()));
-                //记录状态
-                KwoTradeOrderTrack track = new KwoTradeOrderTrack();
-                track.setTOrderId(order.getId()).setTOrderNo(order.getTOrderNo()).setStatus(order.getStatus())
-                        .setCreateBy(updateBy).setUpdateBy(updateBy);
-                kwoTradeOrderTrackService.insert(track);
-                //更新合同履约量
-                KwoTradeOrderContract contract = kwoTradeOrderContractService.getByOrderId(order.getId());
-                remoteContractService.updatePerformed(contract.getContractId(), actualAmount);
-            }
+            BigDecimal actualAmount = Objects.isNull(order.getActualAmount()) ? BigDecimal.ZERO : order.getActualAmount();
+            BigDecimal addActualAmount = Objects.equals(order.getDeliveryType(), DictEnum.DELIVERY_TYPE_0.getValue())
+                    ? actualLoadAmount : actualUnloadAmount;
+            BigDecimal totalActualAmount = actualAmount.add(addActualAmount);
+            order.setActualAmount(totalActualAmount).setUpdateBy(param.getUpdateBy());
+            //不走自然完结
+//            if (param.getIsAllComplete() && actualAmount.compareTo(order.getAmount()) >= 0) {
+//                //完结订单
+//                order.setStatus(Integer.valueOf(DictEnum.TORDER_STATUS_5.getValue()));
+//                //记录状态
+//                KwoTradeOrderTrack track = new KwoTradeOrderTrack();
+//                track.setTOrderId(order.getId()).setTOrderNo(order.getTOrderNo()).setStatus(order.getStatus())
+//                        .setCreateBy(updateBy).setUpdateBy(updateBy);
+//                kwoTradeOrderTrackService.insert(track);
+//                //更新合同履约量
+//                KwoTradeOrderContract contract = kwoTradeOrderContractService.getByOrderId(order.getId());
+//                remoteContractService.updatePerformed(contract.getContractId(), actualAmount);
+//            }
             kwoTradeOrderService.updateById(order);
             //更新mongodb
             SckwTradeOrder updateParam = new SckwTradeOrder();
-            updateParam.setTOrderId(order.getId()).setActualAmount(actualAmount).setStatus(order.getStatus())
+            updateParam.setTOrderId(order.getId()).setActualAmount(totalActualAmount).setStatus(order.getStatus())
                     .setUpdateBy(param.getUpdateBy()).setUpdateByName(param.getUpdateByName()).setUpdateTime(new Date());
             saveMongoDb(updateParam);
         } finally {
@@ -274,16 +279,6 @@ public class TradeOrderInfoServiceImpl implements TradeOrderInfoService {
 
     }
 
-    @Override
-    public Boolean associateEnt(Long entId) {
-        Set<Long> tOrderIds = tradeOrderUnitService.associateEntOrderId(entId, entId);
-        if (CollectionUtils.isEmpty(tOrderIds)) {
-            return Boolean.FALSE;
-        }
-        List<KwoTradeOrder> list = kwoTradeOrderService.associateEnt(tOrderIds);
-        return CollectionUtils.isNotEmpty(list);
-    }
-
     @Override
     public Boolean associateEnt(Long firstEntId, Long secondEntId) {
         Set<Long> tOrderIds = tradeOrderUnitService.associateEntOrderId(firstEntId, secondEntId);