Răsfoiți Sursa

1.控制台大订单列表导出添加异步
2.控制台添加大订单明细导出

wuhp 1 an în urmă
părinte
comite
1ed831eabf

+ 39 - 30
src/main/java/com/ydtech/modules/admin/service/impl/CompanyDataReportServiceImpl.java

@@ -16,6 +16,8 @@ import com.ydtech.modules.admin.model.vo.OrdersDataVo;
 import com.ydtech.modules.admin.model.vo.TaskStatisticsVo;
 import com.ydtech.modules.admin.service.CompanyDataReportService;
 import com.ydtech.modules.admin.utils.SliceUpDateUtil;
+import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.fnc.service.InsExcelTaskAsyncService;
 import com.ydtech.modules.inv.utils.EasyExcelUtils;
 import com.ydtech.modules.order.dao.InsAreaCompanyMapper;
 import com.ydtech.modules.order.entity.BasePageResult;
@@ -23,6 +25,7 @@ import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
@@ -55,6 +58,9 @@ public class CompanyDataReportServiceImpl implements CompanyDataReportService {
     @Value("${upload.file.url}")
     private String uploadUrl;
 
+    @Autowired
+    private InsExcelTaskAsyncService  insExcelTaskAsyncService;
+
     /**
      *  @version
      *  @author: hxl
@@ -232,6 +238,7 @@ public class CompanyDataReportServiceImpl implements CompanyDataReportService {
      * @date: 2024/9/13
      **/
     @Override
+    @Async
     public HttpResult largeOrdersExcel(OrdersDataVo ordersDataVo) {
 
         //判断开始时间和结束时间是否为空,如果为空的走时间类型逻辑
@@ -239,36 +246,38 @@ public class CompanyDataReportServiceImpl implements CompanyDataReportService {
         ordersDataVo.setBeginDate(dateMapByType.get("startDate"));
         ordersDataVo.setEndDate(dateMapByType.get("endDate"));
         List<OrdersDataExcel> resultSubOrder = insAreaCompanyMapper.querOrdersDataListExcel(ordersDataVo);
-            if(!resultSubOrder.isEmpty()){
-                OrdersDataDto ordersDataDto = new OrdersDataDto();
-                ordersDataDto.setBeginDate(dateMapByType.get("startDate"));
-                ordersDataDto.setEndDate(dateMapByType.get("endDate"));
-                for (OrdersDataExcel record : resultSubOrder) {
-                    String licenseno = record.getLicenseno();  //车牌号
-                    String frameno = record.getFrameno();   //车牌号
-                    ordersDataDto.setLicenseno(licenseno);
-                    ordersDataDto.setFrameno(frameno);
-                    OrdersDataDto dto = insAreaCompanyMapper.getSumBigOrderCount(ordersDataDto);
-                    String orderNumber = dto.getOrderNumber();
-                    BigDecimal num1 = new BigDecimal(orderNumber);
-                    BigDecimal num2 = new BigDecimal(record.getOrderNumber());
-                    BigDecimal result = num1.divide(num2, 2, RoundingMode.HALF_UP);
-                    record.setCloseRate(result.toString());
-                    record.setNamesimple(dto.getNamesimple());
-
-                }
-            }
-        String uploadPath = this.uploadPath + "/excel/";
-        Path path = Paths.get(uploadPath);
-        if (!Files.exists(path)) {
-            try {
-                Files.createDirectories(path);
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
-        String fileName = EasyExcelUtils.downExcel(uploadPath, "控制台大订单导出", OrdersDataExcel.class, resultSubOrder);
-        return HttpResult.ok("", uploadUrl + "excel/" + fileName);
+//            if(!resultSubOrder.isEmpty()){
+//                OrdersDataDto ordersDataDto = new OrdersDataDto();
+//                ordersDataDto.setBeginDate(dateMapByType.get("startDate"));
+//                ordersDataDto.setEndDate(dateMapByType.get("endDate"));
+//                for (OrdersDataExcel record : resultSubOrder) {
+//                    String licenseno = record.getLicenseno();  //车牌号
+//                    String frameno = record.getFrameno();   //车牌号
+//                    ordersDataDto.setLicenseno(licenseno);
+//                    ordersDataDto.setFrameno(frameno);
+//                    OrdersDataDto dto = insAreaCompanyMapper.getSumBigOrderCount(ordersDataDto);
+//                    String orderNumber = dto.getOrderNumber();
+//                    BigDecimal num1 = new BigDecimal(orderNumber);
+//                    BigDecimal num2 = new BigDecimal(record.getOrderNumber());
+//                    BigDecimal result = num1.divide(num2, 2, RoundingMode.HALF_UP);
+//                    record.setCloseRate(result.toString());
+//                    record.setNamesimple(dto.getNamesimple());
+//                }
+//            }
+        dateMapByType.put("userId", BaseController.getUserId());
+
+        this.insExcelTaskAsyncService.importasync(resultSubOrder,dateMapByType);
+//        String uploadPath = this.uploadPath + "/excel/";
+//        Path path = Paths.get(uploadPath);
+//        if (!Files.exists(path)) {
+//            try {
+//                Files.createDirectories(path);
+//            } catch (IOException e) {
+//                e.printStackTrace();
+//            }
+//        }
+//        String fileName = EasyExcelUtils.downExcel(uploadPath, "控制台大订单导出", OrdersDataExcel.class, resultSubOrder);
+        return HttpResult.ok("导出成功");
     }
 
 

+ 44 - 32
src/main/java/com/ydtech/modules/console/controller/UploadOrderController.java

@@ -4,9 +4,11 @@ package com.ydtech.modules.console.controller;
 import com.alibaba.excel.EasyExcel;
 import com.ydtech.constants.enums.dict.InsOrderStatusAllEnum;
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.console.dto.BigOrderUploadDto;
 import com.ydtech.modules.console.service.UpLoadOrderService;
 import com.ydtech.modules.console.vo.BigOrderUploadVo;
+import com.ydtech.modules.fnc.service.InsExcelTaskAsyncService;
 import com.ydtech.modules.inv.utils.excel.CustomMultiFieldMergeStrategy;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -45,40 +47,50 @@ public class UploadOrderController {
       @Value("${upload.file.url}")
       private String uploadUrl;
 
+
+      @Autowired
+      private InsExcelTaskAsyncService insExcelTaskAsyncService;
+
       @PostMapping("/bigOrderCountUpload")
-      @ApiOperation(value = "大订单导出导出功能")
+      @ApiOperation(value = "大订单导出导出明细功能")
       public HttpResult bigOrderCountUpload(@RequestBody BigOrderUploadVo bigOrderUploadVo) {
+          String userId = BaseController.getUserId();
           List<BigOrderUploadDto> list = upLoadOrderService.uploadExcelData(bigOrderUploadVo);
-          if(list!=null && !list.isEmpty()){
-              for (BigOrderUploadDto bigOrderUploadDto : list) {
-                  String orderStatus="";
-                  if(InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getOrderStatus())!=null){
-                      orderStatus=InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getOrderStatus()).getDesc();
-                  }
-                  String subOrderStatus="";
-                  if(InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getSubOrderStatus())!=null){
-                      subOrderStatus=InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getSubOrderStatus()).getDesc();
-                  }
-                  bigOrderUploadDto.setOrderStatus(orderStatus);
-                  bigOrderUploadDto.setSubOrderStatus(subOrderStatus);
-              }
-          }
-          String uploadPath = this.uploadPath + "/excel/";
-          Path path = Paths.get(uploadPath);
-          if (!Files.exists(path)) {
-              try {
-                  Files.createDirectories(path);
-              } catch (IOException e) {
-                  e.printStackTrace();
-              }
-          }
-          String file = "大订单导出数据" + System.currentTimeMillis() + ".xlsx";
-          String filePath = uploadPath + file;
-          List<Integer> mergeAllColIndexList = Stream.of(0, 1, 2, 3, 4, 5, 6).collect(Collectors.toList());
-          EasyExcel.write(filePath, BigOrderUploadDto.class)
-                  .sheet("1")
-                  .registerWriteHandler(new CustomMultiFieldMergeStrategy(mergeAllColIndexList))
-                  .doWrite(list);
-          return HttpResult.ok("", uploadUrl + "excel/" + file);
+          insExcelTaskAsyncService.importasyncBigOrder(list,userId);
+//          if(list!=null && !list.isEmpty()){
+//              for (BigOrderUploadDto bigOrderUploadDto : list) {
+//                  String orderStatus="";
+//                  if(InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getOrderStatus())!=null){
+//                      orderStatus=InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getOrderStatus()).getDesc();
+//                  }
+//                  String subOrderStatus="";
+//                  if(InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getSubOrderStatus())!=null){
+//                      subOrderStatus=InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getSubOrderStatus()).getDesc();
+//                  }
+//                  bigOrderUploadDto.setOrderStatus(orderStatus);
+//                  bigOrderUploadDto.setSubOrderStatus(subOrderStatus);
+//              }
+//          }
+//          String uploadPath = this.uploadPath + "/excel/";
+//          Path path = Paths.get(uploadPath);
+//          if (!Files.exists(path)) {
+//              try {
+//                  Files.createDirectories(path);
+//              } catch (IOException e) {
+//                  e.printStackTrace();
+//              }
+//          }
+//
+//          String file = "大订单导出数据" + System.currentTimeMillis() + ".xlsx";
+//          String filePath = uploadPath + file;
+//          List<Integer> mergeAllColIndexList = Stream.of(0, 1, 2, 3, 4, 5, 6).collect(Collectors.toList());
+//          EasyExcel.write(filePath, BigOrderUploadDto.class)
+//                  .sheet("1")
+//                  .registerWriteHandler(new CustomMultiFieldMergeStrategy(mergeAllColIndexList))
+//                  .doWrite(list);
+
+
+//          return HttpResult.ok("", uploadUrl + "excel/" + file);
+          return HttpResult.ok();
       }
 }

