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

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

donglang 16 часов назад
Родитель
Сommit
d005502c78
32 измененных файлов с 185 добавлено и 82 удалено
  1. 2 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictEnum.java
  2. 8 11
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/PageUtils.java
  3. 2 10
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/controller/BaseController.java
  4. 16 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/page/BaseQuery.java
  5. 4 0
      sckw-modules-api/sckw-contract-api/src/main/java/com/sckw/contract/api/model/vo/TradeContractResDto.java
  6. 25 0
      sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/model/OrderUrl.java
  7. 6 3
      sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/model/TradeOrderVo.java
  8. 4 0
      sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/param/AddLogisticOrderParam.java
  9. 9 11
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcContractLogisticsScoreController.java
  10. 1 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dubbo/RemoteContractServiceImpl.java
  11. 5 1
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/dto/req/LogisticsScoreDetailQueryDto.java
  12. 2 1
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/dto/req/LogisticsScoreQueryDto.java
  13. 5 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTrade.java
  14. 5 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/TradeBaseInfoReqVo.java
  15. 11 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/res/ContractDetailResp.java
  16. 4 7
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/IKwcContractLogisticsScoreService.java
  17. 16 18
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/impl/KwcContractLogisticsScoreServiceImpl.java
  18. 11 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/operateService/KwcContractTradeService.java
  19. 3 3
      sckw-modules/sckw-message/src/main/resources/mapper/KwmMessageMapper.xml
  20. 7 6
      sckw-modules/sckw-order/src/main/java/com/sckw/order/dubbo/TradeOrderInfoServiceImpl.java
  21. 2 1
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java
  22. 3 2
      sckw-modules/sckw-order/src/main/resources/mapper/KwoTradeOrderMapper.xml
  23. 1 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java
  24. 4 4
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwHomeService.java
  25. 1 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dubbo/TransportServiceImpl.java
  26. 6 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrder.java
  27. 4 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/AddLogisticOrderDTO.java
  28. 10 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/LogisticsOrderVo.java
  29. 1 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtAcceptCarriageOrderService.java
  30. 2 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtLogisticsConsignmentService.java
  31. 3 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderV1Service.java
  32. 2 1
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

+ 2 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/DictEnum.java

@@ -97,6 +97,8 @@ public enum DictEnum {
     SETTLEMENT_WAY_2("settlement_way", "2", "线下结算"),
     LOAD_UNLOAD_WAY_1("load_unload_way", "1", "按装货量"),
     LOAD_UNLOAD_WAY_2("load_unload_way", "2", "按卸货量"),
+    MEASUREMENT_WAY_1("measurement_way", "1", "地磅自动计算"),
+    MEASUREMENT_WAY_2("measurement_way", "2", "司机填报"),
     ;
 
     private final String type;

+ 8 - 11
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/PageUtils.java

@@ -1,9 +1,7 @@
 package com.sckw.core.utils;
 
 import com.github.pagehelper.PageHelper;
-import com.sckw.core.utils.sql.SqlUtil;
-import com.sckw.core.web.page.PageDomain;
-import com.sckw.core.web.page.TableSupport;
+import com.sckw.core.web.page.BaseQuery;
 
 /**
  * 分页工具类
@@ -15,15 +13,14 @@ public class PageUtils extends PageHelper
     /**
      * 设置请求分页数据
      */
-    public static PageDomain startPage()
+    public static void startPage(BaseQuery query)
     {
-        PageDomain pageDomain = TableSupport.buildPageRequest();
-        Integer pageNum = pageDomain.getPageNum();
-        Integer pageSize = pageDomain.getPageSize();
-        String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
-        Boolean reasonable = pageDomain.getReasonable();
-        PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable);
-        return pageDomain;
+//        PageDomain pageDomain = TableSupport.buildPageRequest();
+//        Integer pageNum = pageDomain.getPageNum();
+//        Integer pageSize = pageDomain.getPageSize();
+//        String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
+//        Boolean reasonable = pageDomain.getReasonable();
+        PageHelper.startPage(query.getPageNum(), query.getPageSize()).setReasonable(true);
     }
 
     /**

+ 2 - 10
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/controller/BaseController.java

@@ -22,14 +22,6 @@ public class BaseController
 {
     protected final Logger logger = LoggerFactory.getLogger(this.getClass());
 
-    /**
-     * 设置请求分页数据
-     */
-    protected PageDomain startPage()
-    {
-        return PageUtils.startPage();
-    }
-
     /**
      * 设置请求排序数据
      */
@@ -54,8 +46,8 @@ public class BaseController
     /**
      * 响应请求分页数据
      */
-    protected <T> PageDataResult<T> getDataTable(PageInfo<T> pageInfo,PageDomain pageDomain)
+    protected <T> PageDataResult<T> getDataTable(PageInfo<T> pageInfo)
     {
-        return PageDataResult.success(pageDomain.getPageNum(), pageDomain.getPageSize(), pageInfo.getTotal(), pageInfo.getList());
+        return PageDataResult.success(pageInfo.getPageNum(), pageInfo.getPageSize(), pageInfo.getTotal(), pageInfo.getList());
     }
 }

