chenxiaofei 2 сар өмнө
parent
commit
8cc1864832
21 өөрчлөгдсөн 398 нэмэгдсэн , 64 устгасан
  1. 77 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/response/result/PageDataResult.java
  2. 0 47
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/response/result/PageResult.java
  3. 2 0
      sckw-modules-api/sckw-fleet-api/src/main/java/com/sckw/fleet/api/RemoteFleetService.java
  4. 5 0
      sckw-modules-api/sckw-fleet-api/src/main/java/com/sckw/fleet/api/model/vo/RTruckVo.java
  5. 3 0
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteSystemService.java
  6. 12 5
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/controller/KwfTruckController.java
  7. 15 2
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/dubbo/RemoteFleetServiceImpl.java
  8. 21 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/request/TruckInfoReq.java
  9. 42 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/TruckInfoVo.java
  10. 8 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/repository/KwfDriverRepository.java
  11. 9 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/repository/KwfFleetDriverRepository.java
  12. 9 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/repository/KwfFleetRepository.java
  13. 14 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/repository/KwfTruckRepository.java
  14. 62 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfTruckService.java
  15. 3 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/KwsEnterpriseDao.java
  16. 53 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteBaseService.java
  17. 15 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java
  18. 25 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/repository/KwsEnterpriseRepository.java
  19. 5 4
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/KwfTruckTraceController.java
  20. 5 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/VehiclesTrajectoryReq.java
  21. 13 4
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/kwfTruckTraceService.java

+ 77 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/response/result/PageDataResult.java

@@ -0,0 +1,77 @@
+package com.sckw.core.web.response.result;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+
+
+/**
+ * @author PC
+ */
+@Data
+public class PageDataResult<T> implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1803433537622129194L;
+    /** 总记录数 */
+    private long total;
+
+    /** 当前页码(从1开始) */
+    private int pageNum;
+
+    /** 每页显示条数 */
+    private int pageSize;
+
+    /**
+     * 总页数
+     */
+    private int pages;
+
+    /** 当前页的数据列表 */
+    private List<T> list;
+
+    public PageDataResult() {
+
+    }
+
+    // 创建空分页结果
+    public static <T> PageDataResult<T> empty(Integer pageNum, Integer pageSize) {
+        return new PageDataResult<>(pageNum, pageSize, 0L, new ArrayList<>());
+    }
+    public PageDataResult(Integer pageNum, Integer pageSize, Long total, List<T> data) {
+        this.pageNum = pageNum;
+        this.pageSize = pageSize;
+        this.total = total;
+        this.list = data;
+        this.pages = (int) Math.ceil((double) total / pageSize);
+    }
+
+    public static <T> PageDataResult<T> success(Integer pageNum, Integer pageSize, Long total, List<T> data) {
+        PageDataResult<T> pageResult = new PageDataResult<T>();
+        pageResult.setPageNum(pageNum);
+        pageResult.setPageSize(pageSize);
+        pageResult.setTotal(total);
+        // 修正总页数计算
+        pageResult.setPages((int) ((total + pageSize - 1) / pageSize));
+        pageResult.setList(data);
+        return pageResult;
+    }
+
+    public static <T> PageDataResult<T> of(IPage page, List<T> records) {
+        PageDataResult<T> pageResult = new PageDataResult<T>();
+        pageResult.setPageNum((int)page.getCurrent());
+        pageResult.setPageSize((int) page.getSize());
+        pageResult.setTotal(page.getTotal());
+        // 修正总页数计算
+        pageResult.setPages((int) ((page.getTotal() + page.getSize() - 1) / page.getSize()));
+        pageResult.setList(records);
+        return pageResult;
+    }
+
+
+}

+ 0 - 47
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/response/result/PageResult.java

