浏览代码

工单es固定列导出

FengChaoYu 3 周之前
父节点
当前提交
0233d76d82

+ 4 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/es/OrderBase2022Es.java

@@ -548,4 +548,8 @@ public class OrderBase2022Es {
     @ApiModelProperty(value = "取消时间")
     @Field(value = "cancel_time", type = FieldType.Date,format = DateFormat.custom, pattern ="yyyy-MM-dd HH:mm:ss")
     private String cancelTime;
+
+    @ApiModelProperty(value = "签到时间")
+    @Field(value = "sign_datetime", type = FieldType.Date, format = DateFormat.custom, pattern ="yyyy-MM-dd HH:mm:ss")
+    private String signDatetime;
 }

+ 4 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/es/OrderBase2023Es.java

@@ -548,4 +548,8 @@ public class OrderBase2023Es {
     @ApiModelProperty(value = "取消时间")
     @Field(value = "cancel_time", type = FieldType.Date,format = DateFormat.custom, pattern ="yyyy-MM-dd HH:mm:ss")
     private String cancelTime;
+
+    @ApiModelProperty(value = "签到时间")
+    @Field(value = "sign_datetime", type = FieldType.Date, format = DateFormat.custom, pattern ="yyyy-MM-dd HH:mm:ss")
+    private String signDatetime;
 }

+ 4 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/es/OrderBase2024Es.java

@@ -548,4 +548,8 @@ public class OrderBase2024Es {
     @ApiModelProperty(value = "取消时间")
     @Field(value = "cancel_time", type = FieldType.Date,format = DateFormat.custom, pattern ="yyyy-MM-dd HH:mm:ss")
     private String cancelTime;
+
+    @ApiModelProperty(value = "签到时间")
+    @Field(value = "sign_datetime", type = FieldType.Date, format = DateFormat.custom, pattern ="yyyy-MM-dd HH:mm:ss")
+    private String signDatetime;
 }

+ 4 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/es/OrderBaseEs.java

@@ -560,4 +560,8 @@ public class OrderBaseEs   {
     @ApiModelProperty(value = "取消时间")
     @Field(value = "cancel_time", type = FieldType.Date,format = DateFormat.custom, pattern ="yyyy-MM-dd HH:mm:ss")
     private String cancelTime;
+
+    @ApiModelProperty(value = "签到时间")
+    @Field(value = "sign_datetime", type = FieldType.Date, format = DateFormat.custom, pattern ="yyyy-MM-dd HH:mm:ss")
+    private String signDatetime;
 }

+ 16 - 29
mall-server-api/src/main/java/com/gree/mall/manager/controller/workerorder/ESOrderBaseController.java

@@ -1,53 +1,26 @@
 package com.gree.mall.manager.controller.workerorder;
 
-import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.TypeReference;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.manager.annotation.ApiNotAuth;
 import com.gree.mall.manager.annotation.ZfireList;
-import com.gree.mall.manager.bean.admin.AdminUserCom;
-import com.gree.mall.manager.bean.es.OrderBaseEs;
 import com.gree.mall.manager.bean.listvo.param.WorkOrderZfireParam;
-import com.gree.mall.manager.bean.listvo.workorder.OrderBase2VO;
 import com.gree.mall.manager.bean.listvo.workorder.OrderBaseVO;
-import com.gree.mall.manager.bean.workorder.OrderAddBean2DTO;
-import com.gree.mall.manager.bean.workorder.OrderAddBeanDTO;
-import com.gree.mall.manager.bean.workorder.OrderSettleDetailBean;
-import com.gree.mall.manager.constant.Constant;
-import com.gree.mall.manager.enums.workorder.OrderFlagEnum;
-import com.gree.mall.manager.es.OrderBaseEsRepository;
-import com.gree.mall.manager.exception.RemoteServiceException;
 import com.gree.mall.manager.helper.ResponseHelper;
-import com.gree.mall.manager.logic.common.CommonLogic;
 import com.gree.mall.manager.logic.workorder.OrderBaseEsLogic;
-import com.gree.mall.manager.logic.workorder.OrderBaseExcelLogic;
-import com.gree.mall.manager.logic.workorder.OrderBaseLogic;
-import com.gree.mall.manager.logic.workorder.OrderLogLogic;
-import com.gree.mall.manager.plus.entity.PgOrderBase;
-import com.gree.mall.manager.plus.entity.PgOrderOperatorLog;
-import com.gree.mall.manager.plus.entity.PgOrderProduct;
-import com.gree.mall.manager.plus.entity.PgOrderWorker;
-import com.gree.mall.manager.utils.excel.ExcelUtils;
 import com.gree.mall.manager.zfire.bean.ZfireParamBean;
 import com.gree.mall.manager.zfire.util.FieldUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.integration.redis.util.RedisLockRegistry;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.*;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.locks.Lock;