+ 16 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/page/BaseQuery.java

@@ -0,0 +1,16 @@
+package com.sckw.core.web.page;
+
+import lombok.Data;
+
+/**
+ * @author tangyishan
+ * @since 2026-01-08  10:23
+ *  基础查询参数
+ */
+@Data
+public class BaseQuery {
+    /** 页码 */
+    private  Integer pageNum = 1;
+    /** 页大小 */
+    private  Integer pageSize = 10;
+}

+ 4 - 0
sckw-modules-api/sckw-contract-api/src/main/java/com/sckw/contract/api/model/vo/TradeContractResDto.java

@@ -88,4 +88,8 @@ public class TradeContractResDto implements Serializable {
      */
     @TableField("dispatch_way")
     private Integer dispatchWay;
+    /**
+     * 计量方式
+     */
+    private Integer measurementWay;
 }

+ 25 - 0
sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/model/OrderUrl.java

@@ -0,0 +1,25 @@
+package com.sckw.order.api.model;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * @author xucaiqin
+ * @date 2026-01-15 13:45:43
+ */
+@Getter
+@Setter
+@AllArgsConstructor
+@NoArgsConstructor
+public class OrderUrl implements Serializable {
+    @Schema(description = "订单号")
+    private String orderNo;
+    @Schema(description = "跳转链接")
+    private String url;
+
+}

+ 6 - 3
sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/model/TradeOrderVo.java

@@ -2,7 +2,6 @@ package com.sckw.order.api.model;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Getter;
 import lombok.Setter;
 import lombok.ToString;