@@ -1,47 +0,0 @@
-package com.sckw.core.web.response.result;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import lombok.Data;
-
-import java.io.Serial;
-import java.io.Serializable;
-import java.util.List;
-
-
-
-/**
- * @author PC
- */
-@Data
-public class PageResult<T> implements Serializable {
-
-    @Serial
-    private static final long serialVersionUID = 1803433537622129194L;
-    /** 总记录数 */
-    private long total;
-
-    /** 当前页码(从1开始) */
-    private int pageNum;
-
-    /** 每页显示条数 */
-    private int pageSize;
-
-    /**
-     * 总页数
-     */
-    private int pages;
-
-    /** 当前页的数据列表 */
-    private List<T> list;
-
-
-
-    public PageResult(IPage pageInfo){
-        this.pageNum = (int) (pageInfo.getCurrent());
-        this.pageSize = (int) pageInfo.getSize();
-        this.total = (int)pageInfo.getTotal();
-        this.pages = (int) pageInfo.getPages();
-        this.list = (List<T>) pageInfo.getRecords();
-    }
-
-}

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

@@ -85,4 +85,6 @@ public interface RemoteFleetService {
      * @return
      */
     RTruckVo findDataFirstTruck(Long entId);
+
+    RTruckVo findDriveAndTruckByPhone(String mobile);
 }

+ 5 - 0
sckw-modules-api/sckw-fleet-api/src/main/java/com/sckw/fleet/api/model/vo/RTruckVo.java

@@ -61,4 +61,9 @@ public class RTruckVo implements Serializable {
      * 车辆类型
      */
     private String truckType;
+
+    /**
+     * 车队id
+     */
+    private String fleetId;
 }

+ 3 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteSystemService.java

@@ -1,5 +1,6 @@
 package com.sckw.system.api;
 
+import com.sckw.core.web.response.result.PageDataResult;
 import com.sckw.system.api.model.dto.res.*;
 
 import java.util.List;
@@ -276,4 +277,6 @@ public interface RemoteSystemService {
     Map<Long, KwsEnterpriseResDto> queryEnterpriseByEntIds(List<Long> entIds);
 
     KwsEnterpriseResDto findEnterpriseByName(String consignCompany);
+
+    PageDataResult<KwsEnterpriseResDto> pageEnt(int pageNum, int pageSize, Long entId);
 }

+ 12 - 5
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/controller/KwfTruckController.java

@@ -2,7 +2,6 @@ package com.sckw.fleet.controller;
 
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
-import com.sckw.core.annotation.ApiVersion;
 import com.sckw.core.exception.CustomPromptException;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
@@ -14,16 +13,15 @@ import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 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.excel.utils.ExcelUtil;
 import com.sckw.fleet.model.dto.GpsByTruckNoDto;
 import com.sckw.fleet.model.dto.KwfTransportLicenseDto;
 import com.sckw.fleet.model.dto.KwfTruckDto;
 import com.sckw.fleet.model.dto.KwfTruckLicenseDto;
 import com.sckw.fleet.model.request.CapacityStatusReq;
-import com.sckw.fleet.model.vo.CapacityStatusVo;
-import com.sckw.fleet.model.vo.CapacityTotalStatusVo;
-import com.sckw.fleet.model.vo.KwfTruckDetailVo;
-import com.sckw.fleet.model.vo.KwfTruckVo;
+import com.sckw.fleet.model.request.TruckInfoReq;
+import com.sckw.fleet.model.vo.*;
 import com.sckw.fleet.service.KwfTruckService;
 import com.sckw.system.api.RemoteSystemService;
 import jakarta.servlet.http.HttpServletResponse;
@@ -312,4 +310,13 @@ public class KwfTruckController {
     public BaseResult<CapacityTotalStatusVo> queryTotalCapacityStatus() {
         return BaseResult.success(truckService.queryTotalCapacityStatus());
     }
+
+
+    /**
+     *  分页获取车辆信息
+     **/
+    @GetMapping("/pageTruckInfo")
+    public BaseResult<PageDataResult<TruckInfoVo>> pageTruckInfo(TruckInfoReq req) {
+        return BaseResult.success(truckService.pageTruckInfo(req));
+    }
 }

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

@@ -12,9 +12,9 @@ import com.sckw.fleet.api.model.vo.RTruckVo;
 import com.sckw.fleet.dao.KwfDriverMapper;
 import com.sckw.fleet.dao.KwfTruckMapper;
 import com.sckw.fleet.model.KwfDriver;