+ 4 - 0
src/main/java/com/ydtech/modules/console/vo/BigOrderUploadVo.java

@@ -23,4 +23,8 @@ public class BigOrderUploadVo implements Serializable {
     private  String   endDate;
 
 
+    @ApiModelProperty(value = "用户id")
+    private  String   userId;
+
+
 }

+ 45 - 0
src/main/java/com/ydtech/modules/fnc/controller/InsExcelTaskAsyncController.java

@@ -0,0 +1,45 @@
+package com.ydtech.modules.fnc.controller;
+
+
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.report.company.OrdersDataDto;
+import com.ydtech.modules.admin.model.vo.KztGetDeptUtilsDto;
+import com.ydtech.modules.admin.model.vo.OrdersDataVo;
+import com.ydtech.modules.admin.utils.KztGetDeptUtils;
+import com.ydtech.modules.fnc.dto.InsExcelTaskDto;
+import com.ydtech.modules.fnc.entity.InsExcelTaskEntity;
+import com.ydtech.modules.fnc.service.InsExcelTaskAsyncService;
+import com.ydtech.modules.order.entity.BasePageResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+@Api(tags = "控制台异步导出")
+@RequestMapping("/fnc/importKztAsync")
+@RestController
+public class InsExcelTaskAsyncController {
+    @Autowired
+    private InsExcelTaskAsyncService insExcelTaskAsyncService;
+
+
+
+
+    /**
+     *  @version
+     *  @author: whp
+     *  @Description:   任务查询
+     */
+    @PostMapping("queryPage")
+    @ApiOperation(value = "任务查询")
+    public HttpResult<BasePageResult<InsExcelTaskEntity>> queryPage(@RequestBody InsExcelTaskDto insExcelTaskDto) {
+       return HttpResult.ok(  insExcelTaskAsyncService.queryPage(insExcelTaskDto));
+    }
+
+}

