Commit 858c3a71 authored by hongguangwu's avatar hongguangwu

MVP1.7.0 优化

parent 0402419e
......@@ -19,6 +19,9 @@ package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants;
import lombok.Data;
/**
......@@ -33,139 +36,151 @@ public class TMainExportAllVO {
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@ExcelAttribute(name ="ID")
private String mainId;
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value = "信息是否完整")
@ExcelAttribute(needExport = true, name ="信息是否完整")
private String field1;
@ExcelProperty(value = "进项目时间")
@ExcelAttribute(needExport = true, name ="进项目时间")
private String field2;
@ExcelProperty(value = "员工主码")
@ExcelAttribute(needExport = true, name ="员工主码")
private String field3;
@ExcelProperty(value = "员工类型")
@ExcelAttribute(needExport = true, name ="员工类型", isDataId = true, dataType = ExcelAttributeConstants.EMP_NATRUE)
private String field4;
@ExcelProperty(value = "员工姓名")
@ExcelAttribute(needExport = true, name ="员工姓名")
private String field5;
@ExcelProperty(value = "身份证号")
@ExcelAttribute(needExport = true, name ="身份证号")
private String field6;
@ExcelProperty(value = "性别")
@ExcelAttribute(needExport = true, name ="性别")
private String field7;
@ExcelProperty(value = "身份证期限")
@ExcelAttribute(needExport = true, name ="身份证期限")
private String field8;
@ExcelProperty(value = "身份证开始日期")
@ExcelAttribute(needExport = true, name ="身份证开始日期")
private String field9;
@ExcelProperty(value = "身份证截止日期")
@ExcelAttribute(needExport = true, name ="身份证截止日期")
private String field10;
@ExcelProperty(value = "出生日期")
@ExcelAttribute(needExport = true, name ="出生日期")
private String field11;
@ExcelProperty(value = "年龄")
@ExcelAttribute(needExport = true, name ="年龄")
private String field12;
@ExcelProperty(value = "婚姻状况")
@ExcelAttribute(needExport = true, name ="婚姻状况", isDataId = true, dataType = ExcelAttributeConstants.EMP_MARRIED)
private String field13;
@ExcelProperty(value = "民族")
@ExcelAttribute(needExport = true, name ="民族", isDataId = true, dataType = ExcelAttributeConstants.EMP_NATIONAL)
private String field14;
@ExcelProperty(value = "政治面貌")
@ExcelAttribute(needExport = true, name ="政治面貌", isDataId = true, dataType = ExcelAttributeConstants.EMP_POLITICAL)
private String field15;
@ExcelProperty(value = "手机号码")
@ExcelAttribute(needExport = true, name ="手机号码")
private String field16;
@ExcelProperty(value = "邮箱")
@ExcelAttribute(needExport = true, name ="邮箱")
private String field17;
@ExcelProperty(value = "户籍所在地")
@ExcelAttribute(needExport = true, name = "户籍所在地-省", isArea = true)
private String field18;
@ExcelProperty(value = "户口性质")
@ExcelAttribute(needExport = true, name = "户籍所在地-市", isArea = true, parentField = "field18")
private String field69;
@ExcelAttribute(needExport = true, name = "户籍所在地-区/县", isArea = true, parentField = "field69")
private String field70;
@ExcelAttribute(needExport = true, name ="户口性质")
private String field19;
@ExcelProperty(value = "档案所在地")
@ExcelAttribute(needExport = true, name = "档案所在地-省", isArea = true)
private String field20;
@ExcelProperty(value = "档案状态")
@ExcelAttribute(needExport = true, name = "档案所在地-市", isArea = true, parentField = "field20")
private String field71;
@ExcelAttribute(needExport = true, name = "档案所在地-区/县", isArea = true, parentField = "field71")
private String field72;
@ExcelAttribute(needExport = true, name ="档案状态")
private String field21;
@ExcelProperty(value = "通信地址")
@ExcelAttribute(needExport = true, name ="通信地址")
private String field22;
@ExcelProperty(value = "客户名称")
@ExcelAttribute(needExport = true, name ="客户名称")
private String field23;
@ExcelProperty(value = "项目名称")
@ExcelAttribute(needExport = true, name ="项目名称")
private String field24;
@ExcelProperty(value = "业务类型")
@ExcelAttribute(needExport = true, name ="业务类型")
private String field25;
@ExcelProperty(value = "合同类型")
@ExcelAttribute(needExport = true, name = "合同类型", isDataId = true, dataType = ExcelAttributeConstants.PERSONNEL_TYPE)
private String field26;
@ExcelProperty(value = "工时制")
@ExcelAttribute(needExport = true, name = "工时制", isDataId = true, dataType = ExcelAttributeConstants.WORKING_HOURS)
private String field27;
@ExcelProperty(value = "就职岗位")
@ExcelAttribute(needExport = true, name ="就职岗位")
private String field28;
@ExcelProperty(value = "入职日期")
@ExcelAttribute(needExport = true, name ="入职日期")
private String field29;
@ExcelProperty(value = "试用期")
@ExcelAttribute(needExport = true, name ="试用期")
private String field30;
@ExcelProperty(value = "标签")
@ExcelAttribute(needExport = true, name ="标签")
private String field31;
@ExcelProperty(value = "姓名")
@ExcelAttribute(needExport = true, name ="姓名")
private String field32;
@ExcelProperty(value = "与本人关系")
@ExcelAttribute(needExport = true, name ="与本人关系")
private String field33;
@ExcelProperty(value = "联系地址")
@ExcelAttribute(needExport = true, name ="联系地址")
private String field34;
@ExcelProperty(value = "联系电话")
@ExcelAttribute(needExport = true, name ="联系电话")
private String field35;
@ExcelProperty(value = "学校")
@ExcelAttribute(needExport = true, name ="学校")
private String field36;
@ExcelProperty(value = "专业")
@ExcelAttribute(needExport = true, name ="专业")
private String field37;
@ExcelProperty(value = "学历")
@ExcelAttribute(needExport = true, name = "学历", isDataId = true, dataType = ExcelAttributeConstants.EDUCATION)
private String field38;
@ExcelProperty(value = "是否大专及以上")
@ExcelAttribute(needExport = true, name = "是否大专及以上")
private String field39;
@ExcelProperty(value = "最高学历")
@ExcelAttribute(needExport = true, name = "最高学历", isDataId = true, dataType = ExcelAttributeConstants.EDUCATION)
private String field40;
@ExcelProperty(value = "入学时间")
@ExcelAttribute(needExport = true, name ="入学时间")
private String field41;
@ExcelProperty(value = "毕业时间")
@ExcelAttribute(needExport = true, name ="毕业时间")
private String field42;
// 1主要工作经历
@ExcelProperty(value = "是否为首份工作")
@ExcelAttribute(needExport = true, name ="是否为首份工作")
private String field43;
@ExcelProperty(value = "工作单位")
@ExcelAttribute(needExport = true, name ="工作单位")
private String field44;
@ExcelProperty(value = "工作岗位")
@ExcelAttribute(needExport = true, name ="工作岗位")
private String field45;
@ExcelProperty(value = "开始工作日期")
@ExcelAttribute(needExport = true, name ="开始工作日期")
private String field46;
@ExcelProperty(value = "结束工作日期")
@ExcelAttribute(needExport = true, name ="结束工作日期")
private String field47;
// 2主要家庭成员信息
@ExcelProperty(value = "成员姓名")
@ExcelAttribute(needExport = true, name ="成员姓名")
private String field48;
@ExcelProperty(value = "与本人关系")
@ExcelAttribute(needExport = true, name = "家庭与本人关系", isDataId = true,dataType = ExcelAttributeConstants.FAMILY_RELATION)
private String field49;
@ExcelProperty(value = "手机号码")
@ExcelAttribute(needExport = true, name ="手机号码")
private String field50;
// 3职业资格信息
@ExcelProperty(value = "是否有职业资格证书")
@ExcelAttribute(needExport = true, name ="是否有职业资格证书")
private String field51;
@ExcelProperty(value = "申报年度")
@ExcelAttribute(needExport = true, name ="申报年度")
private String field52;
@ExcelProperty(value = "职业资格名称")
@ExcelAttribute(needExport = true, name = "职业资格名称", isDataId = true, dataType = ExcelAttributeConstants.QUALIFICATION_TYPE)
private String field53;
@ExcelProperty(value = "是否曾被认定为工伤")
@ExcelAttribute(needExport = true, name ="是否曾被认定为工伤")
private String field54;
@ExcelProperty(value = "是否有职业病")
@ExcelAttribute(needExport = true, name ="是否有职业病")
private String field55;
@ExcelProperty(value = "职业病名称")
@ExcelAttribute(needExport = true, name ="职业病名称")
private String field56;
@ExcelProperty(value = "是否有传染性疾病")
@ExcelAttribute(needExport = true, name ="是否有传染性疾病")
private String field57;
@ExcelProperty(value = "传染病名称")
@ExcelAttribute(needExport = true, name ="传染病名称")
private String field58;
@ExcelProperty(value = "是否持有残疾人证明")
@ExcelAttribute(needExport = true, name ="是否持有残疾人证明")
private String field59;
@ExcelProperty(value = "伤残病名称")
@ExcelAttribute(needExport = true, name ="伤残病名称")
private String field60;
@ExcelProperty(value = "伤残等级")
@ExcelAttribute(needExport = true, name = "伤残等级", isDataId = true, dataType = ExcelAttributeConstants.DISABILITY_GRADE)
private String field61;
@ExcelProperty(value = "是否从事过井下、高空、高温、特别繁重体力劳动以及有毒有害工种")
@ExcelAttribute(needExport = true, name ="是否从事过井下、高空、高温、特别繁重体力劳动以及有毒有害工种")
private String field62;
@ExcelProperty(value = "不良记录描述")
@ExcelAttribute(needExport = true, name ="不良记录描述")
private String field63;
......
......@@ -93,6 +93,13 @@ public interface TCompleteMonitorMapper extends BaseMapper<TCompleteMonitor> {
int getTEmpMainAllCount(@Param("tCompleteMonitor") TCompleteMonitor tCompleteMonitor);
// 导出详情使用 hgw 2024-6-26 11:05:41
List<TMainExportAllVO> getTEmpMainAllList(@Param("tCompleteMonitor") TCompleteMonitor tCompleteMonitor);
List<TMainExportAllVO> getTEmpMainAllListByContract(@Param("tCompleteMonitor") TCompleteMonitor tCompleteMonitor);
List<TMainExportAllVO> getTEmpMainAllListByEducation(@Param("tCompleteMonitor") TCompleteMonitor tCompleteMonitor);
List<TMainExportAllVO> getTEmpMainAllListByBad(@Param("tCompleteMonitor") TCompleteMonitor tCompleteMonitor);
List<TMainExportAllVO> getTEmpMainAllListByDisability(@Param("tCompleteMonitor") TCompleteMonitor tCompleteMonitor);
List<TMainExportAllVO> getTEmpMainAllListByWork(@Param("tCompleteMonitor") TCompleteMonitor tCompleteMonitor);
List<TMainExportAllVO> getTEmpMainAllListByFamily(@Param("tCompleteMonitor") TCompleteMonitor tCompleteMonitor);
List<TMainExportAllVO> getTEmpMainAllListByProfessional(@Param("tCompleteMonitor") TCompleteMonitor tCompleteMonitor);
// 导出详情使用 hgw 2024-6-26 11:05:41
int getTEmpMainAllCountOneWork(@Param("tCompleteMonitor") TCompleteMonitor tCompleteMonitor);
......
......@@ -9,13 +9,17 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.*;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TArchivesExportLimitMapper;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TCompleteMonitorMapper;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeProjectMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.*;
import com.yifu.cloud.plus.v1.yifu.archives.utils.ExcelStyle;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.compress.utils.Lists;
......@@ -27,9 +31,8 @@ import java.io.IOException;
import java.lang.reflect.Field;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.time.LocalDateTime;
import java.util.*;
/**
* 档案完整度监控
......@@ -66,6 +69,8 @@ public class TCompleteMonitorServiceImpl extends ServiceImpl<TCompleteMonitorMap
// 附件21(预入职申明签名);22(预入职确认签名);23(预入职pdf文件)
private final TAttaInfoService tAttaInfoService;
private final TArchivesExportLimitMapper tArchivesExportLimitMapper;
private final OSSUtil ossUtil;
/**
......@@ -243,6 +248,19 @@ public class TCompleteMonitorServiceImpl extends ServiceImpl<TCompleteMonitorMap
return false;
}
private Set<String> getExportFieldNameDetailByClass(Class<?> clazz) {
Set<String> exportfieldsName = new HashSet<>();
Field[] fields = clazz.getDeclaredFields();
ExcelAttribute annotation;
for (Field field : fields) {
annotation = field.getAnnotation(ExcelAttribute.class);
if (annotation != null && Common.isNotNull(annotation.name()) && annotation.needExport()) {
exportfieldsName.add(field.getName());
}
}
return exportfieldsName;
}
/**
* 预入职导出全量
*
......@@ -250,187 +268,339 @@ public class TCompleteMonitorServiceImpl extends ServiceImpl<TCompleteMonitorMap
*/
@Override
public void exportAll(HttpServletResponse response, TCompleteMonitorSearchVo searchVo) {
String name = "档案完整度监控详情";
String fileName = name + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TMainExportAllVO> list = Lists.newArrayList();
long count = baseMapper.getTEmpMainAllCount(searchVo);
ServletOutputStream out = null;
try {
out = response.getOutputStream();
response.setContentType(CommonConstants.MULTIPART_FORM_DATA);
response.setCharacterEncoding("utf-8");
response.setHeader(CommonConstants.CONTENT_DISPOSITION, CommonConstants.ATTACHMENT_FILENAME + URLEncoder.encode(fileName, CommonConstants.UTF8));
ExcelWriter excelWriter = null;
if (count > CommonConstants.EXCEL_EXPORT_LIMIT) {
List<List<String>> strList = new ArrayList<>();
strList.add(this.getNewArrayList(new String[]{"数据超过6万条,请联系管理员后端导出!"}));
List<List<String>> headList = Lists.newArrayList();
headList.add(this.getNewArrayList(new String[]{"提示"}));
EasyExcelFactory.write(out).head(headList).sheet("数据超限").doWrite(strList);
} else {
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
List<List<String>> headList = Lists.newArrayList();
headList.add(this.getNewArrayList(new String[]{"信息是否完整", "信息是否完整"}));
headList.add(this.getNewArrayList(new String[]{"进项目时间", "进项目时间"}));
String oneTitle = "员工基本信息";
headList.add(this.getNewArrayList(new String[]{oneTitle, "员工主码"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "员工类型"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "员工姓名"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "身份证号"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "性别"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "身份证期限"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "身份证开始日期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "身份证截止日期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "出生日期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "年龄"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "婚姻状况"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "民族"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "政治面貌"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "手机号码"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "邮箱"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "户籍所在地"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "户口性质"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "档案所在地"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "档案状态"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "通信地址"}));
oneTitle = "在项信息";
headList.add(this.getNewArrayList(new String[]{oneTitle, "客户名称"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "项目名称"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "业务类型"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "合同类型"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "工时制"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "就职岗位"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "入职日期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "试用期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "标签"}));
oneTitle = "紧急联络人";
headList.add(this.getNewArrayList(new String[]{oneTitle, "姓名"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "与本人关系"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "联系地址"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "联系电话"}));
oneTitle = "最高教育经历";
headList.add(this.getNewArrayList(new String[]{oneTitle, "学校"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "专业"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "学历"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否大专及以上"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "最高学历"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "入学时间"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "毕业时间"}));
oneTitle = "主要工作经历";
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否为首份工作"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "工作单位"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "工作岗位"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "开始工作日期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "结束工作日期"}));
oneTitle = "主要家庭成员信息";
headList.add(this.getNewArrayList(new String[]{oneTitle, "成员姓名"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "与本人关系"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "手机号码"}));
oneTitle = "职业资格信息";
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否有职业资格证书"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "申报年度"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "职业资格名称"}));
oneTitle = "伤残信息";
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否曾被认定为工伤"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否有职业病"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "职业病名称"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否有传染性疾病"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "传染病名称"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否持有残疾人证明"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "伤残病名称"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "伤残等级"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否从事过井下、高空、高温、特别繁重体力劳动以及有毒有害工种"}));
oneTitle = "不良记录";
headList.add(this.getNewArrayList(new String[]{oneTitle, "不良记录描述"}));
excelWriter = EasyExcelFactory.write(out).registerWriteHandler(ExcelStyle.getNormalStype()).head(headList).build();
YifuUser user = SecurityUtils.getUser();
if (user != null) {
TArchivesExportLimit exportLimit = new TArchivesExportLimit();
exportLimit.setCreateBy(user.getId());
exportLimit.setType(CommonConstants.TWO_INT);
List<TArchivesExportLimit> limitList = tArchivesExportLimitMapper.getLimitList(exportLimit);
String name = "档案完整度监控详情";
String fileName = name + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TMainExportAllVO> list = Lists.newArrayList();
long count = baseMapper.getTEmpMainAllCount(searchVo);
ServletOutputStream out = null;
try {
out = response.getOutputStream();
response.setContentType(CommonConstants.MULTIPART_FORM_DATA);
response.setCharacterEncoding("utf-8");
response.setHeader(CommonConstants.CONTENT_DISPOSITION, CommonConstants.ATTACHMENT_FILENAME + URLEncoder.encode(fileName, CommonConstants.UTF8));
ExcelWriter excelWriter = null;
if (count > CommonConstants.EXCEL_EXPORT_LIMIT) {
List<List<String>> strList = new ArrayList<>();
strList.add(this.getNewArrayList(new String[]{"数据超过6万条,请联系管理员后端导出!"}));
List<List<String>> headList = Lists.newArrayList();
headList.add(this.getNewArrayList(new String[]{"提示"}));
EasyExcelFactory.write(out).head(headList).sheet("数据超限").doWrite(strList);
} else if (limitList != null && limitList.size() > 2) {
List<List<String>> strList = new ArrayList<>();
strList.add(this.getNewArrayList(new String[]{"多人正在导出,请耐心等待10分钟后再导出!"}));
List<List<String>> headList = Lists.newArrayList();
headList.add(this.getNewArrayList(new String[]{"提示"}));
EasyExcelFactory.write(out).head(headList).sheet("多人正在导出").doWrite(strList);
} else {
exportLimit.setDeleteFlag(CommonConstants.ZERO_INT);
exportLimit.setCreateName(user.getNickname());
exportLimit.setCreateTime(LocalDateTime.now());
tArchivesExportLimitMapper.insert(exportLimit);
int index = 0;
if (count > CommonConstants.ZERO_INT) {
for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = baseMapper.getTEmpMainAllList(searchVo);
if (Common.isNotNull(list)) {
ExcelWriterSheetBuilder writeSheet = EasyExcelFactory.writerSheet(name + index);
excelWriter.write(list, writeSheet.build());
index++;
}
if (Common.isNotNull(list)) {
list.clear();
}
}
// 1工作经历
count = baseMapper.getTEmpMainAllCountOneWork(searchVo);
for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = baseMapper.getTEmpMainAllListOneWork(searchVo);
if (Common.isNotNull(list)) {
ExcelWriterSheetBuilder writeSheet = EasyExcelFactory.writerSheet("工作经历" + index);
excelWriter.write(list, writeSheet.build());
index++;
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
List<List<String>> headList = Lists.newArrayList();
headList.add(this.getNewArrayList(new String[]{"信息是否完整", "信息是否完整"}));
headList.add(this.getNewArrayList(new String[]{"进项目时间", "进项目时间"}));
String oneTitle = "员工基本信息";
headList.add(this.getNewArrayList(new String[]{oneTitle, "员工主码"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "员工类型"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "员工姓名"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "身份证号"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "性别"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "身份证期限"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "身份证开始日期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "身份证截止日期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "出生日期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "年龄"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "婚姻状况"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "民族"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "政治面貌"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "手机号码"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "邮箱"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "户籍所在地-省"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "户籍所在地-市"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "户籍所在地-区/县"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "户口性质"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "档案所在地-省"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "档案所在地-市"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "档案所在地-区/县"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "档案状态"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "通信地址"}));
oneTitle = "在项信息";
headList.add(this.getNewArrayList(new String[]{oneTitle, "客户名称"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "项目名称"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "业务类型"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "合同类型"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "工时制"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "就职岗位"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "入职日期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "试用期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "标签"}));
oneTitle = "紧急联络人";
headList.add(this.getNewArrayList(new String[]{oneTitle, "姓名"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "与本人关系"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "联系地址"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "联系电话"}));
oneTitle = "最高教育经历";
headList.add(this.getNewArrayList(new String[]{oneTitle, "学校"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "专业"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "学历"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否大专及以上"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "最高学历"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "入学时间"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "毕业时间"}));
oneTitle = "主要工作经历";
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否为首份工作"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "工作单位"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "工作岗位"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "开始工作日期"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "结束工作日期"}));
oneTitle = "主要家庭成员信息";
headList.add(this.getNewArrayList(new String[]{oneTitle, "成员姓名"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "与本人关系"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "手机号码"}));
oneTitle = "职业资格信息";
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否有职业资格证书"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "申报年度"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "职业资格名称"}));
oneTitle = "伤残信息";
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否曾被认定为工伤"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否有职业病"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "职业病名称"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否有传染性疾病"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "传染病名称"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否持有残疾人证明"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "伤残病名称"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "伤残等级"}));
headList.add(this.getNewArrayList(new String[]{oneTitle, "是否从事过井下、高空、高温、特别繁重体力劳动以及有毒有害工种"}));
oneTitle = "不良记录";
headList.add(this.getNewArrayList(new String[]{oneTitle, "不良记录描述"}));
excelWriter = EasyExcelFactory.write(out).registerWriteHandler(ExcelStyle.getNormalStype()).head(headList).build();
int index = 1;
if (count > CommonConstants.ZERO_INT) {
ExcelUtil<TMainExportAllVO> util = new ExcelUtil<>(TMainExportAllVO.class);
int limitNum = 10000;
ExcelWriterSheetBuilder writeSheet;
List<TMainExportAllVO> listWork;
Map<String, TMainExportAllVO> mapWork;
List<TMainExportAllVO> listContract;
Map<String, TMainExportAllVO> mapContract;
List<TMainExportAllVO> listEducation;
Map<String, TMainExportAllVO> mapEducation;
List<TMainExportAllVO> listBad;
Map<String, TMainExportAllVO> mapBad;
List<TMainExportAllVO> listDisability;
Map<String, TMainExportAllVO> mapDisability;
List<TMainExportAllVO> listFamily;
Map<String, TMainExportAllVO> mapFamily;
List<TMainExportAllVO> listProfessional;
Map<String, TMainExportAllVO> mapProfessional;
TMainExportAllVO temp;
Set<String> titleContent = getExportFieldNameDetailByClass(TMainExportAllVO.class);
for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = baseMapper.getTEmpMainAllList(searchVo);
listContract = baseMapper.getTEmpMainAllListByContract(searchVo);
listEducation = baseMapper.getTEmpMainAllListByEducation(searchVo);
listBad = baseMapper.getTEmpMainAllListByBad(searchVo);
listDisability = baseMapper.getTEmpMainAllListByDisability(searchVo);
listWork = baseMapper.getTEmpMainAllListByWork(searchVo);
listFamily = baseMapper.getTEmpMainAllListByFamily(searchVo);
listProfessional = baseMapper.getTEmpMainAllListByProfessional(searchVo);
mapContract = new HashMap<>();
mapEducation = new HashMap<>();
mapBad = new HashMap<>();
mapDisability = new HashMap<>();
mapWork = new HashMap<>();
mapFamily = new HashMap<>();
mapProfessional = new HashMap<>();
if (listContract != null && !listContract.isEmpty()) {
for (TMainExportAllVO vo : listContract) {
mapContract.putIfAbsent(vo.getMainId(), vo);
}
}
if (listEducation != null && !listEducation.isEmpty()) {
for (TMainExportAllVO vo : listEducation) {
mapEducation.putIfAbsent(vo.getMainId(), vo);
}
}
if (listBad != null && !listBad.isEmpty()) {
for (TMainExportAllVO vo : listBad) {
mapEducation.putIfAbsent(vo.getMainId(), vo);
}
}
if (listDisability != null && !listDisability.isEmpty()) {
for (TMainExportAllVO vo : listDisability) {
mapDisability.putIfAbsent(vo.getMainId(), vo);
}
}
if (listWork != null && !listWork.isEmpty()) {
for (TMainExportAllVO vo : listWork) {
mapWork.putIfAbsent(vo.getMainId(), vo);
}
}
if (listFamily != null && !listFamily.isEmpty()) {
for (TMainExportAllVO vo : listFamily) {
mapFamily.putIfAbsent(vo.getMainId(), vo);
}
}
if (listProfessional != null && !listProfessional.isEmpty()) {
for (TMainExportAllVO vo : listProfessional) {
mapProfessional.putIfAbsent(vo.getMainId(), vo);
}
}
if (Common.isNotNull(list)) {
for (TMainExportAllVO vo : list) {
temp = mapContract.get(vo.getMainId());
if (temp != null) {
vo.setField26(temp.getField26());
vo.setField27(temp.getField27());
vo.setField28(temp.getField28());
vo.setField29(temp.getField29());
vo.setField30(temp.getField30());
}
temp = mapEducation.get(vo.getMainId());
if (temp != null) {
vo.setField36(temp.getField36());
vo.setField37(temp.getField37());
vo.setField38(temp.getField38());
vo.setField41(temp.getField41());
vo.setField42(temp.getField42());
}
temp = mapBad.get(vo.getMainId());
if (temp != null) {
vo.setField63(temp.getField63());
}
temp = mapDisability.get(vo.getMainId());
if (temp != null) {
vo.setField54(temp.getField54());
vo.setField55(temp.getField55());
vo.setField56(temp.getField56());
vo.setField57(temp.getField57());
vo.setField58(temp.getField58());
vo.setField59(temp.getField59());
vo.setField60(temp.getField60());
vo.setField61(temp.getField61());
vo.setField62(temp.getField62());
}
temp = mapWork.get(vo.getMainId());
if (temp != null) {
vo.setField44(temp.getField44());
vo.setField45(temp.getField45());
vo.setField46(temp.getField46());
vo.setField47(temp.getField47());
}
temp = mapFamily.get(vo.getMainId());
if (temp != null) {
vo.setField48(temp.getField48());
vo.setField49(temp.getField49());
vo.setField50(temp.getField50());
}
temp = mapProfessional.get(vo.getMainId());
if (temp != null) {
vo.setField52(temp.getField52());
vo.setField53(temp.getField53());
}
util.convertEntity(vo, null, null, null);
}
writeSheet = EasyExcelFactory.writerSheet(name + index).includeColumnFieldNames(titleContent);
excelWriter.write(list, writeSheet.build());
index++;
}
if (Common.isNotNull(list)) {
list.clear();
}
}
if (Common.isNotNull(list)) {
list.clear();
// 1工作经历
index = 1;
count = baseMapper.getTEmpMainAllCountOneWork(searchVo);
for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = baseMapper.getTEmpMainAllListOneWork(searchVo);
if (Common.isNotNull(list)) {
writeSheet = EasyExcelFactory.writerSheet("工作经历" + index);
excelWriter.write(list, writeSheet.build());
index++;
}
if (Common.isNotNull(list)) {
list.clear();
}
}
}
// 2家庭成员
count = baseMapper.getTEmpMainAllCountTwoFamily(searchVo);
for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = baseMapper.getTEmpMainAllListTwoFamily(searchVo);
if (Common.isNotNull(list)) {
ExcelWriterSheetBuilder writeSheet = EasyExcelFactory.writerSheet("家庭成员" + index);
excelWriter.write(list, writeSheet.build());
index++;
// 2家庭成员
index = 1;
count = baseMapper.getTEmpMainAllCountTwoFamily(searchVo);
for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = baseMapper.getTEmpMainAllListTwoFamily(searchVo);
if (Common.isNotNull(list)) {
writeSheet = EasyExcelFactory.writerSheet("家庭成员" + index);
excelWriter.write(list, writeSheet.build());
index++;
}
if (Common.isNotNull(list)) {
list.clear();
}
}
if (Common.isNotNull(list)) {
list.clear();
// 3职业资格
index = 1;
count = baseMapper.getTEmpMainAllCountThreeProfessional(searchVo);
for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = baseMapper.getTEmpMainAllListThreeProfessional(searchVo);
if (Common.isNotNull(list)) {
writeSheet = EasyExcelFactory.writerSheet("职业资格" + index);
excelWriter.write(list, writeSheet.build());
index++;
}
if (Common.isNotNull(list)) {
list.clear();
}
}
} else {
WriteSheet writeSheet = EasyExcelFactory.writerSheet(name + index).build();
excelWriter.write(list, writeSheet);
}
// 3职业资格
count = baseMapper.getTEmpMainAllCountThreeProfessional(searchVo);
for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = baseMapper.getTEmpMainAllListThreeProfessional(searchVo);
if (Common.isNotNull(list)) {
ExcelWriterSheetBuilder writeSheet = EasyExcelFactory.writerSheet("职业资格" + index);
excelWriter.write(list, writeSheet.build());
index++;
}
if (Common.isNotNull(list)) {
list.clear();
}
if (Common.isNotNull(list)) {
list.clear();
}
} else {
WriteSheet writeSheet = EasyExcelFactory.writerSheet(name + index).build();
excelWriter.write(list, writeSheet);
}
if (Common.isNotNull(list)) {
list.clear();
out.flush();
if (excelWriter != null) {
excelWriter.finish();
}
}
out.flush();
if (excelWriter != null) {
excelWriter.finish();
}
} catch (Exception e) {
log.error("执行异常", e);
} finally {
try {
if (null != out) {
out.close();
}
} catch (IOException e) {
} catch (Exception e) {
log.error("执行异常", e);
} finally {
try {
// 结束后将状态更新为已导出
exportLimit.setDeleteFlag(CommonConstants.ONE_INT);
exportLimit.setUpdateBy(user.getNickname());
exportLimit.setUpdateTime(LocalDateTime.now());
tArchivesExportLimitMapper.updateById(exportLimit);
if (null != out) {
out.close();
}
} catch (IOException e) {
log.error("执行异常", e);
}
}
}
}
......
......@@ -2984,14 +2984,6 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
if (Common.isNotNull(detail.getEmpPhone())) {
mobileList.add(detail.getEmpPhone());
}
// 手机号码(紧急联系人)
if (Common.isNotNull(detail.getTel())) {
mobileList.add(detail.getTel());
}
// 手机号码(家庭成员)
if (Common.isNotNull(detail.getContractTel())) {
mobileList.add(detail.getContractTel());
}
}
StringBuilder errorInfo = new StringBuilder();
if (errorMust.length() > 0) {
......@@ -3001,7 +2993,7 @@ public class TPreEmpMainServiceImpl extends ServiceImpl<TPreEmpMainMapper, TPreE
errorInfo.append("格式不正确:").append(errorFormat);
}
detail.setErrorInfo(errorInfo.toString());
if (curVo != null) {
if (curVo != null || Common.isNotNull(errorInfo)) {
detail.setIsMain(false);
} else {
detail.setIsMain(true);
......
......@@ -338,32 +338,36 @@
<!--导出统计list-->
<select id="getTEmpMainAllList" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TMainExportAllVO">
SELECT
if(p.IS_COMPLETE=0,'是','否') field1
,DATE_FORMAT(p.create_time,'%Y-%m-%d') field2,e.EMP_CODE field3,emp_natrue.label field4,e.emp_name field5,e.emp_idcard field6
p.EMP_ID mainId,if(p.IS_COMPLETE=0,'是','否') field1
,DATE_FORMAT(p.create_time,'%Y-%m-%d') field2,e.EMP_CODE field3,e.EMP_NATRUE field4,e.emp_name field5,e.emp_idcard field6
,if(e.EMP_SEX='2','女',if(e.EMP_SEX='1','男','-')) field7
,if(e.VALIDITY_END is null,'-',if(e.VALIDITY_END > '2999-12-30','长期','固定')) field8 ,e.VALIDITY_START field9
,if(e.VALIDITY_END > '2999-12-30','长期',e.VALIDITY_END) field10,e.EMP_BIRTHDAY field11,e.EMP_AGE field12 ,emp_married.label field13,nation.label field14
,politicalStatus.label field15,e.EMP_PHONE field16,e.EMP_EMAIL field17
,concat(ifnull(pi.AREA_NAME,''),ifnull(ci.AREA_NAME,''),ifnull(ti.AREA_NAME,'')) field18 ,registype.label field19
,concat(ifnull(pf.AREA_NAME,''),ifnull(cf.AREA_NAME,''),ifnull(tf.AREA_NAME,'')) field20 ,if(e.status=0,'草稿','已审核') field21
,if(e.VALIDITY_END > '2999-12-30','长期',e.VALIDITY_END) field10,e.EMP_BIRTHDAY field11,e.EMP_AGE field12,e.EMP_MARRI_STATUS field13,e.EMP_NATIONAL field14
,e.POLITICAL_STATUS field15,e.EMP_PHONE field16,e.EMP_EMAIL field17
,e.ID_PROVINCE field18,e.ID_CITY field69,e.ID_TOWN field70,e.ID_PROVINCE field18,e.EMP_REGIS_TYPE field19
,e.FILE_PROVINCE field20,e.FILE_CITY field71,e.FILE_TOWN field72,if(e.status=0,'草稿','已审核') field21
,e.CONTACT_ADDRESS field22,p.UNIT_NAME field23,p.DEPT_NAME field24
,concat(p.BUSINESS_PRIMARY_TYPE,'-',ifnull(p.BUSINESS_SECOND_TYPE,''),'-',ifnull(p.BUSINESS_THIRD_TYPE,'')) field25
,eci.contract_name field26 ,workingHours.label field27,eci.POST field28,eci.CONTRACT_START field29
,eci.TRY_PERIOD field30,p.EMP_LABEL field31
/*,eci.contract_name field26 ,workingHours.label field27,eci.POST field28,eci.CONTRACT_START field29
,eci.TRY_PERIOD field30*/
,p.EMP_LABEL field31
,ec.EMP_NAME field32,ec.RELATION_TYPE field33,ec.ADDRESS field34,ec.TEL field35
,ee.SCHOOL field36,ee.MAJOR field37,education.label field38,if(e.IS_COLLEGE=0,'否','是') field39
,educationEmp.label field40 ,ee.ENTRY_DATE field41,ee.GRADUTION_DATE field42
,if(e.IS_COLLEGE=0,'否','是') field39
,e.HIGN_EDUCATION field40
,if(e.FIRST_WORK_FLAG is null,'',if(e.FIRST_WORK_FLAG=0,'是','否')) field43,ew.WORK_UNIT field44,ew.WORK_JOB field45,ew.START_DATE field46,ew.END_DATE field47
,ef.FAMILY_NAME field48,family_relation.label field49,ef.CONTRACT_TEL field50
,if(e.HAVE_QUALIFICATION is null,'',if(e.HAVE_QUALIFICATION=0,'是','否')) field51,ep.DECLARE_YEAR field52,qualification_type.label field53
,if(e.FIRST_WORK_FLAG is null,'',if(e.FIRST_WORK_FLAG=0,'是','否')) field43
/*,ew.WORK_UNIT field44,ew.WORK_JOB field45,ew.START_DATE field46,ew.END_DATE field47*/
/*,ef.FAMILY_NAME field48,family_relation.label field49,ef.CONTRACT_TEL field50*/
,if(e.HAVE_QUALIFICATION is null,'',if(e.HAVE_QUALIFICATION=0,'是','否')) field51
/*,ep.DECLARE_YEAR field52,qualification_type.label field53*/
,if(ed.INJURY_IDENTIFICATION=0,'是','否') field54,if(ed.OCCUPATIONAL_DISEASE_FLAG=0,'是','否') field55 ,ed.OCCUPATIONAL_DISEASE field56
/*,if(ed.INJURY_IDENTIFICATION=0,'是','否') field54,if(ed.OCCUPATIONAL_DISEASE_FLAG=0,'是','否') field55 ,ed.OCCUPATIONAL_DISEASE field56
,if(ed.INFECTIOUS_DISEASE_FLAG=0,'是','否') field57 ,ed.INFECTIOUS_NAME field58 ,if(ed.DISABILITY_FLAG=0,'是','否') field59
,ed.DISABILITY_NAME field60,disability_grade.label field61,if(ed.OTHER_FLAG=0,'是','否') field62,eb.REMARK field63
,ed.DISABILITY_NAME field60,disability_grade.label field61,if(ed.OTHER_FLAG=0,'是','否') field62*/
/*,eb.REMARK field63*/
FROM t_complete_monitor a
left join t_employee_project p on a.DEPT_NO=p.DEPT_NO
left join (
/*left join (
select
SUBSTRING_INDEX(GROUP_CONCAT(c.contract_name ORDER BY c.audit_time_last desc),',',1) contract_name
,c.EMP_IDCARD,c.DEPT_NO
......@@ -372,24 +376,24 @@
,SUBSTRING_INDEX(GROUP_CONCAT(c.POST ORDER BY c.audit_time_last desc),',',1) POST
,SUBSTRING_INDEX(GROUP_CONCAT(c.TRY_PERIOD ORDER BY c.audit_time_last desc),',',1) TRY_PERIOD
from t_employee_contract_info c where c.IN_USE='0' and c.delete_flag = '0' and c.audit_status = '2' GROUP BY c.EMP_IDCARD,c.DEPT_NO
) eci on p.EMP_IDCARD=eci.EMP_IDCARD and p.dept_no=eci.dept_no
) eci on p.EMP_IDCARD=eci.EMP_IDCARD and p.dept_no=eci.dept_no*/
left join t_employee_info e on p.EMP_ID=e.id
left join view_sys_dict_item emp_natrue on emp_natrue.value=e.EMP_NATRUE and emp_natrue.type='emp_natrue'
/*left join view_sys_dict_item emp_natrue on emp_natrue.value=e.EMP_NATRUE and emp_natrue.type='emp_natrue'
left join view_sys_dict_item educationEmp on educationEmp.value=e.HIGN_EDUCATION and educationEmp.type='education'
left join view_sys_dict_item emp_married on emp_married.value=e.EMP_MARRI_STATUS and emp_married.type='emp_married'
left join view_sys_dict_item nation on nation.value=e.EMP_NATIONAL and nation.type='emp_national'
left join view_sys_dict_item registype on registype.value=e.EMP_REGIS_TYPE and registype.type='emp_registype'
left join view_sys_dict_item politicalStatus on politicalStatus.value=e.POLITICAL_STATUS and politicalStatus.type='emp_political'
left join sys_area pi on pi.id=e.ID_PROVINCE
left join view_sys_dict_item politicalStatus on politicalStatus.value=e.POLITICAL_STATUS and politicalStatus.type='emp_political'*/
/*left join sys_area pi on pi.id=e.ID_PROVINCE
left join sys_area ci on ci.id=e.ID_CITY
left join sys_area ti on ti.id=e.ID_TOWN
left join sys_area pf on pf.id=e.FILE_PROVINCE
left join sys_area cf on cf.id=e.FILE_CITY
left join sys_area tf on tf.id=e.FILE_TOWN
left join view_sys_dict_item workingHours on workingHours.value=eci.WORKING_HOURS and workingHours.type='working_hours'
left join sys_area tf on tf.id=e.FILE_TOWN*/
/*left join view_sys_dict_item workingHours on workingHours.value=eci.WORKING_HOURS and workingHours.type='working_hours'*/
left join t_emp_contact_info ec on e.id=ec.EMP_ID
left join (
/*left join (
select
SUBSTRING_INDEX(GROUP_CONCAT(ee.EMP_ID ORDER BY ee.create_time desc),',',1) EMP_ID
,SUBSTRING_INDEX(GROUP_CONCAT(ee.SCHOOL ORDER BY ee.create_time desc),',',1) SCHOOL
......@@ -400,8 +404,9 @@
from t_emp_education ee where ee.DELETE_FLAG = '0'
GROUP BY ee.EMP_ID
) ee on e.id=ee.EMP_ID
left join view_sys_dict_item education on education.value=ee.EDUCATION_NAME and education.type='education'
left join (
left join view_sys_dict_item education on education.value=ee.EDUCATION_NAME and education.type='education'*/
/*left join (
select
SUBSTRING_INDEX(GROUP_CONCAT(ee.EMP_ID ORDER BY ee.create_time desc),',',1) EMP_ID
,SUBSTRING_INDEX(GROUP_CONCAT(ee.INJURY_IDENTIFICATION ORDER BY ee.create_time desc),',',1) INJURY_IDENTIFICATION
......@@ -416,15 +421,17 @@
from t_emp_disability_info ee where ee.DELETE_FLAG = '0'
GROUP BY ee.EMP_ID
) ed on e.id=ed.EMP_ID
left join view_sys_dict_item disability_grade on disability_grade.value=ed.DISABILITY_LEVEL and disability_grade.type='disability_grade'
left join (
left join view_sys_dict_item disability_grade on disability_grade.value=ed.DISABILITY_LEVEL and disability_grade.type='disability_grade'*/
/*left join (
select
SUBSTRING_INDEX(GROUP_CONCAT(ee.EMP_ID ORDER BY ee.create_time desc),',',1) EMP_ID
,SUBSTRING_INDEX(GROUP_CONCAT(ee.REMARK ORDER BY ee.create_time desc),',',1) REMARK
from t_emp_bad_record ee
GROUP BY ee.EMP_ID
) eb on e.id=eb.EMP_ID
left join (
) eb on e.id=eb.EMP_ID*/
/*left join (
select
SUBSTRING_INDEX(GROUP_CONCAT(ee.EMP_ID ORDER BY ee.create_time desc),',',1) EMP_ID
,SUBSTRING_INDEX(GROUP_CONCAT(ee.WORK_UNIT ORDER BY ee.create_time desc),',',1) WORK_UNIT
......@@ -433,8 +440,9 @@
,SUBSTRING_INDEX(GROUP_CONCAT(ee.END_DATE ORDER BY ee.create_time desc),',',1) END_DATE
from t_emp_work_recording ee
GROUP BY ee.EMP_ID
) ew on e.id=ew.EMP_ID
left join (
) ew on e.id=ew.EMP_ID*/
/*left join (
select
SUBSTRING_INDEX(GROUP_CONCAT(ee.EMP_ID ORDER BY ee.create_time desc),',',1) EMP_ID
,SUBSTRING_INDEX(GROUP_CONCAT(ee.FAMILY_NAME ORDER BY ee.create_time desc),',',1) FAMILY_NAME
......@@ -443,8 +451,9 @@
from t_emp_family ee
GROUP BY ee.EMP_ID
) ef on e.id=ef.EMP_ID
left join view_sys_dict_item family_relation on family_relation.value=ef.RELATIONSHIP_SELF and family_relation.type='family_relation'
left join (
left join view_sys_dict_item family_relation on family_relation.value=ef.RELATIONSHIP_SELF and family_relation.type='family_relation'*/
/*left join (
select
SUBSTRING_INDEX(GROUP_CONCAT(ee.EMP_ID ORDER BY ee.create_time desc),',',1) EMP_ID
,SUBSTRING_INDEX(GROUP_CONCAT(ee.DECLARE_YEAR ORDER BY ee.create_time desc),',',1) DECLARE_YEAR
......@@ -452,11 +461,145 @@
from t_emp_professional_qualification ee
GROUP BY ee.EMP_ID
) ep on e.id=ep.EMP_ID
left join view_sys_dict_item qualification_type on qualification_type.value=ep.QUALIFICATION_TYPE and qualification_type.type='qualification_type'
left join view_sys_dict_item qualification_type on qualification_type.value=ep.QUALIFICATION_TYPE and qualification_type.type='qualification_type'*/
<where>
p.DELETE_FLAG = '0' and p.PROJECT_STATUS = 0
<include refid="tCompleteMonitor_where"/>
</where>
<if test="tCompleteMonitor != null">
<if test="tCompleteMonitor.limitStart != null">
limit #{tCompleteMonitor.limitStart},#{tCompleteMonitor.limitEnd}
</if>
</if>
</select>
<select id="getTEmpMainAllListByContract" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TMainExportAllVO">
SELECT
p.EMP_ID mainId,ee.contract_name field26,ee.WORKING_HOURS field27,ee.POST field28,ee.CONTRACT_START field29,ee.TRY_PERIOD field30
from
t_complete_monitor a
left join t_employee_project p on a.DEPT_NO=p.DEPT_NO
left join t_employee_contract_info ee on ee.EMP_IDCARD=p.EMP_IDCARD and p.dept_no=ee.dept_no
<where>
ee.IN_USE='0' and ee.delete_flag = '0' and ee.audit_status = '2'
and p.DELETE_FLAG = '0' and p.PROJECT_STATUS = 0
<include refid="tCompleteMonitor_where"/>
</where>
ORDER BY ee.create_time desc
<if test="tCompleteMonitor != null">
<if test="tCompleteMonitor.limitStart != null">
limit #{tCompleteMonitor.limitStart},#{tCompleteMonitor.limitEnd}
</if>
</if>
</select>
<select id="getTEmpMainAllListByEducation" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TMainExportAllVO">
SELECT
p.EMP_ID mainId,ee.SCHOOL field36,ee.MAJOR field37,ee.EDUCATION_NAME field38,ee.ENTRY_DATE field41,ee.GRADUTION_DATE field42
from
t_complete_monitor a
left join t_employee_project p on a.DEPT_NO=p.DEPT_NO
left join t_emp_education ee on p.EMP_ID = ee.EMP_ID
<where>
ee.DELETE_FLAG = '0'
and p.DELETE_FLAG = '0' and p.PROJECT_STATUS = 0
<include refid="tCompleteMonitor_where"/>
</where>
ORDER BY ee.create_time desc
<if test="tCompleteMonitor != null">
<if test="tCompleteMonitor.limitStart != null">
limit #{tCompleteMonitor.limitStart},#{tCompleteMonitor.limitEnd}
</if>
</if>
</select>
<select id="getTEmpMainAllListByBad" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TMainExportAllVO">
SELECT
p.EMP_ID mainId,ee.REMARK field63
from
t_complete_monitor a
left join t_employee_project p on a.DEPT_NO=p.DEPT_NO
left join t_emp_bad_record ee on p.EMP_ID = ee.EMP_ID
<where>
p.DELETE_FLAG = '0' and p.PROJECT_STATUS = 0
<include refid="tCompleteMonitor_where"/>
</where>
ORDER BY ee.create_time desc
<if test="tCompleteMonitor != null">
<if test="tCompleteMonitor.limitStart != null">
limit #{tCompleteMonitor.limitStart},#{tCompleteMonitor.limitEnd}
</if>
</if>
</select>
<select id="getTEmpMainAllListByDisability" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TMainExportAllVO">
SELECT
p.EMP_ID mainId,if(ee.INJURY_IDENTIFICATION=0,'是','否') field54,if(ee.OCCUPATIONAL_DISEASE_FLAG=0,'是','否') field55 ,ee.OCCUPATIONAL_DISEASE field56
,if(ee.INFECTIOUS_DISEASE_FLAG=0,'是','否') field57 ,ee.INFECTIOUS_NAME field58 ,if(ee.DISABILITY_FLAG=0,'是','否') field59
,ee.DISABILITY_NAME field60,ee.DISABILITY_LEVEL field61,if(ee.OTHER_FLAG=0,'是','否') field62
from
t_complete_monitor a
left join t_employee_project p on a.DEPT_NO=p.DEPT_NO
left join t_emp_disability_info ee on p.EMP_ID = ee.EMP_ID
<where>
ee.DELETE_FLAG = '0' and p.DELETE_FLAG = '0' and p.PROJECT_STATUS = 0
<include refid="tCompleteMonitor_where"/>
</where>
ORDER BY ee.create_time desc
<if test="tCompleteMonitor != null">
<if test="tCompleteMonitor.limitStart != null">
limit #{tCompleteMonitor.limitStart},#{tCompleteMonitor.limitEnd}
</if>
</if>
</select>
<select id="getTEmpMainAllListByWork" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TMainExportAllVO">
SELECT
p.EMP_ID mainId,ee.WORK_UNIT field44,ee.WORK_JOB field45,ee.START_DATE field46,ee.END_DATE field47
from t_complete_monitor a
left join t_employee_project p on a.DEPT_NO=p.DEPT_NO
left join t_emp_work_recording ee on p.EMP_ID = ee.EMP_ID
<where>
p.DELETE_FLAG = '0' and p.PROJECT_STATUS = 0
<include refid="tCompleteMonitor_where"/>
</where>
ORDER BY ee.create_time desc
<if test="tCompleteMonitor != null">
<if test="tCompleteMonitor.limitStart != null">
limit #{tCompleteMonitor.limitStart},#{tCompleteMonitor.limitEnd}
</if>
</if>
</select>
<select id="getTEmpMainAllListByFamily" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TMainExportAllVO">
SELECT
p.EMP_ID mainId,ee.FAMILY_NAME field48,ee.RELATIONSHIP_SELF field49,ee.CONTRACT_TEL field50
FROM t_complete_monitor a
left join t_employee_project p on a.DEPT_NO=p.DEPT_NO
left join t_emp_family ee on p.EMP_ID = ee.EMP_ID
<where>
p.DELETE_FLAG = '0' and p.PROJECT_STATUS = 0
<include refid="tCompleteMonitor_where"/>
</where>
ORDER BY ee.create_time desc
<if test="tCompleteMonitor != null">
<if test="tCompleteMonitor.limitStart != null">
limit #{tCompleteMonitor.limitStart},#{tCompleteMonitor.limitEnd}
</if>
</if>
</select>
<select id="getTEmpMainAllListByProfessional" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.TMainExportAllVO">
SELECT
p.EMP_ID mainId,ee.DECLARE_YEAR field52,ee.QUALIFICATION_TYPE field53
FROM t_complete_monitor a
left join t_employee_project p on a.DEPT_NO=p.DEPT_NO
left join t_emp_professional_qualification ee on a.EMP_ID = ee.EMP_ID
<where>
p.DELETE_FLAG = '0' and p.PROJECT_STATUS = 0
<include refid="tCompleteMonitor_where"/>
</where>
ORDER BY ee.create_time desc
<if test="tCompleteMonitor != null">
<if test="tCompleteMonitor.limitStart != null">
limit #{tCompleteMonitor.limitStart},#{tCompleteMonitor.limitEnd}
......
......@@ -78,7 +78,7 @@ public class DiyExcelImportUtil implements Serializable {
// 极限空白表头列,超过阈值,将不继续循环列
int maxTitleNullColumNum = 1;
// 极限空白身份证,超过将不循环行
int maxIdCardNullRow = 1;
int maxIdCardNullRow = 2;
int idCardNullNum;
Cell cell;
// 循环每个sheet
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment