Quellcode durchsuchen

提交合同查询接口

chenxiaofei vor 1 Monat
Ursprung
Commit
fb053e042c

+ 11 - 1
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/dubbo/TransportRemoteService.java

@@ -1,11 +1,16 @@
 package com.sckw.transport.api.dubbo;
 
+import com.sckw.core.web.response.BaseResult;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.transport.api.model.dto.AcceptCarriageLogisticsOrderDto;
 import com.sckw.transport.api.model.dto.AccountCheckingBindDTO;
 import com.sckw.transport.api.model.dto.RWaybillOrderDto;
 import com.sckw.transport.api.model.param.*;
 import com.sckw.transport.api.model.vo.*;
+import io.swagger.v3.oas.annotations.Operation;
+import jakarta.validation.Valid;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.List;
 import java.util.Set;
@@ -158,5 +163,10 @@ public interface TransportRemoteService {
      *新增物流订单
      * @param param 请求参数
      */
-    public void addLogisticOrder(AddLogisticOrderParam param);
+    void addLogisticOrder(AddLogisticOrderParam param);
+
+    /**
+     * 完结订单
+     */
+    Boolean logisticOrderFinish(@RequestBody @Valid OrderFinishParam req);
 }

+ 22 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/param/OrderFinishParam.java

@@ -0,0 +1,22 @@
+package com.sckw.transport.api.model.param;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author :chenXiaoFei
+ * @version :1.0
+ * @description :
+ * @create :2025-11-20 14:14:00
+ */
+@Data
+public class OrderFinishParam implements Serializable {
+    @Serial
+    private static final long serialVersionUID = -8497329584784837085L;
+    /**
+     * 物流订单id
+     */
+    private Long logisticOrderId;
+}

+ 16 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dubbo/TransportServiceImpl.java

@@ -19,6 +19,7 @@ import com.sckw.core.utils.IdWorker;
 import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
+import com.sckw.core.web.response.BaseResult;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.fleet.api.RemoteFleetService;
 import com.sckw.fleet.api.model.vo.RTruckVo;
@@ -43,9 +44,11 @@ import com.sckw.transport.api.model.vo.*;
 import com.sckw.transport.dao.*;
 import com.sckw.transport.model.*;
 import com.sckw.transport.model.dto.AddLogisticOrderDTO;
+import com.sckw.transport.model.vo.OrderFinishReq;
 import com.sckw.transport.repository.*;
 import com.sckw.transport.service.KwtAcceptCarriageOrderService;
 import com.sckw.transport.service.KwtCommonService;
+import com.sckw.transport.service.KwtLogisticsConsignmentService;
 import jakarta.annotation.Resource;
 import jodd.util.StringUtil;
 import lombok.RequiredArgsConstructor;
