Selaa lähdekoodia

贸易合同查询

chenxiaofei 9 tuntia sitten
vanhempi
commit
0eea822b50

+ 21 - 14
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/operateService/KwcContractTradeService.java

@@ -2579,18 +2579,25 @@ public class KwcContractTradeService {
             log.debug("供应商登录,使用登录企业ID[{}]和企业类型[{}]进行查询",
                     contractTradeOrderDto.getEntId(), contractTradeOrderDto.getEntType());
         } else if (Objects.equals(LoginUserHolder.getEntTypes(), CooperateTypeEnum.PURCHASER.getCode())) {
-            // 采购商登录时,企业ID从商品表获取,忽略前端传入的企业ID,兼容前端之前可能不会传商品id的情况,增加校验
-            if (Objects.isNull(contractTradeOrderDto.getGoodsId()) && Objects.equals(contractTradeOrderDto.getEntType(), 1)) {
-                throw new BusinessException("商品id不能为空!");
-            }
-            KwpGoods kwpGoods = goodsInfoService.getGoodsById(contractTradeOrderDto.getGoodsId());
-            if (Objects.isNull(kwpGoods) || Objects.isNull(kwpGoods.getEntId())) {
-                throw new BusinessException("商品不存在或商品企业信息缺失!");
+            if (Objects.equals(contractTradeOrderDto.getEntType(), CooperateTypeEnum.PURCHASER.getCode())){
+                // 采购商登录时,前端传入的企业ID和类型为采购商,直接使用前端传入的企业ID和类型
+                log.debug("采购商登录,前端传入的企业类型为采购商,使用前端传入的企业ID[{}]和企业类型[{}]进行查询",
+                        contractTradeOrderDto.getEntId(), contractTradeOrderDto.getEntType());
+            }else {
+                // 采购商登录时,企业ID从商品表获取,忽略前端传入的企业ID,兼容前端之前可能不会传商品id的情况,增加校验
+                if (Objects.isNull(contractTradeOrderDto.getGoodsId()) && Objects.equals(contractTradeOrderDto.getEntType(), 1)) {
+                    throw new BusinessException("商品id不能为空!");
+                }
+                KwpGoods kwpGoods = goodsInfoService.getGoodsById(contractTradeOrderDto.getGoodsId());
+                if (Objects.isNull(kwpGoods) || Objects.isNull(kwpGoods.getEntId())) {
+                    throw new BusinessException("商品不存在或商品企业信息缺失!");
+                }
+                contractTradeOrderDto.setEntId(kwpGoods.getEntId());
+                contractTradeOrderDto.setEntType(CooperateTypeEnum.SUPPLIER.getCode());
+                log.debug("采购商登录,使用商品[{}]关联企业ID[{}]进行查询",
+                        contractTradeOrderDto.getGoodsId(), contractTradeOrderDto.getEntId());
             }
-            contractTradeOrderDto.setEntId(kwpGoods.getEntId());
-            contractTradeOrderDto.setEntType(CooperateTypeEnum.SUPPLIER.getCode());
-            log.debug("采购商登录,使用商品[{}]关联企业ID[{}]进行查询",
-                    contractTradeOrderDto.getGoodsId(), contractTradeOrderDto.getEntId());
+
         }
 
         // 1. 参数校验:确保商品ID、企业ID和企业类型不为空
@@ -2851,9 +2858,9 @@ public class KwcContractTradeService {
     }
 
     private static void checkParam(Long contractTradeOrderDto, Long contractTradeOrderDto1, Integer contractTradeOrderDto2) {
-        if (Objects.isNull(contractTradeOrderDto) && Objects.equals(contractTradeOrderDto2, 1)) {
-            throw new BusinessException("商品id不能为空!");
-        }
+//        if (Objects.isNull(contractTradeOrderDto) && Objects.equals(contractTradeOrderDto2, 1)) {
+//            throw new BusinessException("商品id不能为空!");
+//        }
         if (Objects.isNull(contractTradeOrderDto1)) {
             throw new BusinessException("托运方企业id不能为空!");
         }