Răsfoiți Sursa

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

czh 2 ani în urmă
părinte
comite
5a4118df65
24 a modificat fișierele cu 374 adăugiri și 82 ștergeri
  1. 2 3
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/vo/FileInfoVO.java
  2. 49 40
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/FileUtils.java
  3. 2 1
      sckw-common/sckw-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  4. 23 0
      sckw-modules/sckw-file/src/main/java/com/sckw/file/config/FileListConfig.java
  5. 1 1
      sckw-modules/sckw-file/src/main/java/com/sckw/file/controller/FileApiController.java
  6. 28 2
      sckw-modules/sckw-file/src/main/java/com/sckw/file/service/FileService.java
  7. 2 2
      sckw-modules/sckw-file/src/main/resources/bootstrap.yml
  8. 23 7
      sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwTransportController.java
  9. 5 4
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwAcceptCarriageService.java
  10. 5 6
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwConsignService.java
  11. 47 2
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwTransportService.java
  12. 85 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderListExport.java
  13. 22 0
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderListSelect.java
  14. 1 1
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderQuery.java
  15. 6 4
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/AcceptCarriageOrderVo.java
  16. 5 4
      sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/ConsignOrderVo.java
  17. 24 0
      sckw-modules/sckw-report/src/main/resources/bootstrap-lfdc.yml
  18. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/OperateWaybillDto.java
  19. 24 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/WayBillDetailDTO.java
  20. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/WaybillOrderTicketDto.java
  21. 6 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/CarWaybillVO.java
  22. 5 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillStatusVO.java
  23. 4 2
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java
  24. 3 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java

+ 2 - 3
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/vo/FileInfoVO.java

@@ -2,6 +2,7 @@ package com.sckw.core.model.vo;
 
 import lombok.Data;
 
+import java.io.Serializable;
 import java.math.BigDecimal;
 
 /**
@@ -10,9 +11,7 @@ import java.math.BigDecimal;
  * @date 2023-07-04 09:07:08
  */
 @Data