+import java.util.List;
+import java.util.Map;
 
 @RequiredArgsConstructor
 @Slf4j
@@ -87,6 +60,20 @@ public class ESOrderBaseController {
         FieldUtils.exportData(orderBaseVOIPage, zfireParam.getExportFields(), request, response);
     }
 
+    @PostMapping("/list/export2")
+    @ApiOperation(value = "固定列导出")
+    public synchronized void listExport2(@RequestBody WorkOrderZfireParam zfireParamBean,
+                                        HttpServletRequest request, HttpServletResponse response) throws Exception {
+        //1.组装查询条件
+        ZfireParamBean zfireParam = FieldUtils.supplyParam(zfireParamBean);
+        //2.查询要导出的内容
+
+        List<OrderBaseVO> orderBaseVOIPage = orderBaseEsLogic.listExport(zfireParamBean,request);
+
+        //3.导出
+        FieldUtils.exportFixedOrderBaseData(orderBaseVOIPage, request, response);
+    }
+
     @PostMapping("/status/count")
     @ApiOperation(value = "按工单状态统计")
     public ResponseHelper<List<Map<String,Object>>> countStatus(

+ 38 - 1
mall-server-api/src/main/java/com/gree/mall/manager/zfire/util/FieldUtils.java

@@ -1,5 +1,6 @@
 package com.gree.mall.manager.zfire.util;
 
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.date.LocalDateTimeUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.ExcelWriter;
@@ -16,6 +17,7 @@ import com.google.common.collect.Lists;
 import com.gree.mall.manager.annotation.ZfireField;
 import com.gree.mall.manager.bean.ExcelData;
 import com.gree.mall.manager.bean.admin.AdminUserCom;
+import com.gree.mall.manager.bean.listvo.workorder.OrderBaseVO;
 import com.gree.mall.manager.constant.Constant;
 import com.gree.mall.manager.plus.entity.AdminField;
 import com.gree.mall.manager.zfire.bean.QueryParamBean;
@@ -48,7 +50,6 @@ import java.util.stream.Collectors;
 @Slf4j
 public class FieldUtils {
 
-
     public void test() throws NoSuchFieldException, IllegalAccessException {
 //        QueryParamBean map = new QueryParamBean();
 //        map.setCompare("like");
@@ -469,5 +470,41 @@ public class FieldUtils {
         return cellStyle;
     }
 
+    public static void exportFixedOrderBaseData(List<OrderBaseVO> datas, HttpServletRequest request, HttpServletResponse response) throws Exception {
+
+        List<List<Object>> rows = new ArrayList<>();
+        List<String> excelTitles = new ArrayList<>();
+        excelTitles.add("序号");
+        excelTitles.add("服务单编号");
+        excelTitles.add("工单编号");
+        excelTitles.add("产品大类名称");
+        excelTitles.add("总数量");
+        excelTitles.add("工程师完工时间");
+        excelTitles.add("签到时间");
+        if (CollectionUtils.isEmpty(datas)) {
+            excelTitles.add("暂无内容导出");
+        } else {
+            for (int i = 0; i < datas.size(); i++) {
+                final OrderBaseVO orderBaseVO = datas.get(i);
+                List<Object> row = new ArrayList<>();
+                row.add(i+1);
+                row.add(orderBaseVO.getServiceOrderId());
+                row.add(orderBaseVO.getId());
+                row.add("家用空调");
+                row.add(orderBaseVO.getTotalNum());
+                row.add(Objects.nonNull(orderBaseVO.getOverTime()) ? DateUtil.formatDateTime(orderBaseVO.getOverTime()) : "");
+                row.add(Objects.nonNull(orderBaseVO.getSignDatetime()) ? DateUtil.formatDateTime(orderBaseVO.getSignDatetime()) : "");
+
+                rows.add(row);
+            }
+        }
+        ExcelData excelData = new ExcelData();
+        excelData.setRows(rows);
+        excelData.setTitles(excelTitles);
+        //目前是异步导出,名字由前端根据菜单名定义
+        //ExcelUtils.exportExcel(request,response,"test.xlsx",excelData);
+        export(excelData, "test.xlsx");
+    }
+
 
 }