Răsfoiți Sursa

1、司机app查询列表新增字段;

zk 2 ani în urmă
părinte
comite
76daf77d35

+ 10 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtWaybillOrderTrackMapper.java

@@ -3,6 +3,7 @@ package com.sckw.transport.dao;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.transport.model.KwtWaybillOrderTrack;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 @Mapper
 public interface KwtWaybillOrderTrackMapper extends BaseMapper<KwtWaybillOrderTrack> {
@@ -18,4 +19,13 @@ public interface KwtWaybillOrderTrackMapper extends BaseMapper<KwtWaybillOrderTr
     int updateByPrimaryKeySelective(KwtWaybillOrderTrack record);
 
     int updateByPrimaryKey(KwtWaybillOrderTrack record);
+
+    /**
+     * @param wOrderId 车辆订单id
+     * @param status 状态
+     * @desc 查询车辆运单状态信息
+     * @author zk
+     * @date 2023/7/27
+     **/
+    KwtWaybillOrderTrack findWaybillOrderTrack(@Param("wOrderId") Long wOrderId, @Param("status") Integer status);
 }

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

@@ -1,8 +1,11 @@
 package com.sckw.transport.model.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.sckw.core.model.constant.Global;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
 import java.math.BigDecimal;
 import java.util.Date;
 
