From ad16c96910bfb004276da991a8449faeb8f3da04 Mon Sep 17 00:00:00 2001 From: sy Date: Sun, 9 Oct 2022 09:22:37 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=E5=9F=BA=E7=A1=80=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E8=A1=A8=E5=AE=9E=E4=BD=93=E5=92=8Cmapper?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../po/InsuranceArchivesBaseInfoPO.java | 80 ++++++++++ .../siarchives/InsuranceBaseInfoMapper.java | 34 +++++ .../siarchives/InsuranceBaseInfoMapper.xml | 139 ++++++++++++++++++ 3 files changed, 253 insertions(+) create mode 100644 src/com/engine/salary/entity/siarchives/po/InsuranceArchivesBaseInfoPO.java create mode 100644 src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.java create mode 100644 src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml diff --git a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesBaseInfoPO.java b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesBaseInfoPO.java new file mode 100644 index 000000000..70ecc8cff --- /dev/null +++ b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesBaseInfoPO.java @@ -0,0 +1,80 @@ +package com.engine.salary.entity.siarchives.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @Author: sy + * @Description: 社保福利档案基础信息 + * @Date: 2022/10/8 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +//hrsa_insurance_base_info +public class InsuranceArchivesBaseInfoPO { + /** + * 主键id + */ + private Long id; + + /** + * 员工id + */ + private Long employeeId; + + /** + * 个税扣缴义务人id + */ + private Long paymentOrganization; + + /** + * 社保档案id + */ + private Long socialArchivesId; + + /** + * 公积金档案id + */ + private Long fundArchivesId; + + /** + * 其他福利档案id + */ + private Long otherArchivesId; + + /** + * 租户key + */ + private String tenantKey; + + /** + * 创建人id + */ + private Long creator; + + /** + * 是否删除 + */ + private Integer deleteType; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 福利执行状态 + */ + private String runStatus; +} diff --git a/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.java b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.java new file mode 100644 index 000000000..d22da8cbd --- /dev/null +++ b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.java @@ -0,0 +1,34 @@ +package com.engine.salary.mapper.siarchives; + +import com.engine.salary.entity.siarchives.po.InsuranceArchivesBaseInfoPO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Author sy + * @Date 2022/10/08 + **/ +public interface InsuranceBaseInfoMapper { + + /** + * 获取当前福利档案基础信息(由当前的社保、公积金、其他福利信息表获取) + * 当设置employeeIds时,则是通过人员id、社保、公积金、其他福利信息表获取指定人员的福利档案基础信息 + */ + List getInsuranceBaseInfoListByInsuranceDetail(@Param("employeeIds")List employeeIds); + + /** + * 获取当前福利档案基础信息(由福利档案基础信息表获取) + */ + List getInsuranceBaseInfoList(); + + /** + * 批量保存 + */ + void batchSave(@Param("infos") List infos); + + /** + * 批量删除 + */ + void batchDeleteByEmployeeIds(@Param("employeeIds")List employeeIds); +} diff --git a/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml new file mode 100644 index 000000000..08e5818da --- /dev/null +++ b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + t.id + , t.employee_id + , t.payment_organization + , t.social_archives_id + , t.fund_archives_id + , t.other_archives_id + , t.run_status + , t.create_time + , t.update_time + , t.creator + , t.delete_type + , t.tenant_key + + + + + + + + + INSERT INTO hrsa_insurance_base_info + (id,employee_id,payment_organization,social_archives_id,fund_archives_id,other_archives_id,tenant_key,creator,delete_type,create_time,update_time,run_status) + VALUES + + ( + #{item.id}, + #{item.employeeId}, + #{item.paymentOrganization}, + #{item.socialArchivesId}, + #{item.fundArchivesId}, + #{item.otherArchivesId}, + #{item.tenantKey}, + #{item.creator}, + #{item.deleteType}, + #{item.createTime}, + #{item.updateTime}, + #{item.runStatus} + ) + + + + INSERT INTO hrsa_insurance_base_info + (id,employee_id,payment_organization,social_archives_id,fund_archives_id,other_archives_id,tenant_key,creator,delete_type,create_time,update_time,run_status) + + select + #{item.id,jdbcType=DOUBLE}, + #{item.employeeId,jdbcType=DOUBLE}, + #{item.paymentOrganization,jdbcType=DOUBLE}, + #{item.socialArchivesId,jdbcType=DOUBLE}, + #{item.fundArchivesId,jdbcType=DOUBLE}, + #{item.otherArchivesId,jdbcType=DOUBLE}, + #{item.tenantKey,jdbcType=VARCHAR}, + #{item.creator,jdbcType=DOUBLE}, + #{item.deleteType}, + #{item.createTime}, + #{item.updateTime}, + #{item.runStatus,jdbcType=VARCHAR} + from dual + + + + + INSERT INTO hrsa_insurance_base_info + (id,employee_id,payment_organization,social_archives_id,fund_archives_id,other_archives_id,tenant_key,creator,delete_type,create_time,update_time,run_status) + VALUES + ( + #{item.id}, + #{item.employeeId}, + #{item.paymentOrganization}, + #{item.socialArchivesId}, + #{item.fundArchivesId}, + #{item.otherArchivesId}, + #{item.tenantKey}, + #{item.creator}, + #{item.deleteType}, + #{item.createTime}, + #{item.updateTime}, + #{item.runStatus} + ) + + + + + + UPDATE hrsa_insurance_base_info + SET delete_type = 1 + WHERE delete_type = 0 + + AND employee_id IN + + #{employeeId} + + + + \ No newline at end of file From 7ac7d58a5f768f81045e1195a5a11d99526ef099 Mon Sep 17 00:00:00 2001 From: sy Date: Sun, 9 Oct 2022 15:12:54 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=E5=88=97=E8=A1=A8=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=94=B9=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIArchivesBiz.java | 39 +++++++++++++++++++ .../param/InsuranceArchivesListParam.java | 2 + .../siarchives/InsuranceBaseInfoMapper.xml | 4 +- .../mapper/siarchives/SocialSchemeMapper.xml | 13 ++++++- .../service/impl/SIArchivesServiceImpl.java | 2 +- 5 files changed, 56 insertions(+), 4 deletions(-) diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index 11532a131..2fd4f98f1 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -34,6 +34,7 @@ import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.enums.sicategory.*; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.siarchives.FundSchemeMapper; +import com.engine.salary.mapper.siarchives.InsuranceBaseInfoMapper; import com.engine.salary.mapper.siarchives.OtherSchemeMapper; import com.engine.salary.mapper.siarchives.SocialSchemeMapper; import com.engine.salary.mapper.sicategory.ICategoryMapper; @@ -47,6 +48,7 @@ import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.page.PageInfo; import com.engine.salary.util.page.SalaryPageUtil; import com.google.common.collect.Lists; +import dm.jdbc.util.IdGenerator; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; @@ -79,6 +81,10 @@ public class SIArchivesBiz { return MapperProxyFactory.getProxy(TaxAgentMapper.class); } + private InsuranceBaseInfoMapper getInsuranceBaseInfoMapper() { + return MapperProxyFactory.getProxy(InsuranceBaseInfoMapper.class); + } + /** * @param welfareType * @param employeeId @@ -708,6 +714,8 @@ public class SIArchivesBiz { request.setOrderRule(param.getOrderRule()); + request.setRunStatus(param.getRunStatus()); + apidatas = listPageEmployeePOS(request, operateId); return apidatas; @@ -735,6 +743,9 @@ public class SIArchivesBiz { SocialSchemeMapper socialSchemeMapper = sqlSession.getMapper(SocialSchemeMapper.class); List page = new ArrayList<>(); PageInfo pageInfo = new PageInfo<>(InsuranceArchivesEmployeePO.class); + //生成福利档案历史基础信息(在福利档案基础信息表为空时) + createOldInsuranceBaseInfo(operateId); + //获取福利档案列表数据 if (needAuth) { Collection taxAgentEmployeeIds = param.getTaxAgentEmployeeIds(); Collection taxAgentIds = param.getTaxAgentIds(); @@ -1211,4 +1222,32 @@ public class SIArchivesBiz { return encryptList; } + /** + * 判断是否需要生成历史福利档案基本信息 + */ + private void createOldInsuranceBaseInfo(Long creator) { + List nowBaseInfoList = getInsuranceBaseInfoMapper().getInsuranceBaseInfoList(); + if (nowBaseInfoList.size() == 0) { + List addBaseInfoList = new ArrayList<>(); + List oldBaseInfoList = getInsuranceBaseInfoMapper().getInsuranceBaseInfoListByInsuranceDetail(null); + if (oldBaseInfoList.size() > 0) { + //设置基本信息表字段 + for (InsuranceArchivesBaseInfoPO po : oldBaseInfoList) { + po.setId(IdGenerator.generate()); + po.setCreateTime(new Date()); + po.setDeleteType(0); + po.setCreator(creator); + po.setRunStatus("待缴纳"); + po.setUpdateTime(new Date()); + po.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY); + + addBaseInfoList.add(po); + } + //将历史基本信息入库 + getInsuranceBaseInfoMapper().batchSave(addBaseInfoList); + } + } + + + } } diff --git a/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesListParam.java b/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesListParam.java index 90730235c..2b83bfd22 100644 --- a/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesListParam.java +++ b/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesListParam.java @@ -101,4 +101,6 @@ public class InsuranceArchivesListParam extends BaseQueryParam { private Collection taxAgentEmployeeIds; //个税扣缴义务人 private Collection taxAgentIds; + //福利执行状态 + private String runStatus; } diff --git a/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml index 08e5818da..b5b8bc41e 100644 --- a/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml +++ b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml @@ -55,9 +55,9 @@ diff --git a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml index 1f70cb57a..b8a5dcd63 100644 --- a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml +++ b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml @@ -299,7 +299,8 @@ social.paymentOrganization, fund.fundSchemeId, other.otherSchemeId - FROM hrmresource e + FROM hrsa_insurance_base_info base + LEFT JOIN hrmresource e ON base.employee_id = e.id LEFT JOIN hrmdepartment d ON e.departmentid = d.ID LEFT JOIN hrmsubcompany c ON c.id = e.subcompanyid1 LEFT JOIN( SELECT social.employee_id, social.social_scheme_id AS siSchemeId, social.payment_organization AS paymentOrganization FROM hrsa_social_archives social WHERE social.delete_type = 0 )social ON e.id = social.employee_id @@ -307,6 +308,7 @@ LEFT JOIN( SELECT other.employee_id, other.other_scheme_id AS otherSchemeId FROM hrsa_other_archives other WHERE other.delete_type = 0 )other ON e.id = other.employee_id WHERE 1=1 + AND base.delete_type = 0 ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc} @@ -367,6 +369,9 @@ AND otherSchemeId = #{param.otherSchemeId} + + AND base.run_status = #{param.runStatus} + AND e.ID IN @@ -427,6 +432,9 @@ AND otherSchemeId = #{param.otherSchemeId} + + AND base.run_status = #{param.runStatus} + AND e.ID IN @@ -488,6 +496,9 @@ AND otherSchemeId = #{param.otherSchemeId} + + AND base.run_status = #{param.runStatus} + AND e.ID IN diff --git a/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java b/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java index f34ff5f41..16948bd02 100644 --- a/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java @@ -95,7 +95,6 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService @Override public Map listPage(InsuranceArchivesListParam param) { long currentEmployeeId = user.getUID(); - //排序配置 OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); param.setOrderRule(orderRule); @@ -113,6 +112,7 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService Map apidatas = new HashMap<>(16); SIArchivesBiz siArchivesBiz = new SIArchivesBiz(); apidatas = siArchivesBiz.listPage(param, (long) user.getUID()); + return apidatas; } From 85d46938da8238d921bbe6136b6ad24d9518cbaa Mon Sep 17 00:00:00 2001 From: sy Date: Mon, 10 Oct 2022 09:36:34 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=E5=AF=BC=E5=85=A5=E6=94=B9?= =?UTF-8?q?=E9=80=A0=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=9F=BA=E7=A1=80=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E8=A1=A8=E6=95=B0=E6=8D=AE=E6=8F=92=E5=85=A5=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIArchivesBiz.java | 2 +- .../po/InsuranceArchivesAccountPO.java | 2 + .../siarchives/InsuranceBaseInfoMapper.xml | 2 +- .../mapper/siarchives/SocialSchemeMapper.xml | 2 +- .../service/impl/SISchemeServiceImpl.java | 57 ++++++++++++++++++- 5 files changed, 59 insertions(+), 6 deletions(-) diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index 2fd4f98f1..3d1de52b3 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -1237,7 +1237,7 @@ public class SIArchivesBiz { po.setCreateTime(new Date()); po.setDeleteType(0); po.setCreator(creator); - po.setRunStatus("待缴纳"); + po.setRunStatus("待停缴"); po.setUpdateTime(new Date()); po.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY); diff --git a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesAccountPO.java b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesAccountPO.java index 8792239bf..f2a2de17f 100644 --- a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesAccountPO.java +++ b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesAccountPO.java @@ -22,4 +22,6 @@ public class InsuranceArchivesAccountPO { private InsuranceArchivesFundSchemePO fund; private InsuranceArchivesOtherSchemePO other; + + private InsuranceArchivesBaseInfoPO BaseInfo; } diff --git a/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml index b5b8bc41e..aec241035 100644 --- a/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml +++ b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml @@ -45,7 +45,7 @@ WHERE social.delete_type = 0 - AND employee_id IN + AND social.employee_id IN #{employeeId} diff --git a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml index b8a5dcd63..09336a6a8 100644 --- a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml +++ b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml @@ -296,7 +296,7 @@ d.departmentname AS departmentName, e.jobtitle AS position, e.STATUS AS userStatus,e.companystartdate AS hiredate, e.enddate as dimissionDate, social.siSchemeId, - social.paymentOrganization, + base.payment_organization AS paymentOrganization, fund.fundSchemeId, other.otherSchemeId FROM hrsa_insurance_base_info base diff --git a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java index 30909877a..0e903e33d 100644 --- a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java @@ -10,6 +10,7 @@ import com.engine.salary.biz.EmployBiz; import com.engine.salary.biz.SIArchivesBiz; import com.engine.salary.biz.SISchemeBiz; import com.engine.salary.cmd.sischeme.*; +import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.encrypt.AESEncryptUtil; import com.engine.salary.encrypt.siarchives.InsuranceArchivesFundSchemePOEncrypt; import com.engine.salary.encrypt.siarchives.InsuranceArchivesOtherSchemePOEncrypt; @@ -30,6 +31,7 @@ import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.enums.sicategory.*; import com.engine.salary.mapper.siarchives.FundSchemeMapper; +import com.engine.salary.mapper.siarchives.InsuranceBaseInfoMapper; import com.engine.salary.mapper.siarchives.OtherSchemeMapper; import com.engine.salary.mapper.siarchives.SocialSchemeMapper; import com.engine.salary.mapper.sicategory.ICategoryMapper; @@ -132,6 +134,11 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { private SalarySysConfService getSalarySysConfService(User user) { return ServiceUtil.getService(SalarySysConfServiceImpl.class, user); } + + private InsuranceBaseInfoMapper getInsuranceBaseInfoMapper() { + return MapperProxyFactory.getProxy(InsuranceBaseInfoMapper.class); + } + @Override public Map getForm(Map params) { return commandExecutor.execute(new SISchemeGetFormCmd(params, user)); @@ -745,6 +752,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { InsuranceArchivesSocialSchemePO insuranceArchivesSocialSchemePO = null; InsuranceArchivesFundSchemePO insuranceArchivesFundSchemePO = null; InsuranceArchivesOtherSchemePO insuranceArchivesOtherSchemePO = null; + InsuranceArchivesBaseInfoPO insuranceArchivesBaseInfoPO = null; Map socialMap = findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91323, "社保方案名称")); Map paymentMap = findElement(singleAccount, SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人")); Map fundMap = findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91485, "公积金方案名称")); @@ -890,10 +898,12 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { } } + insuranceArchivesBaseInfoPO = buildBaseInfoPO(employeeId, singleAccount, paymentNameIdMap, creator); if (!isError) { insuranceArchivesAccountPO.setSocial(insuranceArchivesSocialSchemePO); insuranceArchivesAccountPO.setFund(insuranceArchivesFundSchemePO); insuranceArchivesAccountPO.setOther(insuranceArchivesOtherSchemePO); + insuranceArchivesAccountPO.setBaseInfo(insuranceArchivesBaseInfoPO); insuranceArchivesAccountPOS.add(insuranceArchivesAccountPO); } return isError; @@ -932,7 +942,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { insuranceArchivesSocialSchemePO.setTenantKey(""); insuranceArchivesSocialSchemePO.setWelfareType(WelfareTypeEnum.SOCIAL_SECURITY.getValue()); insuranceArchivesSocialSchemePO.setUpdateTime(new Date()); - insuranceArchivesSocialSchemePO.setPaymentOrganization(paymentNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91325, "个税扣缴义务人")).get(SalaryI18nUtil.getI18nLabel(91325, "个税扣缴义务人")))); +// insuranceArchivesSocialSchemePO.setPaymentOrganization(paymentNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91325, "个税扣缴义务人")).get(SalaryI18nUtil.getI18nLabel(91325, "个税扣缴义务人")))); insuranceArchivesSocialSchemePO.setNonPayment(NonPaymentEnum.YES.getValue()); insuranceArchivesSocialSchemePO.setCreator(creator); insuranceArchivesSocialSchemePO.setCreateTime(new Date()); @@ -985,7 +995,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { } insuranceArchivesFundSchemePO.setFundEndTime(fundEndDate); insuranceArchivesFundSchemePO.setWelfareType(WelfareTypeEnum.ACCUMULATION_FUND.getValue()); - insuranceArchivesFundSchemePO.setPaymentOrganization(paymentNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91488, "个税扣缴义务人")).get(SalaryI18nUtil.getI18nLabel(91488, "个税扣缴义务人")))); +// insuranceArchivesFundSchemePO.setPaymentOrganization(paymentNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91488, "个税扣缴义务人")).get(SalaryI18nUtil.getI18nLabel(91488, "个税扣缴义务人")))); insuranceArchivesFundSchemePO.setNonPayment(NonPaymentEnum.YES.getValue()); insuranceArchivesFundSchemePO.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue()); insuranceArchivesFundSchemePO.setUnderTake(UndertakerEnum.SCOPE_PERSON.getValue()); @@ -1032,7 +1042,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { otherEndDate = otherEndDate.substring(0, 7); } insuranceArchivesOtherSchemePO.setOtherEndTime(otherEndDate); - insuranceArchivesOtherSchemePO.setPaymentOrganization(paymentNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91497, "个税扣缴义务人")).get(SalaryI18nUtil.getI18nLabel(91497, "个税扣缴义务人")))); +// insuranceArchivesOtherSchemePO.setPaymentOrganization(paymentNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91497, "个税扣缴义务人")).get(SalaryI18nUtil.getI18nLabel(91497, "个税扣缴义务人")))); insuranceArchivesOtherSchemePO.setWelfareType(WelfareTypeEnum.OTHER.getValue()); insuranceArchivesOtherSchemePO.setNonPayment(NonPaymentEnum.YES.getValue()); insuranceArchivesOtherSchemePO.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue()); @@ -1056,6 +1066,24 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { return insuranceArchivesOtherSchemePO; } + public InsuranceArchivesBaseInfoPO buildBaseInfoPO(Long employeeId, List> singleAccount, Map paymentNameIdMap, Long creator) { + if (employeeId == null) { + return null; + } + InsuranceArchivesBaseInfoPO insuranceArchivesBaseInfoPO = new InsuranceArchivesBaseInfoPO(); + insuranceArchivesBaseInfoPO.setEmployeeId(employeeId); + insuranceArchivesBaseInfoPO.setId(IdGenerator.generate()); + insuranceArchivesBaseInfoPO.setCreateTime(new Date()); + insuranceArchivesBaseInfoPO.setDeleteType(0); + insuranceArchivesBaseInfoPO.setCreator(creator); + insuranceArchivesBaseInfoPO.setRunStatus("待停缴"); + insuranceArchivesBaseInfoPO.setUpdateTime(new Date()); + insuranceArchivesBaseInfoPO.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY); + insuranceArchivesBaseInfoPO.setPaymentOrganization(paymentNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91497, "个税扣缴义务人")).get(SalaryI18nUtil.getI18nLabel(91497, "个税扣缴义务人")))); + + return insuranceArchivesBaseInfoPO; + } + public void handleImportData(List insuranceArchivesAccountPOS) { //导入社保档案 List socialSchemePOS = insuranceArchivesAccountPOS.stream().filter(Objects::nonNull).map(InsuranceArchivesAccountPO::getSocial).collect(Collectors.toList()); @@ -1090,6 +1118,29 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { List> partition = Lists.partition(insuranceArchivesOtherSchemePOS, 100); partition.forEach(getOtherSchemeMapper()::batchSave); } + //导入福利档案基础信息 + List baseInfoPOS = insuranceArchivesAccountPOS.stream().filter(Objects::nonNull).map(InsuranceArchivesAccountPO::getBaseInfo).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(baseInfoPOS)) { + baseInfoPOS = baseInfoPOS.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(InsuranceArchivesBaseInfoPO::getEmployeeId))), ArrayList::new)); + //分批批量删除 + List baseInfoEmployeeIds = baseInfoPOS.stream().map(InsuranceArchivesBaseInfoPO::getEmployeeId).collect(Collectors.toList()); + List> employeeIdPartition = Lists.partition(baseInfoEmployeeIds, 100); + employeeIdPartition.forEach(getInsuranceBaseInfoMapper()::batchDeleteByEmployeeIds); + //查询目标人员的剩余的福利档案基础信息(社保、公积金、其他福利档案id) + List moreBaseInfoPOS = getInsuranceBaseInfoMapper().getInsuranceBaseInfoListByInsuranceDetail(baseInfoEmployeeIds); + List newInsuranceArchivesBaseInfoList = new ArrayList<>(); + //设置社保、公积金、其他福利档案id + for (InsuranceArchivesBaseInfoPO po : baseInfoPOS) { + InsuranceArchivesBaseInfoPO moreBaseInfo = moreBaseInfoPOS.stream().filter(s -> Objects.equals(s.getEmployeeId(), po.getEmployeeId())).findFirst().orElse(null); + po.setSocialArchivesId(moreBaseInfo.getSocialArchivesId()); + po.setFundArchivesId(moreBaseInfo.getFundArchivesId()); + po.setOtherArchivesId(moreBaseInfo.getOtherArchivesId()); + newInsuranceArchivesBaseInfoList.add(po); + } + //分批批量入库 + List> partition = Lists.partition(newInsuranceArchivesBaseInfoList, 100); + partition.forEach(getInsuranceBaseInfoMapper()::batchSave); + } } From a80c92c9072070170e0eda5d3eaaa80f7b6d5c40 Mon Sep 17 00:00:00 2001 From: sy Date: Mon, 10 Oct 2022 10:11:30 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=E7=BB=93=E6=9E=84=E6=94=B9?= =?UTF-8?q?=E9=80=A0,=E7=A6=8F=E5=88=A9=E5=8F=B0=E8=B4=A6=E6=A0=B8?= =?UTF-8?q?=E7=AE=97=E5=AF=B9=E4=BA=8E=E4=B8=AA=E7=A8=8E=E6=89=A3=E7=BC=B4?= =?UTF-8?q?=E4=B9=89=E5=8A=A1=E4=BA=BA=E7=9A=84=E5=8C=B9=E9=85=8D=E6=BA=90?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=BA=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88?= =?UTF-8?q?=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/mapper/siaccount/InsuranceAccountDetailMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml index 7bc471d47..e6a108ee9 100644 --- a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml +++ b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml @@ -381,9 +381,9 @@ From 49502a2f70e705ea240a7d4607ed87cbb92e119d Mon Sep 17 00:00:00 2001 From: sy Date: Mon, 10 Oct 2022 11:27:08 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=E7=BB=93=E6=9E=84=E6=94=B9?= =?UTF-8?q?=E9=80=A0=EF=BC=8C=E9=80=9A=E8=BF=87=E7=A6=8F=E5=88=A9=E6=A1=A3?= =?UTF-8?q?=E6=A1=88=E4=BA=BA=E5=91=98=E7=8A=B6=E6=80=81=E6=9E=9A=E4=B8=BE?= =?UTF-8?q?=E7=B1=BB=E8=AE=BE=E7=BD=AE=E6=A1=A3=E6=A1=88=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=9A=84runStatus=E5=AD=97=E6=AE=B5=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIArchivesBiz.java | 3 ++- src/com/engine/salary/service/impl/SISchemeServiceImpl.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index 3d1de52b3..430dfa28f 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -31,6 +31,7 @@ import com.engine.salary.entity.sischeme.po.InsuranceSchemeDetailPO; import com.engine.salary.entity.sischeme.po.InsuranceSchemePO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.UserStatusEnum; +import com.engine.salary.enums.siaccount.EmployeeStatusEnum; import com.engine.salary.enums.sicategory.*; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.siarchives.FundSchemeMapper; @@ -1237,7 +1238,7 @@ public class SIArchivesBiz { po.setCreateTime(new Date()); po.setDeleteType(0); po.setCreator(creator); - po.setRunStatus("待停缴"); + po.setRunStatus(EmployeeStatusEnum.STAY_ADD.getValue()); po.setUpdateTime(new Date()); po.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY); diff --git a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java index 0e903e33d..84b2104ed 100644 --- a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java @@ -29,6 +29,7 @@ import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.UserStatusEnum; +import com.engine.salary.enums.siaccount.EmployeeStatusEnum; import com.engine.salary.enums.sicategory.*; import com.engine.salary.mapper.siarchives.FundSchemeMapper; import com.engine.salary.mapper.siarchives.InsuranceBaseInfoMapper; @@ -1076,7 +1077,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { insuranceArchivesBaseInfoPO.setCreateTime(new Date()); insuranceArchivesBaseInfoPO.setDeleteType(0); insuranceArchivesBaseInfoPO.setCreator(creator); - insuranceArchivesBaseInfoPO.setRunStatus("待停缴"); + insuranceArchivesBaseInfoPO.setRunStatus(EmployeeStatusEnum.STAY_ADD.getValue()); insuranceArchivesBaseInfoPO.setUpdateTime(new Date()); insuranceArchivesBaseInfoPO.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY); insuranceArchivesBaseInfoPO.setPaymentOrganization(paymentNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91497, "个税扣缴义务人")).get(SalaryI18nUtil.getI18nLabel(91497, "个税扣缴义务人")))); From d6c6f446a97f40c0bdfbad5cd260822dce469a50 Mon Sep 17 00:00:00 2001 From: sy Date: Mon, 10 Oct 2022 11:49:18 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=E7=BB=93=E6=9E=84=E6=94=B9?= =?UTF-8?q?=E9=80=A0=EF=BC=8C=E6=81=A2=E5=A4=8D=E7=A4=BE=E4=BF=9D=E3=80=81?= =?UTF-8?q?=E5=85=AC=E7=A7=AF=E9=87=91=E3=80=81=E5=85=B6=E4=BB=96=E7=A6=8F?= =?UTF-8?q?=E5=88=A9=E6=A1=A3=E6=A1=88=E8=A1=A8=E5=9C=A8=E6=A1=A3=E6=A1=88?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=97=B6=E7=9A=84=E4=B8=AA=E7=A8=8E=E6=89=A3?= =?UTF-8?q?=E7=BC=B4=E4=B9=89=E5=8A=A1=E4=BA=BA=E8=AE=BE=E7=BD=AE=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/service/impl/SISchemeServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java index 84b2104ed..81603c0f9 100644 --- a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java @@ -943,7 +943,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { insuranceArchivesSocialSchemePO.setTenantKey(""); insuranceArchivesSocialSchemePO.setWelfareType(WelfareTypeEnum.SOCIAL_SECURITY.getValue()); insuranceArchivesSocialSchemePO.setUpdateTime(new Date()); -// insuranceArchivesSocialSchemePO.setPaymentOrganization(paymentNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91325, "个税扣缴义务人")).get(SalaryI18nUtil.getI18nLabel(91325, "个税扣缴义务人")))); + insuranceArchivesSocialSchemePO.setPaymentOrganization(paymentNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91325, "个税扣缴义务人")).get(SalaryI18nUtil.getI18nLabel(91325, "个税扣缴义务人")))); insuranceArchivesSocialSchemePO.setNonPayment(NonPaymentEnum.YES.getValue()); insuranceArchivesSocialSchemePO.setCreator(creator); insuranceArchivesSocialSchemePO.setCreateTime(new Date()); @@ -996,7 +996,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { } insuranceArchivesFundSchemePO.setFundEndTime(fundEndDate); insuranceArchivesFundSchemePO.setWelfareType(WelfareTypeEnum.ACCUMULATION_FUND.getValue()); -// insuranceArchivesFundSchemePO.setPaymentOrganization(paymentNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91488, "个税扣缴义务人")).get(SalaryI18nUtil.getI18nLabel(91488, "个税扣缴义务人")))); + insuranceArchivesFundSchemePO.setPaymentOrganization(paymentNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91488, "个税扣缴义务人")).get(SalaryI18nUtil.getI18nLabel(91488, "个税扣缴义务人")))); insuranceArchivesFundSchemePO.setNonPayment(NonPaymentEnum.YES.getValue()); insuranceArchivesFundSchemePO.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue()); insuranceArchivesFundSchemePO.setUnderTake(UndertakerEnum.SCOPE_PERSON.getValue()); @@ -1043,7 +1043,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { otherEndDate = otherEndDate.substring(0, 7); } insuranceArchivesOtherSchemePO.setOtherEndTime(otherEndDate); -// insuranceArchivesOtherSchemePO.setPaymentOrganization(paymentNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91497, "个税扣缴义务人")).get(SalaryI18nUtil.getI18nLabel(91497, "个税扣缴义务人")))); + insuranceArchivesOtherSchemePO.setPaymentOrganization(paymentNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91497, "个税扣缴义务人")).get(SalaryI18nUtil.getI18nLabel(91497, "个税扣缴义务人")))); insuranceArchivesOtherSchemePO.setWelfareType(WelfareTypeEnum.OTHER.getValue()); insuranceArchivesOtherSchemePO.setNonPayment(NonPaymentEnum.YES.getValue()); insuranceArchivesOtherSchemePO.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue()); From ed00d3fe89388759a5432a65e07b0e831c02e50a Mon Sep 17 00:00:00 2001 From: sy Date: Mon, 10 Oct 2022 14:20:02 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=E7=BB=93=E6=9E=84=E6=94=B9?= =?UTF-8?q?=E9=80=A0=EF=BC=8C=E7=A6=8F=E5=88=A9=E5=8F=B0=E8=B4=A6=E6=A0=B8?= =?UTF-8?q?=E7=AE=97=E4=B8=AD=E7=9A=84=E8=A1=A5=E7=BC=B4=E4=BA=BA=E5=85=83?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=B6=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=B7=B2=E5=AD=98=E5=9C=A8=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88?= =?UTF-8?q?=E7=9A=84=E6=95=B0=E6=8D=AE=E6=BA=90=E8=B0=83=E6=95=B4=E4=B8=BA?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=E5=9F=BA=E7=A1=80=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIAccountBiz.java | 15 ++++++--------- .../siarchives/InsuranceBaseInfoMapper.java | 7 +++++++ .../mapper/siarchives/InsuranceBaseInfoMapper.xml | 9 +++++++++ .../salary/service/impl/SISchemeServiceImpl.java | 6 +++--- 4 files changed, 25 insertions(+), 12 deletions(-) diff --git a/src/com/engine/salary/biz/SIAccountBiz.java b/src/com/engine/salary/biz/SIAccountBiz.java index 88f90fdb5..46d469563 100644 --- a/src/com/engine/salary/biz/SIAccountBiz.java +++ b/src/com/engine/salary/biz/SIAccountBiz.java @@ -20,10 +20,7 @@ import com.engine.salary.entity.siaccount.po.InsuranceAccountBatchPO; import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO; import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailTempPO; import com.engine.salary.entity.siaccount.po.InsuranceAccountInspectPO; -import com.engine.salary.entity.siarchives.po.InsuranceArchivesAccountPO; -import com.engine.salary.entity.siarchives.po.InsuranceArchivesFundSchemePO; -import com.engine.salary.entity.siarchives.po.InsuranceArchivesOtherSchemePO; -import com.engine.salary.entity.siarchives.po.InsuranceArchivesSocialSchemePO; +import com.engine.salary.entity.siarchives.po.*; import com.engine.salary.entity.sicategory.po.ICategoryPO; import com.engine.salary.entity.sischeme.po.InsuranceSchemeDetailPO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; @@ -32,7 +29,7 @@ import com.engine.salary.enums.sicategory.*; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.datacollection.EmployMapper; import com.engine.salary.mapper.siaccount.*; -import com.engine.salary.mapper.siarchives.SocialSchemeMapper; +import com.engine.salary.mapper.siarchives.InsuranceBaseInfoMapper; import com.engine.salary.mapper.sicategory.ICategoryMapper; import com.engine.salary.mapper.sischeme.InsuranceSchemeDetailMapper; import com.engine.salary.mapper.taxagent.TaxAgentMapper; @@ -104,8 +101,8 @@ public class SIAccountBiz extends Service { return MapperProxyFactory.getProxy(InsuranceAccountInspectMapper.class); } - private SocialSchemeMapper getSocialSchemeMapper() { - return MapperProxyFactory.getProxy(SocialSchemeMapper.class); + private InsuranceBaseInfoMapper getInsuranceBaseInfoMapper() { + return MapperProxyFactory.getProxy(InsuranceBaseInfoMapper.class); } private SalarySysConfService getSalarySysConfService(User user) { @@ -899,9 +896,9 @@ public class SIAccountBiz extends Service { employeeIds = employeeIds.stream().filter(item -> !param.getExcludes().contains(item)).collect(Collectors.toList()); } //校验补缴人员是否存在社保档案 - List socialList = getSocialSchemeMapper().getSocialByPaymentOrganization(param.getPaymentOrganization()); + List insuranceBaseInfoList = getInsuranceBaseInfoMapper().getSocialByPaymentOrganization(param.getPaymentOrganization()); List finalEmployeeIds = employeeIds; - List filterList = socialList.stream().filter(e -> { + List filterList = insuranceBaseInfoList.stream().filter(e -> { for (Long uId : finalEmployeeIds) { if (e.getEmployeeId().equals(uId)) { return true; diff --git a/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.java b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.java index d22da8cbd..d968123bf 100644 --- a/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.java +++ b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.java @@ -31,4 +31,11 @@ public interface InsuranceBaseInfoMapper { * 批量删除 */ void batchDeleteByEmployeeIds(@Param("employeeIds")List employeeIds); + + /** + * 根据个税扣缴义务人id获取基础信息列表 + * @param paymentOrganization + * @return + */ + List getSocialByPaymentOrganization(@Param("paymentOrganization")Long paymentOrganization); } diff --git a/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml index aec241035..1d900a3d3 100644 --- a/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml +++ b/src/com/engine/salary/mapper/siarchives/InsuranceBaseInfoMapper.xml @@ -136,4 +136,13 @@ + + + \ No newline at end of file diff --git a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java index 81603c0f9..c7362d2fa 100644 --- a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java @@ -753,7 +753,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { InsuranceArchivesSocialSchemePO insuranceArchivesSocialSchemePO = null; InsuranceArchivesFundSchemePO insuranceArchivesFundSchemePO = null; InsuranceArchivesOtherSchemePO insuranceArchivesOtherSchemePO = null; - InsuranceArchivesBaseInfoPO insuranceArchivesBaseInfoPO = null; + Map socialMap = findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91323, "社保方案名称")); Map paymentMap = findElement(singleAccount, SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人")); Map fundMap = findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91485, "公积金方案名称")); @@ -898,8 +898,8 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { isError = true; } } - - insuranceArchivesBaseInfoPO = buildBaseInfoPO(employeeId, singleAccount, paymentNameIdMap, creator); + //生成福利档案基础信息数据 + InsuranceArchivesBaseInfoPO insuranceArchivesBaseInfoPO = buildBaseInfoPO(employeeId, singleAccount, paymentNameIdMap, creator); if (!isError) { insuranceArchivesAccountPO.setSocial(insuranceArchivesSocialSchemePO); insuranceArchivesAccountPO.setFund(insuranceArchivesFundSchemePO); From b24c08474c67a18369860b5ed423f1471cb0cd1c Mon Sep 17 00:00:00 2001 From: sy Date: Mon, 10 Oct 2022 16:58:43 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=E7=BB=93=E6=9E=84=E6=94=B9?= =?UTF-8?q?=E9=80=A0=EF=BC=8C=E6=A1=A3=E6=A1=88=E5=88=97=E8=A1=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=85=A5=E5=8F=82=E5=B0=86runStatus=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E4=B8=BArunStatuses=EF=BC=8C=E5=B9=B6=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIArchivesBiz.java | 2 +- .../param/InsuranceArchivesListParam.java | 2 +- .../mapper/siarchives/SocialSchemeMapper.xml | 22 ++++++++++++++----- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index 430dfa28f..c16674e64 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -715,7 +715,7 @@ public class SIArchivesBiz { request.setOrderRule(param.getOrderRule()); - request.setRunStatus(param.getRunStatus()); + request.setRunStatuses(param.getRunStatuses()); apidatas = listPageEmployeePOS(request, operateId); diff --git a/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesListParam.java b/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesListParam.java index 2b83bfd22..c2365c450 100644 --- a/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesListParam.java +++ b/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesListParam.java @@ -102,5 +102,5 @@ public class InsuranceArchivesListParam extends BaseQueryParam { //个税扣缴义务人 private Collection taxAgentIds; //福利执行状态 - private String runStatus; + private List runStatuses; } diff --git a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml index 09336a6a8..c8e18f2e6 100644 --- a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml +++ b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml @@ -369,9 +369,13 @@ AND otherSchemeId = #{param.otherSchemeId} - - AND base.run_status = #{param.runStatus} + + AND base.run_status IN + + #{param.runStatus} + + AND e.ID IN @@ -432,8 +436,11 @@ AND otherSchemeId = #{param.otherSchemeId} - - AND base.run_status = #{param.runStatus} + + AND base.run_status IN + + #{runStatus} + AND e.ID IN @@ -496,8 +503,11 @@ AND otherSchemeId = #{param.otherSchemeId} - - AND base.run_status = #{param.runStatus} + + AND base.run_status IN + + #{param.runStatus} + AND e.ID IN From c5870f17a29f13e3f8d1997a66629cc88d8273cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Mon, 10 Oct 2022 17:07:51 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E5=A4=84=E7=90=86=E8=80=83=E5=8B=A4?= =?UTF-8?q?=E5=80=BC=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/salary/service/impl/AttendQuoteDataServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java b/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java index 6370d4246..8847501b1 100644 --- a/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java +++ b/src/com/engine/salary/service/impl/AttendQuoteDataServiceImpl.java @@ -479,6 +479,8 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa // 新增考勤值数据 if (CollectionUtils.isNotEmpty(values)) { log.info("考勤数据:{}", values); + //去除空值 + values = values.stream().filter(po->StringUtils.isNotBlank(po.getDataValue())).collect(Collectors.toList()); dataValueBiz.insertData(values); } } From a7b47a8bfe96f4e3bbd9c39dd7f9e32fbeb0576f Mon Sep 17 00:00:00 2001 From: sy Date: Mon, 10 Oct 2022 17:11:44 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=B3=BB=E7=BB=9F-?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=E7=BB=93=E6=9E=84=E6=94=B9?= =?UTF-8?q?=E9=80=A0=EF=BC=8C=E6=A1=A3=E6=A1=88=E5=88=97=E8=A1=A8=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E5=A2=9E=E5=8A=A0runstatus=E6=9D=A1=E4=BB=B6=E3=80=81?= =?UTF-8?q?=E5=B9=B6=E5=B0=86=E5=AF=BC=E5=85=A5=E5=92=8C=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=94=9F=E6=88=90=E7=9A=84=E7=A6=8F=E5=88=A9?= =?UTF-8?q?=E6=A1=A3=E6=A1=88=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF=E7=9A=84?= =?UTF-8?q?=E9=BB=98=E8=AE=A4runStatus=E7=BD=AE=E4=B8=BA2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIArchivesBiz.java | 2 +- src/com/engine/salary/service/impl/SISchemeServiceImpl.java | 2 +- src/com/engine/salary/web/SISchemeController.java | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index c16674e64..c1465195a 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -1238,7 +1238,7 @@ public class SIArchivesBiz { po.setCreateTime(new Date()); po.setDeleteType(0); po.setCreator(creator); - po.setRunStatus(EmployeeStatusEnum.STAY_ADD.getValue()); + po.setRunStatus(EmployeeStatusEnum.PAYING.getValue()); po.setUpdateTime(new Date()); po.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY); diff --git a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java index c7362d2fa..24beb1030 100644 --- a/src/com/engine/salary/service/impl/SISchemeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SISchemeServiceImpl.java @@ -1077,7 +1077,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService { insuranceArchivesBaseInfoPO.setCreateTime(new Date()); insuranceArchivesBaseInfoPO.setDeleteType(0); insuranceArchivesBaseInfoPO.setCreator(creator); - insuranceArchivesBaseInfoPO.setRunStatus(EmployeeStatusEnum.STAY_ADD.getValue()); + insuranceArchivesBaseInfoPO.setRunStatus(EmployeeStatusEnum.PAYING.getValue()); insuranceArchivesBaseInfoPO.setUpdateTime(new Date()); insuranceArchivesBaseInfoPO.setTenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY); insuranceArchivesBaseInfoPO.setPaymentOrganization(paymentNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91497, "个税扣缴义务人")).get(SalaryI18nUtil.getI18nLabel(91497, "个税扣缴义务人")))); diff --git a/src/com/engine/salary/web/SISchemeController.java b/src/com/engine/salary/web/SISchemeController.java index edbbd0e01..f30501eac 100644 --- a/src/com/engine/salary/web/SISchemeController.java +++ b/src/com/engine/salary/web/SISchemeController.java @@ -174,6 +174,11 @@ public class SISchemeController { if(StringUtils.isNotBlank(ids)){ param.setEmployeeIds( Arrays.stream(ids.split(",")).map(Long::valueOf).collect(Collectors.toList())); } + + String runStatuses = request.getParameter("runStatuses"); + if(StringUtils.isNotBlank(runStatuses)){ + param.setRunStatuses( Arrays.stream(runStatuses.split(",")).map(String::valueOf).collect(Collectors.toList())); + } User user = HrmUserVarify.getUser(request, response); XSSFWorkbook workbook = getService(user).export(param); String fileName = null;