Explorar o código

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

yzc %!s(int64=2) %!d(string=hai) anos
pai
achega
abb7868b9c
Modificáronse 29 ficheiros con 942 adicións e 137 borrados
  1. 3 3
      sckw-auth/src/main/java/com/sckw/auth/controller/AuthController.java
  2. 9 8
      sckw-auth/src/main/java/com/sckw/auth/service/impl/AuthServiceImpl.java
  3. 1 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictTypeEnum.java
  4. 1 1
      sckw-modules-api/sckw-fleet-api/src/main/java/com/sckw/fleet/api/RemoteFleetService.java
  5. 0 1
      sckw-modules-api/sckw-fleet-api/src/main/java/com/sckw/fleet/api/model/vo/RDriverDetailVo.java
  6. 6 1
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/req/REnterpriseVo.java
  7. 2 2
      sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/dubbo/TransportDubboService.java
  8. 195 5
      sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/LogisticsOrderDTO.java
  9. 194 5
      sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/vo/LogisticsOrderVO.java
  10. 1 1
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/dubbo/RemoteFleetServiceImpl.java
  11. 2 2
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/LedgerLogisticsDetailVo.java
  12. 4 4
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpLedgerLogisticsService.java
  13. 19 3
      sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwTransportController.java
  14. 1 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteBaseService.java
  15. 8 2
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java
  16. 1 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/AcceptCarriageOrderController.java
  17. 41 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/LogisticsConsignmentController.java
  18. 17 11
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderMapper.java
  19. 25 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/WayBillDetailDTO.java
  20. 3 3
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/LogisticsOrderParam.java
  21. 55 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/PurchaseLogisticOrderExcelVo.java
  22. 55 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/SellLogisticOrderExcelVo.java
  23. 4 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillCarVO.java
  24. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillTrackVO.java
  25. 64 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java
  26. 63 17
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/TransportCommonService.java
  27. 22 9
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java
  28. 64 18
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/dubbo/TransportDubboServiceImpl.java
  29. 81 40
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

+ 3 - 3
sckw-auth/src/main/java/com/sckw/auth/controller/AuthController.java

@@ -70,15 +70,15 @@ public class AuthController {
         if (StringUtils.isBlank(params.getAccount())) {
             return HttpResult.error(HttpStatus.PARAMETERS_MISSING_CODE, "请输入您的账号!");
         }
+        if (params.getLoginMethod() == LoginMethodEnum.ORDINARY.getValue() && StringUtils.isBlank(params.getPassword())) {
+            return HttpResult.error(HttpStatus.PARAMETERS_MISSING_CODE, "请输入您的密码!");
+        }
         if (params.getLoginMethod() == LoginMethodEnum.SMS.getValue() && !RegularUtils.matchs(RegularUtils.PHONE_REG, params.getAccount())) {
             return HttpResult.error(HttpStatus.PARAMETERS_PATTERN_ERROR_CODE, "手机号格式不正确,请检查并重新输入!");
         }
         if (params.getLoginMethod() == LoginMethodEnum.SMS.getValue() && StringUtils.isBlank(params.getCaptcha())) {
             return HttpResult.error(HttpStatus.PARAMETERS_MISSING_CODE, "请输入您的验证码!");
         }
-        if (params.getLoginMethod() == LoginMethodEnum.ORDINARY.getValue() && StringUtils.isBlank(params.getPassword())) {
-            return HttpResult.error(HttpStatus.PARAMETERS_MISSING_CODE, "请输入您的密码!");
-        }
         return HttpResult.ok();
     }
     /**--------------------------------------------------------------------------------------------------------------**/

+ 9 - 8
sckw-auth/src/main/java/com/sckw/auth/service/impl/AuthServiceImpl.java