-public class FileInfoVO {
-
-
+public class FileInfoVO implements Serializable {
     /**
      * 文件上传类型 oss/qiniuyun
      */

+ 49 - 40
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/FileUtils.java

@@ -54,7 +54,7 @@ public class FileUtils {
     private static String accessKeyId;
     private static String accessKeySecret;
     private static String bucketName;
-
+    private static FileUtils fileUtils;
 
     @Value("${aliyun.oss.endpoint}")
     private String oss_endpoint;
@@ -68,36 +68,60 @@ public class FileUtils {
     @Value("${aliyun.oss.bucket}")
     public String oss_bucketName;
 
-    public static FileInfo getFileDataList(MultipartFile file) {
-        FileInfo fileInfo =new FileInfo();
-        String oFileName = file.getOriginalFilename();
-        BigDecimal fileSize = FileUtils.getFileSize(file, StringConstant.KB);
-        fileInfo.setFileSize(fileSize);
-        fileInfo.setFileOriginalName(oFileName);
-        fileInfo.setFileSuffix(FilenameUtils.getExtension(oFileName));
-        return fileInfo;
+    private static void defalutOSS() {
+        if (StringUtils.isBlank(endpoint)) {
+            endpoint = DEFAULT_ENDPOINT;
+        }
+        if (StringUtils.isBlank(accessKeyId)) {
+            accessKeyId = DEFAULT_ACCESS_KEY_ID;
+        }
+        if (StringUtils.isBlank(accessKeySecret)) {
+            accessKeySecret = DEFAULT_ACCESS_KEY_SECRET;
+        }
+        if (StringUtils.isBlank(bucketName)) {
+            bucketName = DEFAULT_BUCKET_NAME;
+        }
     }
 
     @PostConstruct
-    public void setEndpoint() {
+    public void init() {
         endpoint = this.oss_endpoint;
-    }
-
-    @PostConstruct
-    public void setAccessKeyId() {
         accessKeyId = this.oss_accessKeyId;
-    }
-
-    @PostConstruct
-    public void setAccessKeySecret() {
         accessKeySecret = this.oss_accessKeySecret;
+        bucketName = this.oss_bucketName;
     }
 
-    @PostConstruct
-    public void setBucketName() {
-        bucketName = this.oss_bucketName;
+//    @PostConstruct
+//    public void setEndpoint() {
+//        endpoint = this.oss_endpoint;
+//    }
+//
+//    @PostConstruct
+//    public void setAccessKeyId() {
+//        accessKeyId = this.oss_accessKeyId;
+//    }
+//
+//    @PostConstruct
+//    public void setAccessKeySecret() {
+//        accessKeySecret = this.oss_accessKeySecret;
+//    }
+//
+//    @PostConstruct
+//    public void setBucketName() {
+//        bucketName = this.oss_bucketName;
+//    }
+
+    public static FileInfo getFileDataList(MultipartFile file) {
+        FileInfo fileInfo = new FileInfo();
+        String oFileName = file.getOriginalFilename();
+        BigDecimal fileSize = FileUtils.getFileSize(file, StringConstant.KB);
+        fileInfo.setFileSize(fileSize);
+        fileInfo.setFileOriginalName(oFileName);
+        fileInfo.setFileSuffix(FilenameUtils.getExtension(oFileName));
+        return fileInfo;
     }
 
+
     /**
      * 获取oss 地址前缀
      *
@@ -381,21 +405,6 @@ public class FileUtils {
         return fileInfo;
     }
 
-    private static void defalutOSS() {
-        if (StringUtils.isBlank(endpoint)) {
-            endpoint = DEFAULT_ENDPOINT;
-        }
-        if (StringUtils.isBlank(accessKeyId)) {
-            accessKeyId = DEFAULT_ACCESS_KEY_ID;
-        }
-        if (StringUtils.isBlank(accessKeySecret)) {
-            accessKeySecret = DEFAULT_ACCESS_KEY_SECRET;
-        }
-        if (StringUtils.isBlank(bucketName)) {
-            bucketName = DEFAULT_BUCKET_NAME;
-        }
-    }
-
 
     /**
      * 获取文件上传大小
@@ -422,14 +431,14 @@ public class FileUtils {
     /**
      * 获取文件上传大小
      *
-     * @param file  当前默认使用 kb
+     * @param file 当前默认使用 kb
      * @return
      */
     public static BigDecimal getFileSize(MultipartFile file, String type) {
         long size = file.getSize();
         BigDecimal bigDecimal = new BigDecimal(NumberConstant.ZERO);
-        if (StringUtils.isBlank(type)){
-            type=StringConstant.KB;
+        if (StringUtils.isBlank(type)) {
+            type = StringConstant.KB;
         }
         switch (type) {
             case "B":
@@ -447,7 +456,7 @@ public class FileUtils {
             default:
                 throw new RuntimeException("file size error");
         }
-        bigDecimal.setScale(2,BigDecimal.ROUND_HALF_UP);
+        bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP);
         return bigDecimal;
     }
 

+ 2 - 1
sckw-common/sckw-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -5,4 +5,5 @@ com.sckw.core.filter.LoginFilter
 com.sckw.core.config.MybatisPlusConfig
 com.sckw.core.config.JacksonConfig
 com.sckw.core.filter.ExceptionFilterConfig
-com.sckw.core.aspect.LogAspect
+com.sckw.core.aspect.LogAspect
+com.sckw.core.utils.FileUtils

+ 23 - 0
sckw-modules/sckw-file/src/main/java/com/sckw/file/config/FileListConfig.java

@@ -0,0 +1,23 @@
+package com.sckw.file.config;
+
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @author lfdc
+ * @description 文件上传获取配置yml信息
+ * @date 2023-08-10 09:08:41
+ */
+@Getter
+@Setter
+@Component
+@ConfigurationProperties(prefix = "file.list")
+public class FileListConfig {
+    List<String> oss;
+    List<String> aliyun;
+    List<String> qiniu;
+}

+ 1 - 1
sckw-modules/sckw-file/src/main/java/com/sckw/file/controller/FileApiController.java

@@ -113,7 +113,7 @@ public class FileApiController {
     }
 
     /**
-     * 前端调用接口获取oss信息
+     * 前端调用接口获取oss信息-使用中
      * @param file
      * @return
      */

+ 28 - 2
sckw-modules/sckw-file/src/main/java/com/sckw/file/service/FileService.java

@@ -6,6 +6,7 @@ import com.sckw.core.common.enums.NumberConstant;
 import com.sckw.core.common.enums.StringConstant;
 import com.sckw.core.common.enums.enums.FileEnum;
 import com.sckw.core.model.file.FileInfo;
+import com.sckw.core.model.vo.FileInfoVO;
 import com.sckw.core.utils.FileUtils;
 import com.sckw.core.utils.IdWorker;
 import com.sckw.core.utils.StringUtils;
@@ -13,12 +14,14 @@ import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.file.api.dto.FileInfoDTO;
+import com.sckw.file.config.FileListConfig;
 import com.sckw.file.dao.KwsFileInfoDao;
 import com.sckw.file.model.kwfFileInfo;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.io.FilenameUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
@@ -53,6 +56,9 @@ public class FileService {
     @Autowired
     KwsFileInfoDao fileInfoDao;
 
+    @Autowired
+    private FileListConfig fileListConfig;
+
     /**
      * 上传文件至OSS
      *
@@ -140,7 +146,7 @@ public class FileService {
                     map.put("message", HttpStatus.SUCCESS_MESSAGE);
                 }
                 //上传至oss文件地址
-                map.put("oosUrl",oosUrl);
+                map.put("oosUrl", oosUrl);
                 resultList.add(map);
             }
         } else {
@@ -242,10 +248,30 @@ public class FileService {
     }
 
     public HttpResult uploadFileInfo(MultipartFile file) {
+        boolean flag = checkFileFormat(file);
+        if (!flag){
+            throw new RuntimeException("上传文件格式错误!");
+        }
         FileInfo fileInfo = FileUtils.getFileDataList(file);
         fileInfo.setType(FileEnum.FILE_STORE_TYPE_OSS.getFileType());
         FileInfo returnFileInfo = FileUtils.uploadFileInfo(file, fileInfo, FileEnum.FILE_STORE_TYPE_OSS);
-        return HttpResult.ok(returnFileInfo);
+        FileInfoVO fileInfoVO = new FileInfoVO();
+        BeanUtils.copyProperties(returnFileInfo,fileInfoVO);
+        return HttpResult.ok(fileInfoVO);
+    }
+
+    /**
+     * 上传文件->oss文件格式校验
+     * @param file
+     * @return
+     */
+    private boolean checkFileFormat(MultipartFile file) {
+        List<String> ossList = fileListConfig.getOss();
+        String fileSuffix = FilenameUtils.getExtension(file.getOriginalFilename());
+        if (!ossList.contains(fileSuffix)) {
+            return false;
+        }
+        return true;
     }
 
 

+ 2 - 2
sckw-modules/sckw-file/src/main/resources/bootstrap.yml

@@ -5,8 +5,8 @@ spring:
   application:
     name: sckw-file
   profiles:
-#    active: ${DEPLOY_MODE:dev}
-    active: @profiles.active@
+    active: ${DEPLOY_MODE:dev}
+#    active: @profiles.active@
   main:
     allow-bean-definition-overriding: true
     allow-circular-references: true

+ 23 - 7
sckw-modules/sckw-report/src/main/java/com/sckw/report/controller/KwTransportController.java

@@ -1,5 +1,7 @@
 package com.sckw.report.controller;
 
+import com.sckw.core.exception.BusinessException;
+import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.excel.config.easyexcel.RequestHolder;
@@ -7,10 +9,7 @@ import com.sckw.excel.utils.ExcelUtil;
 import com.sckw.report.service.KwAcceptCarriageService;
 import com.sckw.report.service.KwConsignService;
 import com.sckw.report.service.KwTransportService;
-import com.sckw.report.service.param.AcceptCarriageOrderQuery;
-import com.sckw.report.service.param.ConsignOrderQuery;
-import com.sckw.report.service.param.ContractParam;
-import com.sckw.report.service.param.WaybillOrderQuery;
+import com.sckw.report.service.param.*;
 import com.sckw.report.service.vo.AcceptCarriageOrderExcelVo;
 import com.sckw.report.service.vo.ConsignOrderExcelVo;
 import jakarta.servlet.http.HttpServletResponse;
@@ -19,6 +18,7 @@ import jakarta.validation.constraints.NotNull;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -155,7 +155,7 @@ public class KwTransportController {
      * @return
      */
     @RequestMapping(value = "/getWaybillOrders", method = RequestMethod.POST)
-    public HttpResult getWayBillOrders(@Validated @RequestBody WaybillOrderQuery query){
+    public HttpResult getWayBillOrders(@Validated @RequestBody WaybillOrderListSelect query){
         try {
             return transportService.getWaybillOrders(query);
         } catch (Exception e) {
@@ -173,7 +173,7 @@ public class KwTransportController {
      * @date 2023/07/21
      */
     @RequestMapping(value = "/getWayBillStatistics", method = RequestMethod.POST)
-    public HttpResult wayBillStatistics(@Validated @RequestBody WaybillOrderQuery query) {
+    public HttpResult wayBillStatistics(@Validated @RequestBody WaybillOrderListSelect query) {
         try {
             return transportService.getWayBillStatistics(query);
         } catch (Exception e) {
@@ -191,7 +191,7 @@ public class KwTransportController {
      * @date 2023/07/21
      */
     @RequestMapping(value = "/wayBillTotalCount", method = RequestMethod.POST)
-    public HttpResult wayBillTotalCount(@Validated @RequestBody WaybillOrderQuery query) {
+    public HttpResult wayBillTotalCount(@Validated @RequestBody WaybillOrderListSelect query) {
         try {
             return transportService.wayBillTotalCount(query);
         } catch (Exception e) {
@@ -249,4 +249,20 @@ public class KwTransportController {
             return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
         }
     }
+
+    /**
+     * @desc: 运单列表导出
+     * @author: jc
+     * @date: 2023-08-09 20:16:22
+     * @Param params:
+     * @return: com.sckw.core.web.response.HttpResult
+     */
+    @PostMapping(value = "/wayBillOrderExport", produces = MediaType.APPLICATION_JSON_VALUE)
+    public void wayBillOrderExport(@RequestBody @Validated WaybillOrderQuery query, HttpServletResponse response) {
+        List<WaybillOrderListExport> list = transportService.wayBillOrderExport(query);
+        if (CollectionUtils.isEmpty(list)) {
+            throw new BusinessException("导出数据为空!");
+        }
+        ExcelUtil.downData(response, WaybillOrderListExport.class, list);
+    }
 }

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

@@ -26,6 +26,7 @@ import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -254,14 +255,14 @@ public class KwAcceptCarriageService {
             vo.setCarrierOrder(logisticsOrder.getWOrderNo());
             vo.setCarrierPhone(logisticsOrder.getCarrierPhone());
             vo.setCarryingCapacity(logisticsOrder.getCarryingCapacity() == null ?
-                    null : String.valueOf(logisticsOrder.getCarryingCapacity()));
+                    null : BigDecimal.valueOf(logisticsOrder.getCarryingCapacity()));
             vo.setConsignCompanyId(String.valueOf(logisticsOrder.getCheckEntId()));
             vo.setConsignCompany(logisticsOrder.getCheckFirmName());
             vo.setConsignContacts(logisticsOrder.getCheckContacts());
             vo.setConsignPhone(logisticsOrder.getCheckPhone());
             vo.setContract(logisticsOrder.getContractName());
             vo.setDeficitAmount(logisticsOrder.getDeficitAmount() == null ?
-                    null : String.valueOf(logisticsOrder.getDeficitAmount()));
+                    null : logisticsOrder.getDeficitAmount());
             vo.setGoodsName(logisticsOrder.getGoodsName());
             vo.setLoadCityName(logisticsOrder.getLoadDetailAddress());
             vo.setLoadAddress(logisticsOrder.getLoadCityName() + logisticsOrder.getLoadDetailAddress());
@@ -270,9 +271,9 @@ public class KwAcceptCarriageService {
             vo.setLOrderId(String.valueOf(logisticsOrder.getLOrderId()));
             vo.setLOrderNo(logisticsOrder.getLOrderNo());
             vo.setLoss(logisticsOrder.getLoss() == null ?
-                    null : String.valueOf(logisticsOrder.getLoss()));
+                    null : logisticsOrder.getLoss());
             vo.setPrice(logisticsOrder.getPrice() == null ?
-                    null : String.valueOf(logisticsOrder.getPrice()));
+                    null : logisticsOrder.getPrice());
             vo.setReceiveGoodsContacts(logisticsOrder.getUnloadContacts());
             vo.setReceiveGoodsPhone(logisticsOrder.getUnloadPhone());
             vo.setRemark(logisticsOrder.getRemark());

+ 5 - 6
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwConsignService.java

@@ -26,6 +26,7 @@ import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -164,16 +165,14 @@ public class KwConsignService {
             vo.setCarrierOrder(logisticsOrder.getWOrderNo());
             vo.setCarrierPhone(logisticsOrder.getCarrierPhone());
             vo.setCarryingCapacity(logisticsOrder.getCarryingCapacity() == null ?
-                    null : String.valueOf(logisticsOrder.getCarryingCapacity()));
+                    null : BigDecimal.valueOf(logisticsOrder.getCarryingCapacity()));
             vo.setConsignCompany(logisticsOrder.getCheckFirmName());
             vo.setConsignContacts(logisticsOrder.getCheckContacts());
             vo.setConsignPhone(logisticsOrder.getCheckPhone());
             vo.setContract(logisticsOrder.getContractName());
             vo.setDeficitAmount(logisticsOrder.getDeficitAmount() == null ?
-                    null : String.valueOf(logisticsOrder.getDeficitAmount()));
+                    null : logisticsOrder.getDeficitAmount());
             vo.setGoodsName(logisticsOrder.getGoodsName());
-//            vo.setLoadAddress(logisticsOrder.getLoadDetailAddress());
-//            vo.setUnloadAddress(logisticsOrder.getUnloadDetailAddress());
             vo.setLoadCityName(logisticsOrder.getLoadDetailAddress());
             vo.setLoadAddress(logisticsOrder.getLoadCityName() + logisticsOrder.getLoadDetailAddress());
             vo.setUnloadAddress(logisticsOrder.getUnloadCityName() + logisticsOrder.getUnloadDetailAddress());
@@ -181,9 +180,9 @@ public class KwConsignService {
             vo.setLOrderId(String.valueOf(logisticsOrder.getLOrderId()));
             vo.setLOrderNo(logisticsOrder.getLOrderNo());
             vo.setLoss(logisticsOrder.getLoss() == null ?
-                    null : String.valueOf(logisticsOrder.getLoss()));
+                    null : logisticsOrder.getLoss());
             vo.setPrice(logisticsOrder.getPrice() == null ?
-                    null : String.valueOf(logisticsOrder.getPrice()));
+                    null : logisticsOrder.getPrice());
             vo.setReceiveGoodsContacts(logisticsOrder.getUnloadContacts());
             vo.setReceiveGoodsPhone(logisticsOrder.getUnloadPhone());
             vo.setRemark(logisticsOrder.getRemark());

+ 47 - 2
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwTransportService.java

@@ -5,6 +5,7 @@ import com.sckw.core.common.enums.enums.DictTypeEnum;
 import com.sckw.core.model.enums.CarWaybillEnum;
 import com.sckw.core.model.enums.LogisticsOrderEnum;
 import com.sckw.core.model.page.PageResult;
+import com.sckw.core.utils.BeanUtils;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
@@ -16,6 +17,8 @@ import com.sckw.mongo.model.SckwWaybillOrder;
 import com.sckw.mongo.model.TableTops;
 import com.sckw.report.dao.SckwLogisticsOrderRepository;
 import com.sckw.report.service.param.ContractParam;
+import com.sckw.report.service.param.WaybillOrderListExport;
+import com.sckw.report.service.param.WaybillOrderListSelect;
 import com.sckw.report.service.param.WaybillOrderQuery;
 import com.sckw.report.service.vo.CarWaybillVo;
 import com.sckw.report.service.vo.WaybillsCountVo;
@@ -41,6 +44,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
@@ -153,7 +157,7 @@ public class KwTransportService {
      * @author jc
      * @date 2023/07/21
      */
-    public HttpResult getWaybillOrders(WaybillOrderQuery query) throws ParseException {
+    public HttpResult getWaybillOrders(WaybillOrderListSelect query) throws ParseException {
         Criteria criteria = buildWaybillOrdersQuery(query);
         Query queryFormat = new Query(criteria);
         // in查询
@@ -536,7 +540,6 @@ public class KwTransportService {
         for (List<SckwLogisticsOrder> value : collect.values()) {
             returnList.addAll(value);
         }
-//        PageResult build = PageResult.build(page, pageSize, total, list);
         PageResult build = PageResult.build(page, pageSize, total, returnList);
         return HttpResult.ok(build);
     }
@@ -565,4 +568,46 @@ public class KwTransportService {
         }
         return HttpResult.ok(areaTreeFrontResDtos);
     }
+
+    /**
+     *  运单列表导出
+     * @param query
+     * @return
+     */
+    public List<WaybillOrderListExport> wayBillOrderExport(WaybillOrderQuery query) {
+        Criteria criteria = buildWaybillOrdersQuery(query);
+        Query queryFormat = new Query(criteria);
+        List<Long> wOrderIds = StringUtils.splitStrToList(query.getIds(), ",", Long.class);
+        if (CollectionUtils.isNotEmpty(wOrderIds)) {
+            queryFormat.addCriteria(Criteria.where("wOrderId").in(wOrderIds));
+        }
+        List<SckwWaybillOrder> wOrders = mongoTemplate.find(queryFormat, SckwWaybillOrder.class);
+        List<WaybillOrderListExport> list = new ArrayList<>();
+        AtomicInteger i = new AtomicInteger(1);
+        wOrders.forEach(e -> {
+            WaybillOrderListExport export = BeanUtils.copyProperties(e, WaybillOrderListExport.class);
+            export.setSerialNumber(String.valueOf(i.getAndIncrement()))
+                    .setStatus(CarWaybillEnum.getName(e.getStatus()))
+                    .setWOrderNo(e.getWOrderNo())
+                    .setTruckNo(e.getTruckNo())
+                    .setDriverName(e.getDriverName())
+                    .setType(e.getType().equals(NumberConstant.ONE) ? "趟次" : "循环")
+                    .setSendCarTime(e.getCreateTime() == null ? null : DateUtil.getDateTime(e.getCreateTime()))
+                    .setStartTime(e.getStartTime() == null ? null : DateUtil.getDateTime(e.getStartTime()))
+                    .setEndTime(e.getEndTime() == null ? null : DateUtil.getDateTime(e.getEndTime()))
+                    .setEntrustAmount(String.valueOf(e.getEntrustAmount()))
+                    .setLoadName(e.getLoadName())
+                    .setLoadAddress(e.getLoadCityName().concat(e.getLoadDetailAddress()))
+                    .setUnloadName(e.getUnloadName())
+                    .setUnloadAddress(e.getLoadCityName().concat(e.getLoadDetailAddress()))
+                    .setLoadAmount(String.valueOf(e.getLoadAmount()))
+                    .setUnloadAmount(String.valueOf(e.getUnloadAmount()))
+                    .setDeficitAmount(String.valueOf(e.getDeficitAmount()))
+                    .setLoadDateTime(e.getLoadTime() == null ? null : DateUtil.getDateTime(e.getLoadTime()))
+                    .setUnloadDateTime(e.getUnloadTime() == null ? null : DateUtil.getDateTime(e.getUnloadTime()))
+                    .setUpdateTime(e.getUpdateTime() == null ? null : DateUtil.getDateTime(e.getUpdateTime()));
+            list.add(export);
+        });
+        return list;
+    }
 }

+ 85 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderListExport.java

@@ -0,0 +1,85 @@
+package com.sckw.report.service.param;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.sckw.core.model.page.PageRequest;
+import com.sckw.excel.annotation.ExcelContext;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author JC
+ * @version 1.0
+ * @desc TODO
+ * @date 2023/{07}/19 10:20:44
+ **/
+@Data
+@Accessors(chain = true)
+@ExcelContext(fileName = "运单列表信息", sheetName = "运单列表信息")
+public class WaybillOrderListExport implements Serializable {
+    @Serial
+    private static final long serialVersionUID = -2111424783071112237L;
+
+    @ExcelProperty(value = "序号" )
+    private String serialNumber;
+
+    @ExcelProperty(value = "运单" )
+    private String status;
+
+    @ExcelProperty(value = "运单号" )
+    private String wOrderNo;
+
+    @ExcelProperty(value = "车辆车牌" )
+    private String truckNo;
+
+    @ExcelProperty(value = "车辆司机" )
+    private String driverName;
+
+    @ExcelProperty(value = "运单类型")
+    private String type;
+
+    @ExcelProperty(value = "派车时间")
+    private String sendCarTime;
+
+    @ExcelProperty(value = "计划开始时间")
+    private String startTime;
+
+    @ExcelProperty(value = "计划结束时间")
+    private String endTime;
+
+    @ExcelProperty(value = "派车量/吨")
+    private String entrustAmount;
+
+    @ExcelProperty(value = "装货地址名称")
+    private String loadName;
+
+    @ExcelProperty(value = "装货地址明细")
+    private String loadAddress;
+
+    @ExcelProperty(value = "卸货地址名称")
+    private String unloadName;
+
+    @ExcelProperty(value = "卸货地址明细")
+    private String unloadAddress;
+
+    @ExcelProperty(value = "实装量/吨")
+    private String loadAmount;
+
+    @ExcelProperty(value = "实卸量/吨")
+    private String unloadAmount;
+
+    @ExcelProperty(value = "亏吨量/吨")
+    private String deficitAmount;
+
+    @ExcelProperty(value = "装货时间")
+    private String loadDateTime;
+
+    @ExcelProperty(value = "卸货时间")
+    private String unloadDateTime;
+
+    @ExcelProperty(value = "更新时间")
+    private String updateTime;
+
+}

+ 22 - 0
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderListSelect.java

@@ -0,0 +1,22 @@
+package com.sckw.report.service.param;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * @author JC
+ * @version 1.0
+ * @desc TODO
+ * @date 2023/{07}/19 10:20:44
+ **/
+@Data
+@Accessors(chain = true)
+public class WaybillOrderListSelect extends WaybillOrderQuery {
+    /**
+     * 当前页码
+     */
+    private int page = 1;
+    /**
+     * 每页数量
+     */
+    private int pageSize = 10;
+}

+ 1 - 1
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/param/WaybillOrderQuery.java

@@ -19,7 +19,7 @@ import java.util.List;
  **/
 @Data
 @Accessors(chain = true)
-public class WaybillOrderQuery extends PageRequest implements Serializable {
+public class WaybillOrderQuery implements Serializable {
     private String ids;
     /**
      * 派车开始时间

+ 6 - 4
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/AcceptCarriageOrderVo.java

@@ -3,6 +3,8 @@ package com.sckw.report.service.vo;
 import com.sckw.core.model.page.PageRequest;
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 /**
  * @author lfdc
  * @description 承运订单VO
@@ -46,7 +48,7 @@ public class AcceptCarriageOrderVo extends PageRequest {
     /**
      * 分配承运量
      */
-    private String carryingCapacity;
+    private BigDecimal carryingCapacity;
 
     /**
      * 托运单位id
@@ -71,7 +73,7 @@ public class AcceptCarriageOrderVo extends PageRequest {
     /**
      * 扣亏货值/元/吨
      */
-    private String deficitAmount;
+    private BigDecimal deficitAmount;
     /**
      * 货物名称
      */
@@ -95,7 +97,7 @@ public class AcceptCarriageOrderVo extends PageRequest {
     /**
      * 合理损耗
      */
-    private String loss;
+    private BigDecimal loss;
     /**
      * 计划时间
      */
@@ -103,7 +105,7 @@ public class AcceptCarriageOrderVo extends PageRequest {
     /**
      * 运价
      */
-    private String price;
+    private BigDecimal price;
     /**
      * 收货联系人
      */

+ 5 - 4
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/vo/ConsignOrderVo.java

@@ -3,6 +3,7 @@ package com.sckw.report.service.vo;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 
 /**
  * @author lfdc
@@ -42,7 +43,7 @@ public class ConsignOrderVo implements Serializable {
     /**
      * 分配承运量
      */
-    private String carryingCapacity;
+    private BigDecimal carryingCapacity;
     /**
      * 托运单位
      */
@@ -62,7 +63,7 @@ public class ConsignOrderVo implements Serializable {
     /**
      * 扣亏货值/元/吨
      */
-    private String deficitAmount;
+    private BigDecimal deficitAmount;
     /**
      * 货物名称
      */
@@ -82,7 +83,7 @@ public class ConsignOrderVo implements Serializable {
     /**
      * 合理损耗
      */
-    private String loss;
+    private BigDecimal loss;
     /**
      * 计划时间
      */
@@ -90,7 +91,7 @@ public class ConsignOrderVo implements Serializable {
     /**
      * 运价
      */
-    private String price;
+    private BigDecimal price;
     /**
      * 收货联系人
      */

+ 24 - 0
sckw-modules/sckw-report/src/main/resources/bootstrap-lfdc.yml

@@ -0,0 +1,24 @@
+spring:
+  cloud:
+    nacos:
+      discovery:
+        # 服务注册地址
+        server-addr: 10.10.10.230:8848
+        # 命名空间
+        namespace: sckw_lfdc
+        # 共享配置
+        group: sckw-service-platform
+      config:
+        # 配置中心地址
+        server-addr: 10.10.10.230:8848
+        # 配置文件格式
+        file-extension: yaml
+        # 命名空间
+        namespace: sckw_lfdc
+        # 共享配置
+        group: sckw-service-platform
+        #可以读多个配置文件  需要在同一个命名空间下面可以是不同的组
+        extension-configs:
+          - dataId: sckw-common.yml
+            group: sckw-service-platform
+            refresh: true

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/OperateWaybillDto.java

@@ -27,7 +27,7 @@ public class OperateWaybillDto {
     /**
      * 操作时间
      */
-    @JsonProperty("time")
+    @JsonProperty("operateTime")
     @JsonFormat(locale="zh", pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @NotNull(message = "时间不能为空")

+ 24 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/WayBillDetailDTO.java

@@ -1,5 +1,6 @@
 package com.sckw.transport.model.dto;
 
+import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;
 
 /**
@@ -9,79 +10,101 @@ import lombok.Data;
  * @date 2023/07/20 11:32:36
  **/
 @Data
-public class WayBillDetailDTO {
+public class WayBillDetailDTO{
     /**
      * 运单ID
      */
+    @JsonProperty("wOrderId")
     private Long wOrderId;
+
     /**
      * 运单号
      */
+    @JsonProperty("wOrderNo")
     private String wOrderNo;
+
     /**
      * 承运单号
      */
+    @JsonProperty("lOrderNo")
     private String lOrderNo;
+
     /**
      * 车辆ID
      */
     private Long truckId;
+
     /**
      * 车牌号
      */
     private String truckNo;
+
     /**
      * 司机ID
      */
     private Long driverId;
+
     /**
      * 司机姓名
      */
     private String driverName;
+
     /**
      * 司机电话
      */
     private String driverPhone;
+
     /**
      * 司机身份证
      */
     private String driverIdcard;
+
     /**
      * 运单ID
      */
+    @JsonProperty("lOrderId")
     private Long lOrderId;
+
     /**
      * 分配任务量
      */
     private String entrustAmount;
+
     /**
      * 运单类型
      */
     private String type;
+
     /**
      * 计划开始时间
      */
     private String startTime;
+
     /**
      * 计划结束时间
      */
     private String endTime;
+
     /**
      * 创建人
      */
     private String createBy;
+
     /**
      * 计费方式
      */
     private String priceType;
+
     /**
      * 商品名
      */
     private String goodsName;
+
     /**
      * 装载地址
      */
     private String loadDetailAddress;
+
     /**
      * 卸货地址
      */

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/WaybillOrderTicketDto.java

@@ -64,7 +64,7 @@ public class WaybillOrderTicketDto {
     /**
      * 操作时间
      */
-    @JsonProperty("time")
+    @JsonProperty("operateTime")
     @JsonFormat(locale="zh", pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @NotNull(message = "时间不能为空")

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

@@ -30,6 +30,12 @@ public class CarWaybillVO {
      * 状态
      */
     private String status;
+
+    /**
+     * 状态Label
+     */
+    private String statusLabel;
+
     /**
      * 运单类型
      */

+ 5 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/vo/WaybillStatusVO.java

@@ -37,6 +37,11 @@ public class WaybillStatusVO {
      */
     private String createByName;
 
+    /**
+     * 操作时间
+     */
+    private String operateTime;
+
     /**
      * 记录ID
      */

+ 4 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java

@@ -330,7 +330,8 @@ public class ConsignOrderService {
                     carWaybillVo.setWOrderId(String.valueOf(kwtWaybillOrder.getId()));
                     carWaybillVo.setWOrderNo(order.getLOrderNo());
                     carWaybillVo.setTruckNo(kwtWaybillOrder.getTruckNo());
-                    carWaybillVo.setStatus(CarWaybillEnum.getName(kwtWaybillOrder.getStatus()));
+                    carWaybillVo.setStatus(String.valueOf(kwtWaybillOrder.getStatus()));
+                    carWaybillVo.setStatusLabel(CarWaybillEnum.getName(kwtWaybillOrder.getStatus()));
                     carWaybillVo.setWaybillType(kwtWaybillOrder.getType());
                     carWaybillVo.setDriverName(kwtWaybillOrder.getDriverName());
                     //todo 取mongo
@@ -425,7 +426,8 @@ public class ConsignOrderService {
                     carWaybillVo.setWOrderId(String.valueOf(kwtWaybillOrder.getId()));
                     carWaybillVo.setWOrderNo(order.getLOrderNo());
                     carWaybillVo.setTruckNo(kwtWaybillOrder.getTruckNo());
-                    carWaybillVo.setStatus(CarWaybillEnum.getName(kwtWaybillOrder.getStatus()));
+                    carWaybillVo.setStatus(String.valueOf(kwtWaybillOrder.getStatus()));
+                    carWaybillVo.setStatusLabel(CarWaybillEnum.getName(kwtWaybillOrder.getStatus()));
                     carWaybillVo.setWaybillType(kwtWaybillOrder.getType());
                     carWaybillVo.setDriverName(kwtWaybillOrder.getDriverName());
                     //todo 取mongo

+ 3 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java

@@ -164,6 +164,8 @@ public class WaybillManagementService {
                         statusVO.setStatus(true);
                         statusVO.setId(kwtWaybillOrderTrack.getId());
                         statusVO.setCreateTime(DateUtil.getDateTime(kwtWaybillOrderTrack.getCreateTime()));
+                        statusVO.setOperateTime(kwtWaybillOrderTrack.getOperateTime() == null
+                                ? null : DateUtil.getDateTime(kwtWaybillOrderTrack.getOperateTime()));
                         statusVO.setCreateByName(usersMap.get(kwtWaybillOrderTrack.getCreateBy()) == null
                                 ? null : usersMap.get(kwtWaybillOrderTrack.getCreateBy()));
                         break;
@@ -275,6 +277,7 @@ public class WaybillManagementService {
      */
     public  List<Integer> initWaybillIndexStatus() {
         List<Integer> statuses = new ArrayList<>();
+        statuses.add(CarWaybillEnum.PENDING_ORDER.getCode());
         statuses.add(CarWaybillEnum.PENDING_VEHICLE.getCode());
         statuses.add(CarWaybillEnum.EXIT_COMPLETED.getCode());
         statuses.add(CarWaybillEnum.WAIT_LOADING.getCode());