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

1、新增单证审核查询运单接口;

zk 2 лет назад
Родитель
Сommit
4497261ada

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

@@ -1,5 +1,6 @@
 package com.sckw.fleet.api;
 
+import com.sckw.fleet.api.model.vo.RDriverDetailVo;
 import com.sckw.fleet.api.model.vo.RDriverVo;
 import com.sckw.fleet.api.model.vo.RTruckVo;
 
@@ -29,6 +30,14 @@ public interface RemoteFleetService {
      **/
     RDriverVo findDriver(Long driverId);
 
+    /**
+     * @param phone 司机档手机号
+     * @desc 查询司机信息
+     * @author zk
+     * @date 2023/8/10
+     **/
+    RDriverDetailVo findDriver(String phone);
+
     /**
      * @param params 司机档案信息
      * @desc 更新司机信息

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

@@ -0,0 +1,75 @@
+package com.sckw.fleet.api.model.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author zk
+ * @desc 司机
+ * @date 2023/7/17 0017
+ */
+@Data
+public class RDriverDetailVo implements Serializable {
+
+    /**
+     * 司机档案主键id
+     */
+    private Long id;
+
+    /**
+     * 司机档案归属企业主键id
+     */
+    private Long entId;
+
+    /**
+     * 司机姓名
+     */
+    private String name;
+
+    /**
+     * 司机手机号
+     */
+    private String phone;
+
+    /**
+     * 盐
+     */
+    private String salt;
+
+    /**
+     * 密码
+     */
+    private String password;
+
+    /**
+     * 身份证号
+     */
+    private String idcard;
+
+    /**
+     * 总运单完成量
+     */
+    private Integer totalComplete;
+
+    /**
+     * 总运单接单量
+     */
+    private Integer totalTake;
+
+    /**
+     * 总运量(净重)
+     */
+    private BigDecimal totalWeight;
+
+    /**
+     * 司机业务状态
+     */
+    private Integer businessStatus;
+
+    /**
+     * 司机状态
+     */
+    private Integer status;
+}

+ 7 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/dao/KwfDriverMapper.java

@@ -41,6 +41,13 @@ public interface KwfDriverMapper extends BaseMapper<KwfDriver> {
      */
     List<Map<String, Object>> findList(Map<String, Object> params);
 
+    /**
+     * 查询
+     * @param params
+     * @return
+     */
+    List<KwfDriver> findDriver(Map<String, Object> params);
+
     /**
      * 查询企业下司机信息
      * @param params

+ 7 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/dao/KwfTruckMapper.java

@@ -38,4 +38,11 @@ public interface KwfTruckMapper extends BaseMapper<KwfTruck> {
      * @return
      */
     List<Map<String, Object>> findList(Map<String, Object> params);
+
+    /**
+     * 查询
+     * @param params
+     * @return
+     */
+    List<KwfTruck> findTruck(Map<String, Object> params);
 }

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

@@ -3,6 +3,7 @@ package com.sckw.fleet.dubbo;
 import com.sckw.core.utils.BeanUtils;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.fleet.api.RemoteFleetService;
+import com.sckw.fleet.api.model.vo.RDriverDetailVo;
 import com.sckw.fleet.api.model.vo.RDriverVo;
 import com.sckw.fleet.api.model.vo.RTruckVo;
 import com.sckw.fleet.dao.KwfDriverMapper;
@@ -76,6 +77,24 @@ public class RemoteFleetServiceImpl implements RemoteFleetService {
         return driverVo;
     }
 
+    /**
+     * @param phone 司机档手机号
+     * @desc 查询司机信息
+     * @author zk
+     * @date 2023/8/10
+     **/
+    @Override
+    public RDriverDetailVo findDriver(String phone) {
+        List<KwfDriver> drivers = driverDao.findDriver(new HashMap(){{put("phone", phone);}});
+        if (CollectionUtils.isEmpty(drivers)) {
+            return null;
+        }
+        KwfDriver driver = drivers.get(0);
+        RDriverDetailVo driverDetail = new RDriverDetailVo();
+        BeanUtils.copyPropertiesValue(driver, driverDetail);
+        return driverDetail;
+    }
+
     /**
      * @param params 司机档案信息
      * @desc 更新司机信息

+ 22 - 4
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfDriverService.java

@@ -319,7 +319,7 @@ public class KwfDriverService {
     public HttpResult driverEdit(KwfDriver params) {
         if (StringUtils.isBlank(params.getId())) {
             /**唯一性交易**/
-            List<Map<String, Object>> drivers = driverDao.findList(new HashMap(){{ put("phone", params.getPhone()); }});
+            List<KwfDriver> drivers = driverDao.findDriver(new HashMap(){{ put("phone", params.getPhone()); }});
             if (!CollectionUtils.isEmpty(drivers)) {
                 return HttpResult.error("电话号码已存在!");
             }
@@ -336,9 +336,9 @@ public class KwfDriverService {
             return count > 0 ? HttpResult.ok() : HttpResult.error("司机信息新增失败!");
         } else {
             /**唯一性交易**/
-            List<Map<String, Object>> drivers = driverDao.findList(new HashMap(){{ put("phone", params.getPhone()); }});
+            List<KwfDriver> drivers = driverDao.findDriver(new HashMap(){{ put("phone", params.getPhone()); }});
             //校验list中对象key值是否存在与value不一致的情况
-            boolean bool = CollectionUtils.listByKeyValueV1(drivers, "id", String.valueOf(params.getId()));
+            boolean bool = listByKeyValue(drivers, params.getId());
             if (bool) {
                 return HttpResult.error("司机信息电话号码已存在!");
             }
@@ -599,7 +599,7 @@ public class KwfDriverService {
         }
 
         /**唯一性交易**/
-        List<Map<String, Object>> drivers = driverDao.findList(new HashMap(){{ put("phone", params.getPhone()); }});
+        List<KwfDriver> drivers = driverDao.findDriver(new HashMap(){{ put("phone", params.getPhone()); }});
         if (!CollectionUtils.isEmpty(drivers)) {
             return HttpResult.error("电话号码已存在!");
         }
@@ -660,4 +660,22 @@ public class KwfDriverService {
         driver.setStatus(Global.NUMERICAL_ONE);
         driverDao.updateById(driver);
     }
+
+    /**
+     * 校验list中对象key值是否存在与value不一致的情况
+     * @param list 数据集
+     * @param value 匹配值
+     * @return
+     */
+    public static boolean listByKeyValue(List<KwfDriver> list, Long value) {
+        if (CollectionUtils.isEmpty(list)) {
+            return false;
+        }
+        for (KwfDriver driver:list) {
+            if (value != null && !driver.getId().equals(value)) {
+                return true;
+            }
+        }
+        return false;
+    }
 }

+ 20 - 37
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfTruckReportService.java

@@ -213,9 +213,7 @@ public class KwfTruckReportService {
 
             /**车辆信息**/
             //校验车辆档案是否存在
-            List<Map<String, Object>> trucks = truckDao.findList(new HashMap() {{
-                put("truckNo", reportDto.getTruckNo());
-            }});
+            List<KwfTruck> trucks = truckDao.findTruck(new HashMap() {{ put("truckNo", reportDto.getTruckNo());}});
             if (CollectionUtils.isEmpty(trucks)) {
                 //新增车辆档案
                 KwfTruckDto truckDto = new KwfTruckDto();
@@ -228,14 +226,13 @@ public class KwfTruckReportService {
                 truckReport.setTruckId(truck.getId());
             } else {
                 //校验车辆是否已上报
-                Map<String, Object> truck = trucks.get(0);
-                Object truckId = truck.get("id");
+                KwfTruck truck = trucks.get(0);
                 List<Map<String, Object>> reports = truckReportDao.findList(new HashMap() {{
-                    put("truckId", truckId);
+                    put("truckId", truck.getId());
                     put("entId", LoginUserHolder.getEntId());
                 }});
                 if (CollectionUtils.isEmpty(reports)) {
-                    truckReport.setTruckId(Long.parseLong(String.valueOf(truckId)));
+                    truckReport.setTruckId(truck.getId());
                 } else {
                     continue;
                 }
@@ -243,8 +240,7 @@ public class KwfTruckReportService {
 
             /**档案信息**/
             //校验司机档案是否存在
-            List<Map<String, Object>> drivers = driverDao.findList(new HashMap() {{
-                put("phone", reportDto.getPhone());
+            List<KwfDriver> drivers = driverDao.findDriver(new HashMap() {{put("phone", reportDto.getPhone());
             }});
             if (CollectionUtils.isEmpty(drivers)) {
                 //新增司机档案
@@ -260,14 +256,13 @@ public class KwfTruckReportService {
                 truckReport.setDriverId(driver.getId());
             } else {
                 //校验司机是否已上报
-                Map<String, Object> driver = drivers.get(0);
-                Object driverId = driver.get("id");
+                KwfDriver driver = drivers.get(0);
                 List<Map<String, Object>> reports = truckReportDao.findList(new HashMap() {{
-                    put("driverId", driverId);
+                    put("driverId", driver.getId());
                     put("entId", LoginUserHolder.getEntId());
                 }});
                 if (CollectionUtils.isEmpty(reports)) {
-                    truckReport.setDriverId(Long.parseLong(String.valueOf(driverId)));
+                    truckReport.setDriverId(driver.getId());
                 } else {
                     continue;
                 }
@@ -389,15 +384,12 @@ public class KwfTruckReportService {
 
             /**车辆信息**/
             //校验车辆档案是否存在
-            List<Map<String, Object>> trucks = truckDao.findList(new HashMap() {{
-                put("truckNo", reportDto.getTruckNo());
-            }});
+            List<KwfTruck> trucks = truckDao.findTruck(new HashMap() {{put("truckNo", reportDto.getTruckNo());}});
             if (!CollectionUtils.isEmpty(trucks)) {
                 //校验车辆是否已上报
-                Map<String, Object> truck = trucks.get(0);
-                Object truckId = truck.get("id");
+                KwfTruck truck = trucks.get(0);
                 List<Map<String, Object>> reports = truckReportDao.findList(new HashMap() {{
-                    put("truckId", truckId);
+                    put("truckId", truck.getId());
                     put("entId", LoginUserHolder.getEntId());
                 }});
                 if (!CollectionUtils.isEmpty(reports)) {
@@ -408,15 +400,12 @@ public class KwfTruckReportService {
 
             /**档案信息**/
             //校验司机档案是否存在
-            List<Map<String, Object>> drivers = driverDao.findList(new HashMap() {{
-                put("phone", reportDto.getPhone());
-            }});
+            List<KwfDriver> drivers = driverDao.findDriver(new HashMap() {{ put("phone", reportDto.getPhone()); }});
             if (!CollectionUtils.isEmpty(drivers)) {
                 //校验司机是否已上报
-                Map<String, Object> driver = trucks.get(0);
-                Object driverId = driver.get("id");
+                KwfDriver driver = drivers.get(0);
                 List<Map<String, Object>> reports = truckReportDao.findList(new HashMap() {{
-                    put("driverId", driverId);
+                    put("driverId", driver.getId());
                     put("entId", LoginUserHolder.getEntId());
                 }});
                 if (!CollectionUtils.isEmpty(reports)) {
@@ -448,15 +437,12 @@ public class KwfTruckReportService {
     public boolean checkReport(KwfTruckReportDto reportDto) {
         /**车辆信息**/
         //校验车辆档案是否存在
-        List<Map<String, Object>> trucks = truckDao.findList(new HashMap() {{
-            put("truckNo", reportDto.getTruckNo());
-        }});
+        List<KwfTruck> trucks = truckDao.findList(new HashMap() {{ put("truckNo", reportDto.getTruckNo());}});
         if (!CollectionUtils.isEmpty(trucks)) {
             //校验车辆是否已上报
-            Map<String, Object> truck = trucks.get(0);
-            Object truckId = truck.get("id");
+            KwfTruck truck = trucks.get(0);
             List<Map<String, Object>> reports = truckReportDao.findList(new HashMap() {{
-                put("truckId", truckId);
+                put("truckId", truck.getId());
                 put("entId", LoginUserHolder.getEntId());
             }});
             if (!CollectionUtils.isEmpty(reports)) {
@@ -466,15 +452,12 @@ public class KwfTruckReportService {
 
         /**档案信息**/
         //校验司机档案是否存在
-        List<Map<String, Object>> drivers = driverDao.findList(new HashMap() {{
-            put("phone", reportDto.getPhone());
-        }});
+        List<KwfDriver> drivers = driverDao.findList(new HashMap() {{ put("phone", reportDto.getPhone()); }});
         if (!CollectionUtils.isEmpty(drivers)) {
             //校验司机是否已上报
-            Map<String, Object> driver = trucks.get(0);
-            Object driverId = driver.get("id");
+            KwfDriver driver = drivers.get(0);
             List<Map<String, Object>> reports = truckReportDao.findList(new HashMap() {{
-                put("driverId", driverId);
+                put("driverId", driver.getId());
                 put("entId", LoginUserHolder.getEntId());
             }});
             if (!CollectionUtils.isEmpty(reports)) {

+ 25 - 1
sckw-modules/sckw-fleet/src/main/resources/mapper/KwfDriverMapper.xml

@@ -128,7 +128,7 @@
             and dr.name like concat('%',#{name},'%')
         </if>
         <if test="wholeName != null and wholeName != ''">
-            and fl.name =  #{wholeName, jdbcType=VARCHAR}
+            and dr.name =  #{wholeName, jdbcType=VARCHAR}
         </if>
         <if test="idcard != null and idcard != ''">
             and dr.idcard = #{idcard, jdbcType=VARCHAR}
@@ -162,6 +162,30 @@
         ORDER BY dr.create_time desc
     </select>
 
+    <select id="findDriver" resultType="com.sckw.fleet.model.KwfDriver" parameterType="java.util.Map" >
+        SELECT
+            id, ent_id entId, name, phone, salt, password, idcard, total_complete totalComplete,
+            total_take totalTake, total_weight totalWeight, business_status businessStatus, remark, status
+        from kwf_driver dr
+        where dr.del_flag = 0
+        <if test="entId != null and entId != ''">
+            and ent_id = #{entId, jdbcType=VARCHAR}
+        </if>
+        <if test="name != null and name != ''">
+            and name =  #{name, jdbcType=VARCHAR}
+        </if>
+        <if test="idcard != null and idcard != ''">
+            and idcard = #{idcard, jdbcType=VARCHAR}
+        </if>
+        <if test="phone != null and phone != ''">
+            and phone = #{phone, jdbcType=VARCHAR}
+        </if>
+        <if test="status != null and status != ''">
+            and status = #{status, jdbcType=VARCHAR}
+        </if>
+        ORDER BY create_time desc
+    </select>
+
     <select id="findEntDriver" resultType="com.sckw.fleet.model.KwfDriver" parameterType="com.sckw.fleet.model.KwfDriver" >
         SELECT
             dr.id, name, phone, salt, password, idcard, total_complete totalComplete,

+ 33 - 1
sckw-modules/sckw-fleet/src/main/resources/mapper/KwfTruckMapper.xml

@@ -127,7 +127,10 @@
             and tre.ent_id = #{entId, jdbcType=VARCHAR}
         </if>
         <if test="truckNo != null and truckNo != ''">
-            and tr.truck_no = #{truckNo, jdbcType=VARCHAR}
+            and tr.truck_no like concat('%',#{truckNo},'%')
+        </if>
+        <if test="wholeTruckNo != null and wholeTruckNo != ''">
+            and tr.truck_no = #{wholeTruckNo, jdbcType=VARCHAR}
         </if>
         <if test="type != null and type != ''">
             and tr.type = #{type, jdbcType=VARCHAR}
@@ -163,6 +166,35 @@
         ORDER BY tr.create_time desc
     </select>
 
+    <select id="findTruck" resultType="com.sckw.fleet.model.KwfTruck" parameterType="java.util.Map" >
+        SELECT
+        id, ent_id entId, truck_no truckNo, type, energy_type energyType, use_type useType,
+        spec, actual_weight actualWeight, gross_weight grossWeight, tare_weight tareWeight,
+        color, eev, trailer_no trailerNo, total_complete totalComplete, total_take totalTake,
+        total_weight totalWeight, business_status businessStatus, remark, status
+        from kwf_truck tr
+        where del_flag = 0
+        <if test="entId != null and entId != ''">
+            and ent_id = #{entId, jdbcType=VARCHAR}
+        </if>
+        <if test="truckNo != null and truckNo != ''">
+            and truck_no = #{truckNo, jdbcType=VARCHAR}
+        </if>
+        <if test="type != null and type != ''">
+            and type = #{type, jdbcType=VARCHAR}
+        </if>
+        <if test="energyType != null and energyType != ''">
+            and energy_type = #{energyType, jdbcType=VARCHAR}
+        </if>
+        <if test="useType != null and useType != ''">
+            and use_type = #{useType, jdbcType=VARCHAR}
+        </if>
+        <if test="status != null and status != ''">
+            and status = #{status, jdbcType=VARCHAR}
+        </if>
+        ORDER BY create_time desc
+    </select>
+
     <select id="findEntTruck" resultType="com.sckw.fleet.model.KwfTruck" parameterType="com.sckw.fleet.model.KwfTruck" >
         SELECT
             tr.id, tre.ent_id entId, truck_no truckNo, type, energy_type energyType, use_type useType,

+ 11 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/KwtWaybillOrderController.java

@@ -269,6 +269,17 @@ public class KwtWaybillOrderController {
         return waybillOrderService.editTicket(params);
     }
 
+    /**
+     * @param wOrderId
+     * @desc 修改单证查询运单
+     * @author zk
+     * @date 2023/8/2
+     **/
+    @GetMapping("/ticketWaybillOrder")
+    public HttpResult ticketWaybillOrder(@RequestParam("wOrderId") Long wOrderId){
+        return waybillOrderService.ticketWaybillOrder(wOrderId);
+    }
+
     /**
      * @param params {}
      * @desc 单证审核

+ 59 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java

@@ -20,6 +20,7 @@ import com.sckw.order.api.model.CompleteLogisticsOrderParam;
 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.UserCacheResDto;
 import com.sckw.transport.dao.*;
 import com.sckw.transport.model.*;
 import com.sckw.transport.model.dto.*;
@@ -1651,6 +1652,64 @@ public class KwtWaybillOrderService {
         return HttpResult.ok("修改单证成功!");
     }
 
+    /**
+     * @param wOrderId
+     * @desc 修改单证查询运单
+     * @author zk
+     * @date 2023/8/10
+     **/
+    public HttpResult ticketWaybillOrder(Long wOrderId){
+        //车辆运单信息
+        KwtWaybillOrder waybillOrder = waybillOrderDao.selectById(wOrderId);
+        if (waybillOrder == null) {
+            return HttpResult.error("车辆运单信息不存在!");
+        }
+        //装货榜单
+        KwtWaybillOrderTicket loadTicket = waybillOrderTicketDao.findWaybillOrderTicket(wOrderId, Global.NUMERICAL_ONE);
+        //卸货榜单
+        KwtWaybillOrderTicket unloadTicket = waybillOrderTicketDao.findWaybillOrderTicket(wOrderId, Global.NUMERICAL_TWO);
+        //装货地址
+        KwtWaybillOrderAddress loadAddress = this.getAddress(waybillOrder.getId(), Global.NUMERICAL_ONE);
+        //卸货地址
+        KwtWaybillOrderAddress unloadAddress = this.getAddress(waybillOrder.getId(), Global.NUMERICAL_TWO);
+        //商品信息
+        KwtLogisticsOrderGoods goods = logisticsOrderGoodsDao.findByGoods(waybillOrder.getLOrderId());
+        //用户数据集
+        List<Long> createBys = new ArrayList(){{add(loadTicket.getUpdateBy()); add(unloadTicket.getUpdateBy());}};
+        createBys = createBys.stream().distinct().collect(Collectors.toList());
+        Map<Long, UserCacheResDto> users = remoteSystemService.queryUserCacheMapByIds(createBys);
+        UserCacheResDto loadUser = users == null ? null : users.get(loadTicket.getUpdateBy());
+        UserCacheResDto unloadUser = users == null ? null : users.get(unloadTicket.getUpdateBy());
+
+        Map result = new HashMap();
+        result.put("wOrderId", wOrderId);
+        result.put("wOrderNo", waybillOrder.getWOrderNo());
+        result.put("status", waybillOrder.getStatus());
+        result.put("truckNo", waybillOrder.getTruckNo());
+        result.put("driverName", waybillOrder.getDriverName());
+        result.put("driverPhone", waybillOrder.getDriverPhone());
+        result.put("driverIdcard", waybillOrder.getDriverIdcard());
+        result.put("goodsName", goods != null ? goods.getGoodsName() : null);
+        result.put("loadStatus", loadTicket != null ? 0 : 1);
+        result.put("loadAmount", loadTicket != null ? loadTicket.getAmount() : null);
+        result.put("loadUrls", loadTicket != null ? loadTicket.getUrls() : null);
+        result.put("loadOperateTime", loadTicket != null ? loadTicket.getOperateTime() : null);
+        result.put("loadCreateTime", loadTicket != null ? loadTicket.getCreateTime() : null);
+        result.put("loadCreateByName", loadUser != null ? loadUser.getName() : null);
+        result.put("loadCityName", loadAddress != null ? loadAddress.getCityName() : null);
+        result.put("loadDetailAddress", loadAddress != null ? loadAddress.getDetailAddress() : null);
+        result.put("unloadStatus", loadTicket != null ? 0 : 1);
+        result.put("unloadAmount", unloadTicket != null ? unloadTicket.getAmount() : null);
+        result.put("unloadUrls", unloadTicket != null ? unloadTicket.getUrls() : null);
+        result.put("unloadOperateTime", unloadTicket != null ? unloadTicket.getOperateTime() : null);
+        result.put("unloadCreateTime", unloadTicket != null ? unloadTicket.getCreateTime() : null);
+        result.put("unloadCreateByName", unloadUser != null ? unloadUser.getName() : null);
+        result.put("unloadCityName", unloadAddress != null ? unloadAddress.getCityName() : null);
+        result.put("unloadDetailAddress", unloadAddress != null ? unloadAddress.getDetailAddress() : null);
+
+        return HttpResult.ok(result);
+    }
+
     /**
      * @param params {}
      * @desc 单证审核