2 Commits 9cbdfbaa1a ... 727f8b9e94

Autor SHA1 Mensagem Data
  donglang 727f8b9e94 Merge remote-tracking branch 'origin/dev_20251130' into dev_20251130 2 semanas atrás
  donglang d4a060e83d 贸易合同补充合同 2 semanas atrás

+ 31 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/operateService/KwcContractTradeService.java

@@ -1193,6 +1193,8 @@ public class KwcContractTradeService {
         log.info("补充合同请求参数,req:{}", JSON.toJSONString(req));
         //校验标的信息是否有重复
         checkParams(req);
+        //校验合同基本信息
+        checkParam(req.getBaseInfo());
         //保存补充合同
         long contactId = new IdWorker(1L).nextId();
         saveTradeContract(req, contactId);
@@ -1248,6 +1250,12 @@ public class KwcContractTradeService {
         });
 
         kwcContractTradeGoodsRepository.saveOrUpdateBatch(saveOrUpdateTradeGoods);
+
+        //存单位信息
+        TradeBaseInfoReqVo baseInfoReqVo = new TradeBaseInfoReqVo();
+        org.springframework.beans.BeanUtils.copyProperties(req.getBaseInfo(), baseInfoReqVo);
+        kwcContractTradeUnitService.saveContractTradeUnit(contactId, baseInfoReqVo);
+
     }
 
     private static void buildTradeGoods(SupplyContractTradeReq req, SupplyContractTradeReq.TradeGoodsInfo g,
@@ -1359,6 +1367,29 @@ public class KwcContractTradeService {
         }
     }
 
+    private void checkParam(SupplyContractTradeReq.TradeBaseInfo baseInfo) {
+        if (Objects.nonNull(baseInfo)) {
+            if (StringUtils.isNotBlank(baseInfo.getContractCode()) && baseInfo.getContractCode().length() > 20) {
+                throw new SystemException("合同编号超长!");
+            }
+
+            if (StringUtils.isNotBlank(baseInfo.getContractName()) && baseInfo.getContractName().length() > 20) {
+                throw new SystemException("合同名称超长!");
+            }
+        }
+
+        if (Objects.equals(DispatchWayEnums.MANUAL_DISPATCH.getCode(), baseInfo.getDispatchWay())) {
+            if (baseInfo.getConsignment() == null) {
+                throw new SystemException("派车方式为手动派单时,托运方式不能为空!");
+            }
+        }
+        KwcContractTrade kwcContractTrade = kwcContractTradeRepository.queryByContractNo(baseInfo.getContractCode());
+        if (Objects.nonNull(kwcContractTrade)) {
+            throw new SystemException("合同编号已存在!");
+        }
+    }
+
+
     private static boolean hasDuplicateGoodsIds(List<SupplyContractTradeReq.TradeGoodsInfo> goodsInfo) {
         if (goodsInfo == null || goodsInfo.isEmpty()) {
             return false;