diff --git a/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java b/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java index fd93761fb..a24fd7b06 100644 --- a/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java +++ b/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java @@ -58,6 +58,7 @@ public class SalarySobPO { @Deprecated private Long taxAgentId; + @XStreamOmitField List taxAgentIds; /** diff --git a/src/com/engine/salary/service/impl/SIRecessionServiceImpl.java b/src/com/engine/salary/service/impl/SIRecessionServiceImpl.java index e620c082e..29d56344d 100644 --- a/src/com/engine/salary/service/impl/SIRecessionServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIRecessionServiceImpl.java @@ -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 getEmployeeListByTaxAgent(HrmQueryParam param) { - // 当前登录人员 - Long currentEmployeeId = (long) user.getUID(); - - List taxAgentEmployeeDTOS = getTaxAgentService(user).listTaxAgentAndEmployee(currentEmployeeId); - Set employeeIds = SalaryEntityUtil.properties(taxAgentEmployeeDTOS, TaxAgentEmployeeDTO::getEmployeeId); - List empIds = new ArrayList(employeeIds); + List list = getInsuranceBaseInfoMapper().listAll(); + list = getAuthService(user).auth(list, AuthFilterTypeEnum.ADMIN_DATA, InsuranceArchivesBaseInfoPO.class); + List employeeIds = SalaryEntityUtil.properties(list, InsuranceArchivesBaseInfoPO::getEmployeeId, Collectors.toList()); List resultData = new ArrayList<>(); if (employeeIds.size() > 0) { - List> partition = Lists.partition(empIds, 1000); + List> partition = Lists.partition(employeeIds, 1000); partition.forEach(p -> { param.setIds(p); resultData.addAll(getEmployMapper().listHrmInfoByIdAndName(param)); diff --git a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java index 53085bc9b..ac2c94e36 100644 --- a/src/com/engine/salary/service/impl/SalarySobServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalarySobServiceImpl.java @@ -1,5 +1,6 @@ package com.engine.salary.service.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.engine.common.util.ServiceUtil; @@ -992,25 +993,22 @@ public class SalarySobServiceImpl extends Service implements SalarySobService { @Override public void handleHistory() { - - int count = getSobTaxLinkMapper().count(); - if (count > 0) { - return; - } - List salarySobPOS = getSalarySobMapper().listAll(); salarySobPOS.forEach(sobPO -> { - SobTaxLinkPO taxLinkPO = SobTaxLinkPO.builder() - .id(IdGenerator.generate()) - .taxAgentId(sobPO.getTaxAgentId()) - .sobId(sobPO.getId()) - .creator((long) user.getUID()) - .createTime(new Date()) - .updateTime(new Date()) - .deleteType(0) - .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) - .build(); - getSobTaxLinkMapper().insertIgnoreNull(taxLinkPO); + List sobTaxLinkPOS = getSobTaxLinkMapper().listSome(SobTaxLinkPO.builder().sobId(sobPO.getId()).build()); + if(CollUtil.isEmpty(sobTaxLinkPOS)){ + SobTaxLinkPO taxLinkPO = SobTaxLinkPO.builder() + .id(IdGenerator.generate()) + .taxAgentId(sobPO.getTaxAgentId()) + .sobId(sobPO.getId()) + .creator((long) user.getUID()) + .createTime(new Date()) + .updateTime(new Date()) + .deleteType(0) + .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) + .build(); + getSobTaxLinkMapper().insertIgnoreNull(taxLinkPO); + } }); } } diff --git a/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java b/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java index ce3544cb6..d06b252f1 100644 --- a/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java +++ b/src/com/engine/salary/service/impl/VariableArchiveServiceImpl.java @@ -175,6 +175,7 @@ public class VariableArchiveServiceImpl extends Service implements VariableArchi map.put("idNo", e.getIdNo()); map.put("companystartdate", e.getCompanystartdate()); map.put("dismissdate", e.getDismissdate()); + map.put("opts", e.getOpts()); // 浮动薪资项目动态 Optional> optionalItem = variableArchiveItemData.stream().filter(f -> f.get("variableArchiveId").toString().equals(e.getId().toString())).findFirst();