+ 15 - 0
src/main/java/com/ydtech/modules/fnc/dao/InsExcelTaskAsyncMapper.java

@@ -0,0 +1,15 @@
+package com.ydtech.modules.fnc.dao;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.modules.fnc.dto.InsExcelTaskDto;
+import com.ydtech.modules.fnc.entity.InsExcelTaskEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface InsExcelTaskAsyncMapper  extends  BaseMapper<InsExcelTaskEntity>{
+
+    Page<InsExcelTaskEntity> queryPage(@Param("vo") InsExcelTaskDto insExcelTaskDto,@Param("page") Page<InsExcelTaskEntity> page);
+
+}

+ 41 - 0
src/main/java/com/ydtech/modules/fnc/dto/InsExcelTaskDto.java

@@ -0,0 +1,41 @@
+package com.ydtech.modules.fnc.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+@ApiModel("控制台导入任务")
+public class InsExcelTaskDto {
+
+    @ApiModelProperty("id")
+    private String id;
+
+    @ApiModelProperty("任务状态")
+    private String status; // PROCESSING, COMPLETED, FAILED
+
+    @ApiModelProperty("创建时间")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty("开始时间")
+    private LocalDateTime createdAt;
+
+    @ApiModelProperty("完成时间")
+    private LocalDateTime completedAt;
+
+    @ApiModelProperty("导入路径")
+    private String uploadUrl; // 导入路径
+
+    @ApiModelProperty("类型")
+    private String type; // 导入路径
+
+    @ApiModelProperty("页码")
+    private int pageNum;
+
+    @ApiModelProperty("页数")
+    private int pageSize;
+
+}

