소스 검색

贸易合同补充合同

donglang 2 주 전
부모
커밋
d4a060e83d
1개의 변경된 파일31개의 추가작업 그리고 0개의 파일을 삭제
  1. 31 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/operateService/KwcContractTradeService.java

+ 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;