From 306897c5bcc172fac8e2fc8ca302ea05433b9df2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98ml=E2=80=99?= Date: Mon, 14 Nov 2022 17:29:55 +0800 Subject: [PATCH] =?UTF-8?q?=E8=81=8C=E5=8A=A1=E5=AF=BC=E5=85=A5=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E6=8F=90=E7=A4=BA=E4=BF=AE=E5=A4=8D1114?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ImportCommonServiceImpl.java | 463 +++++++++++------- .../service/impl/PostServiceImpl.java | 4 +- 2 files changed, 276 insertions(+), 191 deletions(-) diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index 759da7c8..d46c9d98 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -212,7 +212,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ returnMap.put("condition", getResourceImportForm(templatePath)); break; case "joblevel": - returnMap.put("condition", getJobTitleImportForm(templatePath)); + returnMap.put("condition", getJobLevelImportForm(templatePath)); break; default: returnMap.put("status", "-1"); @@ -512,6 +512,67 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ lsGroup.add(groupItem); return lsGroup; } + private List getJobLevelImportForm(String templatePath) throws IOException { + + // 返回导入数据 + List lsGroup = new ArrayList<>(); + Map groupItem = new HashMap<>(); + List itemList = new ArrayList<>(); + + groupItem.put("title", SystemEnv.getHtmlLabelName(1361, user.getLanguage())); + groupItem.put("defaultshow", true); + + SearchConditionItem searchConditionItem; + ConditionFactory conditionFactory = new ConditionFactory(user); + + //导入类型 + List statusOptions = new ArrayList<>(); + statusOptions.add(new SearchConditionOption("add", SystemEnv.getHtmlLabelName(611, user.getLanguage()), true)); + statusOptions.add(new SearchConditionOption("update", SystemEnv.getHtmlLabelName(17744, user.getLanguage()))); + searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, 24863, "importType", statusOptions); + searchConditionItem.setValue("add"); + itemList.add(searchConditionItem); + + //模板文件 + searchConditionItem = conditionFactory.createCondition(ConditionType.INPUT, 28576, "templet"); + searchConditionItem.setValue(templatePath); + itemList.add(searchConditionItem); + + //Excel文件 + searchConditionItem = conditionFactory.createCondition(ConditionType.RESOURCEIMG, 16630, "excelfile"); + itemList.add(searchConditionItem); + + groupItem.put("items", itemList); + lsGroup.add(groupItem); + + + itemList = new ArrayList<>(); + groupItem = new HashMap<>(); + groupItem.put("title", SystemEnv.getHtmlLabelName(33803, Util.getIntValue(user.getLanguage()))); + groupItem.put("defaultshow", true); + List lsPromptLabel = new ArrayList<>(); //提示信息 + lsPromptLabel.add(34275); + lsPromptLabel.add(125452); + + for (int i = 0; i < lsPromptLabel.size(); i++) { + Map item = new HashMap<>(); + item.put("index", (i + 1)); + String value = Util.toScreen(SystemEnv.getHtmlLabelName(lsPromptLabel.get(i), user.getLanguage()), user.getLanguage()); + if (i == 0) { + value += SystemEnv.getHtmlLabelName(28576, user.getLanguage()); + item.put("link", templatePath); + } + item.put("value", value); + itemList.add(item); + } + Map item = new HashMap<>(); + item.put("index", 3); + item.put("value", "多个职等之间使用英文状态下逗号”,“隔开"); + itemList.add(item); + groupItem.put("items", itemList); + lsGroup.add(groupItem); + return lsGroup; + } private List getResourceImportForm(String templatePath) throws IOException { @@ -1509,11 +1570,26 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } catch (IOException e) { throw new RuntimeException(e); } + int allRow = 0; + nextSheet: for (int s = 0; s < workbook.getNumberOfSheets(); s++) { // 当前sheet XSSFSheet sheetAt = workbook.getSheetAt(s); int lastRow = sheetAt.getLastRowNum(); - OrganizationAssert.isTrue(lastRow > 0, "导入数据为空"); + allRow = allRow + lastRow; + String relatedName = ""; + switch (s) { + case 0: + relatedName = "方案页"; + break; + case 1: + relatedName = "职等页"; + break; + default: + relatedName = "职级页"; + OrganizationAssert.isTrue(allRow > 0, "导入数据为空"); + break; + } short lastCellNum = sheetAt.getRow(0).getLastCellNum(); List extendInfoPOS = new ArrayList<>(); @@ -1527,7 +1603,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ Map map = new HashMap<>(); SchemePO schemePO = new SchemePO(); SchemePO schemeNew = new SchemePO(); - ; GradePO gradePO = new GradePO(); GradePO gradeNew = new GradePO(); LevelPO levelPO = new LevelPO(); @@ -1545,6 +1620,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); // 数据校验 if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue)) { + historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); @@ -1556,59 +1632,62 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ // 数据格式转换 reallyValue = getReallyValue(infoPO, cellValue); } catch (Exception e) { + historyDetailPO.setRelatedName(relatedName); 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.setRelatedName(""); historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); continue nextRow; } map.put(infoPO.getFieldName(), reallyValue); - // 方案页校验 + // 方案页校验(是否重复) 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.setRelatedName(relatedName); historyDetailPO.setOperateDetail("方案编号[" + reallyValue + "]与原有编号重复"); - historyDetailPO.setRelatedName("方案页导入"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); - continue nextRow; + break nextSheet; } } - // 职等页校验 + // 职等页校验(方案是否存在) if ("scheme_no".equals(infoPO.getFieldName()) && s == 1) { List schemePOS = MapperProxyFactory.getProxy(SchemeMapper.class).listByNo(Util.null2String(reallyValue)); if (schemePOS.size() == 0) { + historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号为[" + reallyValue + "]的方案"); - historyDetailPO.setRelatedName("职等页导入"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); continue nextRow; } } - // 职级页校验 + // 职级页校验(方案是否存在) if ("scheme_no".equals(infoPO.getFieldName()) && s == 2) { List schemePOS = MapperProxyFactory.getProxy(SchemeMapper.class).listByNo(Util.null2String(reallyValue)); if (schemePOS.size() == 0) { + historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号为[" + reallyValue + "]的方案"); - historyDetailPO.setRelatedName("职级页导入"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); continue nextRow; } } + // 职级页校验(职等是否存在) if ("level_no".equals(infoPO.getFieldName()) && s == 2) { String[] split = Util.null2String(reallyValue).split(","); if (split.length > 0) { - for (int index = 0; index < split.length - 1; index++) { + for (int index = 0; index < split.length; index++) { List levelPOS = MapperProxyFactory.getProxy(LevelMapper.class).listByNo(split[index]); if (levelPOS.size() == 0) { + historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号为[" + reallyValue + "]的职等"); - historyDetailPO.setRelatedName("职级页导入"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); continue nextRow; @@ -1632,203 +1711,207 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ 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 + "下,职等编号不可重复"); + switch (s) { + case 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); + break; + case 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 { + historyDetailPO.setRelatedName(relatedName); + historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的方案"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; + } + break; + case 2: + String gradeNo2 = (String) map.get("grade_no"); + String schemeNo2 = (String) map.get("scheme_no"); + String levelNo2 = (String) map.get("level_no"); + + schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo(schemeNo2); + if (schemeNew == null) { + historyDetailPO.setRelatedName(relatedName); + historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo2 + "]的方案"); 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 { - 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; - } - gradePO.setGradeNo(gradeNo); - gradePO.setGradeName((String) map.get("grade_name")); - gradePO.setDescription((String) map.get("grade_description")); - // 关联方案id - gradePO.setSchemeId(schemeNew.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")); - 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()); + gradePO.setGradeNo(gradeNo2); + gradePO.setGradeName((String) map.get("grade_name")); + gradePO.setDescription((String) map.get("grade_description")); + // 关联方案id + gradePO.setSchemeId(schemeNew.getId()); + 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")); + String[] split = levelNo2.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) { - historyDetailPO.setRelatedName("职级页导入"); - historyDetailPO.setOperateDetail("同一方案[" + schemeNo + "]下,职级编号不可重复"); - historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); - continue nextRow; - } else { - // 关联职等id - gradePO.setLevelId(levelIds); - MapperProxyFactory.getProxy(GradeMapper.class).insertIgnoreNull(gradePO); - } + gradeNew = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByNoAndSid(gradeNo2, schemeNew.getId()); + if (gradeNew != null) { + historyDetailPO.setRelatedName(relatedName); + historyDetailPO.setOperateDetail("同一方案[" + schemeNo2 + "]下,职级编号不可重复"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; + } else { + // 关联职等id + gradePO.setLevelId(levelIds); + MapperProxyFactory.getProxy(GradeMapper.class).insertIgnoreNull(gradePO); + } + break; + default: + break; } - historyDetailPO.setOperateDetail("添加成功"); historyDetailPO.setStatus("1"); saveImportDetailLog(historyDetailPO); } else if ("update".equals(operateType)) { - 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); + switch (s) { + case 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("未找到编号为[" + schemeNo + "]的方案"); + historyDetailPO.setRelatedName(relatedName); + historyDetailPO.setOperateDetail("未找到编号为[" + map.get("scheme_no") + "]的方案"); 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(); + break; + case 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 { - levelIds = String.valueOf(levelNew.getId()); + historyDetailPO.setRelatedName(relatedName); + historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的方案"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; } + } else { + historyDetailPO.setRelatedName(relatedName); + historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的方案,无法更新"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; } - } - 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; - } + break; + case 2: + String gradeNo = (String) map.get("grade_no"); + String schemeNo2 = (String) map.get("scheme_no"); + String levelNo2 = (String) map.get("level_no"); + schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo(schemeNo2); + if (schemeNew == null) { + historyDetailPO.setRelatedName(relatedName); + historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo2 + "]的方案"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; + } + gradeNew = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByNoAndSid(gradeNo, schemeNew.getId()); + if (gradeNew == null) { + historyDetailPO.setRelatedName(relatedName); + historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo2 + "]的职等"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; + } + // 处理职级编号 + String[] split = levelNo2.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(relatedName); + historyDetailPO.setOperateDetail("未找到编号[" + schemeNo2 + "]的职级,无法更新"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; + } + + break; + default: + break; } historyDetailPO.setOperateDetail("更新成功"); historyDetailPO.setStatus("1"); @@ -1889,6 +1972,8 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ object = Integer.parseInt(cellValue); } else if ("float".equals(valueType)) { object = Float.parseFloat(cellValue); + } else if ("text".equals(valueType)){ + object = cellValue; } else { try { object = new BigDecimal(cellValue).toPlainString(); diff --git a/src/com/engine/organization/service/impl/PostServiceImpl.java b/src/com/engine/organization/service/impl/PostServiceImpl.java index 96671931..8b19fd67 100644 --- a/src/com/engine/organization/service/impl/PostServiceImpl.java +++ b/src/com/engine/organization/service/impl/PostServiceImpl.java @@ -34,8 +34,8 @@ public class PostServiceImpl extends Service implements PostService { @Override public int savePost(PostPO postPO) { HasRightUtil.hasRight(user, RIGHT_NAME, false); - // List list = getPostMapper().listByNo(Util.null2String(postPO.getPostNo())); - // OrganizationAssert.isEmpty(list, "编号不允许重复"); + List list = getPostMapper().listByName(Util.null2String(postPO.getPostName())); + OrganizationAssert.isEmpty(list, "名称不允许重复"); return getPostMapper().insertIgnoreNull(PostDTO.convertPO(postPO, user.getUID())); }