소스 검색

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

donglang 3 주 전
부모
커밋
6d2884f3c7
14개의 변경된 파일775개의 추가작업 그리고 639개의 파일을 삭제
  1. 4 0
      sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/model/TradeOrderPara.java
  2. 5 0
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/UserResDto.java
  3. 2 1
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java
  4. 12 9
      sckw-modules/sckw-order/src/main/resources/mapper/KwoTradeOrderMapper.xml
  5. 5 2
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java
  6. 12 4
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java
  7. 28 13
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/KwtLogisticsOrderController.java
  8. 4 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderMapper.java
  9. 31 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/LogisticsOrderPara.java
  10. 21 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/OrderPara.java
  11. 35 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/LogisticsOrderVo.java
  12. 196 189
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtLogisticsConsignmentService.java
  13. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderV1Service.java
  14. 419 419
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

+ 4 - 0
sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/model/TradeOrderPara.java

@@ -24,4 +24,8 @@ public class TradeOrderPara implements Serializable {
 
     private List<Long> entId;
     private Long userId;
+    /**
+     * 类型(1供应商,2采购商,3物流属性)
+     */
+    private Integer type;
 }

+ 5 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/UserResDto.java

@@ -22,4 +22,9 @@ public class UserResDto implements Serializable {
     private Integer systemType;
     private Long entId;
 
+    /**
+     * 类型(1供应商,2采购商,3物流属性)
+     */
+    private Integer type;
+
 }

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

@@ -2523,13 +2523,14 @@ public class KwoTradeOrderService {
         UserResDto userResDto = remoteSystemService.queryUserById(tradeOrderPara.getUserId());
         if (Objects.nonNull(userResDto)) {
             Integer systemType = userResDto.getSystemType();
+            tradeOrderPara.setType(userResDto.getType());
             if (!Objects.equals(systemType, SystemTypeEnum.MANAGE.getCode())) {
                 tradeOrderPara.setEntId(remoteUserService.findChildEntList(userResDto.getEntId()));
             }
         }
         List<TradeOrderVo> tradeOrderVos = kwoTradeOrderMapper.selectData(tradeOrderPara);
         if (CollUtil.isNotEmpty(tradeOrderVos)) {
-            Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), DictTypeEnum.UNIT_TYPE.getType(), DictTypeEnum.CHARGING_TYPE.getType()));
+            Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(), DictTypeEnum.UNIT_TYPE.getType(), DictTypeEnum.CHARGING_TYPE.getType(), DictTypeEnum.TORDER_STATUS.getType()));
             Map<String, String> statusMap, productNameMap, unitMap, chargeTypeMap;
             if (CollUtil.isNotEmpty(dict)) {
                 statusMap = CollUtil.isNotEmpty(dict.get(DictTypeEnum.TORDER_STATUS.getType())) ? dict.get(DictTypeEnum.TORDER_STATUS.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);

+ 12 - 9
sckw-modules/sckw-order/src/main/resources/mapper/KwoTradeOrderMapper.xml

@@ -763,16 +763,19 @@
                 and a.create_time between #{para.startTime,jdbcType=TIMESTAMP} and #{para.endTime,jdbcType=TIMESTAMP}
             </if>
             <if test="para.entId != null and para.entId.size() > 0">
-                and (
-                    d.ent_id in
-                <foreach collection="para.entId" item="item" open="(" close=")" separator=",">
-                    #{item}
-                </foreach>
-                or e.ent_id in
-                <foreach collection="para.entId" item="item" open="(" close=")" separator=",">
+                <if test="para.type != null and para.type == 1">
+                    and
+                    e.ent_id in
+                    <foreach collection="para.entId" item="item" open="(" close=")" separator=",">
                     #{item}
-                </foreach>
-                )
+                    </foreach>
+                </if>
+                <if test="para.type != null and para.type ==2">
+                    and d.ent_id in
+                    <foreach collection="para.entId" item="item" open="(" close=")" separator=",">
+                        #{item}
+                    </foreach>
+                </if>
             </if>
             limit 10
         </where>

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

@@ -1508,14 +1508,16 @@ public class KwpGoodsService {
         List<EntCacheResDto> entList = remoteSystemService.queryEntCacheByIds(supplyEntIds);
         Map<Long, String> entMap = entList.stream().collect(Collectors.toMap(EntCacheResDto::getId, EntCacheResDto::getFirmName, (k1, k2) -> k1));
         Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.PRODUCT_NAME_TYPE.getType(),
-                DictTypeEnum.UNIT_TYPE.getType()));
-        Map<String, String> productNameMap, unitMap;
+                DictTypeEnum.UNIT_TYPE.getType(),DictTypeEnum.GOODS_SPEC.getType()));
+        Map<String, String> productNameMap, unitMap,goodsMap;
         if (CollectionUtils.isNotEmpty(dict)) {
             productNameMap = dict.get(DictTypeEnum.PRODUCT_NAME_TYPE.getType());
             unitMap = dict.get(DictTypeEnum.UNIT_TYPE.getType());
+            goodsMap = dict.get(DictTypeEnum.GOODS_SPEC.getType());
         } else {
             productNameMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
             unitMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
+            goodsMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         }
         Long entId = LoginUserHolder.getEntId();
 