+import com.sckw.fleet.model.KwfFleetDriver;
 import com.sckw.fleet.model.KwfTruck;
-import com.sckw.fleet.repository.KwfFleetRepository;
-import com.sckw.fleet.repository.KwfTruckRepository;
+import com.sckw.fleet.repository.*;
 import lombok.RequiredArgsConstructor;
 import org.apache.dubbo.config.annotation.DubboService;
 import org.jetbrains.annotations.NotNull;
@@ -43,6 +43,9 @@ public class RemoteFleetServiceImpl implements RemoteFleetService {
     private final KwfFleetRepository fleetRepository;
 
     private final KwfTruckRepository kwfTruckRepository;
+    private final KwfDriverRepository driverRepository;
+    private final KwfFleetDriverRepository kwfFleetDriverRepository;
+    private final KwfFleetTruckRepository kwfFleetTruckRepository;
 
     /**
      * @param driverIds 司机档案主键id,多个已逗号隔开
@@ -203,6 +206,16 @@ public class RemoteFleetServiceImpl implements RemoteFleetService {
         return getTruckVo(truck);
     }
 
+    @Override
+    public RTruckVo findDriveAndTruckByPhone(String mobile) {
+        RTruckVo rTruckVo = new RTruckVo();
+        KwfDriver kwfDriver = driverRepository.queryOneByPhone(mobile);
+        //获取车队id
+        KwfFleetDriver kwfFleetDriver = kwfFleetDriverRepository.queryOneByDriverId(kwfDriver.getId());
+        //根据车队id获取车辆id;
+        return null;
+    }
+
     /**
      *  获取车辆数据
      * @param truck 车辆对象

+ 21 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/request/TruckInfoReq.java

@@ -0,0 +1,21 @@
+package com.sckw.fleet.model.request;
+
+import com.sckw.core.web.request.PageReq;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+import java.io.Serializable;
+/**
+ * @author PC
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class TruckInfoReq extends PageReq implements Serializable {
+    @Serial
+    private static final long serialVersionUID = 2817549090778895464L;
+    /**
+     * 车牌号
+     */
+    private String truckNo;
+}

+ 42 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/TruckInfoVo.java

@@ -0,0 +1,42 @@
+package com.sckw.fleet.model.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author PC
+ */
+@Data
+public class TruckInfoVo implements Serializable {
+    @Serial
+    private static final long serialVersionUID = -9020028380990215378L;
+
+
+    /**
+     * 企业id
+     */
+    private String entId;
+    /**
+     * 企业名称
+     */
+    private String entName;
+    //车辆数据
+    private List<TruckData> truck;
+
+    @Data
+    public static class TruckData implements Serializable{
+        @Serial
+        private static final long serialVersionUID = -8647322705630318076L;
+        /**
+         * 车辆id
+         */
+        private String truckId;
+        /**
+         * 车牌号
+         */
+        private String truckNo;
+    }
+}

+ 8 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/repository/KwfDriverRepository.java

@@ -1,7 +1,9 @@
 package com.sckw.fleet.repository;
 
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sckw.core.model.base.BaseModel;
 import com.sckw.fleet.dao.KwfDriverMapper;
 import com.sckw.fleet.model.KwfDriver;
 import org.springframework.stereotype.Repository;
@@ -12,4 +14,10 @@ import org.springframework.stereotype.Repository;
  */
 @Repository
 public class KwfDriverRepository extends ServiceImpl<KwfDriverMapper, KwfDriver> {
+    public KwfDriver queryOneByPhone(String mobile) {
+        return getOne(Wrappers.<KwfDriver>lambdaQuery()
+                .eq(BaseModel::getDelFlag,0)
+                .eq(KwfDriver::getPhone,mobile)
+                .last("limit 1"));
+    }
 }

+ 9 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/repository/KwfFleetDriverRepository.java