@@ -19,11 +18,15 @@ public class TradeOrderVo implements Serializable {
 
     @Serial
     private static final long serialVersionUID = 6909518527687999256L;
-    @Schema(description = "跳转链接")
-    private String url;
+    private Long tOrderId;
+
+    @JsonProperty("tOrderNoUrl")
+    private OrderUrl tOrderNoUrl;
+
 
     private Integer status;
     private String statusLabel;
+
     @JsonProperty("tOrderNo")
     private String tOrderNo;
     /**

+ 4 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/param/AddLogisticOrderParam.java

@@ -224,6 +224,10 @@ public class AddLogisticOrderParam implements Serializable {
      */
     @NotNull(message = "计费方式不能为空")
     private String billingMode;
+    /**
+     * 计量方式
+     */
+    private Integer measurementWay;
 
     /**
      * 计划卸货时间

+ 9 - 11
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcContractLogisticsScoreController.java

@@ -2,9 +2,7 @@ package com.sckw.contract.controller;
 
 
 import com.github.pagehelper.PageInfo;
-import com.sckw.contract.model.dto.req.LogisticsScoreApprovalDto;
-import com.sckw.contract.model.dto.req.LogisticsScoreDetailAddDto;
-import com.sckw.contract.model.dto.req.LogisticsScoreDetailQueryDto;
+import com.sckw.contract.model.dto.req.*;
 import com.sckw.contract.model.vo.res.LogisticsScoreDetailResVo;
 import com.sckw.contract.model.vo.res.LogisticsScoreResVo;
 import com.sckw.core.web.context.LoginUserHolder;
@@ -38,16 +36,16 @@ public class KwcContractLogisticsScoreController extends BaseController
     /**
      * 查询物流企业评分列表
      */
-    @GetMapping("/queryListByPage")
+    @PostMapping("/queryListByPage")
     @Operation(summary = "分页查询供应商物流企业评分",parameters =  {
             @Parameter(name = "pageNum", description = "页码"),
             @Parameter(name = "pageSize", description = "每页数量")
     })
-    public BaseResult<PageDataResult<LogisticsScoreResVo>> queryListByPage()
+    public BaseResult<PageDataResult<LogisticsScoreResVo>> queryListByPage(@RequestBody @Validated LogisticsScoreQueryDto query)
     {
-        PageDomain pageDomain = TableSupport.buildPageRequest();
-        PageInfo<LogisticsScoreResVo> list = kwcContractLogisticsScoreService.selectLogisticsScoreWithPendingSocreList(LoginUserHolder.getEntId());
-        return BaseResult.success(getDataTable(list, pageDomain));
+        query.setProviderEntId(LoginUserHolder.getEntId());
+        PageInfo<LogisticsScoreResVo> list = kwcContractLogisticsScoreService.selectLogisticsScoreWithPendingSocreList(query);
+        return BaseResult.success(getDataTable(list));
     }
 
     /**
@@ -60,9 +58,9 @@ public class KwcContractLogisticsScoreController extends BaseController
     })
     public BaseResult<PageDataResult<LogisticsScoreDetailResVo>> queryDetailListByPage(@Validated @RequestBody LogisticsScoreDetailQueryDto detailReqDto)
     {
-        PageDomain pageDomain = TableSupport.buildPageRequest();
-        PageInfo<LogisticsScoreDetailResVo> list = kwcContractLogisticsScoreService.selectKwcContractLogisticsScoreDetailList(detailReqDto,LoginUserHolder.getEntId());
-        return BaseResult.success(getDataTable(list,pageDomain));
+        detailReqDto.setProviderEntId(LoginUserHolder.getEntId());
+        PageInfo<LogisticsScoreDetailResVo> list = kwcContractLogisticsScoreService.selectKwcContractLogisticsScoreDetailList(detailReqDto);
+        return BaseResult.success(getDataTable(list));
     }
 
     /**

+ 1 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/dubbo/RemoteContractServiceImpl.java

@@ -277,6 +277,7 @@ public class RemoteContractServiceImpl implements RemoteContractService {
             tradeContractResDto.setContactName(kwcContractTrade.getName());
             tradeContractResDto.setContractNo(kwcContractTrade.getContractNo());
             tradeContractResDto.setDispatchWay(kwcContractTrade.getDispatchWay());
+            tradeContractResDto.setMeasurementWay(kwcContractTrade.getMeasurementWay());
             KwcContractTradeGoods kwcContractTradeGoods = kwcContractTradeGoodsMapper.selectOne(new LambdaQueryWrapper<KwcContractTradeGoods>()
                     .eq(KwcContractTradeGoods::getContractId, tradeContractId)
                     .eq(KwcContractTradeGoods::getGoodsId, goodsId)

+ 5 - 1
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/dto/req/LogisticsScoreDetailQueryDto.java

@@ -1,5 +1,6 @@
 package com.sckw.contract.model.dto.req;
 
+import com.sckw.core.web.page.BaseQuery;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
@@ -14,7 +15,7 @@ import java.util.List;
  */
 @Data
 public class
-LogisticsScoreDetailQueryDto {
+LogisticsScoreDetailQueryDto extends BaseQuery {
     /**
      * 评分id
      */
@@ -38,4 +39,7 @@ LogisticsScoreDetailQueryDto {
      */
     @Schema(hidden = true)
     private Integer status;
+
+    @Schema(hidden = true)
+    private Long providerEntId;
 }

+ 2 - 1
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/dto/req/LogisticsScoreQueryDto.java

@@ -1,5 +1,6 @@
 package com.sckw.contract.model.dto.req;
 
+import com.sckw.core.web.page.BaseQuery;
 import lombok.Data;
 
 import java.util.List;
@@ -10,7 +11,7 @@ import java.util.List;
  * @Description: 物流评分查询参数
  */
 @Data
-public class LogisticsScoreQueryDto {
+public class LogisticsScoreQueryDto extends BaseQuery {
     /**
      * 供应商id
      */

+ 5 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/entity/KwcContractTrade.java

@@ -146,6 +146,11 @@ public class KwcContractTrade implements Serializable {
      */
     @TableField("unload_way")
     private Integer unloadWay;
+    /**
+     * 计量方式
+     */
+    @TableField("measurement_way")
+    private Integer measurementWay;
     /**
      * 销售人员id
      */

+ 5 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/TradeBaseInfoReqVo.java

@@ -120,5 +120,10 @@ public class TradeBaseInfoReqVo implements Serializable {
      */
     @NotBlank(message = "销售联系电话不能为空")
     private String salesmanPhone;
+    /**
+     * 计量方式
+     */
+    @Schema(description = "计量方式 1-地磅自动计算,2-司机填报")
+    private Integer measurementWay;
 
 }

+ 11 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/res/ContractDetailResp.java

@@ -205,6 +205,17 @@ public class ContractDetailResp implements Serializable {
          */
         @Schema(description = "销售联系电话")
         private String salesmanPhone;
+
+        /**
+         * 计量方式
+         */
+        @Schema(description = "计量方式 1-地磅自动计算,2-司机填报")
+        private Integer measurementWay;
+        /**
+         * 计量方式描述
+         */
+        @Schema(description = "计量方式描述")
+        private String measurementWayDesc;
     }
     @Data
     public static class TradeGoodsInfo implements Serializable{

+ 4 - 7
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/IKwcContractLogisticsScoreService.java

@@ -4,9 +4,7 @@ import java.util.Map;
 
 import com.github.pagehelper.PageInfo;
 import com.sckw.contract.api.model.dto.req.LogisticsScoreDetailFeignDto;
-import com.sckw.contract.model.dto.req.LogisticsScoreApprovalDto;
-import com.sckw.contract.model.dto.req.LogisticsScoreDetailAddDto;
-import com.sckw.contract.model.dto.req.LogisticsScoreDetailQueryDto;
+import com.sckw.contract.model.dto.req.*;
 import com.sckw.contract.model.entity.KwcContractLogisticsScoreDetail;
 import com.sckw.contract.model.vo.req.LogisticListReq;
 import com.sckw.contract.model.vo.res.LogisticsScoreDetailResVo;
@@ -24,20 +22,19 @@ public interface IKwcContractLogisticsScoreService
 
     /**
      * 查询供应商企业对应的物流企业评分列表带待审核评分
-     * @param providerEntId 供应商企业id
+     * @param query 查询参数
      * @return 物流企业评分集合
      */
-    PageInfo<LogisticsScoreResVo> selectLogisticsScoreWithPendingSocreList(Long providerEntId);
+    PageInfo<LogisticsScoreResVo> selectLogisticsScoreWithPendingSocreList(LogisticsScoreQueryDto query);
 
 
     /**
      * 查询物流企业评分明细列表
      *
      * @param detailReqDto 物流企业评分明细
-     * @param providerEntId 供应商企业id
      * @return 物流企业评分明细集合
      */
-    PageInfo<LogisticsScoreDetailResVo> selectKwcContractLogisticsScoreDetailList(LogisticsScoreDetailQueryDto detailReqDto, Long providerEntId);
+    PageInfo<LogisticsScoreDetailResVo> selectKwcContractLogisticsScoreDetailList(LogisticsScoreDetailQueryDto detailReqDto);
 
 
     /**

+ 16 - 18
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/impl/KwcContractLogisticsScoreServiceImpl.java

@@ -82,11 +82,11 @@ public class KwcContractLogisticsScoreServiceImpl implements IKwcContractLogisti
      * @return 物流企业评分
      */
     @Override
-    public PageInfo<LogisticsScoreResVo> selectLogisticsScoreWithPendingSocreList(Long providerEntId)
+    public PageInfo<LogisticsScoreResVo> selectLogisticsScoreWithPendingSocreList(LogisticsScoreQueryDto query)
     {
         //查询评分列表
         PageInfo<LogisticsScoreResVo> pageInfo = new PageInfo<>(new ArrayList<>());
-        List<KwcContractLogisticsScore> logisticsScores = selectLogisticsScoreList(providerEntId, true);
+        List<KwcContractLogisticsScore> logisticsScores = selectLogisticsScoreList(query);
         List<Long> logisticsScoreIds = logisticsScores.stream().map(KwcContractLogisticsScore::getId).toList();
         if(CollectionUtils.isNotEmpty(logisticsScoreIds)){
             //查询待审评分
@@ -125,17 +125,16 @@ public class KwcContractLogisticsScoreServiceImpl implements IKwcContractLogisti
      * 查询物流企业评分明细列表
      *
      * @param detailReqDto 物流企业评分明细
-     * @param providerEntId 供应商企业id
      * @return 物流企业评分明细
      */
     @Override
-    public PageInfo<LogisticsScoreDetailResVo> selectKwcContractLogisticsScoreDetailList(LogisticsScoreDetailQueryDto detailReqDto, Long providerEntId)
+    public PageInfo<LogisticsScoreDetailResVo> selectKwcContractLogisticsScoreDetailList(LogisticsScoreDetailQueryDto detailReqDto)
     {
         //校验评分权限
-        KwcContractLogisticsScore logisticsScore = checkLogisticsScoreAuth(providerEntId, detailReqDto.getScoreId());
+        KwcContractLogisticsScore logisticsScore = checkLogisticsScoreAuth(detailReqDto.getProviderEntId(), detailReqDto.getScoreId());
         EntCacheResDto entCacheResDto = remoteSystemService.queryEntCacheById(logisticsScore.getLogisticsEntId());
         PageInfo<LogisticsScoreDetailResVo> pageInfo = new PageInfo<>(new ArrayList<>());
-        PageUtils.startPage();
+        PageUtils.startPage(detailReqDto);
         detailReqDto.setScoreIds(Collections.singletonList(detailReqDto.getScoreId()));
         List<KwcContractLogisticsScoreDetail> logisticsScoreDetails = kwcContractLogisticsScoreDetailMapper.selectKwcContractLogisticsScoreDetailList(detailReqDto);
         //根据影响人id列表查询影响人
@@ -197,12 +196,10 @@ public class KwcContractLogisticsScoreServiceImpl implements IKwcContractLogisti
      * isPage 是否是分页查询
      * @return 物流企业评分
      */
-    private List<KwcContractLogisticsScore> selectLogisticsScoreList(Long providerEntId, boolean isPage)
+    private List<KwcContractLogisticsScore> selectLogisticsScoreList(LogisticsScoreQueryDto query)
     {
-        LogisticsScoreQueryDto scoreReqDto = new LogisticsScoreQueryDto();
-        providerEntId = providerEntId !=null ? providerEntId : LoginUserHolder.getEntId();
         //1.查询当前供应商企业有效的自动派车物流合同
-        List<KwcContractLogistics> logisticsContracts = kwcContractLogisticsRepository.queryValidByEntId(providerEntId);
+        List<KwcContractLogistics> logisticsContracts = kwcContractLogisticsRepository.queryValidByEntId(query.getProviderEntId());
         List<Long> contractIds = logisticsContracts.stream().map(KwcContractLogistics::getId).toList();
         if(CollectionUtils.isNotEmpty(contractIds)){
             //2.根据物流合同id列表和托运商类型查询物流企业列表并得到物流企业id列表
@@ -210,15 +207,12 @@ public class KwcContractLogisticsScoreServiceImpl implements IKwcContractLogisti
             List<Long> logisticsEntIds = logisticsUnits.stream().map(KwcContractLogisticsUnit::getEntId).toList();
             if(CollectionUtils.isNotEmpty(logisticsEntIds)){
                 //3.根据物流企业id列表和供应商企业id查询物流企业评分列表
-                scoreReqDto.setProviderEntId(providerEntId);
-                scoreReqDto.setLogisticsEntIds(logisticsEntIds);
-                if (isPage){
-                    PageUtils.startPage();
-                }
-                return kwcContractLogisticsScoreMapper.selectKwcContractLogisticsScoreList(scoreReqDto);
+                query.setLogisticsEntIds(logisticsEntIds);
+                PageUtils.startPage(query);
+                return kwcContractLogisticsScoreMapper.selectKwcContractLogisticsScoreList(query);
             }
         }
-        return Collections.emptyList();
+        return new Page<>(query.getPageNum(), query.getPageSize());
     }
 
 
@@ -418,7 +412,11 @@ public class KwcContractLogisticsScoreServiceImpl implements IKwcContractLogisti
             if(userResDto != null){
                 detailAddDto.setInfluenceBy(userResDto.getId());
             }
-            detailAddDto.setAction(detailDto.getAction());
+            StringBuilder actionBuilder = new StringBuilder(detailDto.getAction());
+            if(detailDto.getScoreChange().compareTo(BigDecimal.ZERO)>0){
+                actionBuilder.append("+");
+            }
+            detailAddDto.setAction(actionBuilder.append(detailDto.getScoreChange()).append("分").toString());
             detailAddDto.setScoreChange(entScoreChange);
             detailAddDto.setScore(resultScore);
             //2.设置评分状态为通过

+ 11 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/operateService/KwcContractTradeService.java

@@ -330,6 +330,10 @@ public class KwcContractTradeService {
             if (StringUtils.isNotBlank(baseInfo.getContractName()) && baseInfo.getContractName().length() > 20) {
                 throw new SystemException("合同名称超长!");
             }
+            //按卸货筽量时必选计量方式
+            if (Objects.equals(baseInfo.getUnloadWay(), Integer.parseInt(DictEnum.LOAD_UNLOAD_WAY_2.getValue())) && Objects.isNull(baseInfo.getMeasurementWay())) {
+                throw new SystemException("卸货方式为按卸货筽量时,计量方式不能为空!");
+            }
         }
 
         if (CollectionUtils.isNotEmpty(goodsInfo)) {
@@ -449,6 +453,7 @@ public class KwcContractTradeService {
             }
         }
         kwcContractTrade.setAmount(amountTotal);
+        kwcContractTrade.setMeasurementWay(baseInfo.getMeasurementWay());
         return kwcContractTrade;
     }
 
@@ -753,6 +758,9 @@ public class KwcContractTradeService {
         EntTypeResDto entTypeResDto = remoteSystemService.queryEntTypeById(LoginUserHolder.getEntId());
 
         TradeBaseInfoReqVo baseInfo = reqVo.getBaseInfo();
+        if (Objects.equals(baseInfo.getUnloadWay(), Integer.parseInt(DictEnum.LOAD_UNLOAD_WAY_2.getValue())) && Objects.isNull(baseInfo.getMeasurementWay())){
+            throw new BusinessException("卸货方式为按卸货筽量时,计量方式不能为空!");
+        }
         kwcContractTrade.setEntId(LoginUserHolder.getEntId());
         kwcContractTrade.setContractNo(baseInfo.getContractCode());
         kwcContractTrade.setName(baseInfo.getContractName());
@@ -791,6 +799,7 @@ public class KwcContractTradeService {
         kwcContractTrade.setSigningUrl(reqVo.getContractFile());
         kwcContractTrade.setUpdateBy(LoginUserHolder.getUserId());
         kwcContractTrade.setUpdateTime(date);
+        kwcContractTrade.setMeasurementWay(baseInfo.getMeasurementWay());
         if (kwcContractTradeMapper.updateById(kwcContractTrade) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
         }
@@ -1562,6 +1571,8 @@ public class KwcContractTradeService {
                 String.valueOf(kwcContractTrade.getUnloadWay())));
         tradeBaseInfo.setSalesmanId(kwcContractTrade.getSalesmanId());
         tradeBaseInfo.setSalesmanPhone(kwcContractTrade.getSalesmanPhone());
+        tradeBaseInfo.setMeasurementWay(Objects.equals(kwcContractTrade.getMeasurementWay(),-1) ? null:kwcContractTrade.getMeasurementWay());
+        tradeBaseInfo.setMeasurementWayDesc(Objects.equals(kwcContractTrade.getMeasurementWay(),-1) ? "" : DictEnum.getLabel(String.valueOf(kwcContractTrade.getMeasurementWay())));
         tradeBaseInfo.setDispatchWay(kwcContractTrade.getDispatchWay());
         tradeBaseInfo.setDispatchWayDesc(Optional.ofNullable(kwcContractTrade.getDispatchWay()).map(DispatchWayEnums::getDesc).orElse(""));
         return tradeBaseInfo;

+ 3 - 3
sckw-modules/sckw-message/src/main/resources/mapper/KwmMessageMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.sckw.message.dao.KwmMessageMapper">
 
   <select id="findPage" resultType="com.sckw.message.model.dto.MessageListDTO" >
-      select mu.id,
+      select m.id,
              mu.ent_id      entId,
              mu.user_id     userId,
              mu.status,
@@ -12,7 +12,7 @@
              mu.create_time createTime,
              mu.update_by   updateBy,
              mu.update_time updateTime,
-             m.id     as    msgId,
+             mu.msg_id     as    msgId,
              m.category,
              m.type,
              m.title,
@@ -98,7 +98,7 @@
               and km.category = #{param1.category}
           </if>
           <if test="para.status != null">
-              and km.status = #{para.status}
+              and kmu.status = #{para.status}
           </if>
       </where>
   </select>

+ 7 - 6
sckw-modules/sckw-order/src/main/java/com/sckw/order/dubbo/TradeOrderInfoServiceImpl.java

@@ -3,6 +3,7 @@ package com.sckw.order.dubbo;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
 import com.google.common.collect.Lists;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.constant.NumberConstant;
@@ -26,7 +27,6 @@ import com.sckw.order.model.vo.res.AddressInfoDtoDetailRes;
 import com.sckw.order.repository.*;
 import com.sckw.order.serivce.*;
 import com.sckw.product.api.dubbo.GoodsInfoService;
-import com.sckw.product.api.model.GoodsDetail;
 import com.sckw.product.api.model.GoodsDetails;
 import com.sckw.redis.constant.RedisConstant;
 import com.sckw.redis.utils.RedissonUtils;
@@ -691,6 +691,7 @@ public class TradeOrderInfoServiceImpl implements TradeOrderInfoService {
 
     private List<BigDecimal> getData(List<String> times, List<TradeSaleVo> data) {
         Map<String, BigDecimal> map = data.stream().collect(Collectors.toMap(TradeSaleVo::getTimePeriod, vo -> vo.getAmount() == null ? BigDecimal.ZERO : vo.getAmount(), (a, b) -> a));
+        log.info("map times {} {}", JSONObject.toJSONString(times), JSONObject.toJSONString(map));
         return times.stream().map(d -> {
             BigDecimal bigDecimal = map.get(d);
             if (Objects.isNull(bigDecimal)) {
@@ -710,17 +711,17 @@ public class TradeOrderInfoServiceImpl implements TradeOrderInfoService {
         if (CollUtil.isEmpty(tradeSaleVos)) {
             tradeSaleVos = new ArrayList<>();
         }
-        Map<Long, GoodsDetail> goodsMap = new HashMap<>();
+        Map<Long, GoodsDetails> goodsMap = new HashMap<>();
         List<Long> collect = tradeSaleVos.stream().map(TradeSaleVo::getGoodsId).distinct().toList();
         for (Long aLong : collect) {
-            GoodsDetail detailById = goodsInfoService.getDetailById(aLong);
+            GoodsDetails detailById = goodsInfoService.getDetail(aLong);
             if (Objects.nonNull(detailById)) {
                 goodsMap.put(aLong, detailById);
             }
         }
 
         Map<Long, List<TradeSaleVo>> collect1 = tradeSaleVos.stream().collect(Collectors.groupingBy(TradeSaleVo::getGoodsId));
-
+        log.info("data {}", JSONObject.toJSONString(collect1));
         List<TimeSaleDataDto> data = new ArrayList<>();
         List<String> strings1 = DateUtil.generateHourRanges(countPara.getStartTime(), countPara.getEndTime());
         TimeSaleDto timeSaleDto = new TimeSaleDto();
@@ -732,12 +733,12 @@ public class TradeOrderInfoServiceImpl implements TradeOrderInfoService {
             Long key = map.getKey();
             List<TradeSaleVo> value = map.getValue();
 
-            GoodsDetail goodsDetail = goodsMap.get(key);
+            GoodsDetails goodsDetail = goodsMap.get(key);
             if (Objects.isNull(goodsDetail)) {
                 timeSaleDataDto.setName("-");
                 timeSaleDataDto.setData(sizeOf(strings1.size()));
             } else {
-                timeSaleDataDto.setName(goodsDetail.getName() + goodsDetail.getSpec());
+                timeSaleDataDto.setName(goodsDetail.getName() + goodsDetail.getSpecLabel());
                 if (CollUtil.isEmpty(value)) {
                     timeSaleDataDto.setData(sizeOf(strings1.size()));
                 } else {

+ 2 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -2419,6 +2419,7 @@ public class KwoTradeOrderService {
         }
         addLogisticOrderParam.setEntId(LoginUserHolder.getEntId());
         addLogisticOrderParam.setUserId(LoginUserHolder.getUserId());
+        addLogisticOrderParam.setMeasurementWay(tradeContractResDto.getMeasurementWay());
         log.info("创建物流订单:{}", JSONObject.toJSONString(addLogisticOrderParam));
         Integer result = transportRemoteService.addLogisticOrder(addLogisticOrderParam);
         //自动派单运力不足
@@ -2572,7 +2573,7 @@ public class KwoTradeOrderService {
                 chargeTypeMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
             }
             tradeOrderVos.forEach(d -> {
-                d.setUrl("/logisticsOrder");
+                d.setTOrderNoUrl(new OrderUrl(d.getTOrderNo(), "/#/orderManagement/tradeOrder/detail/" + d.getTOrderId()));
                 d.setStatusLabel(statusMap.get(String.valueOf(d.getStatus())));
                 d.setGoodsTypeLabel(productNameMap.get(d.getGoodsType()));
                 d.setChargeTypeLabel(chargeTypeMap.get(String.valueOf(d.getChargeType())));

+ 3 - 2
sckw-modules/sckw-order/src/main/resources/mapper/KwoTradeOrderMapper.xml

@@ -734,6 +734,7 @@
 
     <select id="selectData" resultType="com.sckw.order.api.model.TradeOrderVo">
         select a.status,
+               a.id         tOrderId,
                a.t_order_no tOrderNo,
                d.firm_name  buyEntName,
                e.firm_name  sellEntName,
@@ -831,8 +832,8 @@
                        ':00-',
                        LPAD(MOD(HOUR(kto.create_time) + 1, 24), 2, '0'),
                        ':00'
-                   ) AS time_period,
-               sum(kto.amount)
+                   )           AS time_period,
+               sum(kto.amount) as amount
         from kwo_trade_order kto
                  inner JOIN kwo_trade_order_unit d ON kto.id = d.t_order_id AND d.unit_type = '2' AND d.del_flag = 0
                  inner JOIN kwo_trade_order_unit c ON kto.id = c.t_order_id AND c.unit_type = '1' AND c.del_flag = 0

+ 1 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -1662,6 +1662,6 @@ public class KwpGoodsService {
                 .setStatusLabel(CollectionUtils.isNotEmpty(goodsStatusMap) ? goodsStatusMap.get(String.valueOf(detail.getStatus())) : null)
                 .setSpecLabel(CollectionUtils.isNotEmpty(goodsSpecMap) ? goodsSpecMap.get(String.valueOf(detail.getSpec())) : null);
 
-        return null;
+        return detail;
     }
 }

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

@@ -144,10 +144,10 @@ public class KwHomeService {
         Long aLong = tradeOrderInfoService.orderCount();
         Long aLong1 = transportRemoteService.queryCount();
         TodoCountVo todoCountVo = new TodoCountVo();
-        todoCountVo.setTradeContractCount(new ViewUrl(contractCountVo.getTradeContractCount(), "/contractManagement/tradeContract/list"));
-        todoCountVo.setLogisticsContractCount(new ViewUrl(contractCountVo.getLogisticsContractCount(), "/contractManagement/logisticsContract/list"));
-        todoCountVo.setTradeOrderCount(new ViewUrl(aLong, "/orderManagement/tradeOrder/list"));
-        todoCountVo.setLogisticsOrderCount(new ViewUrl(aLong1, "/operatManagement/logisticsWaybill/list"));
+        todoCountVo.setTradeContractCount(new ViewUrl(contractCountVo.getTradeContractCount(), "/#/contractManagement/tradeContract/list"));
+        todoCountVo.setLogisticsContractCount(new ViewUrl(contractCountVo.getLogisticsContractCount(), "/#/contractManagement/logisticsContract/list"));
+        todoCountVo.setTradeOrderCount(new ViewUrl(aLong, "/#/orderManagement/tradeOrder/list"));
+        todoCountVo.setLogisticsOrderCount(new ViewUrl(aLong1, "/#/operatManagement/logisticsWaybill/list"));
         return todoCountVo;
     }
 }

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

@@ -1324,6 +1324,7 @@ public class TransportServiceImpl implements TransportRemoteService {
         addLogisticOrderDTO.setDispatchWay(param.getDispatchWay());
         addLogisticOrderDTO.setActualDisPatch(param.getActualDisPatch());
         addLogisticOrderDTO.setGoodsUnit(param.getGoodsUnit());
+        addLogisticOrderDTO.setMeasurementWay(param.getMeasurementWay());
         return addLogisticOrderDTO;
     }
 

+ 6 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtLogisticsOrder.java

@@ -243,6 +243,12 @@ public class KwtLogisticsOrder implements Serializable {
     @TableField("distance")
     private String distance;
 
+    /**
+     * 计量方式
+     */
+    @TableField("measurement_way")
+    private Integer measurementWay;
+
     private static final long serialVersionUID = 1L;
 
     @TableField(exist = false)

+ 4 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/AddLogisticOrderDTO.java

@@ -222,6 +222,10 @@ public class AddLogisticOrderDTO implements Serializable {
      * 计费方式
      */
     private String billingMode;
+    /**
+     * 计量方式
+     */
+    private Integer measurementWay;
 
     /**
      * 计划卸货时间

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

@@ -2,6 +2,7 @@ package com.sckw.transport.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.sckw.order.api.model.OrderUrl;
 import lombok.Data;
 
 import java.io.Serial;
@@ -19,12 +20,21 @@ public class LogisticsOrderVo implements Serializable {
     @JsonProperty("tOrderId")
     private Long tOrderId;
 
+    @JsonProperty("lOrderId")
+    private Long lOrderId;
+
     @JsonProperty("lOrderNo")
     private String lOrderNo;
 
+    @JsonProperty("lOrderNoUrl")
+    private OrderUrl lOrderNoUrl;
+
     @JsonProperty("tOrderNo")
     private String tOrderNo;
 
+    @JsonProperty("tOrderNoUrl")
+    private OrderUrl tOrderNoUrl;
+
     private BigDecimal amount;
     private Integer status;
     private String statusLabel;

+ 1 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtAcceptCarriageOrderService.java

@@ -3664,6 +3664,7 @@ public class KwtAcceptCarriageOrderService {
         kwtLogisticsOrder.setBindStatus(String.valueOf(NumberConstant.ZERO));
         kwtLogisticsOrder.setDispatchWay(orderDTO.getDispatchWay());
         kwtLogisticsOrder.setDistance(distance);
+        kwtLogisticsOrder.setMeasurementWay(orderDTO.getMeasurementWay());
         saveLogisticsOrderList.add(kwtLogisticsOrder);
     }
 

+ 2 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtLogisticsConsignmentService.java

@@ -3683,6 +3683,8 @@ public class KwtLogisticsConsignmentService {
                 if (Objects.nonNull(detailById)) {
                     d.setGoodsName(d.getGoodsName() + detailById.getSpecLabel());
                 }
+                d.setLOrderNoUrl(new OrderUrl(d.getLOrderNo(),"/#/operatManagement/logisticsOrder/detail/" + d.getLOrderId()));
+                d.setTOrderNoUrl(new OrderUrl(d.getTOrderNo(),"/#/orderManagement/tradeOrder/detail/" + d.getTOrderId()));
                 d.setStatusLabel(LogisticsOrderV1Enum.getDesc(d.getStatus()));
             });
             return list;

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

@@ -88,7 +88,6 @@ import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.util.*;
 import java.util.concurrent.*;
-import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.function.Function;
 import java.util.stream.Collectors;
@@ -5038,9 +5037,10 @@ public class KwtWaybillOrderV1Service {
         if (Objects.isNull(kwtLogistics)){
             throw new BusinessException("物流订单信息不存在");
         }
+        //查询贸易订单
         //调物流订单完结订单
        // BigDecimal loadAmount  = Objects.isNull(kwtLogistics.getLoadAmount())  ? BigDecimal.ZERO: kwtLogistics.getLoadAmount();
-       // BigDecimal subLoadAmount = Objects.isNull(subtask.getLoadAmount()) ? BigDecimal.ZERO: subtask.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();
         BigDecimal entrustAmount  = Objects.isNull(kwtLogistics.getEntrustAmount())  ? BigDecimal.ZERO: kwtLogistics.getEntrustAmount();
@@ -5051,6 +5051,7 @@ public class KwtWaybillOrderV1Service {
         BigDecimal entrust = subtractAmount.compareTo(BigDecimal.ZERO) >= 0
                 ? subtractAmount : new BigDecimal("0.00");
         kwtLogisticsOrder.setEntrustAmount(entrust);
+       // kwtLogisticsOrder.setTotalLoadAmount(loadAmount.add(subLoadAmount));
         kwtLogisticsOrder.setTotalUnloadAmount(unloadAmount.add(subUnloadAmount));
 
         //如果审核的状态是 完成,那么就要去查询物流订单状态是完结中,并且所有物流订单下的运单全部是完成或者取消如果是则更新状态为已完成

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

@@ -2952,7 +2952,8 @@
     </select>
 
     <select id="selectData" resultType="com.sckw.transport.model.vo.LogisticsOrderVo">
-        select a.id,
+        select a.id                                  as lOrderId,
+               a.t_order_id                          AS tOrderId,
                a.l_order_no                          AS lOrderNo,
                a.t_order_no                          AS tOrderNo,
                a.amount,