修复退差人员添加

This commit is contained in:
钱涛 2025-02-27 15:47:59 +08:00
parent b37610dd13
commit 7382345dd5
1 changed files with 25 additions and 15 deletions

View File

@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSON;
import com.api.formmode.mybatis.util.SqlProxyHandle;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.hrmelog.entity.dto.LoggerContext;
import com.engine.salary.config.SalaryElogConfig;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.hrm.dto.HrmInfoDTO;
@ -14,9 +14,10 @@ import com.engine.salary.entity.siaccount.param.InsuranceAccountDetailParam;
import com.engine.salary.entity.siaccount.param.RecessionParam;
import com.engine.salary.entity.siaccount.po.InsuranceAccountBatchPO;
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO;
import com.engine.salary.entity.siarchives.po.InsuranceArchivesBaseInfoPO;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.enums.OperateTypeEnum;
import com.engine.salary.enums.auth.AuthFilterTypeEnum;
import com.engine.salary.enums.siaccount.BillStatusEnum;
import com.engine.salary.enums.siaccount.PaymentStatusEnum;
import com.engine.salary.enums.siaccount.ProjectTypeEnum;
@ -25,11 +26,14 @@ import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.datacollection.EmployMapper;
import com.engine.salary.mapper.siaccount.InsuranceAccountBatchMapper;
import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper;
import com.engine.salary.mapper.siarchives.InsuranceBaseInfoMapper;
import com.engine.salary.mapper.taxagent.TaxAgentMapper;
import com.engine.salary.service.SIAccountService;
import com.engine.salary.service.SIRecessionService;
import com.engine.salary.service.SalaryEmployeeService;
import com.engine.salary.service.TaxAgentService;
import com.engine.salary.service.auth.AuthService;
import com.engine.salary.service.auth.AuthServiceImpl;
import com.engine.salary.util.SalaryAssert;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
@ -69,6 +73,7 @@ public class SIRecessionServiceImpl extends Service implements SIRecessionServic
private SIAccountService getSIAccountService(User user) {
return ServiceUtil.getService(SIAccountServiceImpl.class, user);
}
private InsuranceAccountBatchMapper getInsuranceAccountBatchMapper() {
return MapperProxyFactory.getProxy(InsuranceAccountBatchMapper.class);
}
@ -81,6 +86,14 @@ public class SIRecessionServiceImpl extends Service implements SIRecessionServic
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
}
private InsuranceBaseInfoMapper getInsuranceBaseInfoMapper() {
return MapperProxyFactory.getProxy(InsuranceBaseInfoMapper.class);
}
public AuthService getAuthService(User user) {
return ServiceUtil.getService(AuthServiceImpl.class, user);
}
@Override
public void save(RecessionParam param, Long employeeId) {
@ -102,11 +115,11 @@ public class SIRecessionServiceImpl extends Service implements SIRecessionServic
partitionEmpIds.forEach(p -> {
detailPOS.addAll(
getInsuranceAccountDetailMapper().list(InsuranceAccountDetailParam.builder()
.paymentStatus(PaymentStatusEnum.COMMON.getValue())
.recessionMonthList(param.getRecessionMonthList())
.employeeIds(p)
.paymentOrganization(param.getPaymentOrganization())
.build())
.paymentStatus(PaymentStatusEnum.COMMON.getValue())
.recessionMonthList(param.getRecessionMonthList())
.employeeIds(p)
.paymentOrganization(param.getPaymentOrganization())
.build())
);
});
@ -208,7 +221,6 @@ public class SIRecessionServiceImpl extends Service implements SIRecessionServic
}
private void recessionBaseBuild(RecessionParam param, InsuranceAccountDetailPO temp, InsuranceAccountDetailPO insuranceAccountDetailPO, DataCollectionEmployee employee) {
InsuranceAccountBatchPO insuranceAccountBatchPO = getInsuranceAccountBatchMapper().getByBillMonth(param.getBillMonth(), Long.valueOf(param.getPaymentOrganization()));
temp.setPaymentStatus(PaymentStatusEnum.RECESSION.getValue());
@ -253,6 +265,7 @@ public class SIRecessionServiceImpl extends Service implements SIRecessionServic
temp.setFundPaymentComBaseString(insuranceAccountDetailPO.getFundPaymentComBaseString());
temp.setOtherPaymentComBaseString(insuranceAccountDetailPO.getOtherPaymentComBaseString());
}
private void recessionSocial(RecessionParam param, InsuranceAccountDetailPO temp, InsuranceAccountDetailPO insuranceAccountDetailPO) {
//退差社保个人缴费
String socialPerJson = insuranceAccountDetailPO.getSocialPerJson();
@ -396,15 +409,12 @@ public class SIRecessionServiceImpl extends Service implements SIRecessionServic
@Override
public PageInfo<HrmInfoDTO> getEmployeeListByTaxAgent(HrmQueryParam param) {
// 当前登录人员
Long currentEmployeeId = (long) user.getUID();
List<TaxAgentEmployeeDTO> taxAgentEmployeeDTOS = getTaxAgentService(user).listTaxAgentAndEmployee(currentEmployeeId);
Set<Long> employeeIds = SalaryEntityUtil.properties(taxAgentEmployeeDTOS, TaxAgentEmployeeDTO::getEmployeeId);
List<Long> empIds = new ArrayList<Long>(employeeIds);
List<InsuranceArchivesBaseInfoPO> list = getInsuranceBaseInfoMapper().listAll();
list = getAuthService(user).auth(list, AuthFilterTypeEnum.ADMIN_DATA, InsuranceArchivesBaseInfoPO.class);
List<Long> employeeIds = SalaryEntityUtil.properties(list, InsuranceArchivesBaseInfoPO::getEmployeeId, Collectors.toList());
List<HrmInfoDTO> resultData = new ArrayList<>();
if (employeeIds.size() > 0) {
List<List<Long>> partition = Lists.partition(empIds, 1000);
List<List<Long>> partition = Lists.partition(employeeIds, 1000);
partition.forEach(p -> {
param.setIds(p);
resultData.addAll(getEmployMapper().listHrmInfoByIdAndName(param));