Просмотр исходного кода

承运订单/托运订单-新建订单增加双方企业合作关系校验

lengfaqiang 2 лет назад
Родитель
Сommit
c67cab8e2e

+ 1 - 1
sckw-modules-api/sckw-manage-api/src/main/java/com/sckw/manage/api/RemoteManageService.java

@@ -23,7 +23,7 @@ public interface RemoteManageService {
     Map<Long, List<EntAddressResDto>> queryEntAddressByEntIdList(List<Long> idList);
 
     /**
-     * @param entId 当前企业id  targetEntId对方企业id  cooperateType合作关系
+     * @param entId 当前企业id  targetEntId对方企业id  cooperateType合作关系[CooperateTypeEnum]
      * @return  FindEntCooperateResVo
      * @desc: 查询合作信息
      * @author: czh

+ 9 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java

@@ -12,6 +12,7 @@ import com.sckw.core.common.enums.StringConstant;
 import com.sckw.core.common.enums.enums.DictTypeEnum;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.enums.CarWaybillEnum;
+import com.sckw.core.model.enums.CooperateTypeEnum;
 import com.sckw.core.model.enums.LogisticsOrderEnum;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.CollectionUtils;
@@ -25,6 +26,7 @@ import com.sckw.excel.utils.ValidUtil;
 import com.sckw.fleet.api.RemoteFleetService;
 import com.sckw.fleet.api.model.vo.RTruckVo;
 import com.sckw.manage.api.RemoteManageService;
+import com.sckw.manage.api.model.dto.res.FindEntCooperateResVo;
 import com.sckw.mongo.enums.BusinessTypeEnum;
 import com.sckw.mongo.model.SckwLogisticsOrder;
 import com.sckw.mongo.model.SckwWaybillOrder;
@@ -1495,6 +1497,13 @@ public class AcceptCarriageOrderService {
             return HttpResult.error(httpResult.getMsg());
         }
         checkAddOrderParam(orderDTO);
+        /**2023-08-16 新增校验承运企业与托运企业是否存在合作关系*/
+        String consignCompanyId = orderDTO.getConsignCompanyId();
+        String acceptCompanyId = orderDTO.getAcceptCompanyId();
+        List<FindEntCooperateResVo> entCooperate = remoteManageService.findEntCooperate(Long.parseLong(acceptCompanyId), Long.parseLong(consignCompanyId), CooperateTypeEnum.CONSIGN.getCode());
+        if (entCooperate == null) {
+            return HttpResult.error("该托运企业与我方并无合作关系!");
+        }
         /**保存新建数据*/
         Long lOrderId = new IdWorker(NumberConstant.ONE).nextId();
         /**生成订单编号*/

+ 11 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java

@@ -9,6 +9,7 @@ import com.sckw.contract.api.model.dto.res.ContractCommonInfoResDto;
 import com.sckw.core.common.enums.NumberConstant;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.enums.CarWaybillEnum;
+import com.sckw.core.model.enums.CooperateTypeEnum;
 import com.sckw.core.model.enums.LogisticsOrderEnum;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.CollectionUtils;
@@ -21,11 +22,12 @@ import com.sckw.excel.utils.DateUtil;
 import com.sckw.excel.utils.ValidUtil;
 import com.sckw.fleet.api.RemoteFleetService;
 import com.sckw.fleet.api.model.vo.RTruckVo;
+import com.sckw.manage.api.RemoteManageService;
+import com.sckw.manage.api.model.dto.res.FindEntCooperateResVo;
 import com.sckw.mongo.enums.BusinessTypeEnum;
 import com.sckw.mongo.model.SckwLogisticsOrder;
 import com.sckw.order.api.dubbo.TradeOrderInfoService;
 import com.sckw.order.api.model.CompleteLogisticsOrderParam;
-import com.sckw.product.api.dubbo.GoodsInfoService;
 import com.sckw.stream.model.SckwBusSum;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.AreaTreeFrontResDto;
@@ -68,7 +70,7 @@ public class ConsignOrderService {
     RemoteContractService remoteContractService;
 
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
-    GoodsInfoService goodsInfoService;
+    RemoteManageService remoteManageService;
 
     @DubboReference(version = "1.0.0", group = "design", check = false)
     RemoteFleetService remoteFleetService;
@@ -935,6 +937,13 @@ public class ConsignOrderService {
             return HttpResult.error(httpResult.getMsg());
         }
         checkAddOrderParam(addOrderDTO);
+        /**2023-08-16 新增校验承运企业与托运企业是否存在合作关系*/
+        String consignCompanyId = addOrderDTO.getConsignCompanyId();
+        String acceptCompanyId = addOrderDTO.getAcceptCompanyId();
+        List<FindEntCooperateResVo> entCooperate = remoteManageService.findEntCooperate(Long.parseLong(consignCompanyId), Long.parseLong(acceptCompanyId), CooperateTypeEnum.CARRIAGE.getCode());
+        if (entCooperate == null) {
+            return HttpResult.error("该承运企业与我方企业并无合作关系!");
+        }
         /**保存新建数据*/
         Long lOrderId = new IdWorker(NumberConstant.ONE).nextId();
         /**生成订单编号*/

+ 6 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java

@@ -942,7 +942,9 @@ public class LogisticsConsignmentService {
                             .set(KwtLogisticsOrder::getUpdateBy, LoginUserHolder.getUserId())
                             .set(KwtLogisticsOrder::getUpdateTime, new Date()));
                     KwtLogisticsOrderTrack orderTrack = kwtLogisticsOrderTrackMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderTrack>()
-                            .eq(KwtLogisticsOrderTrack::getLOrderId, s));
+                            .eq(KwtLogisticsOrderTrack::getLOrderId, s)
+                            .eq(KwtLogisticsOrderTrack::getStatus,LogisticsOrderEnum.CANCEL_ORDER.getCode())
+                    );
                     if (orderTrack == null) {
                         KwtLogisticsOrderTrack track = new KwtLogisticsOrderTrack();
                         track.setId(new IdWorker(NumberConstant.ONE).nextId());
@@ -1025,7 +1027,9 @@ public class LogisticsConsignmentService {
                             .set(KwtLogisticsOrder::getUpdateBy, LoginUserHolder.getUserId())
                             .set(KwtLogisticsOrder::getUpdateTime, new Date()));
                     KwtLogisticsOrderTrack orderTrack = kwtLogisticsOrderTrackMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderTrack>()
-                            .eq(KwtLogisticsOrderTrack::getLOrderId, s));
+                            .eq(KwtLogisticsOrderTrack::getLOrderId, s)
+                            .eq(KwtLogisticsOrderTrack::getStatus,LogisticsOrderEnum.CANCEL_ORDER.getCode())
+                    );
                     if (orderTrack == null) {
                         KwtLogisticsOrderTrack track = new KwtLogisticsOrderTrack();
                         track.setId(new IdWorker(NumberConstant.ONE).nextId());

+ 3 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/TransportCommonService.java

@@ -311,15 +311,15 @@ public class TransportCommonService {
             logisticsOrder1.setStatus(LogisticsOrderEnum.CANCEL_ORDER.getStatus());
             logisticsOrder1.setUpdateTime(new Date());
             logisticsOrder1.setUpdateByName(LoginUserHolder.getUserName());
-            sckwLogisticsOrder.setUpdateBy(LoginUserHolder.getUserId());
+            logisticsOrder1.setUpdateBy(LoginUserHolder.getUserId());
             SckwBusSum busSum1 = new SckwBusSum();
             //业务汇总类型
             busSum1.setBusSumType(BusinessTypeEnum.LOGISTICS_ORDER_TYPE.getName());
             //操作对象(1新增/2修改)
             busSum1.setMethod(NumberConstant.TWO);
             //业务汇总数据对象
-            busSum1.setObject(logisticsOrder);
-            streamBridge.send("sckw-busSum", JSON.toJSONString(busSum));
+            busSum1.setObject(logisticsOrder1);
+            streamBridge.send("sckw-busSum", JSON.toJSONString(busSum1));
         }
         return result;
     }