分权BUG修复 #41

Merged
dxfeng merged 2 commits from feature/dxf into develop 3 years ago

@ -21,6 +21,7 @@ import com.engine.organization.util.db.DBType;
import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.db.MapperProxyFactory;
import com.engine.organization.util.detach.DetachUtil; import com.engine.organization.util.detach.DetachUtil;
import com.engine.organization.util.tree.SearchTreeUtil; import com.engine.organization.util.tree.SearchTreeUtil;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import weaver.conn.RecordSet; import weaver.conn.RecordSet;
import weaver.general.Util; import weaver.general.Util;
@ -143,18 +144,31 @@ public class JobBrowserService extends BrowserService {
private List<TreeNode> getCurrentTreeNode(SearchTreeParams params) { private List<TreeNode> getCurrentTreeNode(SearchTreeParams params) {
// 分权 // 分权
DetachUtil detachUtil = new DetachUtil(user.getUID()); DetachUtil detachUtil = new DetachUtil(user.getUID());
List<Long> jclRoleLevelList = Arrays.stream(detachUtil.getJclRoleLevels().split(",")).map(Long::parseLong).collect(Collectors.toList()); List<Long> jclRoleLevelList;
if (StringUtils.isNotBlank(detachUtil.getJclRoleLevels())) {
jclRoleLevelList = Arrays.stream(detachUtil.getJclRoleLevels().split(",")).map(Long::parseLong).collect(Collectors.toList());
}else{
jclRoleLevelList = new ArrayList<>();
}
List<TreeNode> treeNodes = new ArrayList<>(); List<TreeNode> treeNodes = new ArrayList<>();
if (StringUtils.isBlank(params.getId())) { if (StringUtils.isBlank(params.getId())) {
// 集团总部 // 集团总部
SearchTree topGroup = SearchTreeUtil.getTopGroup(); SearchTree topGroup = SearchTreeUtil.getTopGroup();
topGroup.setIsParent(true); if(detachUtil.isDETACH()&& StringUtils.isNotBlank(detachUtil.getJclRoleLevels())) {
topGroup.setIsParent(true);
}else{
topGroup.setIsParent(false);
}
treeNodes.add(topGroup); treeNodes.add(topGroup);
} else { } else {
// 分部存在下级的ID // 分部存在下级的ID
List<String> compHasSubs; List<String> compHasSubs;
if (detachUtil.isDETACH()) { if (detachUtil.isDETACH()) {
compHasSubs = MapperProxyFactory.getProxy(CompMapper.class).hasDetachSubs(jclRoleLevelList); if(CollectionUtils.isNotEmpty(jclRoleLevelList)) {
compHasSubs = MapperProxyFactory.getProxy(CompMapper.class).hasDetachSubs(jclRoleLevelList);
}else{
compHasSubs = new ArrayList<>();
}
} else { } else {
compHasSubs = MapperProxyFactory.getProxy(CompMapper.class).hasSubs(); compHasSubs = MapperProxyFactory.getProxy(CompMapper.class).hasSubs();
} }
@ -164,8 +178,12 @@ public class JobBrowserService extends BrowserService {
if ("0".equals(params.getId())) { if ("0".equals(params.getId())) {
List<CompPO> compList; List<CompPO> compList;
if (detachUtil.isDETACH()) { if (detachUtil.isDETACH()) {
compList = MapperProxyFactory.getProxy(CompMapper.class).getCompsByIds(jclRoleLevelList); if(CollectionUtils.isNotEmpty(jclRoleLevelList)) {
detachUtil.filterCompanyList(compList); compList = MapperProxyFactory.getProxy(CompMapper.class).getCompsByIds(jclRoleLevelList);
detachUtil.filterCompanyList(compList);
}else{
compList = new ArrayList<>();
}
}else{ }else{
compList = MapperProxyFactory.getProxy(CompMapper.class).listParent(); compList = MapperProxyFactory.getProxy(CompMapper.class).listParent();
} }

@ -11,8 +11,6 @@
<result column="manage_module" property="manageModule"/> <result column="manage_module" property="manageModule"/>
<result column="creator" property="creator"/> <result column="creator" property="creator"/>
<result column="delete_type" property="deleteType"/> <result column="delete_type" property="deleteType"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap> </resultMap>
@ -27,8 +25,6 @@
, t.manage_module , t.manage_module
, t.creator , t.creator
, t.delete_type , t.delete_type
, t.create_time
, t.update_time
</sql> </sql>

@ -8,6 +8,7 @@ import com.engine.organization.util.HrmI18nUtil;
import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.db.MapperProxyFactory;
import com.engine.organization.util.detach.DetachUtil; import com.engine.organization.util.detach.DetachUtil;
import com.engine.organization.util.excel.ExcelUtil; import com.engine.organization.util.excel.ExcelUtil;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.util.ArrayList; import java.util.ArrayList;
@ -30,8 +31,12 @@ public class ExportCommonServiceImpl extends Service implements ExportCommonServ
List<HrmResourceVO> hrmResourceVOS ; List<HrmResourceVO> hrmResourceVOS ;
DetachUtil detachUtil = new DetachUtil(user.getUID()); DetachUtil detachUtil = new DetachUtil(user.getUID());
if (detachUtil.isDETACH()) { if (detachUtil.isDETACH()) {
List<Long> jclRoleLevelList = Arrays.stream(detachUtil.getJclRoleLevels().split(",")).map(Long::parseLong).collect(Collectors.toList()); if (StringUtils.isBlank(detachUtil.getJclRoleLevels())) {
hrmResourceVOS = MapperProxyFactory.getProxy(ResourceMapper.class).listDetachAll(ids, jclRoleLevelList); hrmResourceVOS = new ArrayList<>();
} else {
List<Long> jclRoleLevelList = Arrays.stream(detachUtil.getJclRoleLevels().split(",")).map(Long::parseLong).collect(Collectors.toList());
hrmResourceVOS = MapperProxyFactory.getProxy(ResourceMapper.class).listDetachAll(ids, jclRoleLevelList);
}
} else { } else {
hrmResourceVOS = MapperProxyFactory.getProxy(ResourceMapper.class).listAll(ids); hrmResourceVOS = MapperProxyFactory.getProxy(ResourceMapper.class).listAll(ids);
} }

@ -55,7 +55,12 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
// 分部分权过滤 // 分部分权过滤
DetachUtil detachUtil = new DetachUtil(user.getUID()); DetachUtil detachUtil = new DetachUtil(user.getUID());
if (detachUtil.isDETACH()) { if (detachUtil.isDETACH()) {
sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where (ftype = 0 or (ftype = 1 and fobjid in(" + detachUtil.getJclRoleLevels() + "))) order by ftype , id"; String jclRoleLevels = detachUtil.getJclRoleLevels();
if (StringUtils.isNotBlank(jclRoleLevels)) {
sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) order by ftype , id";
} else {
sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype = 0 order by ftype , id";
}
} }
rs.executeQuery(sql); rs.executeQuery(sql);
List<Map<String, Object>> companylist = new ArrayList<>(); List<Map<String, Object>> companylist = new ArrayList<>();

Loading…
Cancel
Save