|
|
|
@ -173,7 +173,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
|
|
|
|
|
fieldDatas.add(FieldTransferParam.builder().id("8").name("职级说明").build());
|
|
|
|
|
fieldDatas.add(FieldTransferParam.builder().id("9").name("职等说明").build());
|
|
|
|
|
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());
|
|
|
|
|
}
|
|
|
|
|
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);
|
|
|
|
|
JclImportHistoryDetailPO historyDetailPO;
|
|
|
|
@ -1509,217 +1509,271 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
throw new RuntimeException(e);
|
|
|
|
|
}
|
|
|
|
|
// 当前sheet
|
|
|
|
|
XSSFSheet sheetAt = workbook.getSheetAt(0);
|
|
|
|
|
int lastRow = sheetAt.getLastRowNum();
|
|
|
|
|
OrganizationAssert.isTrue(lastRow > 0, "导入数据为空");
|
|
|
|
|
short lastCellNum = sheetAt.getRow(0).getLastCellNum();
|
|
|
|
|
List<ExtendInfoPO> extendInfoPOS = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
// 遍历每一行数据
|
|
|
|
|
nextRow:
|
|
|
|
|
for (int i = 0; i <= lastRow; i++) {
|
|
|
|
|
historyDetailPO = new JclImportHistoryDetailPO();
|
|
|
|
|
historyDetailPO.setPid(importHistoryId);
|
|
|
|
|
XSSFRow row = sheetAt.getRow(i);
|
|
|
|
|
// 组装待处理数据
|
|
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
|
|
SchemePO schemePO = new SchemePO();
|
|
|
|
|
SchemePO schemeNew = new SchemePO();;
|
|
|
|
|
GradePO gradePO = new GradePO();
|
|
|
|
|
GradePO gradeNew = new GradePO();
|
|
|
|
|
LevelPO levelPO = new LevelPO();
|
|
|
|
|
LevelPO levelNew = new LevelPO();
|
|
|
|
|
|
|
|
|
|
historyDetailPO.setRowNums(String.valueOf(i + 1));
|
|
|
|
|
for (int cellIndex = 0; cellIndex < lastCellNum; cellIndex++) {
|
|
|
|
|
XSSFCell cell = row.getCell((short) cellIndex);
|
|
|
|
|
String cellValue = getCellValue(cell).trim();
|
|
|
|
|
if (i == 0) {
|
|
|
|
|
// 首行 初始化字段信息
|
|
|
|
|
ExtendInfoPO extendInfoPO = importFieldsMap.get(cellValue);
|
|
|
|
|
extendInfoPOS.add(extendInfoPO);
|
|
|
|
|
}else{
|
|
|
|
|
ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex);
|
|
|
|
|
// 数据校验
|
|
|
|
|
if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue)) {
|
|
|
|
|
historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项");
|
|
|
|
|
historyDetailPO.setStatus("0");
|
|
|
|
|
saveImportDetailLog(historyDetailPO);
|
|
|
|
|
continue nextRow;
|
|
|
|
|
}
|
|
|
|
|
for (int s = 0; s < workbook.getNumberOfSheets(); s++) {
|
|
|
|
|
// 当前sheet
|
|
|
|
|
XSSFSheet sheetAt = workbook.getSheetAt(s);
|
|
|
|
|
int lastRow = sheetAt.getLastRowNum();
|
|
|
|
|
OrganizationAssert.isTrue(lastRow > 0, "导入数据为空");
|
|
|
|
|
short lastCellNum = sheetAt.getRow(0).getLastCellNum();
|
|
|
|
|
List<ExtendInfoPO> extendInfoPOS = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
// 遍历每一行数据
|
|
|
|
|
nextRow:
|
|
|
|
|
for (int i = 0; i <= lastRow; i++) {
|
|
|
|
|
historyDetailPO = new JclImportHistoryDetailPO();
|
|
|
|
|
historyDetailPO.setPid(importHistoryId);
|
|
|
|
|
XSSFRow row = sheetAt.getRow(i);
|
|
|
|
|
// 组装待处理数据
|
|
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
|
|
SchemePO schemePO = new SchemePO();
|
|
|
|
|
SchemePO schemeNew = new SchemePO();
|
|
|
|
|
;
|
|
|
|
|
GradePO gradePO = new GradePO();
|
|
|
|
|
GradePO gradeNew = new GradePO();
|
|
|
|
|
LevelPO levelPO = new LevelPO();
|
|
|
|
|
LevelPO levelNew = new LevelPO();
|
|
|
|
|
|
|
|
|
|
historyDetailPO.setRowNums(String.valueOf(i + 1));
|
|
|
|
|
for (int cellIndex = 0; cellIndex < lastCellNum; cellIndex++) {
|
|
|
|
|
XSSFCell cell = row.getCell((short) cellIndex);
|
|
|
|
|
String cellValue = getCellValue(cell).trim();
|
|
|
|
|
if (i == 0) {
|
|
|
|
|
// 首行 初始化字段信息
|
|
|
|
|
ExtendInfoPO extendInfoPO = importFieldsMap.get(cellValue);
|
|
|
|
|
extendInfoPOS.add(extendInfoPO);
|
|
|
|
|
} else {
|
|
|
|
|
ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex);
|
|
|
|
|
// 数据校验
|
|
|
|
|
if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue)) {
|
|
|
|
|
historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项");
|
|
|
|
|
historyDetailPO.setStatus("0");
|
|
|
|
|
saveImportDetailLog(historyDetailPO);
|
|
|
|
|
continue nextRow;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Object reallyValue;
|
|
|
|
|
try {
|
|
|
|
|
// 数据格式转换
|
|
|
|
|
reallyValue = getReallyValue(infoPO, cellValue);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
historyDetailPO.setOperateDetail(cellValue + "转换失败");
|
|
|
|
|
historyDetailPO.setStatus("0");
|
|
|
|
|
saveImportDetailLog(historyDetailPO);
|
|
|
|
|
continue nextRow;
|
|
|
|
|
}
|
|
|
|
|
if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"ec_company".equals(infoPO.getFieldName()) && !"ec_department".equals(infoPO.getFieldName())) {
|
|
|
|
|
historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据");
|
|
|
|
|
historyDetailPO.setStatus("0");
|
|
|
|
|
saveImportDetailLog(historyDetailPO);
|
|
|
|
|
continue nextRow;
|
|
|
|
|
Object reallyValue;
|
|
|
|
|
try {
|
|
|
|
|
// 数据格式转换
|
|
|
|
|
reallyValue = getReallyValue(infoPO, cellValue);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
historyDetailPO.setOperateDetail(cellValue + "转换失败");
|
|
|
|
|
historyDetailPO.setStatus("0");
|
|
|
|
|
saveImportDetailLog(historyDetailPO);
|
|
|
|
|
continue nextRow;
|
|
|
|
|
}
|
|
|
|
|
if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"ec_company".equals(infoPO.getFieldName()) && !"ec_department".equals(infoPO.getFieldName())) {
|
|
|
|
|
historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据");
|
|
|
|
|
historyDetailPO.setStatus("0");
|
|
|
|
|
saveImportDetailLog(historyDetailPO);
|
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 新增完成后,再次插入
|
|
|
|
|
schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo(schemePO.getSchemeNo());
|
|
|
|
|
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);
|
|
|
|
|
// 校验、数据交互
|
|
|
|
|
if (i == 0) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid(levelPO.getLevelNo(),schemeNew.getId());
|
|
|
|
|
gradePO.setGradeNo((String) map.get("grade_no"));
|
|
|
|
|
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"));
|
|
|
|
|
|
|
|
|
|
gradeNew = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByNoAndSid(gradePO.getGradeNo(),gradePO.getSchemeId());
|
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
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)) {
|
|
|
|
|
if (s == 0) {
|
|
|
|
|
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"));
|
|
|
|
|
|
|
|
|
|
MapperProxyFactory.getProxy(SchemeMapper.class).insertIgnoreNull(schemePO);
|
|
|
|
|
} else if (s == 1) {
|
|
|
|
|
String schemeNo = (String) map.get("scheme_no");
|
|
|
|
|
String levelNo = (String) map.get("level_no");
|
|
|
|
|
schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo(schemeNo);
|
|
|
|
|
if (schemeNew != null) {
|
|
|
|
|
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.setStatus("1");
|
|
|
|
|
saveImportDetailLog(historyDetailPO);
|
|
|
|
|
}else if ("update".equals(operateType)) {
|
|
|
|
|
schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo((String)map.get("scheme_no"));
|
|
|
|
|
if(schemeNew!=null){
|
|
|
|
|
schemeNew.setSchemeNo((String)map.get("scheme_no"));
|
|
|
|
|
schemeNew.setSchemeName((String)map.get("scheme_name"));
|
|
|
|
|
schemeNew.setSchemeDescription((String)map.get("scheme_description"));
|
|
|
|
|
schemeNew.setUpdateTime((Date) map.get("update_time"));
|
|
|
|
|
MapperProxyFactory.getProxy(SchemeMapper.class).updateScheme(schemeNew);
|
|
|
|
|
}else{
|
|
|
|
|
schemeNew.setSchemeNo((String)map.get("scheme_no"));
|
|
|
|
|
schemeNew.setSchemeName((String)map.get("scheme_name"));
|
|
|
|
|
schemeNew.setSchemeDescription((String)map.get("scheme_description"));
|
|
|
|
|
schemeNew.setForbiddenTag((int)map.get("forbidden_tag"));
|
|
|
|
|
schemeNew.setIsUsed(1);
|
|
|
|
|
schemeNew.setCreator((long) user.getUID());
|
|
|
|
|
schemeNew.setDeleteType((int)map.get("delete_type"));
|
|
|
|
|
schemeNew.setCreateTime((Date) map.get("create_time"));
|
|
|
|
|
schemeNew.setUpdateTime((Date) map.get("update_time"));
|
|
|
|
|
MapperProxyFactory.getProxy(SchemeMapper.class).insertIgnoreNull(schemeNew);
|
|
|
|
|
}
|
|
|
|
|
historyDetailPO.setOperateDetail("添加成功");
|
|
|
|
|
historyDetailPO.setStatus("1");
|
|
|
|
|
saveImportDetailLog(historyDetailPO);
|
|
|
|
|
} else if ("update".equals(operateType)) {
|
|
|
|
|
schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo((String) map.get("scheme_no"));
|
|
|
|
|
if (schemeNew != null) {
|
|
|
|
|
schemeNew.setSchemeNo((String) map.get("scheme_no"));
|
|
|
|
|
schemeNew.setSchemeName((String) map.get("scheme_name"));
|
|
|
|
|
schemeNew.setSchemeDescription((String) map.get("scheme_description"));
|
|
|
|
|
schemeNew.setUpdateTime((Date) map.get("update_time"));
|
|
|
|
|
MapperProxyFactory.getProxy(SchemeMapper.class).updateScheme(schemeNew);
|
|
|
|
|
} else {
|
|
|
|
|
schemeNew.setSchemeNo((String) map.get("scheme_no"));
|
|
|
|
|
schemeNew.setSchemeName((String) map.get("scheme_name"));
|
|
|
|
|
schemeNew.setSchemeDescription((String) map.get("scheme_description"));
|
|
|
|
|
schemeNew.setForbiddenTag((int) map.get("forbidden_tag"));
|
|
|
|
|
schemeNew.setIsUsed(1);
|
|
|
|
|
schemeNew.setCreator((long) user.getUID());
|
|
|
|
|
schemeNew.setDeleteType((int) map.get("delete_type"));
|
|
|
|
|
schemeNew.setCreateTime((Date) map.get("create_time"));
|
|
|
|
|
schemeNew.setUpdateTime((Date) map.get("update_time"));
|
|
|
|
|
MapperProxyFactory.getProxy(SchemeMapper.class).insertIgnoreNull(schemeNew);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//查询职等信息
|
|
|
|
|
schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo((String)map.get("scheme_no"));
|
|
|
|
|
levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid((String) map.get("level_no"),schemeNew.getId());
|
|
|
|
|
if(levelNew!=null){
|
|
|
|
|
levelNew.setLevelNo((String) map.get("level_no"));
|
|
|
|
|
levelNew.setLevelName((String) map.get("level_name"));
|
|
|
|
|
levelNew.setDescription((String) map.get("level_description"));
|
|
|
|
|
//关联方案id
|
|
|
|
|
levelNew.setSchemeId(schemeNew.getId());
|
|
|
|
|
levelNew.setUpdateTime((Date) map.get("update_time"));
|
|
|
|
|
MapperProxyFactory.getProxy(LevelMapper.class).updateLevel(levelNew);
|
|
|
|
|
}else{
|
|
|
|
|
levelNew.setLevelNo((String) map.get("level_no"));
|
|
|
|
|
levelNew.setLevelName((String) map.get("level_name"));
|
|
|
|
|
levelNew.setDescription((String) map.get("level_description"));
|
|
|
|
|
//关联方案id
|
|
|
|
|
levelNew.setSchemeId(schemeNew.getId());
|
|
|
|
|
levelNew.setForbiddenTag((int) map.get("forbidden_tag"));
|
|
|
|
|
levelNew.setIsUsed(1);
|
|
|
|
|
levelNew.setCreator((long) user.getUID());
|
|
|
|
|
levelNew.setDeleteType((int)map.get("delete_type"));
|
|
|
|
|
levelNew.setCreateTime((Date) map.get("create_time"));
|
|
|
|
|
levelNew.setUpdateTime((Date) map.get("update_time"));
|
|
|
|
|
MapperProxyFactory.getProxy(LevelMapper.class).insertIgnoreNull(levelNew);
|
|
|
|
|
}
|
|
|
|
|
//查询职等信息
|
|
|
|
|
schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo((String) map.get("scheme_no"));
|
|
|
|
|
levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid((String) map.get("level_no"), schemeNew.getId());
|
|
|
|
|
if (levelNew != null) {
|
|
|
|
|
levelNew.setLevelNo((String) map.get("level_no"));
|
|
|
|
|
levelNew.setLevelName((String) map.get("level_name"));
|
|
|
|
|
levelNew.setDescription((String) map.get("level_description"));
|
|
|
|
|
//关联方案id
|
|
|
|
|
levelNew.setSchemeId(schemeNew.getId());
|
|
|
|
|
levelNew.setUpdateTime((Date) map.get("update_time"));
|
|
|
|
|
MapperProxyFactory.getProxy(LevelMapper.class).updateLevel(levelNew);
|
|
|
|
|
} else {
|
|
|
|
|
levelNew.setLevelNo((String) map.get("level_no"));
|
|
|
|
|
levelNew.setLevelName((String) map.get("level_name"));
|
|
|
|
|
levelNew.setDescription((String) map.get("level_description"));
|
|
|
|
|
//关联方案id
|
|
|
|
|
levelNew.setSchemeId(schemeNew.getId());
|
|
|
|
|
levelNew.setForbiddenTag((int) map.get("forbidden_tag"));
|
|
|
|
|
levelNew.setIsUsed(1);
|
|
|
|
|
levelNew.setCreator((long) user.getUID());
|
|
|
|
|
levelNew.setDeleteType((int) map.get("delete_type"));
|
|
|
|
|
levelNew.setCreateTime((Date) map.get("create_time"));
|
|
|
|
|
levelNew.setUpdateTime((Date) map.get("update_time"));
|
|
|
|
|
MapperProxyFactory.getProxy(LevelMapper.class).insertIgnoreNull(levelNew);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
gradeNew = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByNoAndSid((String) map.get("grade_no"),schemeNew.getId());
|
|
|
|
|
if(gradeNew!=null){
|
|
|
|
|
gradeNew.setGradeNo((String) map.get("grade_no"));
|
|
|
|
|
gradeNew.setGradeName((String) map.get("grade_name"));
|
|
|
|
|
gradeNew.setDescription((String) map.get("grade_description"));
|
|
|
|
|
// 关联方案id
|
|
|
|
|
gradeNew.setSchemeId(schemeNew.getId());
|
|
|
|
|
// 关联职等id
|
|
|
|
|
gradeNew.setLevelId(String.valueOf(levelNew.getId()));
|
|
|
|
|
gradeNew.setUpdateTime((Date) map.get("update_time"));
|
|
|
|
|
GradePO gradePOTmp = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByID(gradeNew.getId());
|
|
|
|
|
if(gradePOTmp!=null){
|
|
|
|
|
|
|
|
|
|
MapperProxyFactory.getProxy(GradeMapper.class).updateGrade(gradeNew);
|
|
|
|
|
gradeNew = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByNoAndSid((String) map.get("grade_no"), schemeNew.getId());
|
|
|
|
|
if (gradeNew != null) {
|
|
|
|
|
gradeNew.setGradeNo((String) map.get("grade_no"));
|
|
|
|
|
gradeNew.setGradeName((String) map.get("grade_name"));
|
|
|
|
|
gradeNew.setDescription((String) map.get("grade_description"));
|
|
|
|
|
// 关联方案id
|
|
|
|
|
gradeNew.setSchemeId(schemeNew.getId());
|
|
|
|
|
// 关联职等id
|
|
|
|
|
gradeNew.setLevelId(String.valueOf(levelNew.getId()));
|
|
|
|
|
gradeNew.setUpdateTime((Date) map.get("update_time"));
|
|
|
|
|
GradePO gradePOTmp = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByID(gradeNew.getId());
|
|
|
|
|
if (gradePOTmp != null) {
|
|
|
|
|
|
|
|
|
|
MapperProxyFactory.getProxy(GradeMapper.class).updateGrade(gradeNew);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
MapperProxyFactory.getProxy(GradeMapper.class).insertIgnoreNull(gradePO);
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
MapperProxyFactory.getProxy(GradeMapper.class).insertIgnoreNull(gradePO);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return importHistoryId;
|
|
|
|
|
}
|
|
|
|
@ -1863,6 +1917,9 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
|
|
|
|
|
// 根据选择字段、生成对应的导入模板
|
|
|
|
|
String[] split = columns.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 departmentColumn = "";
|
|
|
|
|
// 排序
|
|
|
|
@ -1882,6 +1939,36 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
|
|
|
|
|
departmentColumn = column;
|
|
|
|
|
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())) {
|
|
|
|
|
columnList.add(0, departmentColumn);
|
|
|
|
@ -1894,7 +1981,20 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
|
|
|
|
|
List<List<Object>> excelSheetData = new ArrayList<>();
|
|
|
|
|
excelSheetData.add(columnList);
|
|
|
|
|
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";
|
|
|
|
|
File excelPathFile = new File(excelPath);
|
|
|
|
|
if (!excelPathFile.exists()) {
|
|
|
|
|