Преглед изворни кода

添加箱码合一导出数据接口

v_HuilingDeng пре 3 година
родитељ
комит
5f5e74d8ea

+ 14 - 0
abi-cloud-qr-platform-common/src/main/java/com/abi/task/common/excel/ExcelInputFactory.java

@@ -64,6 +64,20 @@ public class ExcelInputFactory {
         ExcelOutputFactory.outputStreamExcel(excelFileName, response, null, clz);
     }
 
+    /**
+     * 导出excel数据List
+     *
+     * @param excelFileName
+     * @param response
+     * @param clz
+     * @param <T>
+     */
+    public static <T extends AbstractExcelProperty> void downloadExcelData(String excelFileName,
+                                                                            HttpServletResponse response, List<T> dataList, Class<T> clz) {
+        //调用导出方法
+        ExcelOutputFactory.outputStreamExcel(excelFileName, response, dataList, clz);
+    }
+
 
     /**
      * 校验excel文件后缀

+ 59 - 0
abi-cloud-qr-platform-common/src/main/java/com/abi/task/common/excel/preperties/QrBoxExportProperty.java

@@ -0,0 +1,59 @@
+package com.abi.task.common.excel.preperties;
+
+import com.abi.task.common.excel.common.AbstractExcelProperty;
+import com.abi.task.common.excel.common.ExcelHeadAlias;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author Eurus
+ * @date 2021/6/21 16:31
+ * @Description: 箱码合一导出数据参数
+ */
+@Data
+public class QrBoxExportProperty implements AbstractExcelProperty {
+
+    @ExcelHeadAlias(value = "条码序号")
+    private String boxCode;
+
+    @ExcelHeadAlias(value = "起始序号")
+    private Long indexBegin;
+
+    @ExcelHeadAlias(value = "结束序号")
+    private Long indexEnd;
+
+    @ExcelHeadAlias(value = "条数")
+    private Long qrCodeCount;
+
+    @ExcelHeadAlias(value = "项目号")
+    private String projectNo;
+
+    @ExcelHeadAlias(value = "板号")
+    private String boardNo;
+
+    @ExcelHeadAlias(value = "描述")
+    private String remark;
+
+    @ExcelHeadAlias(value = "创建人")
+    private String createUserName;
+
+    @ExcelHeadAlias(value = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @ExcelHeadAlias(value = "激活时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime activeTime;
+
+    @ExcelHeadAlias(value = "激活人")
+    private String activeUserName;
+
+    @ExcelHeadAlias(value = "激活厂商")
+    private String factoryName;
+
+    @ExcelHeadAlias(value = "是否激活")
+    private String activeStatus;
+
+}

+ 10 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/QrBoxCodeUnityController.java

@@ -10,6 +10,7 @@ import com.abi.qms.platform.dto.res.QrBoxCodeUploadRes;
 import com.abi.qms.platform.service.QrBoxMappingService;
 import com.abi.task.common.api.base.BaseResponse;
 import com.abi.task.common.excel.ExcelInputFactory;
+import com.abi.task.common.excel.preperties.QrBoxExportProperty;
 import com.abi.task.common.excel.preperties.QrBoxMappingProperty;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -26,6 +27,7 @@ import org.springframework.web.multipart.MultipartHttpServletRequest;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -102,5 +104,13 @@ public class QrBoxCodeUnityController {
         ExcelInputFactory.downloadExcelModel("箱码合一", response, QrBoxMappingProperty.class);
     }
 
+    @ResponseBody
+    @ApiOperation(value = "导出数据")
+    @GetMapping("downloadExcelData")
+    public void downloadExcelData(ListQrBoxCodeMappingReq listQrBoxCodeMappingReq, HttpServletResponse response) throws Exception {
+        List<QrBoxExportProperty> res = qrBoxMappingService.downloadExcelData(listQrBoxCodeMappingReq);
+
+        ExcelInputFactory.downloadExcelData("箱码合一", response, res, QrBoxExportProperty.class);
+    }
 
 }

+ 4 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/QrBoxMappingService.java

@@ -15,8 +15,10 @@ import com.abi.qms.platform.dto.res.ListQrBoxCodeMappingRes;
 import com.abi.qms.platform.dto.res.PrintingDetailRes;
 import com.abi.qms.platform.dto.res.QrBoxCodeUploadRes;
 import com.abi.qms.platform.dto.res.QueryWxQrBoxMappingDetailsWxRes;
+import com.abi.task.common.excel.preperties.QrBoxExportProperty;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -111,4 +113,6 @@ public interface QrBoxMappingService {
      * @return
      */
     ActivateDetailRes getActivateDetail(ActivateDetailReq activateDetailReq);
+
+    List<QrBoxExportProperty> downloadExcelData(ListQrBoxCodeMappingReq listQrBoxCodeMappingReq);
 }

+ 25 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/QrBoxMappingServiceImpl.java

@@ -35,10 +35,12 @@ import com.abi.qms.platform.infrastructure.util.UserUtil;
 import com.abi.qms.platform.service.QrBoxMappingService;
 import com.abi.task.common.api.exception.BusinessException;
 import com.abi.task.common.api.exception.ErrorCodeEnum;
+import com.abi.task.common.excel.preperties.QrBoxExportProperty;
 import com.abi.task.common.tablestore.TableStorePlusUtils;
 import com.abi.task.common.utils.PojoConverterUtils;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.google.common.collect.Maps;
 import lombok.extern.slf4j.Slf4j;
@@ -51,8 +53,10 @@ import java.io.BufferedReader;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -273,6 +277,27 @@ public class QrBoxMappingServiceImpl implements QrBoxMappingService {
         return res;
     }
 
+    @Override
+    public List<QrBoxExportProperty> downloadExcelData(ListQrBoxCodeMappingReq listQrBoxCodeMappingReq) {
+        ListQrBoxCodeMappingRes listQrBoxCodeMappingRes = listQrBoxCodeMapping(listQrBoxCodeMappingReq);
+        if(Objects.nonNull(listQrBoxCodeMappingRes) && CollectionUtils.isNotEmpty(listQrBoxCodeMappingRes.getQrBoxMappingBeanList())){
+            List<QrBoxExportProperty> qrBoxExportProperties = new ArrayList<>();
+            for (ListQrBoxCodeMappingRes.QrBoxMappingBean qrBoxMappingBean:listQrBoxCodeMappingRes.getQrBoxMappingBeanList()) {
+                QrBoxExportProperty qrBoxExportProperty = PojoConverterUtils.copy(qrBoxMappingBean, QrBoxExportProperty.class);
+                if(InvalidEnum.INVALID.is(qrBoxMappingBean.getInvalid())){
+                    qrBoxExportProperty.setActiveStatus(InvalidEnum.INVALID.getName());
+                }else if(BoxMappingActiveStatusEnum.NOT_ACTIVE.is(qrBoxMappingBean.getActiveStatus())){
+                    qrBoxExportProperty.setActiveStatus(BoxMappingActiveStatusEnum.NOT_ACTIVE.getName());
+                }else if(BoxMappingActiveStatusEnum.ACTIVATED.is(qrBoxMappingBean.getActiveStatus())){
+                    qrBoxExportProperty.setActiveStatus(BoxMappingActiveStatusEnum.ACTIVATED.getName());
+                }
+                qrBoxExportProperties.add(qrBoxExportProperty);
+            }
+            return qrBoxExportProperties;
+        }
+        return null;
+    }
+
     /**
      * 组装激活公共所需参数
      *

+ 0 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/RoleManagerServiceImpl.java

@@ -20,7 +20,6 @@ import com.abi.task.common.api.exception.BusinessException;
 import com.abi.task.common.utils.PojoConverterUtils;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import io.swagger.models.auth.In;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;