+ 51 - 0
src/main/java/com/ydtech/modules/fnc/entity/InsExcelTaskEntity.java

@@ -0,0 +1,51 @@
+package com.ydtech.modules.fnc.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Getter
+@Setter
+@TableName("ins_excel_task")
+@ApiModel(value = "InsExcelTask对象", description = "控制台导出任务表")
+public class InsExcelTaskEntity {
+
+    @ApiModelProperty("id")
+    @TableField("id")
+    private String id;
+
+    @ApiModelProperty("任务状态")
+    @TableField("status")
+    private String status; // PROCESSING, COMPLETED, FAILED
+
+    @ApiModelProperty("创建时间")
+    @TableField("create_time")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty("用户id")
+    @TableField("user_id")
+    private String userId;
+
+    @ApiModelProperty("开始时间")
+    @TableField("created_at")
+    private LocalDateTime createdAt;
+
+    @ApiModelProperty("完成时间")
+    @TableField("completed_at")
+    private LocalDateTime completedAt;
+
+    @ApiModelProperty("导入路径")
+    @TableField("upload_url")
+    private String uploadUrl; // 导入路径
+
+    @ApiModelProperty("类型")
+    @TableField("type")
+    private String type; // 导入路径
+
+}

+ 25 - 0
src/main/java/com/ydtech/modules/fnc/service/InsExcelTaskAsyncService.java

@@ -0,0 +1,25 @@
+package com.ydtech.modules.fnc.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.admin.model.dto.OrdersDataExcel;
+import com.ydtech.modules.console.dto.BigOrderUploadDto;
+import com.ydtech.modules.fnc.dto.InsExcelTaskDto;
+import com.ydtech.modules.fnc.entity.InsExcelTaskEntity;
+import com.ydtech.modules.order.entity.BasePageResult;
+
+import java.util.HashMap;
+import java.util.List;
+
+public interface InsExcelTaskAsyncService   extends IService<InsExcelTaskEntity> {
+    void importasync(List<OrdersDataExcel> resultSubOrder, HashMap<String, String> dateMapByType);
+
+    void importasyncBigOrder(List<BigOrderUploadDto> list,String userId);
+
+    /**
+     *
+     * @param insExcelTaskDto
+     * @return 任务分页
+     */
+    BasePageResult<InsExcelTaskEntity> queryPage(InsExcelTaskDto insExcelTaskDto);
+}

+ 160 - 0
src/main/java/com/ydtech/modules/fnc/service/impl/InsExcelTaskAsyncServiceImpl.java

