分权新增、更新功能重构

pull/204/head
dxfeng 2 years ago
parent d0214ca5af
commit acccc9537c

@ -14,7 +14,6 @@ import com.engine.organization.entity.detach.vo.ManagerDetachVO;
import com.engine.organization.mapper.detach.ManagerDetachMapper;
import com.engine.organization.mapper.employee.EmployeeMapper;
import com.engine.organization.mapper.hrmresource.SystemDataMapper;
import com.engine.organization.mapper.resource.ResourceMapper;
import com.engine.organization.service.ManagerDetachService;
import com.engine.organization.util.HasRightUtil;
import com.engine.organization.util.OrganizationFormItemUtil;
@ -46,15 +45,11 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe
return MapperProxyFactory.getProxy(ManagerDetachMapper.class);
}
public ResourceMapper getResourceMapper() {
return MapperProxyFactory.getProxy(ResourceMapper.class);
}
public EmployeeMapper getEmployeeMapper() {
return MapperProxyFactory.getProxy(EmployeeMapper.class);
}
public SystemDataMapper getSystemDataMapper(){
public SystemDataMapper getSystemDataMapper() {
return MapperProxyFactory.getProxy(SystemDataMapper.class);
}
@ -67,7 +62,7 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe
return resultMap;
}
String detach = new BaseBean().getPropValue("hrmOrganization", "detach");
resultMap.put("isDetach",detach);
resultMap.put("isDetach", detach);
OrganizationWeaTable<ManagerDetachVO> table = new OrganizationWeaTable<>(user, ManagerDetachVO.class);
String sqlWhere = buildSqlWhere(params);
table.setSqlwhere(sqlWhere);
@ -85,7 +80,7 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe
List<SearchConditionItem> selectItems = new ArrayList<>();
List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionOption> selectOptions = new ArrayList<>();
SearchConditionOption moduleOption = new SearchConditionOption("0", "组织管理",true);
SearchConditionOption moduleOption = new SearchConditionOption("0", "组织管理", true);
selectOptions.add(moduleOption);
SearchConditionItem ecManager = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, true, "管理员", "1", "ecManager", "");
@ -120,32 +115,58 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe
@Override
public int save(ManagerDetachParam param) {
Integer ecManager = param.getEcManager();
String noRepeatRoleLevel = param.getEcRolelevel();
// 判断有无重复数据
List<ManagerDetachPO> detachListById = getMangeDetachMapper().getDetachListById(ecManager);
if (CollectionUtils.isNotEmpty(detachListById)) {
Set<String> noRepeatRoleLevels = getNoRepeatRoleLevels(detachListById);
noRepeatRoleLevels.addAll(Arrays.asList(noRepeatRoleLevel.split(",")));
noRepeatRoleLevel = StringUtils.join(noRepeatRoleLevels, ",");
List<Long> collect = detachListById.stream().map(ManagerDetachPO::getId).map(Long::valueOf).collect(Collectors.toList());
getMangeDetachMapper().deleteByIds(collect);
}
ManagerDetachPO managerDetachPO = ManagerDetachPO.builder()
.managerType(0)
.ecManager(param.getEcManager())
.jclManager(param.getEcManager())
.ecRolelevel(param.getEcRolelevel())
.jclRolelevel(param.getEcRolelevel())
.ecManager(ecManager)
.jclManager(ecManager)
.ecRolelevel(noRepeatRoleLevel)
.jclRolelevel(noRepeatRoleLevel)
.manageModule("组织管理")
.creator((long)user.getUID())
.creator((long) user.getUID())
.deleteType(0)
.createTime(new Date())
.updateTime(new Date())
.build();
return getMangeDetachMapper().insertIgnoreNull(managerDetachPO);
getMangeDetachMapper().insertIgnoreNull(managerDetachPO);
return managerDetachPO.getId();
}
@Override
public int updateDetach(ManagerDetachParam param) {
Integer ecManager = param.getEcManager();
String noRepeatRoleLevel = param.getEcRolelevel();
// 判断有无重复数据
List<ManagerDetachPO> detachListById = getMangeDetachMapper().getDetachListById(ecManager);
if (CollectionUtils.isNotEmpty(detachListById)) {
Set<String> noRepeatRoleLevels = getNoRepeatRoleLevels(detachListById);
noRepeatRoleLevels.addAll(Arrays.asList(noRepeatRoleLevel.split(",")));
noRepeatRoleLevel = StringUtils.join(noRepeatRoleLevels, ",");
List<Long> collect = detachListById.stream().map(ManagerDetachPO::getId).map(Long::valueOf).collect(Collectors.toList());
collect.remove(Long.valueOf(param.getId()));
if(CollectionUtils.isNotEmpty(collect)) {
getMangeDetachMapper().deleteByIds(collect);
}
}
ManagerDetachPO managerDetachPO = ManagerDetachPO.builder()
.id(param.getId())
.ecManager(param.getEcManager())
.ecRolelevel(param.getEcRolelevel())
.jclManager(param.getEcManager())
.jclRolelevel(param.getEcRolelevel())
.ecManager(ecManager)
.ecRolelevel(noRepeatRoleLevel)
.jclManager(ecManager)
.jclRolelevel(noRepeatRoleLevel)
.build();
return getMangeDetachMapper().updateDetach(managerDetachPO);
getMangeDetachMapper().updateDetach(managerDetachPO);
return managerDetachPO.getId();
}
@Override
@ -174,6 +195,7 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe
/**
* JCL_ID
*
* @param uId
* @return
*/
@ -189,4 +211,22 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe
}
return ecRoleLevels;
}
/**
*
*
* @param detachList detachList
* @return return
*/
private Set<String> getNoRepeatRoleLevels(List<ManagerDetachPO> detachList) {
Set<String> ecRoleLevels = new HashSet<>();
for (ManagerDetachPO managerDetach : detachList) {
Set<String> ids = Stream.of(managerDetach.getJclRolelevel().split(",")).collect(Collectors.toSet());
if (CollectionUtils.isNotEmpty(ids)) {
ecRoleLevels.addAll(ids);
}
}
return ecRoleLevels;
}
}

@ -82,7 +82,7 @@ public class ManagerDetachWrapper extends OrganizationWrapper {
ManagerDetachPO managerDetachPO = MapperProxyFactory.getProxy(ManagerDetachMapper.class).getDetachById(param.getId());
int result = getManagerDetachService(user).updateDetach(param);
writeOperateLog(new Object() {
}.getClass(), String.valueOf(managerDetachPO.getEcManager()), JSON.toJSONString(param), managerDetachPO, MapperProxyFactory.getProxy(ManagerDetachMapper.class).getDetachById(param.getId()));
}.getClass(), String.valueOf(managerDetachPO.getEcManager()), JSON.toJSONString(param), managerDetachPO, MapperProxyFactory.getProxy(ManagerDetachMapper.class).getDetachById(result));
return result;
}

Loading…
Cancel
Save