فهرست منبع

Merge remote-tracking branch 'origin/dev' into dev

czh 2 سال پیش
والد
کامیت
9a312d568b
14فایلهای تغییر یافته به همراه179 افزوده شده و 15 حذف شده
  1. 20 0
      sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/SckwLogisticsOrder.java
  2. 6 1
      sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/AccountCheckingBindDTO.java
  3. 10 0
      sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/vo/LogisticsOrderVO.java
  4. 12 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/controller/KwfTruckReportController.java
  5. 9 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfTableTopCount.java
  6. 28 4
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfTruckReportService.java
  7. 4 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwAcceptCarriageService.java
  8. 4 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwConsignService.java
  9. 21 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/AcceptCarriageOrderVo.java
  10. 22 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/ConsignOrderVo.java
  11. 20 6
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java
  12. 19 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/TransportCommonService.java
  13. 1 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/dubbo/TransportDubboServiceImpl.java
  14. 3 2
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

+ 20 - 0
sckw-common/sckw-common-mongo/src/main/java/com/sckw/mongo/model/SckwLogisticsOrder.java

@@ -311,6 +311,26 @@ public class SckwLogisticsOrder {
      */
     private String carrierPhone;
 
+    /**
+     * 发货单位
+     */
+    private String shipmentsUnitEntId;
+
+    /**
+     * 发货单位
+     */
+    private String shipmentsUnit;
+
+    /**
+     * 收货单位
+     */
+    private String receiveGoodsUnitEntId;
+
+    /**
+     * 收货单位
+     */
+    private String receiveGoodsUnit;
+
     /**
      * 装货地址类型
      */

+ 6 - 1
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/AccountCheckingBindDTO.java

@@ -2,6 +2,8 @@ package com.sckw.transport.api.model.dto;
 
 import lombok.Data;
 
+import java.io.Serial;
+import java.io.Serializable;
 import java.util.List;
 
 /**
@@ -10,7 +12,10 @@ import java.util.List;
  * @date 2023-08-11 17:08:47
  */
 @Data
-public class AccountCheckingBindDTO {
+public class AccountCheckingBindDTO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 3050697770661381917L;
 
     /**
      * 物流订单id

+ 10 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/vo/LogisticsOrderVO.java

@@ -188,11 +188,21 @@ public class LogisticsOrderVO implements Serializable {
      */
     private String unloadPhone;
 
+    /**
+     * 发货单位
+     */
+    private String shipmentsUnitId;
+
     /**
      * 发货单位
      */
     private String shipmentsUnit;
 
+    /**
+     * 收货单位
+     */
+    private String receiveGoodsUnitId;
+
     /**
      * 收货单位
      */

+ 12 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/controller/KwfTruckReportController.java

@@ -96,6 +96,18 @@ public class KwfTruckReportController {
         return HttpResult.ok(reportService.findList(params));
     }
 
+    /**
+     * @param params {。。。}
+     * @desc 上报车辆业务状态统计
+     * @author zk
+     * @date 2023/7/6
+     **/
+    @PostMapping("/busStatusStatistics")
+    public HttpResult busStatusStatistics(@RequestBody HashMap params) throws SystemException {
+        params.put("entId", LoginUserHolder.getEntId());
+        return HttpResult.ok(reportService.busStatusStatistics(params));
+    }
+
     /**
      * @param file 导入文件
      * @description 导入

+ 9 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfTableTopCount.java

@@ -23,4 +23,13 @@ public class KwfTableTopCount {
      * 统计值
      */
     private long total;
+
+    public KwfTableTopCount() {
+    }
+
+    public KwfTableTopCount(String name, String value, long total) {
+        this.name = name;
+        this.value = value;
+        this.total = total;
+    }
 }

+ 28 - 4
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfTruckReportService.java

@@ -3,10 +3,7 @@ package com.sckw.fleet.service;
 import com.sckw.core.common.enums.enums.DictTypeEnum;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
-import com.sckw.core.utils.BeanUtils;
-import com.sckw.core.utils.CollectionUtils;
-import com.sckw.core.utils.RegularUtils;
-import com.sckw.core.utils.StringUtils;
+import com.sckw.core.utils.*;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
@@ -29,6 +26,7 @@ import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.multipart.MultipartFile;
 import java.math.BigDecimal;
 import java.util.ArrayList;
@@ -173,6 +171,32 @@ public class KwfTruckReportService {
         return HttpResult.ok(truckReportDao.findList(params));
     }
 
+    /**
+     * @param params {。。。}
+     * @desc 上报车辆业务状态统计
+     * @author zk
+     * @date 2023/7/6
+     **/
+    public HttpResult busStatusStatistics(@RequestBody HashMap params) throws SystemException {
+        params.put("entId", LoginUserHolder.getEntId());
+        List<Map<String, Object>> trucks = truckReportDao.findList(params);
+        /**全部数据-处理**/
+        List<KwfTableTopCount> countList = new ArrayList();
+        countList.add(new KwfTableTopCount("全部", null, trucks != null ? trucks.size() : 0));
+
+        //状态数据计算
+        int idle = 0;
+        for (Map<String, Object> truck:trucks) {
+            Object obj = truck.get("businessStatus");
+            if (StringUtils.isNotBlank(obj) && NumberUtils.parseInt(obj) == 0) {
+                idle ++;
+            }
+        }
+        countList.add(new KwfTableTopCount("空闲", String.valueOf(0), idle));
+        countList.add(new KwfTableTopCount("任务", String.valueOf(1), trucks != null ? (trucks.size() - idle) : 0));
+        return HttpResult.ok(countList);
+    }
+
     /**
      * @param {}
      * @description 导出

+ 4 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwAcceptCarriageService.java

@@ -322,6 +322,10 @@ public class KwAcceptCarriageService {
                     null : DateUtil.getDateTime(logisticsOrder.getCreateTime()));
             vo.setUpdateTime(logisticsOrder.getUpdateTime() == null ?
                     null : DateUtil.getDateTime(logisticsOrder.getUpdateTime()));
+            vo.setShipmentsUnitEntId(logisticsOrder.getShipmentsUnitEntId());
+            vo.setShipmentsUnit(logisticsOrder.getShipmentsUnit());
+            vo.setReceiveGoodsUnitEntId(logisticsOrder.getReceiveGoodsUnitEntId());
+            vo.setReceiveGoodsUnit(logisticsOrder.getReceiveGoodsUnit());
             returnList.add(vo);
         }
     }

+ 4 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwConsignService.java

@@ -210,6 +210,10 @@ public class KwConsignService {
                     null : DateUtil.getDateTime(logisticsOrder.getCreateTime()));
             vo.setUpdateTime(logisticsOrder.getUpdateTime() == null ?
                     null : DateUtil.getDateTime(logisticsOrder.getUpdateTime()));
+            vo.setShipmentsUnitEntId(logisticsOrder.getShipmentsUnitEntId());
+            vo.setShipmentsUnit(logisticsOrder.getShipmentsUnit());
+            vo.setReceiveGoodsUnitEntId(logisticsOrder.getReceiveGoodsUnitEntId());
+            vo.setReceiveGoodsUnit(logisticsOrder.getReceiveGoodsUnit());
             returnList.add(vo);
         }
     }

+ 21 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/AcceptCarriageOrderVo.java

@@ -161,4 +161,25 @@ public class AcceptCarriageOrderVo extends PageRequest {
     private String createTime;
     private String updateTime;
 
+
+    /**
+     * 发货单位
+     */
+    private String shipmentsUnitEntId;
+
+    /**
+     * 发货单位
+     */
+    private String shipmentsUnit;
+
+    /**
+     * 收货单位
+     */
+    private String receiveGoodsUnitEntId;
+
+    /**
+     * 收货单位
+     */
+    private String receiveGoodsUnit;
+
 }

