Index: forgon-core/src/main/java/com/forgon/directory/service/BrancheOfHospitalManagerImpl.java =================================================================== diff -u -r30152 -r30157 --- forgon-core/src/main/java/com/forgon/directory/service/BrancheOfHospitalManagerImpl.java (.../BrancheOfHospitalManagerImpl.java) (revision 30152) +++ forgon-core/src/main/java/com/forgon/directory/service/BrancheOfHospitalManagerImpl.java (.../BrancheOfHospitalManagerImpl.java) (revision 30157) @@ -179,15 +179,25 @@ Set orgUnitNames = new LinkedHashSet(); Set bhNames = new LinkedHashSet(); + int orgSize = 0; + int bhSize= 0; ResultSet rs = null; try { rs = objectDao.executeSql(sql); while(rs.next()){ + String bhName = rs.getString("brancheOfHospital"); + String orgUnitName = rs.getString("orgUnitName"); + if(!bhNames.contains(bhName)){ + bhSize++; + } + if(!orgUnitNames.contains(orgUnitName)){ + orgSize++; + } if(bhNames.size() < 5){ - bhNames.add(rs.getString("brancheOfHospital")); + bhNames.add(bhName); } if(orgUnitNames.size() < 5){ - orgUnitNames.add(rs.getString("orgUnitName")); + orgUnitNames.add(orgUnitName); } } } catch (Exception e) { @@ -197,20 +207,28 @@ } if(CollectionUtils.isNotEmpty(bhNames) && CollectionUtils.isNotEmpty(orgUnitNames)){ - throw new SystemException("如下科室同时属于【" + StringTools.join(bhNames, "、") + "】所引用的科室分组,不允许一个科室属于多个院区,请修改后再保存!【" + StringTools.join(orgUnitNames, "、") + "】"); + String orgNames = StringTools.join(orgUnitNames, "、"); + String bhNameStr = StringTools.join(bhNames, "、"); + if(orgSize > 5){ + orgNames += "......"; + } + if(bhSize > 5){ + bhNameStr += "......"; + } + throw new SystemException("如下科室同时属于【" + bhNameStr + "】所引用的科室分组,不允许一个科室属于多个院区,请修改后再保存!【" + orgNames + "】"); } String countSql = "select count(po.id) from BrancheOfHospital po where po.serialNumber = " + brancheOfHospital.getSerialNumber(); if(DatabaseUtil.isPoIdValid(brancheOfHospital.getId())){ - sql += " and po.id <> " + brancheOfHospital.getId(); + countSql += " and po.id <> " + brancheOfHospital.getId(); } if(objectDao.countBySql(countSql) > 0){ throw new SystemException("已经存在相同序号的院区,请修改后再保存!"); } countSql = "select count(po.id) from BrancheOfHospital po where po.name = '" + brancheOfHospital.getName() + "'"; if(DatabaseUtil.isPoIdValid(brancheOfHospital.getId())){ - sql += " and po.id <> " + brancheOfHospital.getId(); + countSql += " and po.id <> " + brancheOfHospital.getId(); } if(objectDao.countBySql(countSql) > 0){ throw new SystemException("已经存在相同名称的院区,请修改后再保存!"); Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitGroupManagerImpl.java =================================================================== diff -u -r30151 -r30157 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitGroupManagerImpl.java (.../OrgUnitGroupManagerImpl.java) (revision 30151) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitGroupManagerImpl.java (.../OrgUnitGroupManagerImpl.java) (revision 30157) @@ -168,15 +168,25 @@ Set orgUnitNames = new LinkedHashSet(); Set bhNames = new LinkedHashSet(); + int orgSize = 0; + int bhSize= 0; ResultSet rs = null; try { rs = objectDao.executeSql(sql); while(rs.next()){ + String bhName = rs.getString("brancheOfHospital"); + String orgUnitName = rs.getString("orgUnitName"); + if(!bhNames.contains(bhName)){ + bhSize++; + } + if(!orgUnitNames.contains(orgUnitName)){ + orgSize++; + } if(bhNames.size() < 5){ - bhNames.add(rs.getString("brancheOfHospital")); + bhNames.add(bhName); } if(orgUnitNames.size() < 5){ - orgUnitNames.add(rs.getString("orgUnitName")); + orgUnitNames.add(orgUnitName); } } } catch (Exception e) { @@ -186,7 +196,15 @@ } if(CollectionUtils.isNotEmpty(bhNames) && CollectionUtils.isNotEmpty(orgUnitNames)){ - throw new SystemException("如下科室同时属于【" + StringTools.join(bhNames, "、") + "】所引用的科室分组,不允许一个科室属于多个院区,请修改后再保存!【" + StringTools.join(orgUnitNames, "、") + "】"); + String orgNames = StringTools.join(orgUnitNames, "、"); + String bhNameStr = StringTools.join(bhNames, "、"); + if(orgSize > 5){ + orgNames += "......"; + } + if(bhSize > 5){ + bhNameStr += "......"; + } + throw new SystemException("如下科室同时属于【" + bhNameStr + "】所引用的科室分组,不允许一个科室属于多个院区,请修改后再保存!【" + orgNames + "】"); } String deleteOrg_GroupSql = String.format("delete from %s where orgGroupId = %s ",