@@ -1,6 +1,8 @@
 package com.sckw.fleet.repository;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sckw.core.model.base.BaseModel;
 import com.sckw.fleet.dao.KwfFleetDriverMapper;
 import com.sckw.fleet.model.KwfFleetDriver;
 import org.springframework.stereotype.Repository;
@@ -12,4 +14,11 @@ import org.springframework.stereotype.Repository;
  */
 @Repository
 public class KwfFleetDriverRepository extends ServiceImpl<KwfFleetDriverMapper, KwfFleetDriver> {
+    public KwfFleetDriver queryOneByDriverId(Long driverId) {
+        return getOne(Wrappers.<KwfFleetDriver>lambdaQuery()
+                .eq(BaseModel::getDelFlag,0)
+                .eq(KwfFleetDriver::getDriverId,driverId)
+                .orderByDesc(BaseModel::getUpdateTime)
+                .last("limit 1"));
+    }
 }

+ 9 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/repository/KwfFleetRepository.java

@@ -1,7 +1,9 @@
 package com.sckw.fleet.repository;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.sckw.core.model.base.BaseModel;
 import com.sckw.fleet.dao.KwfFleetMapper;
@@ -30,4 +32,11 @@ public class KwfFleetRepository extends ServiceImpl<KwfFleetMapper, KwfFleet> {
         return list(Wrappers.<KwfFleet>lambdaQuery()
                 .eq(BaseModel::getDelFlag,0));
     }
+
+    public IPage<KwfFleet> pageFleet(int pageNum, int pageSize, String truckNo) {
+        Page<KwfFleet> page = new Page<>(pageNum, pageSize);
+
+        return page(page,Wrappers.<KwfFleet>lambdaQuery()
+                .eq(BaseModel::getDelFlag,0));
+    }
 }

+ 14 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/repository/KwfTruckRepository.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.sckw.core.model.base.BaseModel;
 import com.sckw.fleet.dao.KwfTruckMapper;
 import com.sckw.fleet.model.KwfTruck;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -37,4 +38,17 @@ public class KwfTruckRepository extends ServiceImpl<KwfTruckMapper, KwfTruck> {
                 .eq(BaseModel::getDelFlag,0)
                 .in(KwfTruck::getId, truckIds));
     }
+
+    public KwfTruck queryByTruckNo(String truckNo) {
+       return getOne(Wrappers.<KwfTruck>lambdaQuery()
+                .eq(BaseModel::getDelFlag,0)
+                .eq(KwfTruck::getTruckNo, truckNo));
+
+    }
+
+    public List<KwfTruck> queryByEntIds(List<Long> entIds) {
+        return list(Wrappers.<KwfTruck>lambdaQuery()
+                .eq(BaseModel::getDelFlag,0)
+                .in(KwfTruck::getEntId, entIds));
+    }
 }

+ 62 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/service/KwfTruckService.java

@@ -15,18 +15,21 @@ import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.enums.EntTypeEnum;
 import com.sckw.core.model.enums.SystemTypeEnum;
 import com.sckw.core.model.file.FileInfo;
+
 import com.sckw.core.utils.*;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginEntHolder;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.request.HttpClientUtil;
 import com.sckw.core.web.response.HttpResult;
+import com.sckw.core.web.response.result.PageDataResult;
 import com.sckw.excel.easyexcel.ExcelImportListener;
 import com.sckw.excel.utils.ExcelUtil;
 import com.sckw.fleet.dao.*;
 import com.sckw.fleet.model.*;
 import com.sckw.fleet.model.dto.*;
 import com.sckw.fleet.model.request.CapacityStatusReq;
+import com.sckw.fleet.model.request.TruckInfoReq;
 import com.sckw.fleet.model.vo.*;
 import com.sckw.fleet.repository.KwfFleetRepository;
 import com.sckw.fleet.repository.KwfFleetTruckRepository;
@@ -34,6 +37,7 @@ import com.sckw.fleet.repository.KwfTruckRepository;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.RemoteUserService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
+import com.sckw.system.api.model.dto.res.KwsEnterpriseResDto;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import com.sckw.transport.api.dubbo.TransportRemoteService;
@@ -1411,4 +1415,62 @@ public class KwfTruckService {
         capacityTotalStatusVo.setAbnormalTotalTruckNum("0");
         return capacityTotalStatusVo;
     }