@@ -129,6 +132,7 @@ public class TransportServiceImpl implements TransportRemoteService {
     private final KwtLogisticsOrderContractRepository logisticsOrderContractRepository;
     private final KwtLogisticsOrderCirculateRepository logisticsOrderCirculateRepository;
     private final KwtAcceptCarriageOrderService kwtAcceptCarriageOrderService;
+    private final KwtLogisticsConsignmentService logisticsConsignmentService;
     /**
      * 对账管理-ids查询
      *
@@ -1093,6 +1097,18 @@ public class TransportServiceImpl implements TransportRemoteService {
         kwtAcceptCarriageOrderService.addLogisticOrder( addLogisticOrderDTO);
     }
 
+    @Override
+    public Boolean logisticOrderFinish(OrderFinishParam req) {
+        log.info("流程完结物流订单:{}", JSON.toJSONString(req));
+        if (Objects.isNull( req.getLogisticOrderId())){
+            throw new BusinessException("物流订单id不能为空");
+        }
+        OrderFinishReq orderFinishReq = new OrderFinishReq();
+        orderFinishReq.setLogisticOrderId(String.valueOf(req.getLogisticOrderId()));
+        return logisticsConsignmentService.logisticOrderFinish(orderFinishReq);
+
+    }
+
     @NotNull
     private static AddLogisticOrderDTO getAddLogisticOrderDTO(AddLogisticOrderParam param) {
         AddLogisticOrderDTO addLogisticOrderDTO = new AddLogisticOrderDTO();

+ 2 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/repository/KwtLogisticsOrderCirculateRepository.java

@@ -22,11 +22,11 @@ import java.util.Set;
  */
 @Repository
 public class KwtLogisticsOrderCirculateRepository extends ServiceImpl<KwtLogisticsOrderCirculateMapper, KwtLogisticsOrderCirculate> {
-    public IPage<KwtLogisticsOrderCirculate> queryByPage(int pageNum, int pageSize,String truckNo, Long entId,
+    public IPage<KwtLogisticsOrderCirculate> queryByPage(int pageNum, int pageSize,String truckNo, Set<Long> entIds,
                                                          Long logistOrderId) {
         return page(new Page<>(pageNum, pageSize), Wrappers.<KwtLogisticsOrderCirculate>lambdaQuery()
                 .eq(KwtLogisticsOrderCirculate::getDelFlag,0)
-                .eq(KwtLogisticsOrderCirculate::getEntId, entId)
+                .in(KwtLogisticsOrderCirculate::getEntId, entIds)
                 .eq(KwtLogisticsOrderCirculate::getLOrderId, logistOrderId)
                 .like(StringUtils.isNotBlank(truckNo),KwtLogisticsOrderCirculate::getTruckNo, truckNo)
                 .orderByDesc(KwtLogisticsOrderCirculate::getCreateTime)

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/repository/KwtWaybillOrderRepository.java

@@ -131,7 +131,7 @@ public class KwtWaybillOrderRepository extends ServiceImpl<KwtWaybillOrderMapper
         );
     }
 
-    public List<KwtWaybillOrder> queryByBillOrderIdsAndEntId(Set<Long> billOrderIds, Long entId) {
+    public List<KwtWaybillOrder> queryByBillOrderIds(Set<Long> billOrderIds, Long entId) {
         return list(Wrappers.<KwtWaybillOrder>lambdaQuery()
                 .eq(KwtWaybillOrder::getDelFlag,0)
                 .eq(KwtWaybillOrder::getEntId,entId)

+ 10 - 13
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtLogisticsConsignmentService.java

@@ -2223,7 +2223,7 @@ public class KwtLogisticsConsignmentService {
     public PageDataResult<LogisticsOrderResp> queryLogisticsOrderByPage(QueryLogisticsOrderReq req) {
         log.info("分页查询物流订单传递参数信息:{}", JSONObject.toJSONString(req));
 
-        Set<Long> allEnt = getAllEnt(req);
+        Set<Long> allEnt = getAllEnt(req.getEntId());
         //根据托运单位或者承运单位查询企业
         Set<Long> entList = getEntList(req);
 
@@ -2367,23 +2367,21 @@ public class KwtLogisticsConsignmentService {
     }
 
     @NotNull
-    private Set<Long> getAllEnt(QueryLogisticsOrderReq req) {
+    private Set<Long> getAllEnt(String entId) {
         Set<Long> allEnt = Sets.newHashSet();
         //根据企业类型查询企业
-        if (StringUtils.isBlank(req.getEntId())){
-           req.setEntId(String.valueOf(LoginUserHolder.getEntId()));
-        }
+        Long enterId = StringUtils.isBlank(entId) ? LoginUserHolder.getEntId() : Long.parseLong(entId);
 
-        if (StringUtils.isBlank(req.getEntId())){
+        if (Objects.isNull(enterId)){
           return allEnt;
         }
-        allEnt.add( Long.parseLong(req.getEntId()));
-        EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(Long.parseLong(req.getEntId()));
+        allEnt.add( enterId);
+        EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(enterId);
         if (Objects.nonNull(entCacheResDto)) {
             EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntTreeById(entCacheResDto.getId());
             List<EntCacheResDto> child = entCacheResDto1.getChild();
             if (CollectionUtils.isNotEmpty(child)) {
-                allEnt.addAll(child.stream().filter(x->x.getEntTypes().contains(req.getEntType())).map(EntCacheResDto::getId).toList());
+                allEnt.addAll(child.stream().map(EntCacheResDto::getId).toList());
             }
         }
         return allEnt;
@@ -2681,9 +2679,9 @@ public class KwtLogisticsConsignmentService {
     public PageDataResult<CapacityVo> pageCapacity(CapacityReq req) {
         log.info("查询车辆列表请求:{}", JSON.toJSONString( req));
         Long logOrderId = Long.parseLong(req.getLogOrderId());
-        Long entId = Long.parseLong(req.getEntId());
+        Set<Long> allEnt = getAllEnt(req.getEntId());
         IPage<KwtLogisticsOrderCirculate> page = logisticsOrderCirculateRepository.queryByPage(req.getPageNum(),
-                req.getPageSize(), req.getTruckNo(),entId, logOrderId);
+                req.getPageSize(), req.getTruckNo(),allEnt, logOrderId);
         List<KwtLogisticsOrderCirculate> records = page.getRecords();
 
         if (org.apache.commons.collections4.CollectionUtils.isEmpty( records)){
@@ -2712,8 +2710,7 @@ public class KwtLogisticsConsignmentService {
         //查询运单信息
         Map<Long, List<KwtWaybillOrder>> billOrderIdAndWaybillOrderMap = Maps.newHashMap();
         if (CollectionUtils.isNotEmpty(billOrderIds)){
-            List<KwtWaybillOrder> waybillOrders = waybillOrderRepository.queryByBillOrderIdsAndEntId(billOrderIds,
-                    entId);
+            List<KwtWaybillOrder> waybillOrders = waybillOrderRepository.queryByBillOrderIds(billOrderIds);
             if (CollectionUtils.isNotEmpty(waybillOrders)){
                 billOrderIdAndWaybillOrderMap = waybillOrders.stream().filter(x->Objects.equals(x.getStatus(),
                                 CarWaybillEnum.APPROVAL_PASS.getCode()))

+ 28 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderV1Service.java

@@ -3369,7 +3369,13 @@ public class KwtWaybillOrderV1Service {
             updateOrder.setStatus( status);
             updateSubtask.setStatus(status);
             boolean b = kwtWaybillOrderRepository.updateById(updateOrder) && kwtWaybillOrderSubtaskRepository.updateById(updateSubtask);
-            if (!b){
+            //修改物流订单数据
+            KwtLogisticsOrder kwtLogistics= kwtLogisticsOrderRepository.queryByLogisticsOrderId(subtask.getLOrderId());
+            //获取更新 订单状态
+            KwtLogisticsOrder kwtLogisticsOrder = getKwtLogisticsOrder(kwtLogistics, subtask);
+            boolean b1 = kwtLogisticsOrderRepository.updateById(kwtLogisticsOrder);
+
+            if (!b || !b1){
                 throw new BusinessException("审核运单失败");
             }
             return Boolean.TRUE;
@@ -3392,4 +3398,25 @@ public class KwtWaybillOrderV1Service {
         }
         return Boolean.FALSE;
     }
+
+    @NotNull
+    private static KwtLogisticsOrder getKwtLogisticsOrder(KwtLogisticsOrder kwtLogistics, KwtWaybillOrderSubtask subtask) {
+        if (Objects.isNull(kwtLogistics)){
+            throw new BusinessException("物流订单信息不存在");
+        }
+        BigDecimal entrustAmount  = Objects.isNull(kwtLogistics.getEntrustAmount())  ? BigDecimal.ZERO: kwtLogistics.getEntrustAmount();
+        BigDecimal subEntrustAmount = Objects.isNull(subtask.getEntrustAmount()) ? BigDecimal.ZERO: subtask.getEntrustAmount();
+        BigDecimal loadAmount  = Objects.isNull(kwtLogistics.getLoadAmount())  ? BigDecimal.ZERO: kwtLogistics.getLoadAmount();
+        BigDecimal subLoadAmount = Objects.isNull(subtask.getLoadAmount()) ? BigDecimal.ZERO: subtask.getLoadAmount();
+        BigDecimal unloadAmount  = Objects.isNull(kwtLogistics.getUnloadAmount())  ? BigDecimal.ZERO: kwtLogistics.getUnloadAmount();
+        BigDecimal subUnloadAmount = Objects.isNull(subtask.getUnloadAmount()) ? BigDecimal.ZERO: subtask.getUnloadAmount();
+
+
+        KwtLogisticsOrder kwtLogisticsOrder = new KwtLogisticsOrder();
+        kwtLogisticsOrder.setId(kwtLogistics.getId());
+        kwtLogisticsOrder.setEntrustAmount(entrustAmount.add(subEntrustAmount));
+        kwtLogisticsOrder.setLoadAmount(loadAmount.add(subLoadAmount));
+        kwtLogisticsOrder.setUnloadAmount(unloadAmount.add(subUnloadAmount));
+        return kwtLogisticsOrder;
+    }
 }