分权新增、更新功能重构

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,10 +45,6 @@ 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);
}
@ -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())
.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