|
|
|
|
@ -15,6 +15,7 @@ import com.engine.salary.entity.salaryacct.dto.SalaryAcctEmployeeCountDTO;
|
|
|
|
|
import com.engine.salary.entity.salaryacct.param.*;
|
|
|
|
|
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
|
|
|
|
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
|
|
|
|
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
|
|
|
|
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveDataDTO;
|
|
|
|
|
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
|
|
|
|
|
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
|
|
|
|
|
@ -45,7 +46,10 @@ import com.google.common.collect.Sets;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
import org.apache.commons.lang3.math.NumberUtils;
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
|
import weaver.conn.RecordSet;
|
|
|
|
|
import weaver.general.BaseBean;
|
|
|
|
|
import weaver.hrm.User;
|
|
|
|
|
import weaver.hrm.company.DepartmentComInfo;
|
|
|
|
|
|
|
|
|
|
@ -223,6 +227,25 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|
|
|
|
// 分页参数
|
|
|
|
|
// 查询薪资核算人员
|
|
|
|
|
List<SalaryAcctEmployeePO> salaryAcctEmployeePOS = getSalaryAcctEmployeeMapper().listPage(queryParam);
|
|
|
|
|
if (StringUtils.isNotBlank(queryParam.getSubmitStatus())) {
|
|
|
|
|
if (queryParam.getSubmitStatus().equals(AZSalaryAcctEmployeeStatusEnum.NOT_SUBMITTED.getValue())) {
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream()
|
|
|
|
|
.filter(po -> StringUtils.isBlank(po.getAzSubmittedStatus()) || po.getAzSubmittedStatus().equals(queryParam.getSubmitStatus())).collect(Collectors.toList());
|
|
|
|
|
} else {
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream()
|
|
|
|
|
.filter(po -> StringUtils.isNotBlank(po.getAzSubmittedStatus()) && po.getAzSubmittedStatus().equals(queryParam.getSubmitStatus())).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(queryParam.getApproveStatus())) {
|
|
|
|
|
if (queryParam.getApproveStatus().equals(AZSalaryAcctEmployeeStatusEnum.NOT_APPROVED.getValue())) {
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream()
|
|
|
|
|
.filter(po -> StringUtils.isBlank(po.getAzApprovalStatus()) || po.getAzApprovalStatus().equals(queryParam.getApproveStatus())).collect(Collectors.toList());
|
|
|
|
|
} else {
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream()
|
|
|
|
|
.filter(po -> StringUtils.isNotBlank(po.getAzApprovalStatus()) && po.getAzApprovalStatus().equals(queryParam.getApproveStatus())).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//艾志二开,增加当前登录人拥有的的部门查看权限包含的人员档案列表
|
|
|
|
|
List<Long> taxAgentIds = getTaxAgentService(user).listAllTaxAgents(Long.valueOf(user.getUID())).stream().map(TaxAgentPO::getId).collect(Collectors.toList());
|
|
|
|
|
@ -250,6 +273,32 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|
|
|
|
}
|
|
|
|
|
salaryAcctEmployeePOS = needAuthPage;
|
|
|
|
|
|
|
|
|
|
BaseBean baseBean = new BaseBean();
|
|
|
|
|
// 艾志 合同签署类型
|
|
|
|
|
if (CollectionUtils.isNotEmpty(queryParam.getHtqslxList())) {
|
|
|
|
|
Long htqslxItemId = NumberUtils.isCreatable(baseBean.getPropValue("azgySalary", "htqslx_item_id"))
|
|
|
|
|
? Long.valueOf(baseBean.getPropValue("azgySalary", "htqslx_item_id")) : 0L;
|
|
|
|
|
List<SalaryAcctResultPO> list = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(Collections.singletonList(queryParam.getSalaryAcctRecordId()), Collections.singletonList(htqslxItemId));
|
|
|
|
|
List<Long> acctEmpId = list.stream().filter(result -> queryParam.getHtqslxList().contains(result.getResultValue())).map(SalaryAcctResultPO::getSalaryAcctEmpId).distinct().collect(Collectors.toList());
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream().filter(acctEmp -> acctEmpId.contains(acctEmp.getId())).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
// 艾志 人事代理公司
|
|
|
|
|
if (CollectionUtils.isNotEmpty(queryParam.getRsdlgsList())) {
|
|
|
|
|
// 获取人事代理公司编号对应的名称
|
|
|
|
|
String sql = "select rsdlgs from uf_rsdlgs where bh in("+ StringUtils.join(queryParam.getRsdlgsList(), ",") + ")";
|
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
|
rs.execute(sql);
|
|
|
|
|
ArrayList<String> rsdlgsNames = new ArrayList<>();
|
|
|
|
|
while (rs.next()) {
|
|
|
|
|
rsdlgsNames.add(rs.getString(1));
|
|
|
|
|
}
|
|
|
|
|
Long rsdlgsItemId = NumberUtils.isCreatable(baseBean.getPropValue("azgySalary", "rsdlgs_item_id"))
|
|
|
|
|
? Long.valueOf(baseBean.getPropValue("azgySalary", "rsdlgs_item_id")) : 0L;
|
|
|
|
|
List<SalaryAcctResultPO> list = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(Collections.singletonList(queryParam.getSalaryAcctRecordId()), Collections.singletonList(rsdlgsItemId));
|
|
|
|
|
List<Long> acctEmpId = list.stream().filter(result -> rsdlgsNames.contains(result.getResultValue())).map(SalaryAcctResultPO::getSalaryAcctEmpId).distinct().collect(Collectors.toList());
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream().filter(acctEmp -> acctEmpId.contains(acctEmp.getId())).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(),
|
|
|
|
|
salaryAcctEmployeePOS, SalaryAcctEmployeePO.class);
|
|
|
|
|
}
|
|
|
|
|
@ -297,6 +346,51 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|
|
|
|
salaryAcctEmployeePOS = listByParam(salaryAcctEmployeeQueryParam);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(queryParam.getSubmitStatus())) {
|
|
|
|
|
if (queryParam.getSubmitStatus().equals(AZSalaryAcctEmployeeStatusEnum.NOT_SUBMITTED.getValue())) {
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream()
|
|
|
|
|
.filter(po -> StringUtils.isBlank(po.getAzSubmittedStatus()) || po.getAzSubmittedStatus().equals(queryParam.getSubmitStatus())).collect(Collectors.toList());
|
|
|
|
|
} else {
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream()
|
|
|
|
|
.filter(po -> StringUtils.isNotBlank(po.getAzSubmittedStatus()) && po.getAzSubmittedStatus().equals(queryParam.getSubmitStatus())).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(queryParam.getApproveStatus())) {
|
|
|
|
|
if (queryParam.getApproveStatus().equals(AZSalaryAcctEmployeeStatusEnum.NOT_APPROVED.getValue())) {
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream()
|
|
|
|
|
.filter(po -> StringUtils.isBlank(po.getAzApprovalStatus()) || po.getAzApprovalStatus().equals(queryParam.getApproveStatus())).collect(Collectors.toList());
|
|
|
|
|
} else {
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream()
|
|
|
|
|
.filter(po -> StringUtils.isNotBlank(po.getAzApprovalStatus()) && po.getAzApprovalStatus().equals(queryParam.getApproveStatus())).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
BaseBean baseBean = new BaseBean();
|
|
|
|
|
// 艾志 合同签署类型
|
|
|
|
|
if (CollectionUtils.isNotEmpty(queryParam.getHtqslxList())) {
|
|
|
|
|
Long htqslxItemId = NumberUtils.isCreatable(baseBean.getPropValue("azgySalary", "htqslx_item_id"))
|
|
|
|
|
? Long.valueOf(baseBean.getPropValue("azgySalary", "htqslx_item_id")) : 0L;
|
|
|
|
|
List<SalaryAcctResultPO> list = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(Collections.singletonList(queryParam.getSalaryAcctRecordId()), Collections.singletonList(htqslxItemId));
|
|
|
|
|
List<Long> acctEmpId = list.stream().filter(result -> queryParam.getHtqslxList().contains(result.getResultValue())).map(SalaryAcctResultPO::getSalaryAcctEmpId).distinct().collect(Collectors.toList());
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream().filter(acctEmp -> acctEmpId.contains(acctEmp.getId())).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
// 艾志 人事代理公司
|
|
|
|
|
if (CollectionUtils.isNotEmpty(queryParam.getRsdlgsList())) {
|
|
|
|
|
// 获取人事代理公司编号对应的名称
|
|
|
|
|
String sql = "select rsdlgs from uf_rsdlgs where bh in("+ StringUtils.join(queryParam.getRsdlgsList(), ",") + ")";
|
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
|
rs.execute(sql);
|
|
|
|
|
ArrayList<String> rsdlgsNames = new ArrayList<>();
|
|
|
|
|
while (rs.next()) {
|
|
|
|
|
rsdlgsNames.add(rs.getString(1));
|
|
|
|
|
}
|
|
|
|
|
Long rsdlgsItemId = NumberUtils.isCreatable(baseBean.getPropValue("azgySalary", "rsdlgs_item_id"))
|
|
|
|
|
? Long.valueOf(baseBean.getPropValue("azgySalary", "rsdlgs_item_id")) : 0L;
|
|
|
|
|
List<SalaryAcctResultPO> list = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(Collections.singletonList(queryParam.getSalaryAcctRecordId()), Collections.singletonList(rsdlgsItemId));
|
|
|
|
|
List<Long> acctEmpId = list.stream().filter(result -> rsdlgsNames.contains(result.getResultValue())).map(SalaryAcctResultPO::getSalaryAcctEmpId).distinct().collect(Collectors.toList());
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream().filter(acctEmp -> acctEmpId.contains(acctEmp.getId())).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//艾志二开,增加当前登录人拥有的的部门查看权限包含的人员档案列表
|
|
|
|
|
List<Long> taxAgentIds = getTaxAgentService(user).listAllTaxAgents(Long.valueOf(user.getUID())).stream().map(TaxAgentPO::getId).collect(Collectors.toList());
|
|
|
|
|
List<SalaryAcctEmployeePO> needAuthPage = salaryAcctEmployeePOS.stream().filter(dto -> taxAgentIds.contains(dto.getTaxAgentId())).collect(Collectors.toList());
|
|
|
|
|
@ -481,6 +575,25 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|
|
|
|
salaryAcctEmployeePOS = getSalaryAcctEmployeeMapper().listPage4ConsolidatedTax(otherSalaryAcctRecordIds, queryParam);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(queryParam.getSubmitStatus())) {
|
|
|
|
|
if (queryParam.getSubmitStatus().equals(AZSalaryAcctEmployeeStatusEnum.NOT_SUBMITTED.getValue())) {
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream()
|
|
|
|
|
.filter(po -> StringUtils.isBlank(po.getAzSubmittedStatus()) || po.getAzSubmittedStatus().equals(queryParam.getSubmitStatus())).collect(Collectors.toList());
|
|
|
|
|
} else {
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream()
|
|
|
|
|
.filter(po -> StringUtils.isNotBlank(po.getAzSubmittedStatus()) && po.getAzSubmittedStatus().equals(queryParam.getSubmitStatus())).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(queryParam.getApproveStatus())) {
|
|
|
|
|
if (queryParam.getApproveStatus().equals(AZSalaryAcctEmployeeStatusEnum.NOT_APPROVED.getValue())) {
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream()
|
|
|
|
|
.filter(po -> StringUtils.isBlank(po.getAzApprovalStatus()) || po.getAzApprovalStatus().equals(queryParam.getApproveStatus())).collect(Collectors.toList());
|
|
|
|
|
} else {
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream()
|
|
|
|
|
.filter(po -> StringUtils.isNotBlank(po.getAzApprovalStatus()) && po.getAzApprovalStatus().equals(queryParam.getApproveStatus())).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//艾志二开,增加当前登录人拥有的的部门查看权限包含的人员档案列表
|
|
|
|
|
List<Long> taxAgentIds = getTaxAgentService(user).listAllTaxAgents(Long.valueOf(user.getUID())).stream().map(TaxAgentPO::getId).collect(Collectors.toList());
|
|
|
|
|
List<SalaryAcctEmployeePO> needAuthPage = salaryAcctEmployeePOS.stream().filter(dto -> taxAgentIds.contains(dto.getTaxAgentId())).collect(Collectors.toList());
|
|
|
|
|
@ -507,6 +620,32 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|
|
|
|
}
|
|
|
|
|
salaryAcctEmployeePOS = needAuthPage;
|
|
|
|
|
|
|
|
|
|
BaseBean baseBean = new BaseBean();
|
|
|
|
|
// 艾志 合同签署类型
|
|
|
|
|
if (CollectionUtils.isNotEmpty(queryParam.getHtqslxList())) {
|
|
|
|
|
Long htqslxItemId = NumberUtils.isCreatable(baseBean.getPropValue("azgySalary", "htqslx_item_id"))
|
|
|
|
|
? Long.valueOf(baseBean.getPropValue("azgySalary", "htqslx_item_id")) : 0L;
|
|
|
|
|
List<SalaryAcctResultPO> list = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(Collections.singletonList(queryParam.getSalaryAcctRecordId()), Collections.singletonList(htqslxItemId));
|
|
|
|
|
List<Long> acctEmpId = list.stream().filter(result -> queryParam.getHtqslxList().contains(result.getResultValue())).map(SalaryAcctResultPO::getSalaryAcctEmpId).distinct().collect(Collectors.toList());
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream().filter(acctEmp -> acctEmpId.contains(acctEmp.getId())).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
// 艾志 人事代理公司
|
|
|
|
|
if (CollectionUtils.isNotEmpty(queryParam.getRsdlgsList())) {
|
|
|
|
|
// 获取人事代理公司编号对应的名称
|
|
|
|
|
String sql = "select rsdlgs from uf_rsdlgs where bh in("+ StringUtils.join(queryParam.getRsdlgsList(), ",") + ")";
|
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
|
rs.execute(sql);
|
|
|
|
|
ArrayList<String> rsdlgsNames = new ArrayList<>();
|
|
|
|
|
while (rs.next()) {
|
|
|
|
|
rsdlgsNames.add(rs.getString(1));
|
|
|
|
|
}
|
|
|
|
|
Long rsdlgsItemId = NumberUtils.isCreatable(baseBean.getPropValue("azgySalary", "rsdlgs_item_id"))
|
|
|
|
|
? Long.valueOf(baseBean.getPropValue("azgySalary", "rsdlgs_item_id")) : 0L;
|
|
|
|
|
List<SalaryAcctResultPO> list = getSalaryAcctResultService(user).listBySalaryAcctRecordIdsAndSalaryItemIds(Collections.singletonList(queryParam.getSalaryAcctRecordId()), Collections.singletonList(rsdlgsItemId));
|
|
|
|
|
List<Long> acctEmpId = list.stream().filter(result -> rsdlgsNames.contains(result.getResultValue())).map(SalaryAcctResultPO::getSalaryAcctEmpId).distinct().collect(Collectors.toList());
|
|
|
|
|
salaryAcctEmployeePOS = salaryAcctEmployeePOS.stream().filter(acctEmp -> acctEmpId.contains(acctEmp.getId())).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(),
|
|
|
|
|
salaryAcctEmployeePOS, SalaryAcctEmployeePO.class);
|
|
|
|
|
}
|
|
|
|
|
@ -1028,6 +1167,28 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|
|
|
|
if (CollectionUtils.isEmpty(salaryAcctEmployeePOList) || param.getAcctEmpIds().size() != salaryAcctEmployeePOList.size()) {
|
|
|
|
|
throw new SalaryRunTimeException("提交失败,核算人员信息不存在或已被删除,请刷新后重试");
|
|
|
|
|
}
|
|
|
|
|
// 校验提交权限
|
|
|
|
|
// 艾志 - 提交操作权限
|
|
|
|
|
List<Long> submitAuthList = getSalaryEmployeeService(user).listDepIdByEmpIdAndOpe(Long.valueOf(user.getUID()), 0);
|
|
|
|
|
if (CollectionUtils.isEmpty(submitAuthList)) {
|
|
|
|
|
throw new SalaryRunTimeException("提交失败,当前登录账号无提交权限,请联系管理员");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//查询登录人拥有查看权限的部门
|
|
|
|
|
List<String> depWithChildList = new ArrayList<>();
|
|
|
|
|
for (Long depId : submitAuthList) {
|
|
|
|
|
try {
|
|
|
|
|
String depStr = DepartmentComInfo.getAllChildDepartId(depId.toString(), depId.toString());
|
|
|
|
|
depWithChildList.addAll(Arrays.stream(depStr.split(",")).collect(Collectors.toList()));
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Optional<SalaryAcctEmployeePO> first = salaryAcctEmployeePOList.stream().filter(acctEmp -> !depWithChildList.contains(acctEmp.getDepartmentId().toString())).findFirst();
|
|
|
|
|
if (first.isPresent()) {
|
|
|
|
|
throw new SalaryRunTimeException("提交失败,当前登录账号无提交该部门员工薪资权限,请联系管理员");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<Long> needSubmitAcctEmpIds = salaryAcctEmployeePOList.stream().map(SalaryAcctEmployeePO::getId).collect(Collectors.toList());
|
|
|
|
|
if (CollectionUtils.isNotEmpty(needSubmitAcctEmpIds)) {
|
|
|
|
|
@ -1036,6 +1197,29 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private boolean checkConfirmAuth(List<SalaryAcctEmployeePO> salaryAcctEmployeePOList) {
|
|
|
|
|
// 校验提交权限
|
|
|
|
|
// 艾志 - 提交操作权限
|
|
|
|
|
List<Long> submitAuthList = getSalaryEmployeeService(user).listDepIdByEmpIdAndOpe(Long.valueOf(user.getUID()), 1);
|
|
|
|
|
if (CollectionUtils.isEmpty(submitAuthList)) {
|
|
|
|
|
throw new SalaryRunTimeException("提交失败,当前登录账号无提交权限,请联系管理员");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//查询登录人拥有查看权限的部门
|
|
|
|
|
List<String> depWithChildList = new ArrayList<>();
|
|
|
|
|
for (Long depId : submitAuthList) {
|
|
|
|
|
try {
|
|
|
|
|
String depStr = DepartmentComInfo.getAllChildDepartId(depId.toString(), depId.toString());
|
|
|
|
|
depWithChildList.addAll(Arrays.stream(depStr.split(",")).collect(Collectors.toList()));
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Optional<SalaryAcctEmployeePO> first = salaryAcctEmployeePOList.stream().filter(acctEmp -> !depWithChildList.contains(acctEmp.getDepartmentId().toString())).findFirst();
|
|
|
|
|
return !first.isPresent();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void azReturn(SalaryAcctEmpAzApprovalStatusParam param) {
|
|
|
|
|
if (CollectionUtils.isEmpty(param.getAcctEmpIds())) {
|
|
|
|
|
@ -1045,6 +1229,11 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|
|
|
|
if (CollectionUtils.isEmpty(salaryAcctEmployeePOList) || param.getAcctEmpIds().size() != salaryAcctEmployeePOList.size()) {
|
|
|
|
|
throw new SalaryRunTimeException("退回失败,核算人员信息不存在或已被删除,请刷新后重试");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!checkConfirmAuth(salaryAcctEmployeePOList)) {
|
|
|
|
|
throw new SalaryRunTimeException("退回失败,当前登录账号无退回该部门员工薪资权限,请联系管理员");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<Long> canNotReturnEmployeeIds = salaryAcctEmployeePOList.stream()
|
|
|
|
|
.filter(po -> po.getAzSubmittedStatus() == null || !po.getAzSubmittedStatus().equals(AZSalaryAcctEmployeeStatusEnum.SUBMITTED.getValue()))
|
|
|
|
|
.map(SalaryAcctEmployeePO::getEmployeeId)
|
|
|
|
|
@ -1083,6 +1272,9 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|
|
|
|
if (CollectionUtils.isEmpty(salaryAcctEmployeePOList) || param.getAcctEmpIds().size() != salaryAcctEmployeePOList.size()) {
|
|
|
|
|
throw new SalaryRunTimeException("审核失败,核算人员信息不存在或已被删除,请刷新后重试");
|
|
|
|
|
}
|
|
|
|
|
if (!checkConfirmAuth(salaryAcctEmployeePOList)) {
|
|
|
|
|
throw new SalaryRunTimeException("审核失败,当前登录账号无审核该部门员工薪资权限,请联系管理员");
|
|
|
|
|
}
|
|
|
|
|
List<Long> canNotApproveEmployeeIds = salaryAcctEmployeePOList.stream()
|
|
|
|
|
.filter(po -> po.getAzSubmittedStatus() == null || !po.getAzSubmittedStatus().equals(AZSalaryAcctEmployeeStatusEnum.SUBMITTED.getValue()))
|
|
|
|
|
.map(SalaryAcctEmployeePO::getEmployeeId)
|
|
|
|
|
@ -1109,6 +1301,9 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
|
|
|
|
if (CollectionUtils.isEmpty(salaryAcctEmployeePOList) || param.getAcctEmpIds().size() != salaryAcctEmployeePOList.size()) {
|
|
|
|
|
throw new SalaryRunTimeException("弃审失败,核算人员信息不存在或已被删除,请刷新后重试");
|
|
|
|
|
}
|
|
|
|
|
if (!checkConfirmAuth(salaryAcctEmployeePOList)) {
|
|
|
|
|
throw new SalaryRunTimeException("弃审失败,当前登录账号弃审核该部门员工薪资权限,请联系管理员");
|
|
|
|
|
}
|
|
|
|
|
List<Long> canNotReApproveEmployeeIds = salaryAcctEmployeePOList.stream()
|
|
|
|
|
.filter(po -> po.getAzApprovalStatus() == null || !po.getAzApprovalStatus().equals(AZSalaryAcctEmployeeStatusEnum.APPROVED.getValue()) )
|
|
|
|
|
.map(SalaryAcctEmployeePO::getEmployeeId)
|
|
|
|
|
|