@@ -362,16 +362,16 @@ public class AuthServiceImpl implements IAuthService {
     @Override
     public HttpResult driverAuth(LoginBase loginBase) {
         /**查询用户信息**/
-        RDriverDetailVo driver = fleetService.findDriver(loginBase.getAccount());
+        RDriverDetailVo driver = fleetService.findDriverDetai(loginBase.getAccount());
         /**信息校验**/
         if (driver == null) {
-            return HttpResult.error(HttpStatus.QUERY_FAIL_CODE, "账号不存在,请检查并重新输入!");
+            return HttpResult.error(HttpStatus.QUERY_FAIL_CODE, "账号不存在,请检查并重新输入!");
         }
         if (!PasswordUtils.validatePassword(loginBase.getPassword(), driver.getPassword())) {
-            return HttpResult.error(HttpStatus.CODE_10301, "密码不正确,请检查并重新输入!");
+            return HttpResult.error(HttpStatus.CODE_10301, "密码不正确,请检查并重新输入!");
         }
         if (driver.getStatus() == Global.YES) {
-            return HttpResult.error(HttpStatus.CODE_10301, "您的账号已冻结,如需帮助,请致电平台客服:400-803-6377!");
+            return HttpResult.error(HttpStatus.CODE_10301, "您的账号已冻结,如需帮助,请致电平台客服:400-803-6377!");
         }
         //企业信息
         REnterpriseVo enterprise = systemService.queryEntDetails(driver.getEntId());
@@ -379,7 +379,7 @@ public class AuthServiceImpl implements IAuthService {
         /**生成token**/
         String token = EncryUtil.encryV1(Global.PRI_KEY, String.valueOf(driver.getId()));
         if (StringUtils.isBlank(token)) {
-            return HttpResult.error(HttpStatus.CODE_10301, "生成密钥失败,请联系系统管理员!");
+            return HttpResult.error(HttpStatus.CODE_10301, "生成密钥失败,请联系系统管理员");
         }
 
         /**缓存司机/企业信息**/
@@ -387,10 +387,11 @@ public class AuthServiceImpl implements IAuthService {
 
         /**数据组装**/
         LoginResVo1 loginRes = new LoginResVo1();
+        BeanUtils.copyPropertiesValue(driver, loginRes);
         loginRes.setAccount(loginBase.getAccount());
-        loginRes.setFirmName(enterprise.getFirmName());
-        loginRes.setApproval(enterprise.getApproval());
-        loginRes.setEntTypeNames(enterprise.getEntTypeNames());
+        loginRes.setFirmName(enterprise != null ? enterprise.getFirmName() : null);
+        loginRes.setApproval(enterprise != null ? enterprise.getApproval() : null);
+        loginRes.setEntTypeNames(enterprise != null ? enterprise.getEntTypeNames() : null);
         loginRes.setClientType(loginBase.getClientType());
         loginRes.setSystemType(loginBase.getSystemType());
         loginRes.setToken(token);

+ 1 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictTypeEnum.java

@@ -40,6 +40,7 @@ public enum DictTypeEnum {
     USE_TYPE("use_type", "使用性质"),
     SIGNING_WAY("signing_way", "签约方式"),
     WEIGHT_CAR("weight_car", "以车的限重"),
+    TAX_RATE_TYPE("tax_rate_type", "合理损耗单位"),
     TRANSPORT_DEMAND_STATUS("transport_demand_status", "运需状态"),
     PREPAID_LIMIT("prepaid_limit", "预付限额"),
     ;

+ 1 - 1
sckw-modules-api/sckw-fleet-api/src/main/java/com/sckw/fleet/api/RemoteFleetService.java

@@ -36,7 +36,7 @@ public interface RemoteFleetService {
      * @author zk
      * @date 2023/8/10
      **/
-    RDriverDetailVo findDriver(String phone);
+    RDriverDetailVo findDriverDetai(String phone);
 
     /**
      * @param params 司机档案信息

+ 0 - 1
sckw-modules-api/sckw-fleet-api/src/main/java/com/sckw/fleet/api/model/vo/RDriverDetailVo.java

@@ -1,7 +1,6 @@
 package com.sckw.fleet.api.model.vo;
 
 import lombok.Data;
-
 import java.io.Serializable;
 import java.math.BigDecimal;
 

+ 6 - 1
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/req/REnterpriseVo.java

@@ -2,6 +2,8 @@ package com.sckw.system.api.model.dto.req;
 
 import lombok.Data;
 
+import java.io.Serial;
+import java.io.Serializable;
 import java.util.Date;
 
 /**
@@ -10,7 +12,10 @@ import java.util.Date;
  * @date 2023/8/10 0010
  */
 @Data
-public class REnterpriseVo {
+public class REnterpriseVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 970722911118698101L;
 
     /**
      * 企业编号

+ 2 - 2
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/dubbo/TransportDubboService.java

@@ -2,9 +2,9 @@ package com.sckw.transport.api.dubbo;
 
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.transport.api.model.dto.AddressResDTO;
+import com.sckw.transport.api.model.dto.LogisticsOrderDTO;
 import com.sckw.transport.api.model.param.LogisticsOrderParam;
 import com.sckw.transport.api.model.vo.KwtLogisticsOrderVO;
-import com.sckw.transport.api.model.vo.LogisticsOrderVO;
 
 import java.util.List;
 import java.util.Map;
@@ -33,7 +33,7 @@ public interface TransportDubboService {
      * @param ids
      * @return
      */
-    List<LogisticsOrderVO> getAcceptCarriageOrderList(List<String> ids);
+    List<LogisticsOrderDTO> getAcceptCarriageOrderList(List<String> ids);
 
     /**
      * 获取物流订单中地址信息

+ 195 - 5
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/LogisticsOrderDTO.java

@@ -1,9 +1,12 @@
 package com.sckw.transport.api.model.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.Date;
 
 /**
  * @author lfdc
@@ -17,6 +20,7 @@ public class LogisticsOrderDTO implements Serializable {
      * 物流订单id
      */
     private String lOrderId;
+
     /**
      * 物流订单编号
      */
@@ -26,61 +30,247 @@ public class LogisticsOrderDTO implements Serializable {
      * 销售订单id
      */
     private String tOrderId;
+
     /**
      * 销售订单编号
      */
     private String tOrderNO;
+
     /**
      * 付款方式
      */
     private String payment;
+
     /**
      * 运输趟次
      */
     private Long count;
+
     /**
      * 计费方式
      */
     private String billingMode;
+
+    /**
+     * 计费方式label
+     */
+    private String billingModeLabel;
+
     /**
      * 合同
      */
-    private String contract;
+    private String contractId;
+
     /**
      * 合同编号
      */
     private String contractNo;
+
     /**
      * 合同名称
      */
     private String contractName;
+
     /**
      * 承运单位
      */
     private String carrierCompany;
+
+    /**
+     * 承运单位联系电话
+     */
+    private String carrierPhone;
+
+    /**
+     * 承运单位联系人
+     */
+    private String carrierContacts;
+
     /**
      * 托运单位
      */
     private String consignCompany;
+
+    /**
+     * 托运联系人
+     */
+    private String consignContacts;
+
+    /**
+     * 托运联系电话
+     */
+    private String consignPhone;
+
     /**
      * 商品名称
      */
     private String goodsName;
+
     /**
      * 计划量
      */
-    private String amount;
+    private BigDecimal amount;
+
+    /**
+     * 计划量Label
+     */
+    private String amountLabel;
+
+    /**
+     * 待分配量
+     */
+    private BigDecimal ignoreAmount;
+
+    /**
+     * 待分配量Label
+     */
+    private String ignoreAmountLabel;
+
+    /**
+     * 实际卸货量
+     */
+    private BigDecimal unloadAmount;
+
+    /**
+     * 实际装货量
+     */
+    private BigDecimal loadAmount;
+
     /**
      * 运价
      */
     private BigDecimal price;
 
+    /**
+     * 运价方式
+     */
+    private String priceLabel;
+
+    /**
+     * 装货地点名称
+     */
+    private String loadName;
+
+    /**
+     * 装货地址明细
+     */
+    private String loadAddress;
+
+    /**
+     * 装货联系人姓名
+     */
+    private String loadContacts;
+
+    /**
+     * 装货联系电话
+     */
+    private String loadPhone;
+
+    /**
+     * 卸货地点名称
+     */
+    private String unloadName;
+
+    /**
+     * 卸货地址明细
+     */
+    private String unloadAddress;
+
+    /**
+     * 卸货联系人姓名
+     */
+    private String unloadContacts;
+
+    /**
+     * 卸货联系电话
+     */
+    private String unloadPhone;
+
+    /**
+     * 发货单位
+     */
+    private String shipmentsUnit;
+
+    /**
+     * 收货单位
+     */
+    private String receiveGoodsUnit;
+
+    /**
+     * 合理损耗
+     */
+    private BigDecimal loss;
+
+    /**
+     * 合理损耗单位
+     */
+    private String lossUnit;
+
+    /**
+     * 合理损耗label
+     */
+    private String lossUnitLabel;
+
     /**
      * 扣亏损值
      */
     private BigDecimal goodsPrice;
-    private BigDecimal loss;
-    private BigDecimal unloadAmount;
-    private BigDecimal loadAmount;
 
+    /**
+     * 扣亏值单位
+     */
+    private String goodsPriceUnit;
+
+    /**
+     * 扣亏值单位label
+     */
+    private String goodsPriceLabel;
+
+    /**
+     * 结算周期
+     */
+    private Integer settlementCycle;
+
+    /**
+     * 结算周期
+     */
+    private String settlementCycleLabel;
+
+    /**
+     * 计划发货时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private LocalDate startTime;
+
+    /**
+     * 计划收货时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private LocalDate endTime;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 创建人
+     */
+    private Long createBy;
+
+    /**
+     * 创建人
+     */
+    private String createByName;
+
+    /**
+     * 任务量-分配量计量单位
+     */
+    private String unit;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss",timezone = "GMT+8")
+    private Date createTime;
 }

+ 194 - 5
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/vo/LogisticsOrderVO.java

@@ -1,9 +1,12 @@
 package com.sckw.transport.api.model.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.Date;
 
 /**
  * @author lfdc
@@ -17,6 +20,7 @@ public class LogisticsOrderVO implements Serializable {
      * 物流订单id
      */
     private String lOrderId;
+
     /**
      * 物流订单编号
      */
@@ -26,62 +30,247 @@ public class LogisticsOrderVO implements Serializable {
      * 销售订单id
      */
     private String tOrderId;
+
     /**
      * 销售订单编号
      */
     private String tOrderNO;
+
     /**
      * 付款方式
      */
     private String payment;
+
     /**
      * 运输趟次
      */
     private Long count;
+
     /**
      * 计费方式
      */
     private String billingMode;
+
+    /**
+     * 计费方式label
+     */
+    private String billingModeLabel;
+
     /**
      * 合同
      */
-    private String contract;
+    private String contractId;
+
     /**
      * 合同编号
      */
     private String contractNo;
+
     /**
      * 合同名称
      */
     private String contractName;
+
     /**
      * 承运单位
      */
     private String carrierCompany;
+
+    /**
+     * 承运单位联系电话
+     */
+    private String carrierPhone;
+
+    /**
+     * 承运单位联系人
+     */
+    private String carrierContacts;
+
     /**
      * 托运单位
      */
     private String consignCompany;
+
+    /**
+     * 托运联系人
+     */
+    private String consignContacts;
+
+    /**
+     * 托运联系电话
+     */
+    private String consignPhone;
+
     /**
      * 商品名称
      */
     private String goodsName;
+
     /**
      * 计划量
      */
-    private String amount;
+    private BigDecimal amount;
+
+    /**
+     * 计划量Label
+     */
+    private String amountLabel;
+
+    /**
+     * 待分配量
+     */
+    private BigDecimal ignoreAmount;
+
+    /**
+     * 待分配量Label
+     */
+    private String ignoreAmountLabel;
+
+    /**
+     * 实际卸货量
+     */
+    private BigDecimal unloadAmount;
+
+    /**
+     * 实际装货量
+     */
+    private BigDecimal loadAmount;
+
     /**
      * 运价
      */
     private BigDecimal price;
 
+    /**
+     * 运价方式
+     */
+    private String priceLabel;
+
+    /**
+     * 装货地点名称
+     */
+    private String loadName;
+
+    /**
+     * 装货地址明细
+     */
+    private String loadAddress;
+
+    /**
+     * 装货联系人姓名
+     */
+    private String loadContacts;
+
+    /**
+     * 装货联系电话
+     */
+    private String loadPhone;
+
+    /**
+     * 卸货地点名称
+     */
+    private String unloadName;
+
+    /**
+     * 卸货地址明细
+     */
+    private String unloadAddress;
+
+    /**
+     * 卸货联系人姓名
+     */
+    private String unloadContacts;
+
+    /**
+     * 卸货联系电话
+     */
+    private String unloadPhone;
+
+    /**
+     * 发货单位
+     */
+    private String shipmentsUnit;
+
+    /**
+     * 收货单位
+     */
+    private String receiveGoodsUnit;
+
+    /**
+     * 合理损耗
+     */
+    private BigDecimal loss;
+
+    /**
+     * 合理损耗单位
+     */
+    private String lossUnit;
+
+    /**
+     * 合理损耗label
+     */
+    private String lossUnitLabel;
+
     /**
      * 扣亏损值
      */
     private BigDecimal goodsPrice;
-    private BigDecimal loss;
-    private BigDecimal unloadAmount;
-    private BigDecimal loadAmount;
 
+    /**
+     * 扣亏值单位
+     */
+    private String goodsPriceUnit;
+
+    /**
+     * 扣亏值单位label
+     */
+    private String goodsPriceLabel;
+
+    /**
+     * 结算周期
+     */
+    private Integer settlementCycle;
+
+    /**
+     * 结算周期
+     */
+    private String settlementCycleLabel;
+
+    /**
+     * 计划发货时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private LocalDate startTime;
+
+    /**
+     * 计划收货时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private LocalDate endTime;
+
+    /**
+     * 备注
+     */
+    private String remark;
 
+    /**
+     * 创建人
+     */
+    private Long createBy;
+
+    /**
+     * 创建人
+     */
+    private String createByName;
+
+    /**
+     * 任务量-分配量计量单位
+     */
+    private String unit;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss",timezone = "GMT+8")
+    private Date createTime;
 }

+ 1 - 1
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/dubbo/RemoteFleetServiceImpl.java

@@ -84,7 +84,7 @@ public class RemoteFleetServiceImpl implements RemoteFleetService {
      * @date 2023/8/10
      **/
     @Override
-    public RDriverDetailVo findDriver(String phone) {
+    public RDriverDetailVo findDriverDetai(String phone) {
         List<KwfDriver> drivers = driverDao.findDriver(new HashMap(){{put("phone", phone);}});
         if (CollectionUtils.isEmpty(drivers)) {
             return null;

+ 2 - 2
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/res/LedgerLogisticsDetailVo.java

@@ -1,7 +1,7 @@
 package com.sckw.payment.model.vo.res;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
-import com.sckw.transport.api.model.vo.LogisticsOrderVO;
+import com.sckw.transport.api.model.dto.LogisticsOrderDTO;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -38,7 +38,7 @@ public class LedgerLogisticsDetailVo {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
 
-    private List<LogisticsOrderVO> orderList = new ArrayList<>();
+    private List<LogisticsOrderDTO> orderList = new ArrayList<>();
     private String remark;
 
 

+ 4 - 4
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpLedgerLogisticsService.java

@@ -29,8 +29,8 @@ import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.transport.api.dubbo.TransportDubboService;
+import com.sckw.transport.api.model.dto.LogisticsOrderDTO;
 import com.sckw.transport.api.model.vo.KwtLogisticsOrderVO;
-import com.sckw.transport.api.model.vo.LogisticsOrderVO;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -568,7 +568,7 @@ public class KwpLedgerLogisticsService extends AbsLedger {
         ledgerLogisticsDetailVo.setRemark(ledgerLogisticsDto.getRemark());
         /*查询物流订单详情*/
         if (!CollectionUtils.isEmpty(kwpLedgerLogisticsOrders)) {
-            List<LogisticsOrderVO> acceptCarriageOrderList = transportDubboService.getAcceptCarriageOrderList(kwpLedgerLogisticsOrders.stream().map(a -> Long.toString(a.getLOrderId())).collect(Collectors.toList()));
+            List<LogisticsOrderDTO> acceptCarriageOrderList = transportDubboService.getAcceptCarriageOrderList(kwpLedgerLogisticsOrders.stream().map(a -> Long.toString(a.getLOrderId())).collect(Collectors.toList()));
             if (CollectionUtils.isEmpty(acceptCarriageOrderList)) {
                 ledgerLogisticsDetailVo.setOrderList(new ArrayList<>());
             } else {
@@ -578,14 +578,14 @@ public class KwpLedgerLogisticsService extends AbsLedger {
         return ledgerLogisticsDetailVo;
     }
 
-    public PageRes<LogisticsOrderVO> orderList(LedgerListReq ledgerListReq) {
+    public PageRes<LogisticsOrderDTO> orderList(LedgerListReq ledgerListReq) {
         PageHelper.startPage(ledgerListReq.getPage(), ledgerListReq.getPageSize());
         List<KwpLedgerLogisticsOrder> kwpLedgerLogisticsOrders = logisticsOrderService.queryList(ledgerListReq.getIdLong());
         if (CollectionUtils.isEmpty(kwpLedgerLogisticsOrders)) {
             return new PageRes<>();
         }
         PageInfo<KwpLedgerLogisticsOrder> pageInfo = new PageInfo<>(kwpLedgerLogisticsOrders);
-        List<LogisticsOrderVO> acceptCarriageOrderList = transportDubboService.getAcceptCarriageOrderList(kwpLedgerLogisticsOrders.stream().map(a -> String.valueOf(a.getLOrderId())).toList());
+        List<LogisticsOrderDTO> acceptCarriageOrderList = transportDubboService.getAcceptCarriageOrderList(kwpLedgerLogisticsOrders.stream().map(a -> String.valueOf(a.getLOrderId())).toList());
         return PageRes.build(pageInfo, acceptCarriageOrderList);
     }
 

+ 19 - 3
sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwTransportController.java

@@ -85,7 +85,7 @@ public class KwTransportController {
      * @param query 查询参数
      * @return
      */
-    @RequestMapping(value = "/export", method = RequestMethod.POST)
+    @RequestMapping(value = "/acceptCarriageOrderExport", method = RequestMethod.POST)
     public HttpResult exportAcceptCarriage(@Validated @RequestBody AcceptCarriageOrderQuery query) {
         HttpServletResponse response = RequestHolder.getResponse();
         List<AcceptCarriageOrderExcelVo> list = acceptCarriageService.exportAcceptCarriage(query,"2");
@@ -96,6 +96,22 @@ public class KwTransportController {
         return HttpResult.ok("没有可导出的数据");
     }
 
+    /**
+     * 托运订单导出
+     *
+     * @param query 查询参数
+     * @return
+     */
+    @RequestMapping(value = "/consignOrderExport", method = RequestMethod.POST)
+    public HttpResult consignOrderExport(@Validated @RequestBody AcceptCarriageOrderQuery query) {
+        HttpServletResponse response = RequestHolder.getResponse();
+        List<AcceptCarriageOrderExcelVo> list = acceptCarriageService.exportAcceptCarriage(query,"2");
+        if (!org.springframework.util.CollectionUtils.isEmpty(list)) {
+            ExcelUtil.download(response, AcceptCarriageOrderExcelVo.class, list);
+            return null;
+        }
+        return HttpResult.ok("没有可导出的数据");
+    }
 
     /**
      * 托运订单首页条件查询
@@ -116,7 +132,7 @@ public class KwTransportController {
     }
 
     /**
-     * 托运订单top统计
+     * 托运订单-top统计
      *
      * @param query
      * @return
@@ -132,7 +148,7 @@ public class KwTransportController {
     }
 
     /**
-     * 托运订单导出
+     * 托运订单-导出
      *
      * @param query 查询参数
      * @return

+ 1 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteBaseService.java

@@ -20,6 +20,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.Collections;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 
 /**

+ 8 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -883,10 +883,16 @@ public class KwsEnterpriseService {
      * @date 2023/8/10
      **/
     public REnterpriseVo queryEntDetails(Long entId) {
-        REnterpriseVo enterpriseVo = new REnterpriseVo();
         //企业信息
         KwsEnterprise enterprise = kwsEnterpriseDao.selectByKey(entId);
-        BeanUtils.copyPropertiesValue(enterprise, enterpriseVo);
+        if (enterprise == null) {
+            return null;
+        }
+        REnterpriseVo enterpriseVo = new REnterpriseVo();
+        enterpriseVo.setId(enterprise.getId());
+        enterpriseVo.setFirmName(enterprise.getFirmName());
+        enterpriseVo.setRegTime(enterprise.getRegTime());
+        enterpriseVo.setApproval(enterprise.getApproval());
 
         //企业类型
         List<KwsEntType> entTypes = kwsEntTypeDao.findListByEntId(entId);

+ 1 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/AcceptCarriageOrderController.java

@@ -79,6 +79,7 @@ public class AcceptCarriageOrderController {
      */
     @RequestMapping(value = "/getAcceptCarriageOrder", method = RequestMethod.POST)
     public HttpResult getAcceptCarriageOrder(@RequestBody @Validated LogisticsOrderParam logisticsOrderParam) {
+        log.info("对账管理查询物流订单信息:{}",JSONObject.toJSONString(logisticsOrderParam));
         try {
             return transportCommonService.getAcceptCarriageOrder(logisticsOrderParam);
         } catch (Exception e) {

+ 41 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/LogisticsConsignmentController.java

@@ -1,18 +1,25 @@
 package com.sckw.transport.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.sckw.core.exception.BusinessException;
+import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
+import com.sckw.excel.utils.ExcelUtil;
 import com.sckw.transport.model.dto.OrderFinishDTO;
 import com.sckw.transport.model.param.LogisticsConsignmentParam;
+import com.sckw.transport.model.vo.PurchaseLogisticOrderExcelVo;
+import com.sckw.transport.model.vo.SellLogisticOrderExcelVo;
 import com.sckw.transport.service.LogisticsConsignmentService;
 import io.seata.spring.annotation.GlobalTransactional;
+import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.Valid;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -292,4 +299,38 @@ public class LogisticsConsignmentController {
             return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
         }
     }
+
+
+
+    /**
+     * @desc: 采购订单-托运运单列表导出
+     * @author: jc
+     * @date: 2023-08-09 20:16:22
+     * @Param params:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @PostMapping(value = "/logisticOrderByPurchaseOrderIdExport", produces = MediaType.APPLICATION_JSON_VALUE)
+    public void logisticOrderByPurchaseOrderIdExport(@RequestParam("ids") @NotBlank(message = "单据id不能为空") String ids, HttpServletResponse response) {
+        List<PurchaseLogisticOrderExcelVo> list = logisticsConsignmentService.logisticOrderByPurchaseOrderIdExport(ids);
+        if (CollectionUtils.isEmpty(list)) {
+            throw new BusinessException("导出数据为空!");
+        }
+        ExcelUtil.downData(response, PurchaseLogisticOrderExcelVo.class, list);
+    }
+
+    /**
+     * @desc: 销售订单-托运运单列表导出
+     * @author: jc
+     * @date: 2023-08-09 20:16:22
+     * @Param params:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @PostMapping(value = "/logisticOrderBySellOrderIdExport", produces = MediaType.APPLICATION_JSON_VALUE)
+    public void logisticOrderBySellOrderIdExport(@RequestParam("ids") @NotBlank(message = "单据id不能为空") String ids, HttpServletResponse response) {
+        List<SellLogisticOrderExcelVo> list = logisticsConsignmentService.logisticOrderBySellOrderIdExport(ids);
+        if (CollectionUtils.isEmpty(list)) {
+            throw new BusinessException("导出数据为空!");
+        }
+        ExcelUtil.downData(response, SellLogisticOrderExcelVo.class, list);
+    }
 }

+ 17 - 11
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderMapper.java

@@ -27,14 +27,15 @@ public interface KwtLogisticsOrderMapper extends BaseMapper<KwtLogisticsOrder> {
      * 查询物流订单数据
      *
      * @param logisticsOrderParam 查询参数
-     * @param dictId              字典id
+     * @param dictValue              字典id
      * @return
      */
-    List<LogisticsOrderDTO> selectLogisticOrderData(@Param("logisticsOrderParam") LogisticsOrderParam logisticsOrderParam, @Param("dictId") Long dictId);
+    List<LogisticsOrderVO> selectLogisticOrderData(@Param("logisticsOrderParam") LogisticsOrderParam logisticsOrderParam, @Param("dictValue") String dictValue, @Param("entId") Long entId);
 
 
     /**
      * 销售订单-采购订单-托运详情
+     *
      * @param id
      * @param page
      * @param pageSize
@@ -42,7 +43,7 @@ public interface KwtLogisticsOrderMapper extends BaseMapper<KwtLogisticsOrder> {
      * @return
      */
     List<com.sckw.transport.model.dto.LogisticsOrderDTO> selectOrderList(@Param("id") String id, @Param("page") int page,
-                                                                         @Param("pageSize") int pageSize,@Param("type") String type);
+                                                                         @Param("pageSize") int pageSize, @Param("type") String type);
 
     /**
      * 销售订单-采购订单-托运详情
@@ -53,6 +54,15 @@ public interface KwtLogisticsOrderMapper extends BaseMapper<KwtLogisticsOrder> {
      */
     List<com.sckw.transport.model.dto.LogisticsOrderDTO> selectOrderListNotPage(@Param("id") String id, @Param("type") String type);
 
+    /**
+     * 销售订单-采购订单-托运详情(导出)
+     *
+     * @param ids
+     * @param type
+     * @return
+     */
+    List<com.sckw.transport.model.dto.LogisticsOrderDTO> selectOrderListByIdsAndUnitType(@Param("ids") List<String> ids, @Param("type") String type);
+
     /**
      * 销售订单-采购订单-托运列表-数据统计
      *
@@ -70,10 +80,10 @@ public interface KwtLogisticsOrderMapper extends BaseMapper<KwtLogisticsOrder> {
 
     /**
      * @param logisticsOrderParam
-     * @param dictId
+     * @param dictValue
      * @return
      */
-    Long selectLogisticOrderCount(@Param("logisticsOrderParam") LogisticsOrderParam logisticsOrderParam, @Param("dictId") Long dictId);
+    Long selectLogisticOrderCount(@Param("logisticsOrderParam") LogisticsOrderParam logisticsOrderParam, @Param("dictValue") String dictValue);
 
     Map<String, String> getRejectReason(@Param("id") String id, @Param("status") String status);
 
@@ -88,14 +98,12 @@ public interface KwtLogisticsOrderMapper extends BaseMapper<KwtLogisticsOrder> {
     List<SubcontractConsignmentVO> getSubcontractConsignment(@Param("lOrderId") String lOrderId, @Param("page") Integer page, @Param("pageSize") Integer pageSize);
 
     /**
-     *
      * @param lOrderId
      * @return
      */
     List<SubcontractConsignmentVO> getSubcontractConsignmentNotPage(@Param("lOrderId") String lOrderId);
 
     /**
-     *
      * @param lOrderId
      * @return
      */
@@ -113,7 +121,7 @@ public interface KwtLogisticsOrderMapper extends BaseMapper<KwtLogisticsOrder> {
      * @param ids
      * @return
      */
-    List<LogisticsOrderVO> selectLogisticOrderList(@Param("ids") List<String> ids);
+    List<LogisticsOrderDTO> selectLogisticOrderList(@Param("ids") List<String> ids);
 
     /**
      * 通过物流订单id获取统计数据
@@ -132,21 +140,18 @@ public interface KwtLogisticsOrderMapper extends BaseMapper<KwtLogisticsOrder> {
     List<KwtLogisticsOrder> findLogisticsOrder(Map params);
 
     /**
-     *
      * @param entId
      * @return
      */
     List<Integer> getAddressList(@Param("entId") Long entId);
 
     /**
-     *
      * @param entId
      * @return
      */
     List<AddressResDTO> getAddressDetailListByEntId(@Param("entId") Long entId);
 
     /**
-     *
      * @param id
      * @return
      */
@@ -154,6 +159,7 @@ public interface KwtLogisticsOrderMapper extends BaseMapper<KwtLogisticsOrder> {
 
     /**
      * 根据贸易订单id统计委派量-实际装货量-实际卸货量
+     *
      * @param tOrderId
      * @return
      */

+ 25 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/WayBillDetailDTO.java

@@ -23,6 +23,11 @@ public class WayBillDetailDTO{
     @JsonProperty("wOrderNo")
     private String wOrderNo;
 
+    /**
+     * 承运车队
+     */
+    private String fleetName;
+
     /**
      * 承运单号
      */
@@ -90,21 +95,41 @@ public class WayBillDetailDTO{
      */
     private String createBy;
 
+    /**
+     * 创建人
+     */
+    private String createByPhone;
+
     /**
      * 计费方式
      */
     private String priceType;
 
+    /**
+     * 计费方式-字符
+     */
+    private String priceTypeLabe;
+
     /**
      * 商品名
      */
     private String goodsName;
 
+    /**
+     * 装载地址名称
+     */
+    private String loadName;
+
     /**
      * 装载地址
      */
     private String loadDetailAddress;
 
+    /**
+     * 卸货地址名称
+     */
+    private String unloadName;
+
     /**
      * 卸货地址
      */

+ 3 - 3
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/LogisticsOrderParam.java

@@ -24,18 +24,18 @@ public class LogisticsOrderParam implements Serializable {
 //    @NotBlank(message = "客户单位名称不能为空")
     private String companyName;
     /**
-     * 开始时间
+     * 计划开始时间
      */
     private String startTime;
     /**
-     * 结束时间
+     * 计划结束时间
      */
     private String endTime;
 
     /**
      * 付款方式(预付款、线下支付、第三方支付)
      */
-    @NotNull(message = "付款方式不能为空")
+    @NotBlank(message = "付款方式不能为空")
     private String payment;
 
     /**

+ 55 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/PurchaseLogisticOrderExcelVo.java

@@ -0,0 +1,55 @@
+package com.sckw.transport.model.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.sckw.excel.annotation.ExcelContext;
+import lombok.Data;
+
+/**
+ * @author lfdc
+ * @description 承运订单导出vo[对采购单]
+ * @date 2023-07-24 13:07:44
+ */
+@Data
+@ExcelContext(fileName = "托运订单列表", sheetName = "托运订单列表")
+public class PurchaseLogisticOrderExcelVo {
+
+    @ExcelProperty(value = "序号" )
+    private String serialNumber;
+
+    @ExcelProperty(value = "采购单号")
+    private String tOrderNo;
+
+    @ExcelProperty(value = "承运订单号")
+    private String lOrderNo;
+
+    @ExcelProperty(value = "状态")
+    private String status;
+
+    @ExcelProperty(value = "承运单位")
+    private String companyName;
+
+    @ExcelProperty(value = "计划量")
+    private String amount;
+
+    @ExcelProperty(value = "计划运价")
+    private String price;
+
+    @ExcelProperty(value = "合理损耗")
+    private String loss;
+
+    @ExcelProperty(value = "扣亏货值")
+    private String goodsPrice;
+
+    @ExcelProperty(value = "联系人")
+    private String contacts;
+
+    @ExcelProperty(value = "联系电话")
+    private String phone;
+
+    @ExcelProperty(value = "指派托运时间")
+    private String createTime;
+
+    @ExcelProperty(value = "创建人")
+    private String createBy;
+
+}

+ 55 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/SellLogisticOrderExcelVo.java

@@ -0,0 +1,55 @@
+package com.sckw.transport.model.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.sckw.excel.annotation.ExcelContext;
+import lombok.Data;
+
+/**
+ * @author lfdc
+ * @description 承运订单导出vo[对销售单]
+ * @date 2023-07-24 13:07:44
+ */
+@Data
+@ExcelContext(fileName = "托运订单列表", sheetName = "托运订单列表")
+public class SellLogisticOrderExcelVo {
+
+    @ExcelProperty(value = "序号" )
+    private String serialNumber;
+
+    @ExcelProperty(value = "销售单号")
+    private String tOrderNo;
+
+    @ExcelProperty(value = "承运订单号")
+    private String lOrderNo;
+
+    @ExcelProperty(value = "状态")
+    private String status;
+
+    @ExcelProperty(value = "承运单位")
+    private String companyName;
+
+    @ExcelProperty(value = "计划量")
+    private String amount;
+
+    @ExcelProperty(value = "计划运价")
+    private String price;
+
+    @ExcelProperty(value = "合理损耗")
+    private String loss;
+
+    @ExcelProperty(value = "扣亏货值")
+    private String goodsPrice;
+
+    @ExcelProperty(value = "联系人")
+    private String contacts;
+
+    @ExcelProperty(value = "联系电话")
+    private String phone;
+
+    @ExcelProperty(value = "指派托运时间")
+    private String createTime;
+
+    @ExcelProperty(value = "创建人")
+    private String createBy;
+
+}

+ 4 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillCarVO.java

@@ -24,6 +24,10 @@ public class WaybillCarVO {
      * 车辆类型
      */
     private String type;
+    /**
+     * 车辆类型-字符
+     */
+    private String typeLabel;
     /**
      * 司机ID
      */

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillTrackVO.java

@@ -25,7 +25,7 @@ public class WaybillTrackVO {
      */
     private String status;
     /**
-     * 记录员
+     * 操作员名
      */
     private String createBy;
     /**

+ 64 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/LogisticsConsignmentService.java

@@ -19,6 +19,7 @@ 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;
@@ -39,6 +40,8 @@ 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.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;
@@ -52,6 +55,7 @@ import org.springframework.util.ObjectUtils;
 
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
 /**
@@ -1651,4 +1655,64 @@ public class LogisticsConsignmentService {
         httpResult.setData(orderFinishVO);
         return httpResult;
     }
+
+    /**
+     * 导出销售/采购订单对应的运单列表
+     * @param ids 销售/采购订单IDs
+     * @return
+     */
+    public List<PurchaseLogisticOrderExcelVo> logisticOrderByPurchaseOrderIdExport(String ids) {
+        List<String> idList = StringUtils.splitStrToList(ids, String.class);
+        List<PurchaseLogisticOrderExcelVo> logisticOrderExcelVos = new ArrayList<>();
+        List<LogisticsOrderDTO> orders = kwtLogisticsOrderMapper.selectOrderListByIdsAndUnitType(idList, "1");
+        AtomicInteger i = new AtomicInteger(1);
+        orders.forEach(e -> {
+            PurchaseLogisticOrderExcelVo vo = new PurchaseLogisticOrderExcelVo();
+            vo.setSerialNumber(String.valueOf(i.getAndIncrement()));
+            vo.setLOrderNo(e.getLOrderNo());
+            vo.setTOrderNo(e.getTOrderNo());
+            vo.setStatus(LogisticsOrderEnum.getDestination(e.getStatus()));
+            vo.setCompanyName(e.getCompanyName());
+            vo.setAmount(String.valueOf(e.getAmount()));
+            vo.setPrice(e.getPrice());
+            vo.setLoss(e.getLoss());
+            vo.setGoodsPrice(e.getGoodsPrice());
+            vo.setContacts(e.getContacts());
+            vo.setPhone(e.getPhone());
+            vo.setCreateTime(e.getCreateTime());
+            vo.setCreateBy(e.getCreateBy());
+            logisticOrderExcelVos.add(vo);
+        });
+        return logisticOrderExcelVos;
+    }
+
+    /**
+     * 导出销售/采购订单对应的运单列表
+     * @param ids 销售/采购订单IDs
+     * @return
+     */
+    public List<SellLogisticOrderExcelVo> logisticOrderBySellOrderIdExport(String ids) {
+        List<String> idList = StringUtils.splitStrToList(ids, String.class);
+        List<SellLogisticOrderExcelVo> logisticOrderExcelVos = new ArrayList<>();
+        List<LogisticsOrderDTO> orders = kwtLogisticsOrderMapper.selectOrderListByIdsAndUnitType(idList, "2");
+        AtomicInteger i = new AtomicInteger(1);
+        orders.forEach(e -> {
+            SellLogisticOrderExcelVo vo = new SellLogisticOrderExcelVo();
+            vo.setSerialNumber(String.valueOf(i.getAndIncrement()));
+            vo.setLOrderNo(e.getLOrderNo());
+            vo.setTOrderNo(e.getTOrderNo());
+            vo.setStatus(LogisticsOrderEnum.getDestination(e.getStatus()));
+            vo.setCompanyName(e.getCompanyName());
+            vo.setAmount(String.valueOf(e.getAmount()));
+            vo.setPrice(e.getPrice());
+            vo.setLoss(e.getLoss());
+            vo.setGoodsPrice(e.getGoodsPrice());
+            vo.setContacts(e.getContacts());
+            vo.setPhone(e.getPhone());
+            vo.setCreateTime(e.getCreateTime());
+            vo.setCreateBy(e.getCreateBy());
+            logisticOrderExcelVos.add(vo);
+        });
+        return logisticOrderExcelVos;
+    }
 }

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

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.sckw.contract.api.RemoteContractService;
 import com.sckw.contract.api.model.dto.res.ContractCommonInfoResDto;
 import com.sckw.core.common.enums.NumberConstant;
+import com.sckw.core.common.enums.enums.DictTypeEnum;
 import com.sckw.core.model.enums.LogisticsOrderEnum;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.CollectionUtils;
@@ -21,7 +22,7 @@ import com.sckw.order.api.model.CreateOrCancelLogisticsOrderParam;
 import com.sckw.stream.model.SckwBusSum;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
-import com.sckw.transport.api.model.dto.LogisticsOrderDTO;
+import com.sckw.transport.api.model.vo.LogisticsOrderVO;
 import com.sckw.transport.dao.*;
 import com.sckw.transport.model.*;
 import com.sckw.transport.model.dto.CancelOrderDTO;
@@ -38,10 +39,8 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author lfdc
@@ -52,7 +51,7 @@ import java.util.Map;
 @Service
 public class TransportCommonService {
 
-    @DubboReference(version = "2.0.0", group = "design", check = false)
+    @DubboReference(version = "2.0.0", group = "design", check = false,timeout = 10000)
     RemoteSystemService remoteSystemService;
 
     @DubboReference(version = "2.0.0", group = "design", check = false)
@@ -232,7 +231,7 @@ public class TransportCommonService {
             param.setTOrderId(tOrderId);
             HttpResult httpResult = tradeOrderInfoService.createOrCancelLogisticsOrder(param);
             if (HttpStatus.SUCCESS_CODE != httpResult.getCode()) {
-                log.info("撤销托运错误:,请求参数:{},响应信息:{}",JSONObject.toJSONString(param),JSONObject.toJSONString(httpResult));
+                log.info("撤销托运错误:,请求参数:{},响应信息:{}", JSONObject.toJSONString(param), JSONObject.toJSONString(httpResult));
             }
             logisticsOrderMapper.update(null, new LambdaUpdateWrapper<KwtLogisticsOrder>()
                     .eq(KwtLogisticsOrder::getId, logisticsOrder.getId())
@@ -320,8 +319,8 @@ public class TransportCommonService {
      * @return
      */
     public HttpResult getAcceptCarriageOrder(LogisticsOrderParam logisticsOrderParam) {
-        SysDictResDto sysDictResDto = remoteSystemService.queryDictByTypeAndValue(logisticsOrderParam.getPaymentType(), logisticsOrderParam.getPayment());
-        Long dictId = sysDictResDto.getId();
+        SysDictResDto sysDictResDto = remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.TRADE_TYPE.getType(), logisticsOrderParam.getPayment());
+        String dictValue = sysDictResDto.getValue();
         if (StringUtils.isNotBlank(logisticsOrderParam.getStartTime())) {
             logisticsOrderParam.setStartTime(logisticsOrderParam.getStartTime() + " 00:00:00");
         }
@@ -330,22 +329,69 @@ public class TransportCommonService {
         }
         Integer page = logisticsOrderParam.getPage();
         logisticsOrderParam.setPage((logisticsOrderParam.getPage() - 1) * logisticsOrderParam.getPageSize());
-        List<LogisticsOrderDTO> list = logisticsOrderMapper.selectLogisticOrderData(logisticsOrderParam, dictId);
-        Long count = logisticsOrderMapper.selectLogisticOrderCount(logisticsOrderParam, dictId);
+        List<LogisticsOrderVO> list = logisticsOrderMapper.selectLogisticOrderData(logisticsOrderParam, dictValue,LoginUserHolder.getEntId());
+        Long count = logisticsOrderMapper.selectLogisticOrderCount(logisticsOrderParam, dictValue);
+        /**计量单位*/
+        Map<String, String> unitTypeDictData = getDictData(DictTypeEnum.UNIT_TYPE.getType());
+        /**运价方式*/
+        Map<String, String> priceDictData = getDictData(DictTypeEnum.PRICE_TYPE.getType());
+//        /**签约方式*/
+//        Map<String, String> singDictData = getDictData(DictTypeEnum.SIGNING_TYPE.getType());
+        /**计费方式*/
+        Map<String, String> chargingDictData = getDictData(DictTypeEnum.CHARGING_TYPE.getType());
+        /**结算周期*/
+        Map<String, String> settlementDictData = getDictData(DictTypeEnum.SETTLEMENT_CYCLE.getType());
+        /**合理损耗*/
+        Map<String, String> taxRateTypeDictData = getDictData(DictTypeEnum.TAX_RATE_TYPE.getType());
         if (CollectionUtils.isNotEmpty(list)) {
-            for (LogisticsOrderDTO logisticsOrderDTO : list) {
-                KwtLogisticsOrderUnit orderUnit = logisticsOrderUnitMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
+            for (LogisticsOrderVO logisticsOrderDTO : list) {
+                KwtLogisticsOrderUnit consignOrderUnit = logisticsOrderUnitMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
                         .eq(KwtLogisticsOrderUnit::getLOrderId, logisticsOrderDTO.getLOrderId())
                         .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.ONE));
-                KwtLogisticsOrderUnit orderUnit1 = logisticsOrderUnitMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
+                KwtLogisticsOrderUnit carrierOrderUnit = logisticsOrderUnitMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
                         .eq(KwtLogisticsOrderUnit::getLOrderId, logisticsOrderDTO.getLOrderId())
                         .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.TWO));
-                logisticsOrderDTO.setCarrierCompany(orderUnit1 == null ? null : orderUnit1.getFirmName());
-                logisticsOrderDTO.setConsignCompany(orderUnit == null ? null : orderUnit.getFirmName());
-                logisticsOrderDTO.setCount(waybillOrderMapper.selectCount(new LambdaQueryWrapper<KwtWaybillOrder>().eq(KwtWaybillOrder::getLOrderId, logisticsOrderDTO.getLOrderId())));
+                KwtLogisticsOrderAddress loadOrderAddress = logisticsOrderAddressMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
+                        .eq(KwtLogisticsOrderAddress::getLOrderId, logisticsOrderDTO.getLOrderId())
+                        .eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.ONE)
+                );
+                KwtLogisticsOrderAddress unloadOrderAddress = logisticsOrderAddressMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
+                        .eq(KwtLogisticsOrderAddress::getLOrderId, logisticsOrderDTO.getLOrderId())
+                        .eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.TWO)
+                );
+                logisticsOrderDTO.setLoadAddress(loadOrderAddress.getDetailAddress());
+                logisticsOrderDTO.setLoadName(loadOrderAddress.getName());
+                logisticsOrderDTO.setLoadContacts(loadOrderAddress.getContacts());
+                logisticsOrderDTO.setLoadPhone(loadOrderAddress.getPhone());
+                logisticsOrderDTO.setUnloadAddress(unloadOrderAddress.getDetailAddress());
+                logisticsOrderDTO.setUnloadName(unloadOrderAddress.getName());
+                logisticsOrderDTO.setUnloadContacts(unloadOrderAddress.getContacts());
+                logisticsOrderDTO.setUnloadPhone(unloadOrderAddress.getPhone());
+                logisticsOrderDTO.setCarrierCompany(carrierOrderUnit == null ? null : carrierOrderUnit.getFirmName());
+                logisticsOrderDTO.setCarrierPhone(carrierOrderUnit == null ? null : carrierOrderUnit.getPhone());
+                logisticsOrderDTO.setCarrierContacts(carrierOrderUnit == null ? null : carrierOrderUnit.getContacts());
+                logisticsOrderDTO.setConsignCompany(consignOrderUnit == null ? null : consignOrderUnit.getFirmName());
+                logisticsOrderDTO.setConsignPhone(consignOrderUnit == null ? null : consignOrderUnit.getPhone());
+                logisticsOrderDTO.setConsignContacts(consignOrderUnit == null ? null : consignOrderUnit.getContacts());
+                logisticsOrderDTO.setSettlementCycleLabel(settlementDictData.get(logisticsOrderDTO.getSettlementCycle().toString()));
+                logisticsOrderDTO.setBillingModeLabel(chargingDictData.get(logisticsOrderDTO.getBillingMode()));
+                logisticsOrderDTO.setPriceLabel(priceDictData.get(logisticsOrderDTO.getPayment()));
+                logisticsOrderDTO.setLossUnitLabel(taxRateTypeDictData.get(logisticsOrderDTO.getLossUnit()));
+                logisticsOrderDTO.setAmountLabel(unitTypeDictData.get(logisticsOrderDTO.getUnit()));
+                logisticsOrderDTO.setIgnoreAmountLabel(unitTypeDictData.get(logisticsOrderDTO.getUnit()));
+//                logisticsOrderDTO.setCount(waybillOrderMapper.selectCount(new LambdaQueryWrapper<KwtWaybillOrder>().eq(KwtWaybillOrder::getLOrderId, logisticsOrderDTO.getLOrderId())));
             }
         }
         PageResult build = PageResult.build(page, logisticsOrderParam.getPageSize(), count, list);
         return HttpResult.ok(build);
     }
+
+    public Map<String, String> getDictData (String type) {
+        Map<String, String> maps = new HashMap<>(NumberConstant.SIXTEEN);
+        List<SysDictResDto> list = remoteSystemService.queryDictByType(type);
+        if (CollectionUtils.isNotEmpty(list)) {
+            maps = list.stream().collect(Collectors.toMap(SysDictResDto::getValue, SysDictResDto::getLabel, (key1, key2) -> key2));
+        }
+        return maps;
+    }
 }

+ 22 - 9
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java

@@ -102,6 +102,7 @@ public class WaybillManagementService {
             wayBillDetailDTO.setWOrderNo(info.getWOrderNo());
             wayBillDetailDTO.setLOrderId(info.getLOrderId());
             wayBillDetailDTO.setLOrderNo(info.getLOrderNo());
+            wayBillDetailDTO.setLOrderNo(info.getLOrderNo());
             wayBillDetailDTO.setEntrustAmount(String.valueOf(info.getEntrustAmount()));
             wayBillDetailDTO.setType(String.valueOf(info.getType()));
             wayBillDetailDTO.setStartTime(DateUtil.getDateTime(info.getStartTime()));
@@ -110,19 +111,27 @@ public class WaybillManagementService {
             wayBillDetailDTO.setGoodsName(info.getGoodsName());
             wayBillDetailDTO.setLoadDetailAddress(info.getLoadCityName().concat(info.getLoadDetailAddress()));
             wayBillDetailDTO.setUnloadDetailAddress(info.getUnloadCityName().concat(info.getUnloadDetailAddress()));
-            // 计价方式
+            wayBillDetailDTO.setLoadName(info.getLoadName());
+            wayBillDetailDTO.setUnloadName(info.getUnloadName());
+            // 计费方式
             KwtLogisticsOrder kwtLogisticsOrder = kwtLogisticsOrderMapper.selectById(info.getLOrderId());
             if(!ObjectUtils.isEmpty(kwtLogisticsOrder)) {
+                wayBillDetailDTO.setPriceType(kwtLogisticsOrder.getBillingMode());
                 SysDictResDto billingMode = remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.CHARGING_TYPE.getType(), kwtLogisticsOrder.getBillingMode());
                 if(!ObjectUtils.isEmpty(billingMode)) {
-                    wayBillDetailDTO.setPriceType(billingMode.getLabel());
+                    wayBillDetailDTO.setPriceTypeLabe(billingMode.getLabel());
                 }
             }
             wayBillDetailDTO.setCheckFirmName(info.getCheckFirmName());
+            // 派车人信息
+            UserCacheResDto createUser = remoteSystemService.queryUserCacheById(info.getCreateBy());
+            if(!ObjectUtils.isEmpty(createUser)) {
+                wayBillDetailDTO.setCreateByPhone(createUser.getPhone());
+            }
             // 车辆信息
             SysDictResDto truckTypeString = remoteSystemService.queryDictByTypeAndValue(DictTypeEnum.TRUCK_TYPE.getType(), info.getTruckType());
             if(!ObjectUtils.isEmpty(truckTypeString)) {
-                waybillCarVO.setType(truckTypeString.getLabel());
+                waybillCarVO.setTypeLabel(truckTypeString.getLabel());
             }
             waybillCarVO.setTruckId(String.valueOf(info.getTruckId()));
             waybillCarVO.setTruckNo(info.getTruckNo());
@@ -156,8 +165,8 @@ public class WaybillManagementService {
             List<Long> userIds = new ArrayList<>();
             kwtWaybillOrderTracks.forEach(e -> userIds.add(e.getCreateBy()));
             List<UserCacheResDto> users = remoteSystemService.queryUserCacheByIds(userIds);
-            Map<Long, String> usersMap = new HashMap<>();
-            users.forEach(e -> usersMap.put(e.getId(), e.getName()));
+            Map<Long, UserCacheResDto> usersMap = new HashMap<>();
+            users.forEach(e -> usersMap.put(e.getId(), e));
             for (KwtWaybillOrderTrack kwtWaybillOrderTrack: kwtWaybillOrderTracks) {
                 for (WaybillStatusVO statusVO:statusVOS) {
                     if(statusVO.getCode().equals(kwtWaybillOrderTrack.getStatus())) {
@@ -167,7 +176,7 @@ public class WaybillManagementService {
                         statusVO.setOperateTime(kwtWaybillOrderTrack.getOperateTime() == null
                                 ? null : DateUtil.getDateTime(kwtWaybillOrderTrack.getOperateTime()));
                         statusVO.setCreateByName(usersMap.get(kwtWaybillOrderTrack.getCreateBy()) == null
-                                ? null : usersMap.get(kwtWaybillOrderTrack.getCreateBy()));
+                                ? null : usersMap.get(kwtWaybillOrderTrack.getCreateBy()).getName());
                         break;
                     }
                 }
@@ -176,7 +185,9 @@ public class WaybillManagementService {
                         .setRemark(kwtWaybillOrderTrack.getRemark())
                         .setStatus(String.valueOf(kwtWaybillOrderTrack.getStatus()))
                         .setCreateBy(usersMap.get(kwtWaybillOrderTrack.getCreateBy()) == null
-                                ? null : usersMap.get(kwtWaybillOrderTrack.getCreateBy()))
+                                ? null : usersMap.get(kwtWaybillOrderTrack.getCreateBy()).getName())
+                        .setCreateByPhone(usersMap.get(kwtWaybillOrderTrack.getCreateBy()) == null
+                                ? null : usersMap.get(kwtWaybillOrderTrack.getCreateBy()).getPhone())
                         .setCreateTime(DateUtil.getDateTime(kwtWaybillOrderTrack.getCreateTime()));
                 waybillTrackVOS.add(waybillTrackVO);
             }
@@ -235,8 +246,10 @@ public class WaybillManagementService {
             waybillBoardListVO.setTruckNo(String.valueOf(sckwWaybillOrder.getTruckNo()));
             waybillBoardListVO.setLoadGrossAmount(sckwWaybillOrder.getLoadGrossAmount() != null ? String.valueOf(sckwWaybillOrder.getLoadGrossAmount()) : null);
             waybillBoardListVO.setUnloadGrossAmount(sckwWaybillOrder.getUnloadGrossAmount() != null ? String.valueOf(sckwWaybillOrder.getUnloadGrossAmount()) : null);
-            waybillBoardListVO.setLoadUrls(sckwWaybillOrder.getLoadUrls() != null ? FileUtils.getOSSAddressPrefix() + sckwWaybillOrder.getLoadUrls() : null);
-            waybillBoardListVO.setUnloadUrls(sckwWaybillOrder.getUnloadUrls() != null ? FileUtils.getOSSAddressPrefix() + sckwWaybillOrder.getUnloadUrls() : null);
+            waybillBoardListVO.setLoadUrls(sckwWaybillOrder.getLoadUrls());
+//            waybillBoardListVO.setLoadUrls(sckwWaybillOrder.getLoadUrls() != null ? FileUtils.getOSSAddressPrefix() + sckwWaybillOrder.getLoadUrls() : null);
+//            waybillBoardListVO.setUnloadUrls(sckwWaybillOrder.getUnloadUrls() != null ? FileUtils.getOSSAddressPrefix() + sckwWaybillOrder.getUnloadUrls() : null);
+            waybillBoardListVO.setUnloadUrls(sckwWaybillOrder.getUnloadUrls());
             List<WaybillStatusVO> statusVOS2 = new ArrayList<>();
             statusVOS.forEach(e -> {
                 WaybillStatusVO temp = new WaybillStatusVO();

+ 64 - 18
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/dubbo/TransportDubboServiceImpl.java

@@ -3,8 +3,11 @@ package com.sckw.transport.service.dubbo;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.sckw.core.common.enums.NumberConstant;
+import com.sckw.core.common.enums.enums.DictTypeEnum;
 import com.sckw.core.model.enums.LogisticsOrderEnum;
+import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.CollectionUtils;
+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;
@@ -12,16 +15,16 @@ import com.sckw.mongo.enums.BusinessTypeEnum;
 import com.sckw.mongo.model.SckwLogisticsOrder;
 import com.sckw.stream.model.SckwBusSum;
 import com.sckw.system.api.RemoteSystemService;
+import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.transport.api.dubbo.TransportDubboService;
 import com.sckw.transport.api.model.dto.AddressResDTO;
+import com.sckw.transport.api.model.dto.LogisticsOrderDTO;
 import com.sckw.transport.api.model.param.LogisticsOrderParam;
 import com.sckw.transport.api.model.vo.KwtLogisticsOrderVO;
 import com.sckw.transport.api.model.vo.LogisticsOrderVO;
-import com.sckw.transport.dao.KwtLogisticsOrderGoodsMapper;
-import com.sckw.transport.dao.KwtLogisticsOrderMapper;
-import com.sckw.transport.dao.KwtLogisticsOrderUnitMapper;
-import com.sckw.transport.dao.KwtWaybillOrderMapper;
+import com.sckw.transport.dao.*;
 import com.sckw.transport.model.KwtLogisticsOrder;
+import com.sckw.transport.model.KwtLogisticsOrderAddress;
 import com.sckw.transport.model.KwtLogisticsOrderUnit;
 import com.sckw.transport.model.KwtWaybillOrder;
 import jakarta.annotation.Resource;
@@ -34,6 +37,7 @@ import org.springframework.cloud.stream.function.StreamBridge;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author lfdc
@@ -58,10 +62,7 @@ public class TransportDubboServiceImpl implements TransportDubboService {
     private KwtLogisticsOrderUnitMapper logisticsOrderUnitMapper;
 
     @Autowired
-    private KwtLogisticsOrderGoodsMapper logisticsOrderGoodsMapper;
-
-    @Autowired
-    private KwtWaybillOrderMapper waybillOrderMapper;
+    private KwtLogisticsOrderAddressMapper logisticsOrderAddressMapper;
 
     /**
      * 对账管理-ids查询
@@ -89,24 +90,69 @@ public class TransportDubboServiceImpl implements TransportDubboService {
      * @return
      */
     @Override
-    public List<LogisticsOrderVO> getAcceptCarriageOrderList(List<String> ids) {
-        List<LogisticsOrderVO> list = logisticsOrderMapper.selectLogisticOrderList(ids);
+    public List<LogisticsOrderDTO> getAcceptCarriageOrderList(List<String> ids) {
+        List<LogisticsOrderDTO> list = logisticsOrderMapper.selectLogisticOrderList(ids);
+        /**计量单位*/
+        Map<String, String> unitTypeDictData = getDictData(DictTypeEnum.UNIT_TYPE.getType());
+        /**运价方式*/
+        Map<String, String> priceDictData = getDictData(DictTypeEnum.PRICE_TYPE.getType());
+        /**计费方式*/
+        Map<String, String> chargingDictData = getDictData(DictTypeEnum.CHARGING_TYPE.getType());
+        /**结算周期*/
+        Map<String, String> settlementDictData = getDictData(DictTypeEnum.SETTLEMENT_CYCLE.getType());
+        /**合理损耗*/
+        Map<String, String> taxRateTypeDictData = getDictData(DictTypeEnum.TAX_RATE_TYPE.getType());
         if (CollectionUtils.isNotEmpty(list)) {
-            for (LogisticsOrderVO logisticsOrderVO : list) {
-                KwtLogisticsOrderUnit orderUnit = logisticsOrderUnitMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
-                        .eq(KwtLogisticsOrderUnit::getLOrderId, logisticsOrderVO.getLOrderId())
+            for (LogisticsOrderDTO logisticsOrderDTO : list) {
+                KwtLogisticsOrderUnit consignOrderUnit = logisticsOrderUnitMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
+                        .eq(KwtLogisticsOrderUnit::getLOrderId, logisticsOrderDTO.getLOrderId())
                         .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.ONE));
-                KwtLogisticsOrderUnit orderUnit1 = logisticsOrderUnitMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
-                        .eq(KwtLogisticsOrderUnit::getLOrderId, logisticsOrderVO.getLOrderId())
+                KwtLogisticsOrderUnit carrierOrderUnit = logisticsOrderUnitMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
+                        .eq(KwtLogisticsOrderUnit::getLOrderId, logisticsOrderDTO.getLOrderId())
                         .eq(KwtLogisticsOrderUnit::getUnitType, NumberConstant.TWO));
-                logisticsOrderVO.setCarrierCompany(orderUnit1 == null ? null : orderUnit1.getFirmName());
-                logisticsOrderVO.setConsignCompany(orderUnit == null ? null : orderUnit.getFirmName());
-                logisticsOrderVO.setCount(waybillOrderMapper.selectCount(new LambdaQueryWrapper<KwtWaybillOrder>().eq(KwtWaybillOrder::getLOrderId, logisticsOrderVO.getLOrderId())));
+                KwtLogisticsOrderAddress loadOrderAddress = logisticsOrderAddressMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
+                        .eq(KwtLogisticsOrderAddress::getLOrderId, logisticsOrderDTO.getLOrderId())
+                        .eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.ONE)
+                );
+                KwtLogisticsOrderAddress unloadOrderAddress = logisticsOrderAddressMapper.selectOne(new LambdaQueryWrapper<KwtLogisticsOrderAddress>()
+                        .eq(KwtLogisticsOrderAddress::getLOrderId, logisticsOrderDTO.getLOrderId())
+                        .eq(KwtLogisticsOrderAddress::getAddressType, NumberConstant.TWO)
+                );
+                logisticsOrderDTO.setLoadAddress(loadOrderAddress.getDetailAddress());
+                logisticsOrderDTO.setLoadName(loadOrderAddress.getName());
+                logisticsOrderDTO.setLoadContacts(loadOrderAddress.getContacts());
+                logisticsOrderDTO.setLoadPhone(loadOrderAddress.getPhone());
+                logisticsOrderDTO.setUnloadAddress(unloadOrderAddress.getDetailAddress());
+                logisticsOrderDTO.setUnloadName(unloadOrderAddress.getName());
+                logisticsOrderDTO.setUnloadContacts(unloadOrderAddress.getContacts());
+                logisticsOrderDTO.setUnloadPhone(unloadOrderAddress.getPhone());
+                logisticsOrderDTO.setCarrierCompany(carrierOrderUnit == null ? null : carrierOrderUnit.getFirmName());
+                logisticsOrderDTO.setCarrierPhone(carrierOrderUnit == null ? null : carrierOrderUnit.getPhone());
+                logisticsOrderDTO.setCarrierContacts(carrierOrderUnit == null ? null : carrierOrderUnit.getContacts());
+                logisticsOrderDTO.setConsignCompany(consignOrderUnit == null ? null : consignOrderUnit.getFirmName());
+                logisticsOrderDTO.setConsignPhone(consignOrderUnit == null ? null : consignOrderUnit.getPhone());
+                logisticsOrderDTO.setConsignContacts(consignOrderUnit == null ? null : consignOrderUnit.getContacts());
+                logisticsOrderDTO.setSettlementCycleLabel(settlementDictData.get(logisticsOrderDTO.getSettlementCycle().toString()));
+                logisticsOrderDTO.setBillingModeLabel(chargingDictData.get(logisticsOrderDTO.getBillingMode()));
+                logisticsOrderDTO.setPriceLabel(priceDictData.get(logisticsOrderDTO.getPayment()));
+                logisticsOrderDTO.setLossUnitLabel(taxRateTypeDictData.get(logisticsOrderDTO.getLossUnit()));
+                logisticsOrderDTO.setAmountLabel(unitTypeDictData.get(logisticsOrderDTO.getUnit()));
+                logisticsOrderDTO.setIgnoreAmountLabel(unitTypeDictData.get(logisticsOrderDTO.getUnit()));
+//                logisticsOrderDTO.setCount(waybillOrderMapper.selectCount(new LambdaQueryWrapper<KwtWaybillOrder>().eq(KwtWaybillOrder::getLOrderId, logisticsOrderDTO.getLOrderId())));
             }
         }
         return list;
     }
 
+    public Map<String, String> getDictData (String type) {
+        Map<String, String> maps = new HashMap<>(NumberConstant.SIXTEEN);
+        List<SysDictResDto> list = remoteSystemService.queryDictByType(type);
+        if (CollectionUtils.isNotEmpty(list)) {
+            maps = list.stream().collect(Collectors.toMap(SysDictResDto::getValue, SysDictResDto::getLabel, (key1, key2) -> key2));
+        }
+        return maps;
+    }
+
     /**
      * 获取当前企业下物流订单地址信息
      *

+ 81 - 40
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

@@ -108,23 +108,29 @@
           AND b.del_flag = '0'
           AND a.t_order_id = #{id,jdbcType=VARCHAR}
     </select>
-    <select id="selectLogisticOrderData" resultType="com.sckw.transport.api.model.dto.LogisticsOrderDTO">
+    <select id="selectLogisticOrderData" resultType="com.sckw.transport.api.model.vo.LogisticsOrderVO">
         SELECT
-        a.id as lOrderId,
-        a.l_order_no as lOrderNO,
-        a.t_order_id as tOrderId,
-        a.t_order_no as tOrderNO,
-        a.payment as payment,
-        a.billing_mode as billingMode,
-        c.contract_id as contractId,
-        b.goods_name as goodsName,
-        a.amount ,
+        a.id AS lOrderId,
+        a.l_order_no AS lOrderNO,
+        a.t_order_id AS tOrderId,
+        a.t_order_no AS tOrderNO,
+        a.payment AS payment,
+        a.billing_mode AS billingMode,
+        c.contract_id AS contractId,
+        b.goods_name AS goodsName,
+        a.amount,
+        a.unit ,
+        a.ignore_amount AS ignoreAmount,
         a.price,
-        a.goods_price as goodsPrice,
-        a.loss ,
-        a.load_amount as loadAmount,
-        a.unload_amount as unloadAmount,
-        a.start_time as startTime,
+        a.price_type,
+        a.goods_price AS goodsPrice,
+        a.loss,
+        a.loss_unit AS lossUnit,
+        a.tax_rate as taxRate,
+        a.load_amount AS loadAmount,
+        a.unload_amount AS unloadAmount,
+        a.settlement_cycle as settlementCycle,
+        a.start_time AS startTime,
         a.end_time AS endTime,
         a.create_time AS createTime,
         a.create_by AS createBy,
@@ -134,11 +140,12 @@
         kwt_logistics_order a
         LEFT JOIN kwt_logistics_order_goods b ON a.id = b.l_order_id
         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 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 = 2 AND ent_id = #{entId} ) g ON a.id = g.l_order_id
         <where>
             a.del_flag = 0 and d.unit_type = 1
-            <if test="dictId != null and dictId != ''">
-                AND a.payment = #{dictId}
+            <if test="dictValue != null and dictValue != ''">
+                AND a.payment = #{dictValue}
             </if>
             <if test="logisticsOrderParam.companyId !=null and logisticsOrderParam.companyId != ''">
                 AND d.ent_id = #{logisticsOrderParam.companyId}
@@ -153,7 +160,7 @@
                 AND a.start_time &gt;= #{logisticsOrderParam.startTime}
             </if>
             <if test="logisticsOrderParam.endTime != null and logisticsOrderParam.endTime !=''">
-                AND a.ent_time &lt;= #{logisticsOrderParam.endTime}
+                AND a.end_time &lt;= #{logisticsOrderParam.endTime}
             </if>
         </where>
         ORDER BY a.create_time DESC
@@ -171,8 +178,8 @@
         LEFT JOIN kwt_logistics_order_contract c ON a.id=c.l_order_id
         <where>
             a.del_flag = 0 and d.unit_type = 1
-            <if test="dictId != null and dictId != ''">
-                AND a.payment = #{dictId}
+            <if test="dictValue != null and dictValue != ''">
+                AND a.payment = #{dictValue}
             </if>
             <if test="logisticsOrderParam.companyId !=null and logisticsOrderParam.companyId != ''">
                 AND d.ent_id = #{logisticsOrderParam.companyId}
@@ -187,7 +194,7 @@
                 AND a.start_time &gt;= #{logisticsOrderParam.startTime}
             </if>
             <if test="logisticsOrderParam.endTime != null and logisticsOrderParam.endTime !=''">
-                AND a.ent_time &lt;= #{logisticsOrderParam.endTime}
+                AND a.end_time &lt;= #{logisticsOrderParam.endTime}
             </if>
         </where>
         ORDER BY a.create_time DESC
@@ -404,23 +411,29 @@
         GROUP BY b.truck_no
     </select>
 
-    <select id="selectLogisticOrderList" resultType="com.sckw.transport.api.model.vo.LogisticsOrderVO">
+    <select id="selectLogisticOrderList" resultType="com.sckw.transport.api.model.dto.LogisticsOrderDTO">
         SELECT
-        a.id as lOrderId,
-        a.l_order_no as lOrderNO,
-        a.t_order_id as tOrderId,
-        a.t_order_no as tOrderNO,
-        a.payment as payment,
-        a.billing_mode as billingMode,
-        c.contract_id as contractId,
-        b.goods_name as goodsName,
-        a.amount ,
+        a.id AS lOrderId,
+        a.l_order_no AS lOrderNO,
+        a.t_order_id AS tOrderId,
+        a.t_order_no AS tOrderNO,
+        a.payment AS payment,
+        a.billing_mode AS billingMode,
+        c.contract_id AS contractId,
+        b.goods_name AS goodsName,
+        a.amount,
+        a.unit ,
+        a.ignore_amount AS ignoreAmount,
         a.price,
-        a.goods_price as goodsPrice,
-        a.loss ,
-        a.load_amount as loadAmount,
-        a.unload_amount as unloadAmount,
-        a.start_time as startTime,
+        a.price_type,
+        a.goods_price AS goodsPrice,
+        a.loss,
+        a.loss_unit AS lossUnit,
+        a.tax_rate as taxRate,
+        a.load_amount AS loadAmount,
+        a.unload_amount AS unloadAmount,
+        a.settlement_cycle as settlementCycle,
+        a.start_time AS startTime,
         a.end_time AS endTime,
         a.create_time AS createTime,
         a.create_by AS createBy,
@@ -429,9 +442,8 @@
         FROM
         kwt_logistics_order a
         LEFT JOIN kwt_logistics_order_goods b ON a.id = b.l_order_id
-        LEFT JOIN kwt_logistics_order_contract c ON a.id=c.l_order_id
-        and
-        a.del_flag = 0
+        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
         <where>
             <if test="ids != null and ids.size() > 0">
                 and a.id in
@@ -540,4 +552,33 @@
             8
             )
     </select>
+
+    <select id="selectOrderListByIdsAndUnitType" resultType="com.sckw.transport.model.dto.LogisticsOrderDTO">
+        SELECT a.id          as lOrderId,
+               a.l_order_no  as lOrderNo,
+               b.`status`    as `status`,
+               a.t_order_id  as tOrderId,
+               a.t_order_no  as tOrderNo,
+               a.payment     as payment,
+               a.amount,
+               a.price,
+               a.loss,
+               a.goods_price as goodsPrice,
+               c.firm_name   as companyName,
+               c.contacts,
+               c.phone,
+               a.create_by   as createBy,
+               a.create_time as createTime
+        FROM kwt_logistics_order a
+                 LEFT JOIN kwt_logistics_order_track b ON a.id = b.l_order_id and a.`status` = b.`status`
+                 LEFT JOIN kwt_logistics_order_unit c ON a.id = c.l_order_id AND c.unit_type = #{type}
+        WHERE a.del_flag = '0'
+          AND b.del_flag = '0'
+          AND a.t_order_id IN
+            <foreach collection="ids" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        order by createTime desc
+    </select>
+
 </mapper>