@@ -1525,6 +1527,7 @@ public class KwpGoodsService {
             List<KwpGoodsPriceRange> priceRanges = priceRangeMap.get(e.getId());
             materials.setGoodsTypeLabel(CollectionUtils.isNotEmpty(productNameMap) ? productNameMap.get(e.getGoodsType()) : null)
                     .setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(e.getUnit()) : null)
+                    .setSpec(CollectionUtils.isNotEmpty(goodsMap) ? goodsMap.get(e.getSpec()) : null)
                     .setAddressName(Objects.isNull(address) ? null : address.getCityName())
                     .setDetailAddress(Objects.isNull(address) ? null : address.getDetailAddress())
                     .setPrice(CollectionUtils.isEmpty(priceRanges) ? null : priceRanges.get(0).getPrice())

+ 12 - 4
sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java

@@ -617,7 +617,12 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
     public UserResDto queryUserById(Long userId) {
         KwsUser kwsUser = kwsUserService.selectByKey(userId);
         if (Objects.nonNull(kwsUser)) {
-            return BeanUtil.toBean(kwsUser, UserResDto.class);
+            UserResDto bean = BeanUtil.toBean(kwsUser, UserResDto.class);
+            KwsEntType one = kwsEntTypeRepository.lambdaQuery().eq(KwsEntType::getEntId, kwsUser.getEntId()).last("limit 1").one();
+            if (Objects.nonNull(one)) {
+                bean.setType(one.getType());
+            }
+            return bean;
         }
         return null;
     }
@@ -986,6 +991,7 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
     /**
      * 计算平台配置的运单单趟总耗时
      * 获取自动派单系数配置(单趟耗时 = 装货时间 + 卸货时间 + 运输时间 + 返回时间)
+     *
      * @param dto
      * @return
      */
@@ -1023,6 +1029,7 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
 
     /**
      * 计算平台配置贸易订单实际派车数
+     *
      * @param dto
      * @return
      */
@@ -1059,10 +1066,10 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
         Integer maxRoundTripTimes = roundTripBig.setScale(0, RoundingMode.FLOOR).intValue();
 
         //单车总运量 = 车辆平均载重 X 单车最大往返次数
-        int totalVehicle  = vehicleAvgLoad * maxRoundTripTimes;
+        int totalVehicle = vehicleAvgLoad * maxRoundTripTimes;
         BigDecimal totalVehicleBig = new BigDecimal(totalVehicle);
         //所需车辆数 = 订单总量/单车总运量
-        BigDecimal vehiclesNum  = dto.getAmount().multiply(totalVehicleBig);
+        BigDecimal vehiclesNum = dto.getAmount().multiply(totalVehicleBig);
 
         //实际派车 = 所需车辆数 X 缓冲系数(向上取整)
         BigDecimal actualVehicleBig = vehiclesNum.multiply(bufferCoefficient);
@@ -1071,7 +1078,8 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
     }
 
     /**
-     *  平台单趟耗时
+     * 平台单趟耗时
+     *
      * @param dto
      * @return
      */

+ 28 - 13
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/KwtLogisticsOrderController.java

@@ -1,17 +1,19 @@
 package com.sckw.transport.controller;
 
+import cn.hutool.core.date.LocalDateTimeUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.sckw.core.annotation.RepeatSubmit;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.BaseResult;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.core.web.response.result.PageDataResult;
+import com.sckw.transport.model.LogisticsOrderPara;
+import com.sckw.transport.model.OrderPara;
 import com.sckw.transport.model.dto.LogisticsConsignmentDto;
 import com.sckw.transport.model.dto.LogisticsOrderFinishDto;
 import com.sckw.transport.model.dto.LogisticsOrderSubcontractDto;
 import com.sckw.transport.model.param.AddLogisticsOrderParam;
 import com.sckw.transport.model.param.LogisticsOrderResp;
-import com.sckw.transport.model.param.LogisticsOrderUnitReq;
 import com.sckw.transport.model.param.QueryLogisticsOrderReq;
 import com.sckw.transport.model.vo.*;
 import com.sckw.transport.service.KwtLogisticsConsignmentService;