@@ -78,6 +81,17 @@ public class WaybillOrderDriverVo {
      */
     private BigDecimal entrustAmount;
 
+
+    /**
+     * 实际剩余量
+     */
+    private BigDecimal residueAmount;
+
+    /**
+     * 单位(吨、方、箱、件)
+     */
+    private String unit;
+
     /**
      * 装货地址名称
      */
@@ -146,7 +160,7 @@ public class WaybillOrderDriverVo {
     /**
      * 单据状态
      */
-    private String status;
+    private Integer status;
 
     /**
      * 创建人姓名
@@ -156,8 +170,15 @@ public class WaybillOrderDriverVo {
     /**
      * 派车时间-创建时间
      */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
     private Date createTime;
 
+    /**
+     * 操作时间
+     */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
+    private Date operateTime;
+
     public String getTypeName() {
         return type != null && type == Global.NUMERICAL_ONE ? "趟次" : "循环";
     }

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

@@ -3,6 +3,7 @@ package com.sckw.transport.service;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.github.pagehelper.PageHelper;
 import com.sckw.core.common.enums.NumberConstant;
+import com.sckw.core.common.enums.enums.DictTypeEnum;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.enums.*;
@@ -24,6 +25,7 @@ import com.sckw.redis.utils.RedissonUtils;
 import com.sckw.stream.model.SckwBusSum;
 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.system.api.model.dto.res.UserCacheResDto;
 import com.sckw.transport.dao.*;
 import com.sckw.transport.model.*;
@@ -34,6 +36,7 @@ import jakarta.annotation.Resource;
 import jakarta.validation.Valid;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cloud.stream.function.StreamBridge;
 import org.springframework.stereotype.Service;
@@ -122,25 +125,40 @@ public class KwtWaybillOrderService {
 
         /**数据查询**/
         List<WaybillOrderDriverVo> waybillOrders = new ArrayList();
-        if (busStatus == 1) {
+        if (busStatus == Global.NUMERICAL_ONE) {
             //查询司机任务列表-待接单
             waybillOrders = waybillOrderDao.findWaitWaybillOrderByDriver(params);
         } else {
             //查询司机任务列表-出车/执行/完结
             waybillOrders = waybillOrderDao.findOtherWaybillOrderByDriver(params);
+
+            //出车-出车时间
+            if (busStatus == Global.NUMERICAL_TWO) {
+                for (WaybillOrderDriverVo waybillOrder : waybillOrders) {
+                    KwtWaybillOrderTrack track = waybillOrderTrackDao.findWaybillOrderTrack (waybillOrder.getWOrderId(), waybillOrder.getStatus());
+                    waybillOrder.setOperateTime(track != null ? track.getOperateTime() : null);
+                }
+            }
         }
 
         /**数据组装**/
         List<Long> entIds = new ArrayList<>();
+        List<String> dictKey = new ArrayList<>();
         for (WaybillOrderDriverVo waybillOrder : waybillOrders) {
             entIds.add(waybillOrder.getCarrierEntId());
+            dictKey.add(DictTypeEnum.UNIT_TYPE.getType() + Global.POUND + waybillOrder.getUnit());
         }
+
         //企业数据集
         entIds = entIds.stream().distinct().collect(Collectors.toList());
+        dictKey = dictKey.stream().distinct().collect(Collectors.toList());
         Map<Long, EntCacheResDto> ents = remoteSystemService.queryEntCacheMapByIds(entIds);
+        Map<String, SysDictResDto> dicts = remoteSystemService.queryDictMapByTypeValues(String.join(Global.COMMA, dictKey));
         for (WaybillOrderDriverVo waybillOrder : waybillOrders) {
             EntCacheResDto ent = ents == null ? null : ents.get(waybillOrder.getCarrierEntId());
+            SysDictResDto unit = dicts == null ? null : dicts.get(DictTypeEnum.UNIT_TYPE.getType() + Global.POUND + waybillOrder.getUnit());
             waybillOrder.setCarrierFirmName(ent != null ? ent.getFirmName() : null);
+            waybillOrder.setUnit(unit != null ? unit.getLabel() : null);
         }
         return waybillOrders;
     }

+ 9 - 6
sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderMapper.xml

@@ -302,6 +302,8 @@
                      wo.l_order_id       lOrderId,
                      lo.l_order_no       lOrderNo,
                      wo.type,
+                     lo.amount - lo.entrust_amount - lo.subcontract_amount residueAmount,
+                     lo.unit,
                      wo.ent_id           carrierEntId,
                      'xxxxx'             carrierFirmName,
                      log.goods_name      goodsName,
@@ -338,6 +340,8 @@
                      loc.l_order_id      lOrderId,
                      lo.l_order_no       lOrderNo,
                      loc.type,
+                     lo.amount - lo.entrust_amount - lo.subcontract_amount residueAmount,
+                     lo.unit,
                      loc.ent_id          carrierEntId,
                      'xxxxx'             carrierFirmName,
                      log.goods_name      goodsName,
@@ -375,15 +379,14 @@
     <select id="findOtherWaybillOrderByDriver" resultType="com.sckw.transport.model.vo.WaybillOrderDriverVo"
             parameterType="java.util.Map">
         SELECT
-        wo.id wOrderId, wo.w_order_no wOrderNo, wo.l_order_id lOrderId, lo.l_order_no lOrderNo, wo.type,
+        wo.id wOrderId, wo.w_order_no wOrderNo, wo.l_order_id lOrderId, lo.l_order_no lOrderNo,
+        lo.unit, wo.type,
         wo.ent_id carrierEntId, 'xxxxx' carrierFirmName, log.goods_name goodsName, wo.start_time startTime,
         wo.end_time endTime, wo.entrust_amount entrustAmount, woa1.name loadName, woa1.city_code loadCityCode,
         woa1.city_name loadCityName, woa1.detail_address loadDetailAddress, woa2.name unloadName, woa2.city_code
-        unloadCityCode,
-        woa2.city_name unloadCityName, woa2.detail_address unloadDetailAddress, wo.load_amount loadAmount,
-        wo.unload_amount unloadAmount,
-        wo.deficit_amount deficitAmount, wo.deficit_price deficitPrice, wo.truck_no truckNo, wo.status, wo.create_time
-        createTime
+        unloadCityCode, woa2.city_name unloadCityName, woa2.detail_address unloadDetailAddress, wo.load_amount loadAmount,
+        wo.unload_amount unloadAmount, wo.deficit_amount deficitAmount, wo.deficit_price deficitPrice, wo.truck_no truckNo,
+        wo.status, wo.create_time createTime
         FROM kwt_waybill_order wo
         LEFT JOIN kwt_logistics_order lo on lo.id = wo.l_order_id
         LEFT JOIN kwt_waybill_order_address woa1 on woa1.w_order_id = wo.id and woa1.type = 1

+ 15 - 0
sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderTrackMapper.xml

@@ -16,4 +16,19 @@
         id, w_order_id, remark, `status`, create_by, create_time, update_by, update_time,
     del_flag
     </sql>
+
+    <select id="findWaybillOrderTrack" resultType="com.sckw.transport.model.KwtWaybillOrderTrack" >
+        select
+        id, w_order_id wOrderId, remark, `status`, create_by createBy, create_time createTime, update_by updateBy,
+        update_time updateTime
+        from kwt_waybill_order_track
+        where del_flag = 0
+        <if test="wOrderId != null and wOrderId != ''">
+            and w_order_id = #{wOrderId, jdbcType=BIGINT}
+        </if>
+        <if test="status != null and status != ''">
+            and status = #{status, jdbcType=INTEGER}
+        </if>
+        order by create_time desc limit 1
+    </select>
 </mapper>