档案批量发薪、停薪权限控制
This commit is contained in:
parent
383562c9cf
commit
46f94ddd3d
|
|
@ -21,7 +21,6 @@ import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
|
|||
import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveTaxAgentPO;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO;
|
||||
import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO;
|
||||
import com.engine.salary.entity.taxagent.po.TaxAgentEmpChangePO;
|
||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||
|
|
@ -369,36 +368,12 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
|
||||
@Override
|
||||
public List<SalaryArchiveListDTO> list(SalaryArchiveQueryParam queryParam) {
|
||||
long currentEmployeeId = user.getUID();
|
||||
|
||||
//排序配置
|
||||
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
|
||||
queryParam.setOrderRule(orderRule);
|
||||
|
||||
Boolean needAuth = getTaxAgentService(user).isNeedAuth(currentEmployeeId);
|
||||
if (needAuth) {
|
||||
|
||||
Boolean adminEnable = getTaxAgentService(user).isAdminEnable(currentEmployeeId);
|
||||
//不是管理员看不到数据,返回空
|
||||
if (!adminEnable) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
//获取管理的人员范围
|
||||
List<TaxAgentEmployeeDTO> taxAgentEmployeeDTOS = getTaxAgentService(user).listTaxAgentAndEmployee(currentEmployeeId);
|
||||
Set<Long> employeeId = SalaryEntityUtil.properties(taxAgentEmployeeDTOS, TaxAgentEmployeeDTO::getEmployeeId);
|
||||
|
||||
Collection<TaxAgentPO> taxAgentPOS = getTaxAgentService(user).listAllTaxAgentsAsAdmin(currentEmployeeId);
|
||||
Set<Long> taxAgentIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId);
|
||||
|
||||
//获取所有薪资档案
|
||||
List<SalaryArchiveListDTO> list = getSalaryArchiveList(queryParam);
|
||||
List<SalaryArchiveListDTO> finalAllArchive = list.stream().filter(dto -> employeeId.contains(dto.getEmployeeId()) && taxAgentIds.contains(dto.getTaxAgentId())).collect(Collectors.toList());
|
||||
|
||||
return finalAllArchive;
|
||||
} else {
|
||||
return getSalaryArchiveList(queryParam);
|
||||
}
|
||||
List<SalaryArchiveListDTO> list = getSalaryArchiveList(queryParam);
|
||||
return getAuthService(user).auth(list, queryParam.getFilterType(), SalaryArchiveListDTO.class);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1053,7 +1028,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
|
||||
List<SalaryArchivePO> list = getSalaryArchiveMapper().listAll();
|
||||
|
||||
list = getAuthService(user).auth(list,AuthFilterTypeEnum.QUERY_DATA,SalaryArchivePO.class);
|
||||
list = getAuthService(user).auth(list, AuthFilterTypeEnum.QUERY_DATA, SalaryArchivePO.class);
|
||||
|
||||
long pendingTotal = 0L;
|
||||
long fixedTotal = 0L;
|
||||
|
|
@ -1176,8 +1151,8 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
@Override
|
||||
public Map<String, Object> allGotoFixed(SalaryArchiveQueryParam queryParam) {
|
||||
queryParam.setRunStatusList(Arrays.asList(SalaryArchiveStatusEnum.PENDING.getValue()));
|
||||
List<Long> salaryArchiveIds = this.list(queryParam)
|
||||
.stream().map(SalaryArchiveListDTO::getId).collect(Collectors.toList());
|
||||
queryParam.setFilterType(AuthFilterTypeEnum.ADMIN_DATA);
|
||||
List<Long> salaryArchiveIds = this.list(queryParam).stream().map(SalaryArchiveListDTO::getId).collect(Collectors.toList());
|
||||
return this.gotoFixed(salaryArchiveIds);
|
||||
}
|
||||
|
||||
|
|
@ -1230,6 +1205,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
@Override
|
||||
public Map<String, Object> allGotoStop(SalaryArchiveQueryParam queryParam) {
|
||||
queryParam.setRunStatusList(Arrays.asList(SalaryArchiveStatusEnum.SUSPEND.getValue()));
|
||||
queryParam.setFilterType(AuthFilterTypeEnum.ADMIN_DATA);
|
||||
List<Long> salaryArchiveIds = this.list(queryParam)
|
||||
.stream().map(SalaryArchiveListDTO::getId).collect(Collectors.toList());
|
||||
return this.gotoStop(salaryArchiveIds);
|
||||
|
|
@ -1300,24 +1276,14 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(84026, "参数错误"));
|
||||
}
|
||||
|
||||
List<SalaryArchivePO> oldList = listSome(
|
||||
SalaryArchivePO.builder()
|
||||
.ids(ids)
|
||||
.runStatusList(Arrays.asList(SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue(), SalaryArchiveStatusEnum.STOP_FROM_SUSPEND.getValue()))
|
||||
.build());
|
||||
SalaryArchivePO param = SalaryArchivePO.builder()
|
||||
.ids(ids)
|
||||
.runStatusList(Arrays.asList(SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue(), SalaryArchiveStatusEnum.STOP_FROM_SUSPEND.getValue()))
|
||||
.build();
|
||||
List<SalaryArchivePO> oldList = listSome(param);
|
||||
oldList = getAuthService(user).auth(oldList, AuthFilterTypeEnum.ADMIN_DATA, SalaryArchivePO.class);
|
||||
|
||||
|
||||
if (CollectionUtils.isEmpty(oldList)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(145969, "档案不存在!"));
|
||||
}
|
||||
|
||||
|
||||
List<TaxAgentEmployeeDTO> taxAgentManageRangeEmployees = getTaxAgentService(user).listAllTaxAgentAndEmployee();
|
||||
List<SalaryArchivePO> oldPendingList = oldList.stream().filter(f -> f.getRunStatus().equals(SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue())).collect(Collectors.toList());
|
||||
boolean isNotExist = oldPendingList.stream().anyMatch(te -> taxAgentManageRangeEmployees.stream().noneMatch(p -> p.getEmployeeId() != null && p.getEmployeeId().equals(te.getEmployeeId()) && p.getTaxAgentId().equals(te.getTaxAgentId())));
|
||||
if (isNotExist) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(116196, "不在当前个税扣缴义人的人员范围中,不可取消停薪"));
|
||||
}
|
||||
ids = SalaryEntityUtil.properties(oldList, SalaryArchivePO::getId);
|
||||
// 从停薪到待定薪
|
||||
getSalaryArchiveMapper().gotoPendingFromStop(ids);
|
||||
// 从停薪到定薪
|
||||
|
|
|
|||
Loading…
Reference in New Issue