@@ -0,0 +1,160 @@
+package com.ydtech.modules.fnc.service.impl;
+
+import com.alibaba.excel.EasyExcel;
+import com.alipay.api.domain.TakeAwayScopeInfo;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.constants.enums.dict.InsOrderStatusAllEnum;
+import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.model.dto.OrdersDataExcel;
+import com.ydtech.modules.admin.model.report.company.OrdersDataDto;
+import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.console.dto.BigOrderUploadDto;
+import com.ydtech.modules.fnc.dao.ImportAsyncMapper;
+import com.ydtech.modules.fnc.dao.InsExcelTaskAsyncMapper;
+import com.ydtech.modules.fnc.dto.InsExcelTaskDto;
+import com.ydtech.modules.fnc.entity.ImportResult;
+import com.ydtech.modules.fnc.entity.InsExcelTaskEntity;
+import com.ydtech.modules.fnc.service.InsExcelTaskAsyncService;
+import com.ydtech.modules.inv.model.dto.InsImportResult;
+import com.ydtech.modules.inv.utils.EasyExcelUtils;
+import com.ydtech.modules.inv.utils.excel.CustomMultiFieldMergeStrategy;
+import com.ydtech.modules.order.dao.InsAreaCompanyMapper;
+import com.ydtech.modules.order.entity.BasePageResult;
+import com.ydtech.utils.SnowFlakeUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.io.File;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.time.LocalDateTime;
+import java.util.HashMap;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+@Service
+public class InsExcelTaskAsyncServiceImpl extends ServiceImpl<InsExcelTaskAsyncMapper, InsExcelTaskEntity> implements InsExcelTaskAsyncService {
+
+
+    @Autowired
+    private InsAreaCompanyMapper insAreaCompanyMapper;
+    @Value("${upload.file.path}")
+    private String uploadFilePath;
+
+
+    @Value("${upload.file.path}")
+    private String uploadPath;
+
+    @Async
+    @Override
+    public void importasync(List<OrdersDataExcel> resultSubOrder, HashMap<String, String> dateMapByType) {
+        InsExcelTaskEntity insExcelTaskEntity = new InsExcelTaskEntity();
+        String taskId = String.valueOf(new SnowFlakeUtil().nextId());
+        insExcelTaskEntity.setId(taskId);
+        insExcelTaskEntity.setStatus("ready");
+        insExcelTaskEntity.setUserId(dateMapByType.get("userId"));
+        insExcelTaskEntity.setCreateTime(LocalDateTime.now());
+        insExcelTaskEntity.setCreatedAt(LocalDateTime.now());
+        insExcelTaskEntity.setType("1");
+        baseMapper.insert(insExcelTaskEntity);
+
+        if (!resultSubOrder.isEmpty()) {
+            OrdersDataDto ordersDataDto = new OrdersDataDto();
+            ordersDataDto.setBeginDate(dateMapByType.get("startDate"));
+            ordersDataDto.setEndDate(dateMapByType.get("endDate"));
+            for (OrdersDataExcel record : resultSubOrder) {
+                String licenseno = record.getLicenseno();  //车牌号
+                String frameno = record.getFrameno();   //车牌号
+                ordersDataDto.setLicenseno(licenseno);
+                ordersDataDto.setFrameno(frameno);
+                OrdersDataDto dto = insAreaCompanyMapper.getSumBigOrderCount(ordersDataDto);
+                String orderNumber = dto.getOrderNumber();
+                BigDecimal num1 = new BigDecimal(orderNumber);
+                BigDecimal num2 = new BigDecimal(record.getOrderNumber());
+                BigDecimal result = num1.divide(num2, 2, RoundingMode.HALF_UP);
+                record.setCloseRate(result.toString());
+                record.setNamesimple(dto.getNamesimple());
+
+            }
+        }
+        String uploadPath = this.uploadFilePath + "/excel/" + taskId + "/";
+        File folder = new File(uploadPath);
+        // 路劲不存在创建目录
+        if (!folder.isDirectory()) {
+            folder.mkdirs();
+        }
+
+        String fileName = EasyExcelUtils.downExcel(uploadPath, "控制台大订单导出", OrdersDataExcel.class, resultSubOrder);
+        InsExcelTaskEntity insExcelTaskEntity1 = new InsExcelTaskEntity();
+        insExcelTaskEntity1.setId(taskId);
+        insExcelTaskEntity1.setCompletedAt(LocalDateTime.now());
+        insExcelTaskEntity1.setStatus("complete");
+        if (!CollectionUtils.isEmpty(resultSubOrder)) {
+            insExcelTaskEntity1.setUploadUrl("/upload/excel/" + taskId + "/" + fileName);
+        }
+        baseMapper.updateById(insExcelTaskEntity1);
+    }
+
+    @Override
+    @Async
+    public void importasyncBigOrder(List<BigOrderUploadDto> list,String  userId) {
+        InsExcelTaskEntity insExcelTaskEntity = new InsExcelTaskEntity();
+        String taskId = String.valueOf(new SnowFlakeUtil().nextId());
+        insExcelTaskEntity.setId(taskId);
+        insExcelTaskEntity.setStatus("ready");
+        insExcelTaskEntity.setUserId(userId);
+        insExcelTaskEntity.setCreateTime(LocalDateTime.now());
+        insExcelTaskEntity.setCreatedAt(LocalDateTime.now());
+        insExcelTaskEntity.setType("0");
+        baseMapper.insert(insExcelTaskEntity);
+
+        if (list != null && !list.isEmpty()) {
+            for (BigOrderUploadDto bigOrderUploadDto : list) {
+                String orderStatus = "";
+                if (InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getOrderStatus()) != null) {
+                    orderStatus = InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getOrderStatus()).getDesc();
+                }
+                String subOrderStatus = "";
+                if (InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getSubOrderStatus()) != null) {
+                    subOrderStatus = InsOrderStatusAllEnum.matchKey(bigOrderUploadDto.getSubOrderStatus()).getDesc();
+                }
+                bigOrderUploadDto.setOrderStatus(orderStatus);
+                bigOrderUploadDto.setSubOrderStatus(subOrderStatus);
+            }
+        }
+        String uploadPath = this.uploadFilePath + "/excel/" + taskId + "/";
+
+        File folder = new File(uploadPath);
+        // 路劲不存在创建目录
+        if (!folder.isDirectory()) {
+            folder.mkdirs();
+        }
+        String fileName = EasyExcelUtils.downExcel(uploadPath, "控制台大订单明细导出", BigOrderUploadDto.class, list);
+        InsExcelTaskEntity insExcelTaskEntity1 = new InsExcelTaskEntity();
+        insExcelTaskEntity1.setId(taskId);
+        insExcelTaskEntity1.setCompletedAt(LocalDateTime.now());
+        insExcelTaskEntity1.setStatus("complete");
+        if (!CollectionUtils.isEmpty(list)) {
+            insExcelTaskEntity1.setUploadUrl("/upload/excel/" + taskId + "/" + fileName);
+        }
+        baseMapper.updateById(insExcelTaskEntity1);
+    }
+
+    @Override
+    public BasePageResult<InsExcelTaskEntity> queryPage(InsExcelTaskDto insExcelTaskDto) {
+        Page<InsExcelTaskEntity> page = new Page<>(insExcelTaskDto.getPageNum(), insExcelTaskDto.getPageSize());
+        Page<InsExcelTaskEntity> resultPage = baseMapper.queryPage(insExcelTaskDto, page);
+        return new BasePageResult<>(insExcelTaskDto.getPageNum(), page.getSize(), resultPage.getTotal(), page.getPages(),
+                resultPage.getRecords());
+    }
+}

