分权增加角色

pull/276/head
Chengliang 8 months ago
parent 53afce795a
commit 82fd63c1a1

@ -24,6 +24,8 @@ public class ManagerDetachParam {
private Integer ecManager;
private Integer roleId;
private Integer jclManager;
private String ecRolelevel;

@ -22,6 +22,7 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
@OrganizationTable(pageId = "0bf9b7bc-c8b0-4225-bf28-4cd015d96e98",
fields = "t.id," +
"t.manager_type," +
"t.ec_manager," +
"t.ec_rolelevel," +
"t.manage_module," +
@ -45,8 +46,11 @@ public class ManagerDetachVO {
@OrganizationTableColumn(column = "id", display = false)
private Long id;
@OrganizationTableColumn(labelId = 513540, text = "管理员类型", width = "20%", column = "manager_type")
private Integer managerType;
@OrganizationTableColumn(labelId = 547405, text = "管理员", width = "20%", column = "ec_manager", transmethod = "com.engine.organization.transmethod.ManagerDetachTransMethod.getManagerName")
@OrganizationTableColumn(labelId = 547405, text = "管理员", width = "20%", column = "ec_manager", transmethod = "com.engine.organization.transmethod.ManagerDetachTransMethod.getManagerName",otherPara = "column:manager_type")
private Integer ecManager;
@OrganizationTableColumn(labelId = 547407, text = "可管理组织机构", width = "40%", column = "ec_rolelevel", transmethod = "com.engine.organization.transmethod.ManagerDetachTransMethod.getRoleLevel")

@ -26,5 +26,7 @@ public interface ManagerDetachMapper {
List<ManagerDetachPO> getDetachListById(@Param("ecManager") Integer ecManager);
List<ManagerDetachPO> selectDetachListByManager(@Param("ids") Collection<Integer> ids);
ManagerDetachPO selectManagerDetachByUid(@Param("uid") Integer uId);
}

@ -216,6 +216,19 @@
from jcl_org_detach t
WHERE delete_type = 0
and ec_manager = #{ecManager}
and manager_type = 0
</select>
<select id="selectDetachListByManager" resultMap="BaseResultMap">
select
<include refid="baseColumns"/>
from jcl_org_detach t
WHERE delete_type = 0
and manager_type = 1
AND ec_manager IN
<foreach collection="ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</select>
<select id="selectManagerDetachByUid" resultMap="BaseResultMap">

@ -5,6 +5,8 @@ import com.api.browser.bean.SearchConditionGroup;
import com.api.browser.bean.SearchConditionItem;
import com.api.browser.bean.SearchConditionOption;
import com.cloudstore.eccom.result.WeaResultMsg;
import com.engine.common.service.HrmCommonService;
import com.engine.common.service.impl.HrmCommonServiceImpl;
import com.engine.core.impl.Service;
import com.engine.organization.component.OrganizationWeaTable;
import com.engine.organization.entity.DeleteParam;
@ -25,6 +27,9 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.cachecenter.bean.RolemembersComInfo;
import weaver.hrm.resource.ResourceComInfo;
import weaver.hrm.roles.RolesComInfo;
import weaver.systeminfo.SystemEnv;
import java.util.*;
@ -78,32 +83,63 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe
@Override
public Map<String, Object> getForm(Integer id) {
Map<String, Object> apiDatas = new HashMap<>();
RolesComInfo rolesComInfo = new RolesComInfo();
List<SearchConditionItem> selectItems = new ArrayList<>();
List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionOption> selectOption = new ArrayList<>();
SearchConditionOption pOption = new SearchConditionOption("0", SystemEnv.getHtmlLabelName(547205,user.getLanguage()));
SearchConditionOption rOption = new SearchConditionOption("1", SystemEnv.getHtmlLabelName(547388,user.getLanguage()));
selectOption.add(pOption);
selectOption.add(rOption);
List<SearchConditionOption> selectOptions = new ArrayList<>();
SearchConditionOption moduleOption = new SearchConditionOption("0", SystemEnv.getHtmlLabelName(547409,user.getLanguage()), true);
selectOptions.add(moduleOption);
SearchConditionItem ecManager = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, 547405, "1", "ecManager", "");
SearchConditionItem roleId = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, 547388, "267", "roleId", "");
SearchConditionItem ecManager = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, true, 547405, "1", "ecManager", "");
ecManager.setRules("required|string");
SearchConditionItem ecRolelevel = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, 547407, "194", "ecRolelevel", "");
ecRolelevel.setRules("required|string");
SearchConditionItem module = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, 547408, "module");
module.setViewAttr(1);
module.setDetailtype(2);
module.setHasBorder(true);
SearchConditionItem managerType = OrganizationFormItemUtil.selectItem(user, selectOption, 2, 16, 6, false, 513540, "managerType");
managerType.setViewAttr(3);
managerType.setRules("required|string");
selectItems.add(managerType);
if (id != null) {
ManagerDetachPO detachById = getMangeDetachMapper().getDetachById(id);
BrowserBean manager = ecManager.getBrowserConditionParam();
manager.setReplaceDatas(getEmployeeMapper().getBrowserDatas(DeleteParam.builder().ids(String.valueOf(detachById.getEcManager())).build().getIds()));
ecManager.setBrowserConditionParam(manager);
managerType.setValue(String.valueOf(detachById.getManagerType()));
managerType.setViewAttr(1);
if (detachById.getManagerType() == 0){
BrowserBean manager = ecManager.getBrowserConditionParam();
manager.setReplaceDatas(getEmployeeMapper().getBrowserDatas(DeleteParam.builder().ids(String.valueOf(detachById.getEcManager())).build().getIds()));
ecManager.setBrowserConditionParam(manager);
selectItems.add(ecManager);
}else {
BrowserBean role = roleId.getBrowserConditionParam();
List<Map<String, Object>> rep = new ArrayList<>();
Integer rolesId = detachById.getEcManager();
String rolesname = rolesComInfo.getRolesRemark(String.valueOf(rolesId));
rep.add(new HashMap<String,Object>(2){{put("name",rolesname);}});
rep.add(new HashMap<String,Object>(2){{put("id",rolesId);}});
role.setReplaceDatas(rep);
roleId.setBrowserConditionParam(role);
selectItems.add(roleId);
}
BrowserBean roleLevel = ecRolelevel.getBrowserConditionParam();
roleLevel.setReplaceDatas(getSystemDataMapper().getBrowserDatas(DeleteParam.builder().ids(String.valueOf(detachById.getEcRolelevel())).build().getIds()));
ecRolelevel.setBrowserConditionParam(roleLevel);
}else {
selectItems.add(ecManager);
selectItems.add(roleId);
}
selectItems.add(ecManager);
selectItems.add(ecRolelevel);
selectItems.add(module);
addGroups.add(new SearchConditionGroup("基本信息", true, selectItems));
apiDatas.put("condition", addGroups);
return apiDatas;
@ -116,7 +152,7 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe
@Override
public int save(ManagerDetachParam param) {
Integer ecManager = param.getEcManager();
Integer ecManager = "0".equals(String.valueOf(param.getManagerType())) ? param.getEcManager() : param.getRoleId();
String noRepeatRoleLevel = param.getEcRolelevel();
// 判断有无重复数据
List<ManagerDetachPO> detachListById = getMangeDetachMapper().getDetachListById(ecManager);
@ -128,7 +164,7 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe
getMangeDetachMapper().deleteByIds(collect);
}
ManagerDetachPO managerDetachPO = ManagerDetachPO.builder()
.managerType(0)
.managerType(param.getManagerType())
.ecManager(ecManager)
.jclManager(ecManager)
.ecRolelevel(noRepeatRoleLevel)
@ -145,7 +181,7 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe
@Override
public int updateDetach(ManagerDetachParam param) {
Integer ecManager = param.getEcManager();
Integer ecManager = "0".equals(String.valueOf(param.getManagerType())) ? param.getEcManager() : param.getRoleId();
String noRepeatRoleLevel = param.getEcRolelevel();
// 判断有无重复数据
List<ManagerDetachPO> detachListById = getMangeDetachMapper().getDetachListById(ecManager);
@ -212,7 +248,13 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe
public static List<Integer> getJclRoleLevels(Integer uId) {
List<Integer> ecRoleLevels = new ArrayList<>();
ManagerDetachMapper mangeDetachMapper = MapperProxyFactory.getProxy(ManagerDetachMapper.class);
List<ManagerDetachPO> detachListById = mangeDetachMapper.getDetachListById(uId);
//人员
List<ManagerDetachPO> detachListById = new ArrayList<>(mangeDetachMapper.getDetachListById(uId));
//角色
HrmCommonService hrmCommonService = new HrmCommonServiceImpl();
//List<String> roleIds = new ArrayList<>(Arrays.asList(hrmCommonService.getRoleIds(uId).split(",")));
List<Integer> roleIds = Arrays.asList(69);
detachListById.addAll(mangeDetachMapper.selectDetachListByManager(roleIds));
for (ManagerDetachPO managerDetachPO : detachListById) {
List<Integer> ids = Stream.of(managerDetachPO.getJclRolelevel().split(",")).map(Integer::parseInt).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(ids)) {

@ -7,6 +7,7 @@ import com.engine.organization.mapper.hrmresource.SystemDataMapper;
import com.engine.organization.util.db.MapperProxyFactory;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import weaver.hrm.roles.RolesComInfo;
import java.util.Arrays;
import java.util.List;
@ -21,7 +22,7 @@ import java.util.stream.Collectors;
**/
public class ManagerDetachTransMethod {
public static String getManagerName(String ecManager) {
public static String getManagerName(String ecManager,String managerType) {
if (org.apache.commons.lang.StringUtils.isBlank(ecManager)) {
return "";
}
@ -29,8 +30,16 @@ public class ManagerDetachTransMethod {
if (CollectionUtils.isEmpty(collect)) {
return "";
}
List<String> employeeNameById = MapperProxyFactory.getProxy(EmployeeMapper.class).getEmployeeNameById(collect);
return StringUtils.join(employeeNameById, ",");
if ("0".equals(managerType)) {
List<String> employeeNameById = MapperProxyFactory.getProxy(EmployeeMapper.class).getEmployeeNameById(collect);
return StringUtils.join(employeeNameById, ",");
}else {
//角色
RolesComInfo rolesComInfo = new RolesComInfo();
return rolesComInfo.getRolesRemark(ecManager);
}
}

Loading…
Cancel
Save