瀏覽代碼

新增平台默认物流

xucaiqin 2 月之前
父節點
當前提交
2e5d9963b2

+ 2 - 0
sckw-modules-api/sckw-contract-api/src/main/java/com/sckw/contract/api/model/dto/res/LogisticsOrderDto.java

@@ -29,4 +29,6 @@ public class LogisticsOrderDto implements Serializable {
      * 企业类型(3-托运 4-承运)
      */
     private Integer entType;
+
+    private Long tradeContractId;
 }

+ 41 - 10
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/operateService/KwcContractTradeService.java

@@ -128,7 +128,7 @@ public class KwcContractTradeService {
     @DubboReference(version = "1.0.0", group = "design", check = false)
     private GoodsInfoService goodsInfoService;
 
-    @DubboReference(version = "1.0.0", group = "design", check = false,timeout = 8000)
+    @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
     private TradeOrderInfoService tradeOrderInfoService;
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
     private TransportRemoteService transportRemoteService;
@@ -363,7 +363,7 @@ public class KwcContractTradeService {
             if (Objects.equals(baseInfo.getUnloadWay(), Integer.parseInt(DictEnum.LOAD_UNLOAD_WAY_2.getValue())) && Objects.isNull(baseInfo.getMeasurementWay())) {
                 throw new SystemException("卸货方式为按卸货筽量时,计量方式不能为空!");
             }
-            if(Objects.equals(baseInfo.getSettlement(),1)){
+            if (Objects.equals(baseInfo.getSettlement(), 1)) {
                 throw new SystemException("暂不支持普通结算模式!");
             }
         }
@@ -1414,7 +1414,7 @@ public class KwcContractTradeService {
             if (StringUtils.isNotBlank(baseInfo.getContractName()) && baseInfo.getContractName().length() > 20) {
                 throw new SystemException("合同名称超长!");
             }
-            if(Objects.equals(baseInfo.getSettlement(),1)){
+            if (Objects.equals(baseInfo.getSettlement(), 1)) {
                 throw new SystemException("暂不支持普通结算模式!");
             }
         }
@@ -1482,7 +1482,7 @@ public class KwcContractTradeService {
             updateKwcContractTrade.setStatus(ContractStatusEnum.COMPLETE.getCode());
         }
         Boolean result = kwcContractTradeRepository.updateByContractId(updateKwcContractTrade);
-        if(Objects.equals(req.getStatus(), ContractStatusEnum.SIGNED.getCode()) && Objects.equals(updateKwcContractTrade.getStatus(),ContractStatusEnum.SIGNED.getCode())){
+        if (Objects.equals(req.getStatus(), ContractStatusEnum.SIGNED.getCode()) && Objects.equals(updateKwcContractTrade.getStatus(), ContractStatusEnum.SIGNED.getCode())) {
             //签约成功,初始化预付清单
             //根据订单号查询交易企业信息
             List<KwcContractTradeUnit> tradeUnits = kwcContractTradeUnitRepository.queryByContractId(kwcContractTrade.getId());
@@ -1493,9 +1493,9 @@ public class KwcContractTradeService {
             prepaidDto.setTradeAmount(BigDecimal.ZERO);
             prepaidDto.setRemark("预付清单初始化");
             BaseResult<Object> prepaidResult = paymentFeignService.initPrepaidBalance(prepaidDto);
-            if (prepaidResult.getCode() == HttpStatus.SUCCESS_CODE){
+            if (prepaidResult.getCode() == HttpStatus.SUCCESS_CODE) {
                 log.info("创建预付清单成功");
-            }else {
+            } else {
                 log.error("创建预付清单失败");
                 throw new BusinessException("创建预付清单失败");
             }
@@ -1924,7 +1924,7 @@ public class KwcContractTradeService {
 
 
     public List<TradeEntInfoResVo> queryTradeEntList(TradeEntListQueryFeignDto queryFeignDto) {
-        List<TradeEntInfoResVo> resVos =  new ArrayList<>();
+        List<TradeEntInfoResVo> resVos = new ArrayList<>();
         Long entId = queryFeignDto.getCurEntId();
         Set<Long> entIds = Sets.newHashSet();
         entIds.add(entId);
@@ -2107,9 +2107,40 @@ public class KwcContractTradeService {
         }
         Map<String, KwcContractLogisticsUnit> finalContractLogisticsMap = contractLogisticsMap;
         Map<Long, KwcContractLogisticsGoods> finalContractLogisticsGoodsMap = contractLogisticsGoodsMap;
-        return logistics.stream()
+        List<ContractLogisticsOrderResDto> collect = logistics.stream()
                 .map(log -> getContractLogisticsOrderResDto(log, finalContractLogisticsMap, finalContractLogisticsGoodsMap))
                 .collect(Collectors.toList());
+        // 贸易合同 按装货量 并且买家托运时
+        Long tradeContractId = logisticsOrderDto.getTradeContractId();
+
+        if (Objects.nonNull(tradeContractId)) {
+            KwcContractTrade kwcContractTrade = kwcContractTradeMapper.selectById(tradeContractId);
+            if (Objects.nonNull(kwcContractTrade)) {
+                if (Objects.equals(kwcContractTrade.getConsignment(), 1) && Objects.equals(kwcContractTrade.getUnloadWay(), 1)) {
+                    ContractLogisticsOrderResDto contractLogisticsOrderResDto = new ContractLogisticsOrderResDto();
+                    contractLogisticsOrderResDto.setId(0L);
+                    contractLogisticsOrderResDto.setContactName("平台默认物流");
+                    contractLogisticsOrderResDto.setContractNo("MRWL");
+                    contractLogisticsOrderResDto.setSigningWay(0);
+                    contractLogisticsOrderResDto.setSigningWayName("");
+                    contractLogisticsOrderResDto.setStatus(0);
+                    contractLogisticsOrderResDto.setStatusName("");
+                    contractLogisticsOrderResDto.setConsignEntId(0L);
+                    contractLogisticsOrderResDto.setConsignEntName("");
+                    contractLogisticsOrderResDto.setConsignEntPhone("");
+                    contractLogisticsOrderResDto.setConsignEntContactId(0L);
+                    contractLogisticsOrderResDto.setConsignEntContact("");
+                    contractLogisticsOrderResDto.setAcceptCarriageEntId(0L);
+                    contractLogisticsOrderResDto.setAcceptCarriageEntPhone("");
+                    contractLogisticsOrderResDto.setAcceptCarriageEntContactId(0L);
+                    contractLogisticsOrderResDto.setAcceptCarriageEntContact("");
+                    contractLogisticsOrderResDto.setAcceptCarriageEntName("");
+                    contractLogisticsOrderResDto.setPrice(new BigDecimal("0"));
+                    collect.add(0, contractLogisticsOrderResDto);
+                }
+            }
+        }
+        return collect;
 
     }
 
@@ -2678,14 +2709,14 @@ public class KwcContractTradeService {
                     entOk = record.getEntId() != null && perm.getVisibleEntIds().contains(record.getEntId());
                 }
             }
-            
+
             // 校验销售人员个人数据权限
             boolean salesOk = true;
             if (perm.isPersonalDataEnabled()) {
                 // 如果开启了个人数据权限,检查当前用户是否为该合同的销售人员
                 salesOk = perm.getUserId() != null && perm.getUserId().equals(record.getSalesmanId());
             }
-            
+
             // 同时满足企业权限和销售人员权限
             return entOk && salesOk;
         }).collect(Collectors.toList());