ezhizao_zx 1 年間 前
コミット
e058cadd22

+ 33 - 0
src/main/java/cn/ezhizao/project/business/order/controller/BizArchiveInputController.java

@@ -2,6 +2,7 @@ package cn.ezhizao.project.business.order.controller;
 
 import java.io.BufferedInputStream;
 import java.io.OutputStream;
+import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -12,9 +13,11 @@ import javax.servlet.http.HttpServletResponse;
 
 import cn.ezhizao.common.exception.ServiceException;
 import cn.ezhizao.common.utils.SecurityUtils;
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
 import cn.ezhizao.project.business.channel.domain.BizChannel;
 import cn.ezhizao.project.business.channel.service.IBizChannelService;
 import cn.ezhizao.project.business.company.domain.BizCompany;
+import cn.ezhizao.project.business.company.domain.BizCompanyImport;
 import cn.ezhizao.project.business.company.service.IBizCompanyService;
 import cn.ezhizao.project.business.order.domain.*;
 import cn.ezhizao.project.business.order.service.IBizArchiveInputDetailProcessService;
@@ -317,6 +320,14 @@ public class BizArchiveInputController extends BaseController {
     public AjaxResult importLoop(MultipartFile file) throws Exception {
         ExcelUtil<OrderExcelImportLoopModel> util = new ExcelUtil<>(OrderExcelImportLoopModel.class);
         List<OrderExcelImportLoopModel> orderList = util.importExcel(file.getInputStream());
+        // 获取 入Excel 表头字段
+        List<String> excelHeaders = util.readExcelHeaders(file.getInputStream());
+        //获取实体类字段
+        List<String> names=getExcelAnnotatedFields(OrderExcelImportLoopModel.class);
+        //如果不存在模板中的字段,返回错误
+        if (!names.containsAll(excelHeaders)) {
+            return error("导入数据与模板不匹配!");
+        }
         String message = bizArchiveInputService.importLoop(orderList, SecurityUtils.getUserId(), getTenantId() == null ? 0 : getTenantId());
         return success(message);
     }
@@ -324,12 +335,34 @@ public class BizArchiveInputController extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:archive:order:import')")
     @PostMapping("/importOnce")
     public AjaxResult importOnce(MultipartFile file) throws Exception {
+
         ExcelUtil<OrderExcelImportOnceModel> util = new ExcelUtil<>(OrderExcelImportOnceModel.class);
         List<OrderExcelImportOnceModel> orderList = util.importExcel(file.getInputStream());
+        // 获取 入Excel 表头字段
+        List<String> excelHeaders = util.readExcelHeaders(file.getInputStream());
+        //获取实体类字段
+        List<String> names=getExcelAnnotatedFields(OrderExcelImportOnceModel.class);
+        //如果不存在模板中的字段,返回错误
+        if (!names.containsAll(excelHeaders)) {
+            return error("导入数据与模板不匹配!");
+        }
         String message = bizArchiveInputService.importOnce(orderList, SecurityUtils.getUserId(), getTenantId() == null ? 0 : getTenantId());
         return success(message);
     }
 
+    public  List<String> getExcelAnnotatedFields(Class<?> clazz) {
+        Field[] fields = clazz.getDeclaredFields();
+        List<String> result = new ArrayList<>();
+        for (Field field : fields) {
+            if (field.isAnnotationPresent(Excel.class)) {
+                Excel excelAnnotation = field.getAnnotation(Excel.class);
+                String fieldName = excelAnnotation.name();
+                result.add(fieldName);
+            }
+        }
+        return result;
+    }
+
     @Log(title = "合同模板导出", businessType = BusinessType.EXPORT)
     @PreAuthorize("@ss.hasPermi('business:archive:order:export')")
     @PostMapping("/exportLoopTemplate")

+ 1 - 0
src/main/java/cn/ezhizao/project/business/order/service/impl/BizArchiveInputServiceImpl.java

@@ -282,6 +282,7 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
                         workOrder.setTaskTypeDetailId(v.getTaskTypeDetailId());
                         workOrder.setProvinceCode(l.getProvinceCode());
                         workOrder.setProvince(l.getProvince());
+                        workOrder.setIsContinue(0);
                         workOrder.setCityCode(l.getCityCode());
                         workOrder.setWorkOrderNo("workOrder_" + snowflakeIdWorker.nextId());
                         workOrder.setCompanyId(bizArchiveInput.getCompanyId());

+ 2 - 2
src/main/java/cn/ezhizao/project/business/recycleBin/domain/BizRecycleBin.java

@@ -51,8 +51,8 @@ public class BizRecycleBin extends BaseEntity
     private Integer isReturn;
 
     /** 合同编号 */
-    @Excel(name = "是否还原")
-    @ApiModelProperty(value = "是否还原")
+    @Excel(name = "合同编号")
+    @ApiModelProperty(value = "合同编号")
     private String archiveCode;
 
 }

+ 1 - 0
src/main/java/cn/ezhizao/project/business/workOrder/controller/BizWorkOrderController.java

@@ -242,6 +242,7 @@ public class BizWorkOrderController extends BaseController {
     /**
      * 首页查询工单信息列表
      */
+
     @GetMapping("/indexList")
     public TableDataInfo indexList(BizWorkOrder bizWorkOrder) throws NoSuchFieldException, IllegalAccessException {
         setTenantId(bizWorkOrder);

+ 1 - 1
src/main/java/cn/ezhizao/project/business/workOrder/domain/BizWorkOrder.java

@@ -96,7 +96,7 @@ public class BizWorkOrder extends BaseEntity {
 //    @Excel(name = "任务详情", sort = 6)
     private String taskTypeDetailName;
 
-    @Excel(name = "是否延续", sort = 6,readConverterExp = "1=是,2=否")
+    @Excel(name = "是否延续", sort = 6,readConverterExp = "0=否,1=是")
     @ApiModelProperty(value = "是否延续")
     private Integer isContinue;