@@ -21,11 +23,13 @@ import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springdoc.core.annotations.ParameterObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
+
 /**
  * @author lfdc
  * @desc 物流订单Controller-v4.2
@@ -50,10 +54,10 @@ public class KwtLogisticsOrderController {
      * 采购订单/销售订单-物流托运-V4.2
      *
      * @param logisticsConsignmentDto 页面请求参数
-     * @return  响应结果
+     * @return 响应结果
      */
     @Validated
-    @RepeatSubmit(interval = 1000,message ="前方拥堵,请稍后尝试")
+    @RepeatSubmit(interval = 1000, message = "前方拥堵,请稍后尝试")
     @RequestMapping(value = "/consignment", method = RequestMethod.POST)
     public HttpResult logisticsOrderConsignment(@Valid @RequestBody LogisticsConsignmentDto logisticsConsignmentDto) {
         log.info("采购订单/销售订单-物流托运传递参数信息:{}", JSONObject.toJSONString(logisticsConsignmentDto));
@@ -70,10 +74,10 @@ public class KwtLogisticsOrderController {
      * 承运订单/托运订单-自建物流订单 V4.2
      *
      * @param addLogisticsOrderParam 页面请求参数
-     * @return  响应结果
+     * @return 响应结果
      */
     @Validated
-    @RepeatSubmit(interval = 1000,message ="前方拥堵,请稍后尝试")
+    @RepeatSubmit(interval = 1000, message = "前方拥堵,请稍后尝试")
     @RequestMapping(value = "/createOrder", method = RequestMethod.POST)
     public HttpResult addLogisticsOrder(@Valid @RequestBody AddLogisticsOrderParam addLogisticsOrderParam) {
         log.info("承运订单/托运订单-自建物流订单传递参数信息:{}", JSONObject.toJSONString(addLogisticsOrderParam));
@@ -90,10 +94,10 @@ public class KwtLogisticsOrderController {
      * 物流订单-分包托运-V4.2
      *
      * @param logisticsOrderSubcontractDto 页面请求参数
-     * @return  响应结果
+     * @return 响应结果
      */
     @Validated
-    @RepeatSubmit(interval = 1000,message ="前方拥堵,请稍后尝试")
+    @RepeatSubmit(interval = 1000, message = "前方拥堵,请稍后尝试")
     @RequestMapping(value = "/subcontract", method = RequestMethod.POST)
     public HttpResult logisticsOrderSubcontract(@Valid @RequestBody LogisticsOrderSubcontractDto logisticsOrderSubcontractDto) {
         log.info("物流订单-分包托运传递参数信息:{}", JSONObject.toJSONString(logisticsOrderSubcontractDto));
@@ -109,10 +113,10 @@ public class KwtLogisticsOrderController {
      * 物流订单-完结订单-V4.2
      *
      * @param logisticsOrderSubcontractDto 页面请求参数
-     * @return  响应结果
+     * @return 响应结果
      */
     @Validated
-    @RepeatSubmit(interval = 1000,message ="前方拥堵,请稍后尝试")
+    @RepeatSubmit(interval = 1000, message = "前方拥堵,请稍后尝试")
     @RequestMapping(value = "/logisticsOrderFinish", method = RequestMethod.POST)
     public HttpResult logisticsOrderFinish(@Valid @RequestBody LogisticsOrderFinishDto logisticsOrderSubcontractDto) {
         log.info("物流订单-完结订单传递参数信息:{}", JSONObject.toJSONString(logisticsOrderSubcontractDto));
@@ -130,17 +134,18 @@ public class KwtLogisticsOrderController {
     @PostMapping(value = "/queryLogisticsOrderByPage")
     @Operation(summary = "分页查询物流订单", description = "分页查询物流订单")
     public BaseResult<PageDataResult<LogisticsOrderResp>> queryLogisticsOrderByPage(@RequestBody QueryLogisticsOrderReq req) {
-        return BaseResult.success(logisticsConsignmentService.queryLogisticsOrderByPage( req));
+        return BaseResult.success(logisticsConsignmentService.queryLogisticsOrderByPage(req));
     }
 
     /**
-    * 获取物流订单详情
-    */
+     * 获取物流订单详情
+     */
     @PostMapping(value = "/getLogisticsOrderDetail")
     @Operation(summary = "获取物流订单详情", description = "获取物流订单详情")
     public BaseResult<LogisticsOrderDetailResp> getLogisticsOrderDetail(@RequestBody @Valid LogisticsOrderReq req) {
         return BaseResult.success(logisticsConsignmentService.getLogisticsOrderDetail(req));
     }
+
     /**
      * 根据物流订单查询已派运力
      */
@@ -184,7 +189,7 @@ public class KwtLogisticsOrderController {
      */
     @PostMapping("/logisticOrderFinish")
     @Operation(summary = "完结订单", description = "完结订单")
-    public BaseResult<Boolean> logisticOrderFinish(@RequestBody @Valid OrderFinishReq req ) {
+    public BaseResult<Boolean> logisticOrderFinish(@RequestBody @Valid OrderFinishReq req) {
         return BaseResult.success(logisticsConsignmentService.logisticOrderFinish(req));
     }
 
@@ -205,4 +210,14 @@ public class KwtLogisticsOrderController {
     public BaseResult<List<LogisticsOrderUnitResp>> orderUnits() {
         return BaseResult.success(transportCommonService.queryOrderUnits());
     }
+
+    @GetMapping(value = "/list")
+    @Operation(summary = "分页查询物流订单", description = "分页查询物流订单")
+    public HttpResult list(@ParameterObject OrderPara orderPara) {
+        LogisticsOrderPara tradeOrderPara = new LogisticsOrderPara();
+        tradeOrderPara.setStartTime(LocalDateTimeUtil.parse(orderPara.getStartTime(), "yyyy-MM-dd HH:mm:ss"));
+        tradeOrderPara.setEndTime(LocalDateTimeUtil.parse(orderPara.getEndTime(), "yyyy-MM-dd HH:mm:ss"));
+        orderPara.setUserId(orderPara.getUserId());
+        return HttpResult.ok(logisticsConsignmentService.queryList(tradeOrderPara));
+    }
 }

+ 4 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderMapper.java

@@ -5,6 +5,7 @@ import com.sckw.mongo.model.TableTops;
 import com.sckw.transport.api.model.dto.AcceptCarriageLogisticsOrderDto;
 import com.sckw.transport.api.model.vo.LogisticsOrderVO;
 import com.sckw.transport.model.KwtLogisticsOrder;
+import com.sckw.transport.model.LogisticsOrderPara;
 import com.sckw.transport.model.dto.LogisticsOrderDto;
 import com.sckw.transport.model.param.*;
 import com.sckw.transport.model.vo.*;
@@ -472,4 +473,6 @@ public interface KwtLogisticsOrderMapper extends BaseMapper<KwtLogisticsOrder> {
      * @date 2023/9/18
      **/
     LogisticsCountVo findLogisticsOrderCount(Map<String, Object> params);
-}
+
+    List<LogisticsOrderVo> selectData(@Param("para")LogisticsOrderPara orderPara);
+}

+ 31 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/LogisticsOrderPara.java

@@ -0,0 +1,31 @@
+package com.sckw.transport.model;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Getter
+@Setter
+@ToString
+public class LogisticsOrderPara implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 6909518527687999256L;
+    @NotNull(message = "开始时间不能为空")
+    private LocalDateTime startTime;
+    @NotNull(message = "开始时间不能为空")
+    private LocalDateTime endTime;
+
+    private List<Long> entId;
+    private Long userId;
+    /**
+     * 类型(1供应商,2采购商,3物流属性)
+     */
+    private Integer type;
+}

+ 21 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/OrderPara.java

@@ -0,0 +1,21 @@
+package com.sckw.transport.model;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author xucaiqin
+ * @date 2025-12-02 19:41:55
+ */
+@Getter
+@Setter
+@Schema(description = "物流订单查询参数")
+public class OrderPara {
+    @Schema(description = "开始时间")
+    private String startTime;
+    @Schema(description = "结束时间")
+    private String endTime;
+    @Schema(description = "用户id")
+    private Long userId;
+}

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

@@ -0,0 +1,35 @@
+package com.sckw.transport.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+
+@Data
+public class LogisticsOrderVo implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 4964311980474791569L;
+    private Long id;
+
+    @JsonProperty("tOrderId")
+    private Long tOrderId;
+
+    @JsonProperty("lOrderNo")
+    private String lOrderNo;
+
+    @JsonProperty("tOrderNo")
+    private String tOrderNo;
+
+    private BigDecimal amount;
+    private Integer status;
+    private String statusLabel;
+    private String tyFirmName;
+    private String cyFirmName;
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime createTime;
+}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 196 - 189
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtLogisticsConsignmentService.java


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

@@ -3466,7 +3466,7 @@ public class KwtWaybillOrderV1Service {
         List<KwtWaybillOrderNode> nodeList = Lists.newArrayList() ;
         if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwtWaybillOrderNodes)){
             nodeList = kwtWaybillOrderNodes.stream()
-                    .filter(x->Objects.nonNull(x.getWeighbridgeId()))
+                    .filter(x->Objects.nonNull(x.getWeighbridgeId()) && x.getRemark().contains("称重"))
                     .sorted(Comparator.comparing(KwtWaybillOrderNode::getCreateTime))
                     .collect(Collectors.toList());
         }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 419 - 419
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.