diff --git a/src/com/engine/organization/mapper/resource/ResourceMapper.java b/src/com/engine/organization/mapper/resource/ResourceMapper.java index 7b331550..0a3ce993 100644 --- a/src/com/engine/organization/mapper/resource/ResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/ResourceMapper.java @@ -36,7 +36,7 @@ public interface ResourceMapper { * @param keyFieldValue * @return */ - Long getIdByKeyField(@Param("keyField") String keyField, @Param("keyFieldValue") String keyFieldValue); + List getIdByKeyField(@Param("keyField") String keyField, @Param("keyFieldValue") String keyFieldValue); String getEcResourceId(@Param("jclResourceId") String jclResourceId); diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index 2770d96b..f2ab24a5 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -245,28 +245,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ returnMap.put("pId", jobImport(operateType, excelFile)); break; case "resource": - //Long importHistoryId = saveImportLog("resource", operateType); - //HrmImportAdaptExcelE9 importAdapt = new HrmImportAdaptExcelE9(); - //FileUploadToPath fu = new FileUploadToPath(request); - // - //List errorInfo = importAdapt.creatImportMap(fu); - // - ////如果读取数据和验证模板没有发生错误 - //if (errorInfo.isEmpty()) { - // Map hrMap = importAdapt.getHrmImportMap(); - // - // HrmImportProcessE9 importProcess = new HrmImportProcessE9(); - // importProcess.init(request, importHistoryId); - // - // - // importProcess.processMap(hrMap); - //} else { - // for (String s : errorInfo) { - // MapperProxyFactory.getProxy(JclImportHistoryDetailMapper.class).insertHistoryDetail(JclImportHistoryDetailPO.builder().pid(importHistoryId).operateDetail(Util.null2String(s)).status("0").build()); - // } - //} - //returnMap.put("pId", importHistoryId); - returnMap.put("pId", hrmResourceImport(operateType, excelFile, keyField)); break; case "joblevel": @@ -1537,9 +1515,14 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue; } historyDetailPO.setRelatedName(keyFieldValue); - // 判断当前人员是否存在 - Long resourceId = MapperProxyFactory.getProxy(ResourceMapper.class).getIdByKeyField(keyField, keyFieldValue); + boolean hasSameKeyFieldValue = hasSameKeyFieldValue(historyDetailPO, keyField, keyFieldValue); + ; + if (hasSameKeyFieldValue) { + continue; + } + + Long resourceId = MapperProxyFactory.getProxy(ResourceMapper.class).getIdByKeyField(keyField, keyFieldValue).get(0); if ("add".equals(operateType)) { if (resourceId != null) { historyDetailPO.setOperateDetail(keyFieldValue + "已存在"); @@ -2031,7 +2014,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ cellValue = Util.toHtmlForHrm(cellValue); return cellValue; } - + /** * 校验重复编号 @@ -2215,4 +2198,33 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } return false; } + + /** + * 判断所选关键字段是否查出多条数据 + * + * @param historyDetailPO + * @param keyField + * @param keyFieldValue + * @return + */ + private boolean hasSameKeyFieldValue(JclImportHistoryDetailPO historyDetailPO, String keyField, String keyFieldValue) { + String operateDetail = ""; + if (StringUtils.isBlank(keyFieldValue)) { + return false; + } + List resourceIds = MapperProxyFactory.getProxy(ResourceMapper.class).getIdByKeyField(keyField, keyFieldValue); + if (CollectionUtils.isEmpty(resourceIds)) { + operateDetail = "[" + keyFieldValue + "]未找到对应人员"; + } + if (resourceIds.size() > 1) { + operateDetail = "[" + keyFieldValue + "]查询到多个人员,请确认"; + } + if (StringUtils.isNotBlank(operateDetail)) { + historyDetailPO.setOperateDetail(operateDetail); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + return true; + } + return false; + } } diff --git a/src/com/engine/organization/thread/OrganizationSyncEc.java b/src/com/engine/organization/thread/OrganizationSyncEc.java index ff309262..54f587f8 100644 --- a/src/com/engine/organization/thread/OrganizationSyncEc.java +++ b/src/com/engine/organization/thread/OrganizationSyncEc.java @@ -557,7 +557,7 @@ public class OrganizationSyncEc { } } // 再查主表 - rs.execute("select * from hrmdepartment where id = '" + ecDepartment + "'"); + rs.execute("select id,departmentmark,departmentname,subcompanyid1,supdepid,allsupdepid,canceled,departmentcode,coadjutant,outkey,budgetatuomoveorder,ecology_pinyin_search,tlevel,created,creater,modified,modifier,uuid,showorder,showorderoftree,tenant_key from hrmdepartment where id = '" + ecDepartment + "'"); colcount = rs.getColCounts(); if (rs.next()) { for (int i = 1; i <= colcount; i++) {