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