+ 2 - 3
src/main/resources/mapper/modules/console/UpLoadOrderMapper.xml

@@ -23,9 +23,8 @@
         LEFT JOIN esm_ins_company eic ON iac.company_id = eic.id
         <where>
             ( iac.del_flag = '1' OR io.del_flag IS NULL OR io.del_flag = 1 )
-            <if test="vo.beginDate !=null  and  vo.beginDate !='' and vo.endDate !=null  and  vo.endDate !='' ">
-                AND io.createtime <![CDATA[ >= ]]> #{ vo.beginDate } AND
-                io.createtime  <![CDATA[ <= ]]> #{ vo.endDate }
+            <if test="vo.beginDate  != null  and  vo.beginDate!=''  and vo.endDate  != null  and  vo.endDate!=''">
+                AND DATE_FORMAT( io.createtime, '%Y-%m-%d') BETWEEN #{vo.beginDate} AND #{vo.endDate}
             </if>
         </where>
     </select>

+ 10 - 0
src/main/resources/mapper/modules/fnc/InsExcelTaskAsyncMapper.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ydtech.modules.fnc.dao.InsExcelTaskAsyncMapper">
+
+        <select id="queryPage" resultType="com.ydtech.modules.fnc.entity.InsExcelTaskEntity">
+            select *
+            from ins_excel_task
+
+        </select>
+</mapper>