+
+    /**
+     * 分页查询车辆信息
+     * @param req 请求参数
+     * @return 车辆信息
+     */
+    public PageDataResult<TruckInfoVo> pageTruckInfo(TruckInfoReq req) {
+        log.info("分页查询车辆信息,请求参数:{}",JSON.toJSONString(req));
+        //查询车辆信息
+        Long entId = null;
+        if (StringUtils.isBlank(req.getTruckNo())){
+            KwfTruck kwfTruck = kwfTruckRepository.queryByTruckNo(req.getTruckNo());
+            entId = Optional.ofNullable(kwfTruck).map(KwfTruck::getEntId).orElse(null);
+        }
+
+        //分页查询所有企业
+        PageDataResult<KwsEnterpriseResDto> page = remoteSystemService.pageEnt(req.getPageNum(), req.getPageSize(), null);
+        List<KwsEnterpriseResDto> enterpriseResDtoList = page.getList();
+        if (CollectionUtils.isEmpty(page.getList())){
+            return PageDataResult.empty(req.getPageNum(), req.getPageSize());
+        }
+        //获取企业id
+        List<Long> entIds = enterpriseResDtoList.stream()
+                .map(KwsEnterpriseResDto::getId)
+                .collect(Collectors.toList());
+        //获取车辆信息
+        List<KwfTruck> truckList = kwfTruckRepository.queryByEntIds(entIds);
+        //将车辆信息按照企业id进行分组
+        Map<Long, List<KwfTruck>> entIdAndTruckMap = truckList.stream().collect(Collectors.groupingBy(KwfTruck::getEntId));
+
+        //遍历所有企业
+        List<TruckInfoVo> ents = enterpriseResDtoList.stream()
+                .map(e -> getTruckInfoVo(e, entIdAndTruckMap))
+                .collect(Collectors.toList());
+        return PageDataResult.success(page.getPageNum(),page.getPageSize(),page.getTotal(),ents);
+    }
+
+
+    private static TruckInfoVo getTruckInfoVo(KwsEnterpriseResDto e, Map<Long, List<KwfTruck>> entIdAndTruckMap) {
+        TruckInfoVo ent = new TruckInfoVo();
+        ent.setEntId(String.valueOf(e.getId()));
+        ent.setEntName(e.getFirmName());
+        List<KwfTruck> kwfTrucks = entIdAndTruckMap.get(e.getId());
+        if (CollectionUtils.isNotEmpty(kwfTrucks)) {
+            List<TruckInfoVo.TruckData> truckDataList = kwfTrucks.stream()
+                    .map(t -> getTruckData(t))
+                    .collect(Collectors.toList());
+            ent.setTruck(truckDataList);
+        }
+        return ent;
+    }
+
+    private static TruckInfoVo.TruckData getTruckData(KwfTruck t) {
+        TruckInfoVo.TruckData truck = new TruckInfoVo.TruckData();
+        truck.setTruckId(String.valueOf(t.getId()));
+        truck.setTruckNo(t.getTruckNo());
+        return truck;
+    }
 }

+ 3 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/KwsEnterpriseDao.java

@@ -1,5 +1,7 @@
 package com.sckw.system.dao;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.service.IService;
 import com.sckw.system.model.KwsEnterprise;
 import com.sckw.system.model.pojo.FindEntListPojo;
 import com.sckw.system.model.pojo.FindEntUserPojo;
@@ -20,7 +22,7 @@ import java.util.Map;
  * @date 2023-06-02
  */
 @Mapper
