|
|
|
@ -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;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|