职等职级导入接口20221111

pull/55/head
‘ml’ 3 years ago
parent 0da123fcef
commit 0459c628ea

@ -173,7 +173,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
fieldDatas.add(FieldTransferParam.builder().id("8").name("职级说明").build()); fieldDatas.add(FieldTransferParam.builder().id("8").name("职级说明").build());
fieldDatas.add(FieldTransferParam.builder().id("9").name("职等说明").build()); fieldDatas.add(FieldTransferParam.builder().id("9").name("职等说明").build());
List<String> selectedKeys = new ArrayList<>(); List<String> selectedKeys = new ArrayList<>();
for(int i=0;i<fieldDatas.size();i++){ for(int i=0;i<fieldDatas.subList(0,6).size();i++){
selectedKeys.add(fieldDatas.get(i).getId()); selectedKeys.add(fieldDatas.get(i).getId());
} }
returnMaps.put("data", fieldDatas); returnMaps.put("data", fieldDatas);
@ -1496,7 +1496,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
/** /**
* *
*/ */
private Long jobLevelImport(String operateType, String excelFile){ private Long jobLevelImport(String operateType, String excelFile) {
Long importHistoryId = saveImportLog("joblevel", operateType); Long importHistoryId = saveImportLog("joblevel", operateType);
JclImportHistoryDetailPO historyDetailPO; JclImportHistoryDetailPO historyDetailPO;
@ -1509,217 +1509,271 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
// 当前sheet for (int s = 0; s < workbook.getNumberOfSheets(); s++) {
XSSFSheet sheetAt = workbook.getSheetAt(0); // 当前sheet
int lastRow = sheetAt.getLastRowNum(); XSSFSheet sheetAt = workbook.getSheetAt(s);
OrganizationAssert.isTrue(lastRow > 0, "导入数据为空"); int lastRow = sheetAt.getLastRowNum();
short lastCellNum = sheetAt.getRow(0).getLastCellNum(); OrganizationAssert.isTrue(lastRow > 0, "导入数据为空");
List<ExtendInfoPO> extendInfoPOS = new ArrayList<>(); short lastCellNum = sheetAt.getRow(0).getLastCellNum();
List<ExtendInfoPO> extendInfoPOS = new ArrayList<>();
// 遍历每一行数据
nextRow: // 遍历每一行数据
for (int i = 0; i <= lastRow; i++) { nextRow:
historyDetailPO = new JclImportHistoryDetailPO(); for (int i = 0; i <= lastRow; i++) {
historyDetailPO.setPid(importHistoryId); historyDetailPO = new JclImportHistoryDetailPO();
XSSFRow row = sheetAt.getRow(i); historyDetailPO.setPid(importHistoryId);
// 组装待处理数据 XSSFRow row = sheetAt.getRow(i);
Map<String, Object> map = new HashMap<>(); // 组装待处理数据
SchemePO schemePO = new SchemePO(); Map<String, Object> map = new HashMap<>();
SchemePO schemeNew = new SchemePO();; SchemePO schemePO = new SchemePO();
GradePO gradePO = new GradePO(); SchemePO schemeNew = new SchemePO();
GradePO gradeNew = new GradePO(); ;
LevelPO levelPO = new LevelPO(); GradePO gradePO = new GradePO();
LevelPO levelNew = new LevelPO(); GradePO gradeNew = new GradePO();
LevelPO levelPO = new LevelPO();
historyDetailPO.setRowNums(String.valueOf(i + 1)); LevelPO levelNew = new LevelPO();
for (int cellIndex = 0; cellIndex < lastCellNum; cellIndex++) {
XSSFCell cell = row.getCell((short) cellIndex); historyDetailPO.setRowNums(String.valueOf(i + 1));
String cellValue = getCellValue(cell).trim(); for (int cellIndex = 0; cellIndex < lastCellNum; cellIndex++) {
if (i == 0) { XSSFCell cell = row.getCell((short) cellIndex);
// 首行 初始化字段信息 String cellValue = getCellValue(cell).trim();
ExtendInfoPO extendInfoPO = importFieldsMap.get(cellValue); if (i == 0) {
extendInfoPOS.add(extendInfoPO); // 首行 初始化字段信息
}else{ ExtendInfoPO extendInfoPO = importFieldsMap.get(cellValue);
ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); extendInfoPOS.add(extendInfoPO);
// 数据校验 } else {
if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue)) { ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex);
historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); // 数据校验
historyDetailPO.setStatus("0"); if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue)) {
saveImportDetailLog(historyDetailPO); historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项");
continue nextRow; historyDetailPO.setStatus("0");
} saveImportDetailLog(historyDetailPO);
continue nextRow;
}
Object reallyValue; Object reallyValue;
try { try {
// 数据格式转换 // 数据格式转换
reallyValue = getReallyValue(infoPO, cellValue); reallyValue = getReallyValue(infoPO, cellValue);
} catch (Exception e) { } catch (Exception e) {
historyDetailPO.setOperateDetail(cellValue + "转换失败"); historyDetailPO.setOperateDetail(cellValue + "转换失败");
historyDetailPO.setStatus("0"); historyDetailPO.setStatus("0");
saveImportDetailLog(historyDetailPO); saveImportDetailLog(historyDetailPO);
continue nextRow; continue nextRow;
} }
if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"ec_company".equals(infoPO.getFieldName()) && !"ec_department".equals(infoPO.getFieldName())) { if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"ec_company".equals(infoPO.getFieldName()) && !"ec_department".equals(infoPO.getFieldName())) {
historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据"); historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据");
historyDetailPO.setStatus("0"); historyDetailPO.setStatus("0");
saveImportDetailLog(historyDetailPO); saveImportDetailLog(historyDetailPO);
continue nextRow; continue nextRow;
}
map.put(infoPO.getFieldName(), reallyValue);
// 方案页校验
if ("scheme_no".equals(infoPO.getFieldName()) && s == 0) {
List<SchemePO> schemePOS = MapperProxyFactory.getProxy(SchemeMapper.class).listByNo(Util.null2String(reallyValue));
if (schemePOS.size() > 0) {
historyDetailPO.setOperateDetail("方案页导入:方案编号[" + reallyValue + "]与原有编号重复");
historyDetailPO.setRelatedName(infoPO.getFieldName());
historyDetailPO.setStatus("0");
saveImportDetailLog(historyDetailPO);
continue nextRow;
}
}
// 职等页校验
if ("scheme_no".equals(infoPO.getFieldName()) && s == 1) {
List<SchemePO> schemePOS = MapperProxyFactory.getProxy(SchemeMapper.class).listByNo(Util.null2String(reallyValue));
if (schemePOS.size() == 0) {
historyDetailPO.setOperateDetail("职等页导入:未找到编号为[" + reallyValue + "]的方案");
historyDetailPO.setRelatedName(infoPO.getFieldName());
historyDetailPO.setStatus("0");
saveImportDetailLog(historyDetailPO);
continue nextRow;
}
}
// 职级页校验
if ("scheme_no".equals(infoPO.getFieldName()) && s == 2) {
List<SchemePO> schemePOS = MapperProxyFactory.getProxy(SchemeMapper.class).listByNo(Util.null2String(reallyValue));
if (schemePOS.size() == 0) {
historyDetailPO.setOperateDetail("职级页导入:未找到编号为[" + reallyValue + "]的方案");
historyDetailPO.setRelatedName(infoPO.getFieldName());
historyDetailPO.setStatus("0");
saveImportDetailLog(historyDetailPO);
continue nextRow;
}
}
if ("level_no".equals(infoPO.getFieldName()) && s == 2) {
List<LevelPO> levelPOS = MapperProxyFactory.getProxy(LevelMapper.class).listByNo(Util.null2String(reallyValue));
if (levelPOS.size() == 0) {
historyDetailPO.setOperateDetail("职级页导入:未找到编号为[" + reallyValue + "]的职等");
historyDetailPO.setRelatedName(infoPO.getFieldName());
historyDetailPO.setStatus("0");
saveImportDetailLog(historyDetailPO);
continue nextRow;
}
}
} }
map.put(infoPO.getFieldName(), reallyValue);
}
}
// 校验、数据交互
if (i == 0){
continue;
}
map.put("creator", user.getUID());
map.put("delete_type", 0);
Date currDate = new Date();
map.put("create_time", currDate);
map.put("update_time", currDate);
// 禁用表示为空,默认启用
map.put("forbidden_tag", 0);
map.put("is_used", 1);
if ("add".equals(operateType)) {
schemePO.setSchemeNo((String)map.get("scheme_no"));
schemePO.setSchemeName((String)map.get("scheme_name"));
schemePO.setSchemeDescription((String)map.get("scheme_description"));
schemePO.setForbiddenTag((int)map.get("forbidden_tag"));
schemePO.setIsUsed(1);
schemePO.setCreator((long) user.getUID());
schemePO.setDeleteType((int)map.get("delete_type"));
schemePO.setCreateTime((Date) map.get("create_time"));
schemePO.setUpdateTime((Date) map.get("update_time"));
schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo(schemePO.getSchemeNo());
if (schemeNew==null){
MapperProxyFactory.getProxy(SchemeMapper.class).insertIgnoreNull(schemePO);
}else{
historyDetailPO.setOperateDetail("方案编号"+schemePO.getSchemeNo()+"与原有编号重复");
historyDetailPO.setStatus("0");
saveImportDetailLog(historyDetailPO);
} }
// 校验、数据交互
// 新增完成后,再次插入 if (i == 0) {
schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo(schemePO.getSchemeNo()); continue;
levelPO.setLevelNo((String) map.get("level_no"));
levelPO.setLevelName((String) map.get("level_name"));
levelPO.setDescription((String) map.get("level_description"));
//关联方案id
levelPO.setSchemeId(schemeNew.getId());
levelPO.setForbiddenTag((int) map.get("forbidden_tag"));
levelPO.setIsUsed(1);
levelPO.setCreator((long) user.getUID());
levelPO.setDeleteType((int)map.get("delete_type"));
levelPO.setCreateTime((Date) map.get("create_time"));
levelPO.setUpdateTime((Date) map.get("update_time"));
levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid(levelPO.getLevelNo(),schemeNew.getId());
if(levelNew==null){
MapperProxyFactory.getProxy(LevelMapper.class).insertIgnoreNull(levelPO);
} }
levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid(levelPO.getLevelNo(),schemeNew.getId()); map.put("creator", user.getUID());
gradePO.setGradeNo((String) map.get("grade_no")); map.put("delete_type", 0);
gradePO.setGradeName((String) map.get("grade_name")); Date currDate = new Date();
gradePO.setDescription((String) map.get("grade_description")); map.put("create_time", currDate);
// 关联方案id map.put("update_time", currDate);
gradePO.setSchemeId(schemeNew.getId()); // 禁用表示为空,默认启用
// 关联职等id map.put("forbidden_tag", 0);
gradePO.setLevelId(String.valueOf(levelNew.getId())); map.put("is_used", 1);
gradePO.setGradeNo((String) map.get("grade_no")); if ("add".equals(operateType)) {
gradePO.setForbiddenTag((int) map.get("forbidden_tag")); if (s == 0) {
gradePO.setIsUsed(1); schemePO.setSchemeNo((String) map.get("scheme_no"));
gradePO.setCreator((long) user.getUID()); schemePO.setSchemeName((String) map.get("scheme_name"));
gradePO.setDeleteType((int)map.get("delete_type")); schemePO.setSchemeDescription((String) map.get("scheme_description"));
gradePO.setCreateTime((Date) map.get("create_time")); schemePO.setForbiddenTag((int) map.get("forbidden_tag"));
gradePO.setUpdateTime((Date) map.get("update_time")); schemePO.setIsUsed(1);
schemePO.setCreator((long) user.getUID());
gradeNew = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByNoAndSid(gradePO.getGradeNo(),gradePO.getSchemeId()); schemePO.setDeleteType((int) map.get("delete_type"));
if (gradeNew != null) { schemePO.setCreateTime((Date) map.get("create_time"));
//职级已存在重新拼接level_id schemePO.setUpdateTime((Date) map.get("update_time"));
gradePO.setLevelId(gradeNew.getLevelId()+","+levelNew.getId());
MapperProxyFactory.getProxy(SchemeMapper.class).insertIgnoreNull(schemePO);
gradePO.setId(gradeNew.getId()); } else if (s == 1) {
gradePO.setCreateTime(null); String schemeNo = (String) map.get("scheme_no");
gradePO.setUpdateTime(new Date()); String levelNo = (String) map.get("level_no");
MapperProxyFactory.getProxy(GradeMapper.class).updateGrade(gradePO); schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo(schemeNo);
}else{ if (schemeNew != null) {
MapperProxyFactory.getProxy(GradeMapper.class).insertIgnoreNull(gradePO); levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid(levelNo, schemeNew.getId());
} if (levelNew != null) {
historyDetailPO.setRelatedName("职等页导入");
historyDetailPO.setOperateDetail("同一方案" + schemeNo + "下,职等编号不可重复");
historyDetailPO.setStatus("0");
saveImportDetailLog(historyDetailPO);
continue nextRow;
} else {
levelPO.setLevelNo(levelNo);
levelPO.setLevelName((String) map.get("level_name"));
levelPO.setDescription((String) map.get("level_description"));
//关联方案id
levelPO.setSchemeId(schemeNew.getId());
levelPO.setForbiddenTag((int) map.get("forbidden_tag"));
levelPO.setIsUsed(1);
levelPO.setCreator((long) user.getUID());
levelPO.setDeleteType((int) map.get("delete_type"));
levelPO.setCreateTime((Date) map.get("create_time"));
levelPO.setUpdateTime((Date) map.get("update_time"));
MapperProxyFactory.getProxy(LevelMapper.class).insertIgnoreNull(levelPO);
}
}
} else if (s == 2) {
String gradeNo = (String) map.get("grade_no");
String schemeNo = (String) map.get("scheme_no");
String levelNo = (String) map.get("level_no");
schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo(schemeNo);
levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid(levelNo, schemeNew.getId());
gradeNew = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByNoAndSid(gradeNo, schemeNew.getId());
gradePO.setGradeNo(gradeNo);
gradePO.setGradeName((String) map.get("grade_name"));
gradePO.setDescription((String) map.get("grade_description"));
// 关联方案id
gradePO.setSchemeId(schemeNew.getId());
// 关联职等id
gradePO.setLevelId(String.valueOf(levelNew.getId()));
gradePO.setGradeNo((String) map.get("grade_no"));
gradePO.setForbiddenTag((int) map.get("forbidden_tag"));
gradePO.setIsUsed(1);
gradePO.setCreator((long) user.getUID());
gradePO.setDeleteType((int) map.get("delete_type"));
gradePO.setCreateTime((Date) map.get("create_time"));
gradePO.setUpdateTime((Date) map.get("update_time"));
if (gradeNew != null) {
//职级已存在重新拼接level_id
gradePO.setLevelId(gradeNew.getLevelId() + "," + levelNew.getId());
gradePO.setId(gradeNew.getId());
gradePO.setCreateTime(null);
gradePO.setUpdateTime(new Date());
MapperProxyFactory.getProxy(GradeMapper.class).updateGrade(gradePO);
} else {
MapperProxyFactory.getProxy(GradeMapper.class).insertIgnoreNull(gradePO);
}
}
historyDetailPO.setOperateDetail("添加成功"); historyDetailPO.setOperateDetail("添加成功");
historyDetailPO.setStatus("1"); historyDetailPO.setStatus("1");
saveImportDetailLog(historyDetailPO); saveImportDetailLog(historyDetailPO);
}else if ("update".equals(operateType)) { } else if ("update".equals(operateType)) {
schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo((String)map.get("scheme_no")); schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo((String) map.get("scheme_no"));
if(schemeNew!=null){ if (schemeNew != null) {
schemeNew.setSchemeNo((String)map.get("scheme_no")); schemeNew.setSchemeNo((String) map.get("scheme_no"));
schemeNew.setSchemeName((String)map.get("scheme_name")); schemeNew.setSchemeName((String) map.get("scheme_name"));
schemeNew.setSchemeDescription((String)map.get("scheme_description")); schemeNew.setSchemeDescription((String) map.get("scheme_description"));
schemeNew.setUpdateTime((Date) map.get("update_time")); schemeNew.setUpdateTime((Date) map.get("update_time"));
MapperProxyFactory.getProxy(SchemeMapper.class).updateScheme(schemeNew); MapperProxyFactory.getProxy(SchemeMapper.class).updateScheme(schemeNew);
}else{ } else {
schemeNew.setSchemeNo((String)map.get("scheme_no")); schemeNew.setSchemeNo((String) map.get("scheme_no"));
schemeNew.setSchemeName((String)map.get("scheme_name")); schemeNew.setSchemeName((String) map.get("scheme_name"));
schemeNew.setSchemeDescription((String)map.get("scheme_description")); schemeNew.setSchemeDescription((String) map.get("scheme_description"));
schemeNew.setForbiddenTag((int)map.get("forbidden_tag")); schemeNew.setForbiddenTag((int) map.get("forbidden_tag"));
schemeNew.setIsUsed(1); schemeNew.setIsUsed(1);
schemeNew.setCreator((long) user.getUID()); schemeNew.setCreator((long) user.getUID());
schemeNew.setDeleteType((int)map.get("delete_type")); schemeNew.setDeleteType((int) map.get("delete_type"));
schemeNew.setCreateTime((Date) map.get("create_time")); schemeNew.setCreateTime((Date) map.get("create_time"));
schemeNew.setUpdateTime((Date) map.get("update_time")); schemeNew.setUpdateTime((Date) map.get("update_time"));
MapperProxyFactory.getProxy(SchemeMapper.class).insertIgnoreNull(schemeNew); MapperProxyFactory.getProxy(SchemeMapper.class).insertIgnoreNull(schemeNew);
} }
//查询职等信息 //查询职等信息
schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo((String)map.get("scheme_no")); schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo((String) map.get("scheme_no"));
levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid((String) map.get("level_no"),schemeNew.getId()); levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid((String) map.get("level_no"), schemeNew.getId());
if(levelNew!=null){ if (levelNew != null) {
levelNew.setLevelNo((String) map.get("level_no")); levelNew.setLevelNo((String) map.get("level_no"));
levelNew.setLevelName((String) map.get("level_name")); levelNew.setLevelName((String) map.get("level_name"));
levelNew.setDescription((String) map.get("level_description")); levelNew.setDescription((String) map.get("level_description"));
//关联方案id //关联方案id
levelNew.setSchemeId(schemeNew.getId()); levelNew.setSchemeId(schemeNew.getId());
levelNew.setUpdateTime((Date) map.get("update_time")); levelNew.setUpdateTime((Date) map.get("update_time"));
MapperProxyFactory.getProxy(LevelMapper.class).updateLevel(levelNew); MapperProxyFactory.getProxy(LevelMapper.class).updateLevel(levelNew);
}else{ } else {
levelNew.setLevelNo((String) map.get("level_no")); levelNew.setLevelNo((String) map.get("level_no"));
levelNew.setLevelName((String) map.get("level_name")); levelNew.setLevelName((String) map.get("level_name"));
levelNew.setDescription((String) map.get("level_description")); levelNew.setDescription((String) map.get("level_description"));
//关联方案id //关联方案id
levelNew.setSchemeId(schemeNew.getId()); levelNew.setSchemeId(schemeNew.getId());
levelNew.setForbiddenTag((int) map.get("forbidden_tag")); levelNew.setForbiddenTag((int) map.get("forbidden_tag"));
levelNew.setIsUsed(1); levelNew.setIsUsed(1);
levelNew.setCreator((long) user.getUID()); levelNew.setCreator((long) user.getUID());
levelNew.setDeleteType((int)map.get("delete_type")); levelNew.setDeleteType((int) map.get("delete_type"));
levelNew.setCreateTime((Date) map.get("create_time")); levelNew.setCreateTime((Date) map.get("create_time"));
levelNew.setUpdateTime((Date) map.get("update_time")); levelNew.setUpdateTime((Date) map.get("update_time"));
MapperProxyFactory.getProxy(LevelMapper.class).insertIgnoreNull(levelNew); MapperProxyFactory.getProxy(LevelMapper.class).insertIgnoreNull(levelNew);
} }
gradeNew = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByNoAndSid((String) map.get("grade_no"),schemeNew.getId()); gradeNew = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByNoAndSid((String) map.get("grade_no"), schemeNew.getId());
if(gradeNew!=null){ if (gradeNew != null) {
gradeNew.setGradeNo((String) map.get("grade_no")); gradeNew.setGradeNo((String) map.get("grade_no"));
gradeNew.setGradeName((String) map.get("grade_name")); gradeNew.setGradeName((String) map.get("grade_name"));
gradeNew.setDescription((String) map.get("grade_description")); gradeNew.setDescription((String) map.get("grade_description"));
// 关联方案id // 关联方案id
gradeNew.setSchemeId(schemeNew.getId()); gradeNew.setSchemeId(schemeNew.getId());
// 关联职等id // 关联职等id
gradeNew.setLevelId(String.valueOf(levelNew.getId())); gradeNew.setLevelId(String.valueOf(levelNew.getId()));
gradeNew.setUpdateTime((Date) map.get("update_time")); gradeNew.setUpdateTime((Date) map.get("update_time"));
GradePO gradePOTmp = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByID(gradeNew.getId()); GradePO gradePOTmp = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByID(gradeNew.getId());
if(gradePOTmp!=null){ if (gradePOTmp != null) {
MapperProxyFactory.getProxy(GradeMapper.class).updateGrade(gradeNew); MapperProxyFactory.getProxy(GradeMapper.class).updateGrade(gradeNew);
}
} else {
MapperProxyFactory.getProxy(GradeMapper.class).insertIgnoreNull(gradePO);
} }
}else{
MapperProxyFactory.getProxy(GradeMapper.class).insertIgnoreNull(gradePO);
} }
}
}
} }
return importHistoryId; return importHistoryId;
} }
@ -1863,6 +1917,9 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
// 根据选择字段、生成对应的导入模板 // 根据选择字段、生成对应的导入模板
String[] split = columns.split(","); String[] split = columns.split(",");
List<Object> columnList = new ArrayList<>(Arrays.asList(split)); List<Object> columnList = new ArrayList<>(Arrays.asList(split));
List<Object> schemeList = new ArrayList<>();
List<Object> levelList = new ArrayList<>();
List<Object> gradeList = new ArrayList<>();
Object companyColumn = ""; Object companyColumn = "";
Object departmentColumn = ""; Object departmentColumn = "";
// 排序 // 排序
@ -1882,6 +1939,36 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
departmentColumn = column; departmentColumn = column;
iterator.remove(); iterator.remove();
} }
if("方案编号".equals(column)){
schemeList.add(column);
levelList.add(column);
gradeList.add(column);
}
if("方案名称".equals(column)){
schemeList.add(column);
}
if("方案说明".equals(column)){
schemeList.add(column);
}
if("职等编号".equals(column)){
levelList.add(column);
gradeList.add(column);
}
if("职等名称".equals(column)){
levelList.add(column);
}
if("职等说明".equals(column)){
levelList.add(column);
}
if("职级编号".equals(column)){
gradeList.add(column);
}
if("职级名称".equals(column)){
gradeList.add(column);
}
if("职级说明".equals(column)){
gradeList.add(column);
}
} }
if (StringUtils.isNotBlank(departmentColumn.toString())) { if (StringUtils.isNotBlank(departmentColumn.toString())) {
columnList.add(0, departmentColumn); columnList.add(0, departmentColumn);
@ -1894,7 +1981,20 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
List<List<Object>> excelSheetData = new ArrayList<>(); List<List<Object>> excelSheetData = new ArrayList<>();
excelSheetData.add(columnList); excelSheetData.add(columnList);
String outPutPath = GCONST.getRootPath() + "hrm" + File.separator + "import" + File.separator + "template" + File.separator + user.getUID(); String outPutPath = GCONST.getRootPath() + "hrm" + File.separator + "import" + File.separator + "template" + File.separator + user.getUID();
XSSFWorkbook sheets = ExcelUtil.genWorkbookV2(excelSheetData, importType); XSSFWorkbook sheets = new XSSFWorkbook();
if ("joblevel".equals(importType)) {
excelSheetData.clear();
excelSheetData.add(schemeList);
ExcelUtil.genWorkbookV3(sheets,excelSheetData,0, "方案");
excelSheetData.clear();
excelSheetData.add(levelList);
ExcelUtil.genWorkbookV3(sheets,excelSheetData,1, "职等");
excelSheetData.clear();
excelSheetData.add(gradeList);
ExcelUtil.genWorkbookV3(sheets,excelSheetData,2, "职级");
}else{
sheets = ExcelUtil.genWorkbookV2(excelSheetData, importType);
}
String excelPath = outPutPath + File.separator + importType + ".xls"; String excelPath = outPutPath + File.separator + importType + ".xls";
File excelPathFile = new File(excelPath); File excelPathFile = new File(excelPath);
if (!excelPathFile.exists()) { if (!excelPathFile.exists()) {

@ -125,6 +125,65 @@ public class ExcelUtil {
} }
return workbook; return workbook;
} }
public static XSSFWorkbook genWorkbookV3(XSSFWorkbook workbook,List<List<Object>> rowList,int sheetNum, String sheetName) {
// XSSFWorkbook workbook = new XSSFWorkbook();
// 设置title样式
XSSFCellStyle titleCellStyle = workbook.createCellStyle();
XSSFFont titleFont = workbook.createFont();
titleFont.setFontName("仿宋");
titleFont.setFontHeightInPoints((short) 15);
titleCellStyle.setFont(titleFont);
titleCellStyle.setAlignment(HorizontalAlignment.CENTER);
titleCellStyle.setFillForegroundColor(IndexedColors.GREEN.getIndex());//背景色
titleCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
// 设置主体样式
XSSFCellStyle cellStyle = workbook.createCellStyle();
XSSFFont font = workbook.createFont();
font.setFontName("宋体");
font.setFontHeightInPoints((short) 10);// 设置字体大小
cellStyle.setFont(font);// 选择需要用到的字体格式
cellStyle.setWrapText(true);
XSSFSheet sheet = workbook.createSheet();
workbook.setSheetName(sheetNum,sheetName);
//自适应宽度
sheet.autoSizeColumn(0, true);
//默认列宽
sheet.setDefaultColumnWidth(25);
//默认行高
sheet.setDefaultRowHeightInPoints(18);
for (int rowIndex = 0; rowIndex < rowList.size(); rowIndex++) {
List<Object> infoList = rowList.get(rowIndex);
XSSFRow row = sheet.createRow(rowIndex);
for (int cellIndex = 0; cellIndex < infoList.size(); cellIndex++) {
XSSFCell cell = row.createCell(cellIndex);
if (rowIndex == 0) {
cell.setCellStyle(titleCellStyle);
} else {
cell.setCellStyle(cellStyle);
}
Object o = infoList.get(cellIndex);
if (o instanceof String) {
cell.setCellType(CellType.STRING);
cell.setCellValue(String.valueOf(o));
} else if (o instanceof Boolean) {
cell.setCellType(CellType.BOOLEAN);
cell.setCellValue(String.valueOf(o));
} else if (o instanceof Date) {
cell.setCellType(CellType.STRING);
cell.setCellValue(OrganizationDateUtil.getFormatLocalDate((Date) o));
} else {
cell.setCellType(CellType.STRING);
cell.setCellValue(o == null ? "" : o.toString());
}
}
}
return workbook;
}
public static XSSFWorkbook genWorkbookV2(List<List<Object>> rowList, String sheetName, List<ExcelComment> comments) { public static XSSFWorkbook genWorkbookV2(List<List<Object>> rowList, String sheetName, List<ExcelComment> comments) {

@ -15,13 +15,13 @@ public class PostInfoImportUtil {
static { static {
importFieldsMap = new HashMap<>(); importFieldsMap = new HashMap<>();
importFieldsMap.put("编号", ExtendInfoPO.builder().tableName("jcl_org_post").fieldName("post_no").fieldNameDesc("方案编号").isrequired(1).controlType(1).browserType("1").customValue("[\"input\",\"text\",\"100\"]").build()); importFieldsMap.put("编号", ExtendInfoPO.builder().tableName("jcl_org_post").fieldName("post_no").fieldNameDesc("编号").isrequired(1).controlType(1).browserType("1").customValue("[\"input\",\"text\",\"100\"]").build());
importFieldsMap.put("名称", ExtendInfoPO.builder().tableName("jcl_org_post").fieldName("post_name").fieldNameDesc("方案名称").isrequired(0).controlType(1).browserType("1").customValue("[\"input\",\"text\",\"100\"]").build()); importFieldsMap.put("名称", ExtendInfoPO.builder().tableName("jcl_org_post").fieldName("post_name").fieldNameDesc("名称").isrequired(1).controlType(1).browserType("1").customValue("[\"input\",\"text\",\"100\"]").build());
importFieldsMap.put("权限", ExtendInfoPO.builder().tableName("jcl_org_post").fieldName("comp_id").fieldNameDesc("分部").isrequired(1).controlType(1).browserType("1").customValue("[\"input\",\"text\",\"100\"]").build()); importFieldsMap.put("权限", ExtendInfoPO.builder().tableName("jcl_org_post").fieldName("post_info_authority").fieldNameDesc("权限").isrequired(0).controlType(1).browserType("1").customValue("[\"input\",\"text\",\"100\"]").build());
importFieldsMap.put("责任", ExtendInfoPO.builder().tableName("jcl_org_post").fieldName("dept_id").fieldNameDesc("部门").isrequired(0).controlType(1).browserType("1").customValue("[\"input\",\"text\",\"100\"]").build()); importFieldsMap.put("责任", ExtendInfoPO.builder().tableName("jcl_org_post").fieldName("post_info_duty").fieldNameDesc("责任").isrequired(0).controlType(1).browserType("1").customValue("[\"input\",\"text\",\"100\"]").build());
importFieldsMap.put("资格", ExtendInfoPO.builder().tableName("jcl_org_post").fieldName("job_id").fieldNameDesc("岗位").isrequired(0).controlType(1).browserType("1").customValue("[\"input\",\"text\",\"100\"]").build()); importFieldsMap.put("资格", ExtendInfoPO.builder().tableName("jcl_org_post").fieldName("post_info_qualification").fieldNameDesc("资格").isrequired(0).controlType(1).browserType("1").customValue("[\"input\",\"text\",\"100\"]").build());
importFieldsMap.put("职务分类", ExtendInfoPO.builder().tableName("jcl_org_post").fieldName("staff_num").fieldNameDesc("编制数").isrequired(1).controlType(1).browserType("2").customValue("[\"input\",\"int\"]").build()); importFieldsMap.put("职务分类", ExtendInfoPO.builder().tableName("jcl_org_post").fieldName("post_id").fieldNameDesc("职务分类").isrequired(1).controlType(1).browserType("1").customValue("[\"input\",\"text\",\"100\"]").build());
importFieldsMap.put("描述说明", ExtendInfoPO.builder().tableName("jcl_org_post").fieldName("staff_num").fieldNameDesc("编制数").isrequired(1).controlType(1).browserType("2").customValue("[\"input\",\"int\"]").build()); importFieldsMap.put("描述说明", ExtendInfoPO.builder().tableName("jcl_org_post").fieldName("description").fieldNameDesc("说明").isrequired(0).controlType(1).browserType("1").customValue("[\"input\",\"text\",\"100\"]").build());
} }

Loading…
Cancel
Save