+ 22 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/ConsignOrderVo.java

@@ -146,4 +146,26 @@ public class ConsignOrderVo implements Serializable {
     private String wOrderNo;
     private String createTime;
     private String updateTime;
+
+
+
+    /**
+     * 发货单位
+     */
+    private String shipmentsUnitEntId;
+
+    /**
+     * 发货单位
+     */
+    private String shipmentsUnit;
+
+    /**
+     * 收货单位
+     */
+    private String receiveGoodsUnitEntId;
+
+    /**
+     * 收货单位
+     */
+    private String receiveGoodsUnit;
 }

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

@@ -19,17 +19,13 @@ 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.HttpResult;
-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.mongo.enums.BusinessTypeEnum;
 import com.sckw.mongo.model.SckwLogisticsOrder;
 import com.sckw.order.api.dubbo.TradeOrderInfoService;
-import com.sckw.order.api.model.AddressInfoDetail;
-import com.sckw.order.api.model.CompleteLogisticsOrderParam;
-import com.sckw.order.api.model.CreateOrCancelLogisticsOrderParam;
-import com.sckw.order.api.model.OrderDetailRes;
+import com.sckw.order.api.model.*;
 import com.sckw.product.api.dubbo.GoodsInfoService;
 import com.sckw.product.api.model.KwpGoods;
 import com.sckw.stream.model.SckwBusSum;
@@ -40,9 +36,9 @@ import com.sckw.transport.model.dto.LogisticsOrderDTO;
 import com.sckw.transport.model.dto.OrderCarDTO;
 import com.sckw.transport.model.dto.OrderFinishDTO;
 import com.sckw.transport.model.param.LogisticsConsignmentParam;
+import com.sckw.transport.model.vo.OrderFinishVO;
 import com.sckw.transport.model.vo.PurchaseLogisticOrderExcelVo;
 import com.sckw.transport.model.vo.SellLogisticOrderExcelVo;
-import com.sckw.transport.model.vo.OrderFinishVO;
 import io.seata.core.context.RootContext;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
@@ -263,6 +259,22 @@ public class LogisticsConsignmentService {
         logisticsOrder.setCarrierEntId(Long.parseLong(bo.getConsignCompanyId()));
         logisticsOrder.setCarrierFirmName(bo.getConsignCompany());
         logisticsOrder.setCarrierContacts(bo.getConsignContacts());
+        OrderDetailRes orderDetailRes = tradeOrderInfoService.getOrderDetailById(Long.valueOf(bo.getTOrderId()));
+        // 收货单位+发货单位
+        if (orderDetailRes != null) {
+            List<UnitInfoDetailRes> unitInfo = orderDetailRes.getUnitInfo();
+            if (CollectionUtils.isNotEmpty(unitInfo)) {
+                for (UnitInfoDetailRes unitInfoDetailRes : unitInfo) {
+                    if (String.valueOf(NumberConstant.ONE).equals(unitInfoDetailRes.getUnitType())) {
+                        logisticsOrder.setShipmentsUnitEntId(String.valueOf(unitInfoDetailRes.getEntId()));
+                        logisticsOrder.setShipmentsUnit(unitInfoDetailRes.getFirmName());
+                    } else if (String.valueOf(NumberConstant.TWO).equals(unitInfoDetailRes.getUnitType())) {
+                        logisticsOrder.setReceiveGoodsUnitEntId(String.valueOf(unitInfoDetailRes.getEntId()));
+                        logisticsOrder.setReceiveGoodsUnit(unitInfoDetailRes.getFirmName());
+                    }
+                }
+            }
+        }
         List<AddressInfoDetail> addressInfo = tradeOrder.getAddressInfo();
         for (AddressInfoDetail detail : addressInfo) {
             if (String.valueOf(NumberConstant.ONE).equals(detail.getAddressType())) {
@@ -1658,6 +1670,7 @@ public class LogisticsConsignmentService {
 
     /**
      * 导出销售/采购订单对应的运单列表
+     *
      * @param ids 销售/采购订单IDs
      * @return
      */
@@ -1688,6 +1701,7 @@ public class LogisticsConsignmentService {
 
     /**
      * 导出销售/采购订单对应的运单列表
+     *
      * @param ids 销售/采购订单IDs
      * @return
      */

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

@@ -19,6 +19,8 @@ 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.CreateOrCancelLogisticsOrderParam;
+import com.sckw.order.api.model.OrderDetailRes;
+import com.sckw.order.api.model.UnitInfoDetailRes;
 import com.sckw.stream.model.SckwBusSum;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
@@ -379,6 +381,23 @@ public class TransportCommonService {
                 logisticsOrderDTO.setLossUnitLabel(taxRateTypeDictData.get(logisticsOrderDTO.getLossUnit()));
                 logisticsOrderDTO.setAmountLabel(unitTypeDictData.get(logisticsOrderDTO.getUnit()));
                 logisticsOrderDTO.setIgnoreAmountLabel(unitTypeDictData.get(logisticsOrderDTO.getUnit()));
+                if (logisticsOrderDTO.getTOrderId() != null) {
+                    OrderDetailRes orderDetailRes = tradeOrderInfoService.getOrderDetailById(Long.valueOf(logisticsOrderDTO.getTOrderId()));
+                    if (orderDetailRes != null) {
+                        List<UnitInfoDetailRes> unitInfo = orderDetailRes.getUnitInfo();
+                        if (CollectionUtils.isNotEmpty(unitInfo)) {
+                            for (UnitInfoDetailRes unitInfoDetailRes : unitInfo) {
+                                if (String.valueOf(NumberConstant.ONE).equals(unitInfoDetailRes.getUnitType())) {
+                                    logisticsOrderDTO.setShipmentsUnitId(String.valueOf(unitInfoDetailRes.getEntId()));
+                                    logisticsOrderDTO.setShipmentsUnit(unitInfoDetailRes.getFirmName());
+                                } else if (String.valueOf(NumberConstant.TWO).equals(unitInfoDetailRes.getUnitType())) {
+                                    logisticsOrderDTO.setReceiveGoodsUnitId(String.valueOf(unitInfoDetailRes.getEntId()));
+                                    logisticsOrderDTO.setReceiveGoodsUnit(unitInfoDetailRes.getFirmName());
+                                }
+                            }
+                        }
+                    }
+                }
 //                logisticsOrderDTO.setCount(waybillOrderMapper.selectCount(new LambdaQueryWrapper<KwtWaybillOrder>().eq(KwtWaybillOrder::getLOrderId, logisticsOrderDTO.getLOrderId())));
             }
         }

+ 1 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/dubbo/TransportDubboServiceImpl.java

@@ -28,7 +28,6 @@ import com.sckw.transport.dao.KwtLogisticsOrderUnitMapper;
 import com.sckw.transport.model.KwtLogisticsOrder;
 import com.sckw.transport.model.KwtLogisticsOrderAddress;
 import com.sckw.transport.model.KwtLogisticsOrderUnit;
-import io.seata.spring.annotation.GlobalLock;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
@@ -304,7 +303,7 @@ public class TransportDubboServiceImpl implements TransportDubboService {
             return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, "绑定状态不能为空");
         }
         if (!String.valueOf(NumberConstant.ZERO).equals(accountCheckingBindDTO.getStatus()) &&
-                String.valueOf(NumberConstant.ONE).equals(accountCheckingBindDTO.getStatus())) {
+                !String.valueOf(NumberConstant.ONE).equals(accountCheckingBindDTO.getStatus())) {
             return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, "绑定状态类型错误!");
         }
         accountCheckingBindDTO.getLOrderList().forEach(id -> {

+ 3 - 2
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

@@ -143,9 +143,10 @@
 <!--        LEFT JOIN kwt_logistics_order_unit d ON a.id = d.l_order_id-->
         LEFT JOIN kwt_logistics_order_contract c ON a.id = c.l_order_id
 <!--        LEFT JOIN ( SELECT l_order_id FROM kwt_logistics_order_unit WHERE unit_type = 1 AND ent_id = #{entId} ) g ON a.id = g.l_order_id-->
-        LEFT JOIN ( SELECT ent_id FROM kwt_logistics_order_unit WHERE unit_type = 1 AND ent_id = #{entId} ) g ON a.id = g.l_order_id
+<!--        LEFT JOIN ( SELECT ent_id FROM kwt_logistics_order_unit WHERE unit_type = 1 AND ent_id = #{entId} ) g ON a.id = g.l_order_id-->
+        LEFT JOIN kwt_logistics_order_unit g on a.id =g.l_order_id and g.unit_type=1
         <where>
-            a.del_flag = 0 and a.bind_status = '0' and d.unit_type = 1
+            a.del_flag = 0 and a.bind_status = '0' <!--and d.unit_type = 1-->
             <if test="dictValue != null and dictValue != ''">
                 AND a.payment = #{dictValue}
             </if>