|
@@ -1,12 +1,17 @@
|
|
package cn.ezhizao.project.business.company.controller;
|
|
package cn.ezhizao.project.business.company.controller;
|
|
|
|
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
|
|
+import java.lang.reflect.Field;
|
|
import java.nio.charset.Charset;
|
|
import java.nio.charset.Charset;
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.Arrays;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.stream.Collectors;
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
import cn.ezhizao.common.utils.StringUtils;
|
|
import cn.ezhizao.common.utils.StringUtils;
|
|
|
|
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
|
|
import cn.ezhizao.project.business.channel.domain.BizChannel;
|
|
import cn.ezhizao.project.business.channel.domain.BizChannel;
|
|
import cn.ezhizao.project.business.channel.service.IBizChannelService;
|
|
import cn.ezhizao.project.business.channel.service.IBizChannelService;
|
|
import cn.ezhizao.project.business.company.domain.DictRegion;
|
|
import cn.ezhizao.project.business.company.domain.DictRegion;
|
|
@@ -17,6 +22,8 @@ import cn.ezhizao.project.business.companyContactor.domain.BizCompanyContactor;
|
|
import cn.ezhizao.project.business.companyContactor.service.IBizCompanyContactorService;
|
|
import cn.ezhizao.project.business.companyContactor.service.IBizCompanyContactorService;
|
|
import cn.ezhizao.project.business.companyFollow.domain.BizCompanyFollowDetail;
|
|
import cn.ezhizao.project.business.companyFollow.domain.BizCompanyFollowDetail;
|
|
import cn.ezhizao.project.business.companyFollow.service.IBizCompanyFollowDetailService;
|
|
import cn.ezhizao.project.business.companyFollow.service.IBizCompanyFollowDetailService;
|
|
|
|
+import cn.ezhizao.project.business.housingFund.domain.BizHousingFundConfirmDetailEmployee;
|
|
|
|
+import cn.ezhizao.project.business.socialSecurity.domain.BizSocialSecurityConfirmDetailEmployee;
|
|
import cn.ezhizao.project.system.domain.SysUser;
|
|
import cn.ezhizao.project.system.domain.SysUser;
|
|
import cn.ezhizao.project.system.service.ISysUserService;
|
|
import cn.ezhizao.project.system.service.ISysUserService;
|
|
import com.alibaba.fastjson2.JSONArray;
|
|
import com.alibaba.fastjson2.JSONArray;
|
|
@@ -103,10 +110,31 @@ public class BizCompanyController extends BaseController
|
|
ExcelUtil<BizCompany> util = new ExcelUtil<>(BizCompany.class);
|
|
ExcelUtil<BizCompany> util = new ExcelUtil<>(BizCompany.class);
|
|
List<BizCompany> companyList = util.importExcel(file.getInputStream());
|
|
List<BizCompany> companyList = util.importExcel(file.getInputStream());
|
|
String operName = getUsername();
|
|
String operName = getUsername();
|
|
|
|
+ // 获取 入Excel 表头字段
|
|
|
|
+ List<String> excelHeaders = util.readExcelHeaders(file.getInputStream());
|
|
|
|
+ //获取实体类字段
|
|
|
|
+ List<String> names=getExcelAnnotatedFields(BizCompany.class);
|
|
|
|
+ //如果不存在模板中的字段,返回错误
|
|
|
|
+ if (!excelHeaders.containsAll(names)) {
|
|
|
|
+ return error("导入数据与模板不匹配!");
|
|
|
|
+ }
|
|
String message = bizCompanyService.importCompany(companyList, operName, getTenantId() == null ? 0 : getTenantId());
|
|
String message = bizCompanyService.importCompany(companyList, operName, getTenantId() == null ? 0 : getTenantId());
|
|
return success(message);
|
|
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;
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 获取company详细信息
|
|
* 获取company详细信息
|
|
*/
|
|
*/
|