ezhizao_zx il y a 1 an
Parent
commit
e0b2d77c88

+ 20 - 7
src/main/java/cn/ezhizao/project/business/salary/controller/BizFinancialSalaryZeroController.java

@@ -2,6 +2,7 @@ package cn.ezhizao.project.business.salary.controller;
 
 import cn.ezhizao.common.utils.SecurityUtils;
 import cn.ezhizao.common.utils.poi.ExcelUtil;
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
 import cn.ezhizao.framework.aspectj.lang.annotation.Log;
 import cn.ezhizao.framework.aspectj.lang.enums.BusinessType;
 import cn.ezhizao.framework.web.controller.BaseController;
@@ -11,6 +12,7 @@ import cn.ezhizao.project.business.finance.IndividualIncomeTaxIsZero.domain.BizF
 import cn.ezhizao.project.business.finance.IndividualIncomeTaxIsZero.domain.BizFinancialIndividualIncomeTaxIsZero;
 import cn.ezhizao.project.business.finance.IndividualIncomeTaxIsZero.service.IBizFinancialIndividualIncomeTaxDetailIsZeroService;
 import cn.ezhizao.project.business.finance.IndividualIncomeTaxIsZero.service.IBizFinancialIndividualIncomeTaxIsZeroService;
+import cn.ezhizao.project.business.housingFund.domain.BizHousingFundConfirmDetailEmployee;
 import cn.ezhizao.project.business.keepAccounts.domain.BizFinancialKeepAccount;
 import cn.ezhizao.project.business.keepAccounts.domain.BizFinancialKeepAccountDetail;
 import cn.ezhizao.project.business.keepAccounts.service.IBizFinancialKeepAccountDetailService;
@@ -107,14 +109,11 @@ public class BizFinancialSalaryZeroController extends BaseController {
 
         // 获取 入Excel 表头字段
         List<String> excelHeaders = util.readExcelHeaders(file.getInputStream());
-        // 获取实体类字段
-        Field[] entityFields = BizFinancialSalaryDetailEmployee.class.getDeclaredFields();
-        //获取导入表头
-        List<String> entityFieldNames = Arrays.stream(entityFields)
-                .map(Field::getName)
-                .collect(Collectors.toList());
+        //获取实体类字段
+        List<String> names=getExcelAnnotatedFields(BizHousingFundConfirmDetailEmployee.class);
+
         //如果不存在模板中的字段,返回错误
-        if (!excelHeaders.containsAll(entityFieldNames)) {
+        if (!excelHeaders.containsAll(names)) {
             return error("导入数据与模板不匹配!");
         }
 
@@ -122,6 +121,20 @@ public class BizFinancialSalaryZeroController extends BaseController {
         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;
+    }
+
+
     /**
      * 获取工资详细信息
      */