diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index 37399001..759da7c8 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -1569,11 +1569,11 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } map.put(infoPO.getFieldName(), reallyValue); // 方案页校验 - if ("scheme_no".equals(infoPO.getFieldName()) && s == 0) { + if ("scheme_no".equals(infoPO.getFieldName()) && s == 0 && "add".equals(operateType)) { List schemePOS = MapperProxyFactory.getProxy(SchemeMapper.class).listByNo(Util.null2String(reallyValue)); if (schemePOS.size() > 0) { - historyDetailPO.setOperateDetail("方案页导入:方案编号[" + reallyValue + "]与原有编号重复"); - historyDetailPO.setRelatedName(infoPO.getFieldName()); + historyDetailPO.setOperateDetail("方案编号[" + reallyValue + "]与原有编号重复"); + historyDetailPO.setRelatedName("方案页导入"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); continue nextRow; @@ -1583,8 +1583,8 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if ("scheme_no".equals(infoPO.getFieldName()) && s == 1) { List schemePOS = MapperProxyFactory.getProxy(SchemeMapper.class).listByNo(Util.null2String(reallyValue)); if (schemePOS.size() == 0) { - historyDetailPO.setOperateDetail("职等页导入:未找到编号为[" + reallyValue + "]的方案"); - historyDetailPO.setRelatedName(infoPO.getFieldName()); + historyDetailPO.setOperateDetail("未找到编号为[" + reallyValue + "]的方案"); + historyDetailPO.setRelatedName("职等页导入"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); continue nextRow; @@ -1594,21 +1594,26 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if ("scheme_no".equals(infoPO.getFieldName()) && s == 2) { List schemePOS = MapperProxyFactory.getProxy(SchemeMapper.class).listByNo(Util.null2String(reallyValue)); if (schemePOS.size() == 0) { - historyDetailPO.setOperateDetail("职级页导入:未找到编号为[" + reallyValue + "]的方案"); - historyDetailPO.setRelatedName(infoPO.getFieldName()); + historyDetailPO.setOperateDetail("未找到编号为[" + reallyValue + "]的方案"); + historyDetailPO.setRelatedName("职级页导入"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); continue nextRow; } } if ("level_no".equals(infoPO.getFieldName()) && s == 2) { - List 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; + String[] split = Util.null2String(reallyValue).split(","); + if (split.length > 0) { + for (int index = 0; index < split.length - 1; index++) { + List levelPOS = MapperProxyFactory.getProxy(LevelMapper.class).listByNo(split[index]); + if (levelPOS.size() == 0) { + historyDetailPO.setOperateDetail("未找到编号为[" + reallyValue + "]的职等"); + historyDetailPO.setRelatedName("职级页导入"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; + } + } } } } @@ -1646,8 +1651,8 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (schemeNew != null) { levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid(levelNo, schemeNew.getId()); if (levelNew != null) { - historyDetailPO.setRelatedName("职等页导入"); - historyDetailPO.setOperateDetail("同一方案" + schemeNo + "下,职等编号不可重复"); + historyDetailPO.setRelatedName("职等编号"); + historyDetailPO.setOperateDetail("职等页导入:同一方案" + schemeNo + "下,职等编号不可重复"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); continue nextRow; @@ -1665,6 +1670,12 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ levelPO.setUpdateTime((Date) map.get("update_time")); MapperProxyFactory.getProxy(LevelMapper.class).insertIgnoreNull(levelPO); } + } else { + historyDetailPO.setRelatedName("职等页导入"); + historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的方案"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; } } else if (s == 2) { String gradeNo = (String) map.get("grade_no"); @@ -1672,16 +1683,27 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ String levelNo = (String) map.get("level_no"); schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo(schemeNo); - levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid(levelNo, schemeNew.getId()); + if (schemeNew == null) { + historyDetailPO.setRelatedName("职级页导入"); + historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的方案"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; + } gradeNew = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByNoAndSid(gradeNo, schemeNew.getId()); + if (gradeNew == null) { + historyDetailPO.setRelatedName("职级页导入"); + historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的职等"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; + } 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); @@ -1689,15 +1711,27 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ gradePO.setDeleteType((int) map.get("delete_type")); gradePO.setCreateTime((Date) map.get("create_time")); gradePO.setUpdateTime((Date) map.get("update_time")); + String[] split = levelNo.split(","); + String levelIds = null; + if (split.length > 0) { + for (int index = 0; index < split.length; index++) { + levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid(split[index], schemeNew.getId()); + if (levelIds != null) { + levelIds = levelIds + "," + levelNew.getId(); + } else { + levelIds = String.valueOf(levelNew.getId()); + } + } + } 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); + historyDetailPO.setRelatedName("职级页导入"); + historyDetailPO.setOperateDetail("同一方案[" + schemeNo + "]下,职级编号不可重复"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; } else { + // 关联职等id + gradePO.setLevelId(levelIds); MapperProxyFactory.getProxy(GradeMapper.class).insertIgnoreNull(gradePO); } } @@ -1706,71 +1740,99 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ 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); - } - - 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); - + if (s == 0) { + schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo((String) map.get("scheme_no")); + if (schemeNew != null) { + 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 { + historyDetailPO.setRelatedName("方案更新"); + historyDetailPO.setOperateDetail("未找到编号为[" + map.get("scheme_no") + "]的方案"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; + } + } 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) { + 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 { + historyDetailPO.setRelatedName("职等页更新"); + historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的方案"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; + } + } else { + historyDetailPO.setRelatedName("职等页更新"); + historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的方案,无法更新"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; + } + } 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); + if (schemeNew == null) { + historyDetailPO.setRelatedName("职级页更新"); + historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的方案"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; + } + gradeNew = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByNoAndSid(gradeNo, schemeNew.getId()); + if (gradeNew == null) { + historyDetailPO.setRelatedName("职级页更新"); + historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的职等"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; + } + + String[] split = levelNo.split(","); + String levelIds = null; + if (split.length > 0) { + for (int index = 0; index < split.length; index++) { + levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid(split[index], schemeNew.getId()); + if (levelIds != null) { + levelIds = levelIds + "," + levelNew.getId(); + } else { + levelIds = String.valueOf(levelNew.getId()); + } + } + } + if (gradeNew != null) { + gradeNew.setSchemeId(schemeNew.getId()); + gradeNew.setGradeName((String) map.get("grade_name")); + gradeNew.setDescription((String) map.get("grade_description")); + // 关联职等id + gradeNew.setLevelId(levelIds); + gradeNew.setUpdateTime((Date) map.get("update_time")); + MapperProxyFactory.getProxy(GradeMapper.class).updateGrade(gradeNew); + } else { + historyDetailPO.setRelatedName("职级页更新"); + historyDetailPO.setOperateDetail("未找到编号[" + schemeNo + "]的职级,无法更新"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; } - } else { - MapperProxyFactory.getProxy(GradeMapper.class).insertIgnoreNull(gradePO); } + historyDetailPO.setOperateDetail("更新成功"); + historyDetailPO.setStatus("1"); + saveImportDetailLog(historyDetailPO); } } @@ -1951,20 +2013,20 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ schemeList.add(column); } if("职等编号".equals(column)){ - levelList.add(column); + levelList.add(0,column); gradeList.add(column); } if("职等名称".equals(column)){ - levelList.add(column); + levelList.add(1,column); } if("职等说明".equals(column)){ levelList.add(column); } if("职级编号".equals(column)){ - gradeList.add(column); + gradeList.add(0,column); } if("职级名称".equals(column)){ - gradeList.add(column); + gradeList.add(1,column); } if("职级说明".equals(column)){ gradeList.add(column);