-public interface KwsEnterpriseDao {
+public interface KwsEnterpriseDao extends BaseMapper<KwsEnterprise> {
     /**
      * 新增
      *

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

@@ -1,9 +1,11 @@
 package com.sckw.system.dubbo;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.constant.NumberConstant;
 import com.sckw.core.utils.BeanUtils;
 import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.web.response.result.PageDataResult;
 import com.sckw.system.api.model.dto.res.*;
 import com.sckw.system.api.model.pojo.DeptInfoPojo;
 import com.sckw.system.dao.KwsAuthorityDao;
@@ -15,6 +17,7 @@ import com.sckw.system.model.pojo.FindManagePojo;
 import com.sckw.system.model.vo.res.CertificateResVo;
 import com.sckw.system.model.vo.res.KwsDeptResVo;
 import com.sckw.system.model.vo.res.KwsUserResVo;
+import com.sckw.system.repository.KwsEnterpriseRepository;
 import com.sckw.system.service.*;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
@@ -56,6 +59,8 @@ public class RemoteBaseService {
 
     @Resource
     private KwsEnterpriseDao kwsEnterpriseDao;
+    @Resource
+    private KwsEnterpriseRepository kwsEnterpriseReposiory;
 
 
     public KwsEnterpriseResDto queryEnterpriseById(Long id) {
@@ -320,4 +325,52 @@ public class RemoteBaseService {
         BeanUtils.copyProperties(kwsEnterprise, kwsEnterpriseResDto);
         return kwsEnterpriseResDto;
     }
+
+    public PageDataResult<KwsEnterpriseResDto> pageEnt(int pageNum, int pageSize, Long entId) {
+        IPage<KwsEnterprise> kwsEnterprisePage = kwsEnterpriseReposiory.pageEnt(pageNum, pageSize, entId);
+        List<KwsEnterprise> records = kwsEnterprisePage.getRecords();
+        if (CollectionUtils.isEmpty(records)){
+            return new PageDataResult<>();
+        }
+        List<KwsEnterpriseResDto> enterpriseResDtoList = records.stream().map(RemoteBaseService::getKwsEnterpriseResDto).collect(Collectors.toList());
+        return PageDataResult.of(kwsEnterprisePage, enterpriseResDtoList);
+    }
+
+
+    private static KwsEnterpriseResDto getKwsEnterpriseResDto(KwsEnterprise kwsEnterprise) {
+        KwsEnterpriseResDto kwsEnterpriseResDto = new KwsEnterpriseResDto();
+        kwsEnterpriseResDto.setId(kwsEnterprise.getId());
+        kwsEnterpriseResDto.setRemark(kwsEnterprise.getRemark());
+        kwsEnterpriseResDto.setStatus(kwsEnterprise.getStatus());
+        kwsEnterpriseResDto.setCreateBy(kwsEnterprise.getCreateBy());
+        kwsEnterpriseResDto.setCreateTime(kwsEnterprise.getCreateTime());
+        kwsEnterpriseResDto.setUpdateBy(kwsEnterprise.getUpdateBy());
+        kwsEnterpriseResDto.setUpdateTime(kwsEnterprise.getUpdateTime());
+        kwsEnterpriseResDto.setDelFlag(kwsEnterprise.getDelFlag());
+        kwsEnterpriseResDto.setCode(kwsEnterprise.getCode());
+        kwsEnterpriseResDto.setFirmName(kwsEnterprise.getFirmName());
+        kwsEnterpriseResDto.setContacts(kwsEnterprise.getContacts());
+        kwsEnterpriseResDto.setPhone(kwsEnterprise.getPhone());
+        kwsEnterpriseResDto.setLegalName(kwsEnterprise.getLegalName());
+        kwsEnterpriseResDto.setLegalPhone(kwsEnterprise.getLegalPhone());
+        kwsEnterpriseResDto.setHead(kwsEnterprise.getHead());
+        kwsEnterpriseResDto.setIntegral(kwsEnterprise.getIntegral());
+        kwsEnterpriseResDto.setBalance(kwsEnterprise.getBalance());
+        kwsEnterpriseResDto.setExperience(kwsEnterprise.getExperience());
+        kwsEnterpriseResDto.setMemberLevel(kwsEnterprise.getMemberLevel());
+        kwsEnterpriseResDto.setRegTime(kwsEnterprise.getRegTime());
+        kwsEnterpriseResDto.setRegSource(kwsEnterprise.getRegSource());
+        kwsEnterpriseResDto.setOrgCode(kwsEnterprise.getOrgCode());
+        kwsEnterpriseResDto.setCityCode(kwsEnterprise.getCityCode());
+        kwsEnterpriseResDto.setCityName(kwsEnterprise.getCityName());
+        kwsEnterpriseResDto.setDetailAddress(kwsEnterprise.getDetailAddress());
+        kwsEnterpriseResDto.setLat(kwsEnterprise.getLat());
+        kwsEnterpriseResDto.setLng(kwsEnterprise.getLng());
+        kwsEnterpriseResDto.setApproval(kwsEnterprise.getApproval());
+        kwsEnterpriseResDto.setApprovalTime(kwsEnterprise.getApprovalTime());
+        kwsEnterpriseResDto.setManager(kwsEnterprise.getManager());
+        kwsEnterpriseResDto.setBusiness(kwsEnterprise.getBusiness());
+
+        return kwsEnterpriseResDto;
+    }
 }

+ 15 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java

@@ -5,10 +5,12 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.enums.EntTypeEnum;
+
 import com.sckw.core.utils.BeanUtils;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.utils.FileUtils;
 import com.sckw.core.utils.StringUtils;
+import com.sckw.core.web.response.result.PageDataResult;
 import com.sckw.redis.utils.RedissonUtils;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.*;
@@ -859,4 +861,17 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
         return dto;
     }
 
+    /**
+     * 分页查询企业信息
+     *
+     * @param pageNum  当前页数
+     * @param pageSize 每页大小
+     * @param entId    企业 id
+     * @return 企业数据
+     */
+    @Override
+    public PageDataResult<KwsEnterpriseResDto> pageEnt(int pageNum, int pageSize, Long entId) {
+          return remoteBaseService.pageEnt( pageNum,  pageSize,  entId);
+    }
+
 }

+ 25 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/repository/KwsEnterpriseRepository.java

@@ -0,0 +1,25 @@
+package com.sckw.system.repository;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sckw.core.model.base.BaseModel;
+import com.sckw.system.dao.KwsEnterpriseDao;
+import com.sckw.system.model.KwsEnterprise;
+
+import org.springframework.stereotype.Repository;
+
+import java.util.Objects;
+
+/**
+ * @author PC
+ */
+@Repository
+public class KwsEnterpriseRepository extends ServiceImpl<KwsEnterpriseDao,KwsEnterprise>{
+    public IPage<KwsEnterprise> pageEnt(int pageNum, int pageSize, Long entId) {
+        return page(new Page<>(pageNum, pageSize), Wrappers.<KwsEnterprise>lambdaQuery()
+                .eq(BaseModel::getDelFlag,0)
+                .eq(Objects.nonNull(entId),KwsEnterprise::getId, entId));
+    }
+}

+ 5 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/KwfTruckTraceController.java

@@ -1,12 +1,13 @@
 package com.sckw.transport.controller;
 
-import com.sckw.core.annotation.ApiVersion;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.web.response.BaseResult;
+import com.sckw.core.web.response.result.PageDataResult;
 import com.sckw.transport.model.param.CurrentTaskTraceReq;
 import com.sckw.transport.model.param.KwfTruckTraceReplayReq;
 import com.sckw.transport.model.param.TruckInfoReq;
 import com.sckw.transport.model.vo.CurrentTaskTraceReqVo;
+import com.sckw.transport.model.vo.KwfTruckTraceReplayVo;
 import com.sckw.transport.model.vo.TruckInfoVo;
 import com.sckw.transport.service.kwfTruckTraceService;
 import lombok.RequiredArgsConstructor;
@@ -55,9 +56,9 @@ public class KwfTruckTraceController {
      * 轨迹回放
      */
     @PostMapping("/replay")
-    public BaseResult<PageResult> findPage(@RequestBody KwfTruckTraceReplayReq req )  {
-        PageResult pageResult = kwfTruckTraceService.findPage(req);
-        return BaseResult.success(pageResult);
+    public BaseResult<PageDataResult<KwfTruckTraceReplayVo>> findPage(@RequestBody KwfTruckTraceReplayReq req )  {
+
+        return BaseResult.success( kwfTruckTraceService.findPage(req));
     }
 
 }

+ 5 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/VehiclesTrajectoryReq.java

@@ -10,10 +10,14 @@ import lombok.Data;
  */
 @Data
 public class VehiclesTrajectoryReq {
+    /**
+     * 手机号
+     */
+    private String mobile;
+
     /**
      * 车牌号
      */
-    @NotBlank(message = "车牌号truckNo不能为空")
     private String truckNo;
 
     /**

+ 13 - 4
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/kwfTruckTraceService.java

@@ -10,6 +10,8 @@ import com.sckw.core.model.constant.UrlConstants;
 import com.sckw.core.model.enums.CarWaybillEnum;
 import com.sckw.core.model.page.PageResult;
 
+import com.sckw.core.web.response.result.PageDataResult;
+import com.sckw.fleet.api.model.vo.RDriverDetailVo;
 import com.sckw.transport.common.config.UrlConfigProperties;
 import com.sckw.core.utils.DateUtils;
 import com.sckw.core.utils.HttpUtil;
@@ -46,7 +48,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.dubbo.config.annotation.DubboReference;
-import org.jetbrains.annotations.NotNull;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
@@ -90,7 +92,7 @@ public class kwfTruckTraceService {
     @DubboReference(version = "1.0.0", group = "design", check = false, timeout = 6000)
     PaymentDubboService paymentDubboService ;
 
-    public PageResult findPage(KwfTruckTraceReplayReq req) {
+    public PageDataResult<KwfTruckTraceReplayVo> findPage(KwfTruckTraceReplayReq req) {
         log.info("查询历轨迹回放氢气参数:{}", req);
         Date date = new Date();
         if (StringUtils.isBlank(req.getStartTime())){
@@ -103,7 +105,7 @@ public class kwfTruckTraceService {
         Page<KwtWaybillOrder> page = kwtWaybillOrderRepository.findPage(req.getPageNum(), req.getPageSize(), beforeDate, date);
         List<KwtWaybillOrder> records = page.getRecords();
         if(CollectionUtils.isEmpty(page.getRecords())) {
-            return new PageResult();
+            return PageDataResult.success(req.getPageNum(), req.getPageSize(),0L, null);
         }
         //查询企业 获取承运单位
         List<Long> entIds = records.stream().map(KwtWaybillOrder::getId).distinct().collect(Collectors.toList());
@@ -124,7 +126,7 @@ public class kwfTruckTraceService {
         List<KwfTruckTraceReplayVo> kwfTruckTraceReplayVoList = records.stream()
                 .map(r -> getKwfTruckTraceReplayVo(r, idAndKwsEnterpriseMap, wOrderIdAndAddressMap))
                 .collect(Collectors.toList());
-       return PageResult.of(page,kwfTruckTraceReplayVoList);
+       return PageDataResult.of(page,kwfTruckTraceReplayVoList);
     }
 
     /**
@@ -306,12 +308,19 @@ public class kwfTruckTraceService {
      * @return 响应参数
      */
     public Void vehiclesTrajectory(@Valid VehiclesTrajectoryReq req) {
+        //通过手机号查询司机以及车辆信息
+//        RTruckVo driveAndTruck = fleetService.findDriveAndTruckByPhone(req.getMobile());
+//        if (Objects.isNull(driveAndTruck)){
+//            throw new BusinessException("司机信息不存在");
+//        }
+
         try {
             HttpUtil.postJson(urlConfigProperties.getApiBaseUrl()+ UrlConstants.VEHICLE_TRAJECTORY, JSON.toJSONString(req), null);
         } catch (Exception e) {
             log.error("app上报车辆轨迹异常",e);
             throw new BusinessException("app上报车辆轨迹异常");
         }
+
         //先删除缓存
         RedissonUtils.delete(CommonConstants.TRUCK_LOCATION + req.getTruckNo()+CommonConstants.UNDERSCORE+req.getWOrderNo());
         //组织缓存数据