diff --git a/src/com/engine/salary/biz/SIAccountBiz.java b/src/com/engine/salary/biz/SIAccountBiz.java index 69b12aa04..ffa532b2a 100644 --- a/src/com/engine/salary/biz/SIAccountBiz.java +++ b/src/com/engine/salary/biz/SIAccountBiz.java @@ -163,7 +163,11 @@ public class SIAccountBiz extends Service { OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); queryParam.setOrderRule(orderRule); + //系统人员福利台账明细 List list = getInsuranceAccountDetailMapper().list(queryParam); + //非系统各人员台账明细 + List extList = getInsuranceAccountDetailMapper().extList(queryParam); + list.addAll(extList); PageInfo pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), list, InsuranceAccountDetailPO.class); diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index a3d3f10ab..07a965ef7 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -29,6 +29,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.datacollection.DataCollectionEmployeeTypeEnum; import com.engine.salary.enums.siaccount.EmployeeStatusEnum; import com.engine.salary.enums.sicategory.*; import com.engine.salary.exception.SalaryRunTimeException; @@ -691,6 +692,13 @@ public class SIArchivesBiz { } encryptUtil.encrypt(updateOtherInfo, InsuranceArchivesOtherSchemePO.class); otherSchemeMapper.updateById(updateOtherInfo); + //更新base_info表状态 + InsuranceArchivesBaseInfoPO baseInfoPO = getInsuranceBaseInfoMapper().getOneByEmployeeIdAndPayOrg(param.getPaymentOrganization(), param.getEmployeeId()); + if(baseInfoPO != null && baseInfoPO.getEmployeeType().equals(DataCollectionEmployeeTypeEnum.EXT_EMPLOYEE.getValue())) { + //对于非系统人员,编辑后状态切换为正在缴纳 + baseInfoPO.setRunStatus(EmployeeStatusEnum.PAYING.getValue()); + getInsuranceBaseInfoMapper().updateById(baseInfoPO); + } sqlSession.commit(); } else { otherSchemeMapper.deleteByEmployeeIdAndPayOrg(InsuranceArchivesOtherSchemePO.builder() @@ -729,6 +737,10 @@ public class SIArchivesBiz { .paymentOrganization(param.getPaymentOrganization()) .build()); baseInfoPO.setOtherArchivesId(otherInfos.get(0).getId()); + //对于非系统人员,编辑后状态切换为正在缴纳 + if (baseInfoPO.getEmployeeType().equals(DataCollectionEmployeeTypeEnum.EXT_EMPLOYEE.getValue())) { + baseInfoPO.setRunStatus(EmployeeStatusEnum.PAYING.getValue()); + } getInsuranceBaseInfoMapper().updateById(baseInfoPO); } else { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "档案不存在!")); @@ -790,7 +802,13 @@ public class SIArchivesBiz { } encryptUtil.encrypt(updateFundInfo, InsuranceArchivesFundSchemePO.class); fundSchemeMapper.updateById(updateFundInfo); - + //更新base_info表状态 + InsuranceArchivesBaseInfoPO baseInfoPO = getInsuranceBaseInfoMapper().getOneByEmployeeIdAndPayOrg(param.getPaymentOrganization(), param.getEmployeeId()); + if(baseInfoPO != null && baseInfoPO.getEmployeeType().equals(DataCollectionEmployeeTypeEnum.EXT_EMPLOYEE.getValue())) { + //对于非系统人员,编辑后状态切换为正在缴纳 + baseInfoPO.setRunStatus(EmployeeStatusEnum.PAYING.getValue()); + getInsuranceBaseInfoMapper().updateById(baseInfoPO); + } sqlSession.commit(); } else { fundSchemeMapper.deleteByEmployeeIdAndPayOrg(InsuranceArchivesFundSchemePO.builder() @@ -831,6 +849,10 @@ public class SIArchivesBiz { .paymentOrganization(param.getPaymentOrganization()) .build()); baseInfoPO.setFundArchivesId(fundInfos.get(0).getId()); + //对于非系统人员,编辑后状态切换为正在缴纳 + if (baseInfoPO.getEmployeeType().equals(DataCollectionEmployeeTypeEnum.EXT_EMPLOYEE.getValue())) { + baseInfoPO.setRunStatus(EmployeeStatusEnum.PAYING.getValue()); + } getInsuranceBaseInfoMapper().updateById(baseInfoPO); } else { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "档案不存在!")); @@ -899,7 +921,13 @@ public class SIArchivesBiz { } encryptUtil.encrypt(updateSocialInfo, InsuranceArchivesSocialSchemePO.class); socialSchemeMapper.updateById(updateSocialInfo); - + //更新base_info表状态 + InsuranceArchivesBaseInfoPO baseInfoPO = getInsuranceBaseInfoMapper().getOneByEmployeeIdAndPayOrg(param.getPaymentOrganization(), param.getEmployeeId()); + if(baseInfoPO != null && baseInfoPO.getEmployeeType().equals(DataCollectionEmployeeTypeEnum.EXT_EMPLOYEE.getValue())) { + //对于非系统人员,编辑后状态切换为正在缴纳 + baseInfoPO.setRunStatus(EmployeeStatusEnum.PAYING.getValue()); + getInsuranceBaseInfoMapper().updateById(baseInfoPO); + } sqlSession.commit(); } else { socialSchemeMapper.deleteByEmployeeIdAndPayOrg(InsuranceArchivesSocialSchemePO.builder() @@ -940,6 +968,10 @@ public class SIArchivesBiz { .paymentOrganization(param.getPaymentOrganization()) .build()); baseInfoPO.setSocialArchivesId(socialInfos.get(0).getId()); + //对于非系统人员,编辑后状态切换为正在缴纳 + if (baseInfoPO.getEmployeeType().equals(DataCollectionEmployeeTypeEnum.EXT_EMPLOYEE.getValue())) { + baseInfoPO.setRunStatus(EmployeeStatusEnum.PAYING.getValue()); + } getInsuranceBaseInfoMapper().updateById(baseInfoPO); } else { throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(0, "档案不存在!")); diff --git a/src/com/engine/salary/entity/sischeme/param/SISchemaImportParam.java b/src/com/engine/salary/entity/sischeme/param/SISchemaImportParam.java index 0581b2c5f..7e49621c2 100644 --- a/src/com/engine/salary/entity/sischeme/param/SISchemaImportParam.java +++ b/src/com/engine/salary/entity/sischeme/param/SISchemaImportParam.java @@ -18,6 +18,13 @@ public class SISchemaImportParam { @DataCheck(require = true,message = "imageId为空") String imageId; - //福利执行状态 + /** + * 福利执行状态 + */ String runStatus; + + /** + * 是否是外部人员 + */ + boolean isExtEmp; } diff --git a/src/com/engine/salary/mapper/InsuranceExportMapper.java b/src/com/engine/salary/mapper/InsuranceExportMapper.java index ffed6713f..2464c49de 100644 --- a/src/com/engine/salary/mapper/InsuranceExportMapper.java +++ b/src/com/engine/salary/mapper/InsuranceExportMapper.java @@ -21,4 +21,8 @@ public interface InsuranceExportMapper { List exportAccount(@Param("paymentStatus") Integer paymentStatus, @Param("param") InsuranceExportParam param); List exportRecessionAccount(@Param("paymentStatus") Integer paymentStatus, @Param("param") InsuranceExportParam param); + + List exportExtAccount(@Param("paymentStatus") Integer paymentStatus, @Param("param") InsuranceExportParam param); + + List exportExtExcelAccount(@Param("param") InsuranceComparisonResultQueryParam param); } diff --git a/src/com/engine/salary/mapper/InsuranceExportMapper.xml b/src/com/engine/salary/mapper/InsuranceExportMapper.xml index 517eb1672..481c44a30 100644 --- a/src/com/engine/salary/mapper/InsuranceExportMapper.xml +++ b/src/com/engine/salary/mapper/InsuranceExportMapper.xml @@ -193,4 +193,102 @@ ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc} + + + + + + + + diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.java b/src/com/engine/salary/mapper/datacollection/EmployMapper.java index 557198e80..4f3aa8ed4 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.java +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.java @@ -87,6 +87,8 @@ public interface EmployMapper { List listHrmInfoByIdAndName(@Param("param") HrmQueryParam param); + List listExtHrmInfoByIdAndName(@Param("param") HrmQueryParam param); + /** * 根据部门名称查询部门 diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml index b54ee6cba..29ce5fcbe 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml @@ -8,7 +8,8 @@ d.DEPARTMENTNAME as departmentName, e.status, e.mobile, - e.workcode + e.workcode, + 'false' as extEmp from hrmresource e left join hrmdepartment d on e.departmentid = d.id where e.status not in (7) @@ -385,4 +386,64 @@ where e.status not in (7) AND e.enddate >= #{dismissDate} + + + + + + \ No newline at end of file diff --git a/src/com/engine/salary/mapper/extemp/ExternalEmployeeMapper.xml b/src/com/engine/salary/mapper/extemp/ExternalEmployeeMapper.xml index 0a8ac06b9..e04017e35 100644 --- a/src/com/engine/salary/mapper/extemp/ExternalEmployeeMapper.xml +++ b/src/com/engine/salary/mapper/extemp/ExternalEmployeeMapper.xml @@ -239,7 +239,8 @@ d.DEPARTMENTNAME as departmentName, e.status, e.mobile, - e.workcode + e.workcode, + 'true' as extEmp from hrsa_external_employee e left join hrmdepartment d on e.department_id = d.id diff --git a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.java b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.java index 94843ff71..2dec937ca 100644 --- a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.java +++ b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.java @@ -24,6 +24,14 @@ public interface InsuranceAccountDetailMapper { */ List list(@Param("param") InsuranceAccountDetailParam queryParam); + /** + * 查询正常缴纳列表_非系统人员 + * + * @param queryParam + * @return + */ + List extList(@Param("param") InsuranceAccountDetailParam queryParam); + /** * 通过id查询 */ diff --git a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml index 6535e2f0b..6540a705d 100644 --- a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml +++ b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml @@ -254,6 +254,94 @@ + + + AND + ( + e.userName like CONCAT('%',#{param.userName},'%') + ) + + + AND e.workcode like CONCAT('%',#{param.workcode},'%') + + + AND t.employee_id IN + + #{employeeId} + + + + AND t.bill_month IN + + #{recessionMonth} + + + + AND t.payment_organization IN + + #{taxAgent} + + + + + + AND + ( + e.userName like '%'||#{param.userName}||'%' + ) + + + AND e.workcode like '%'||#{param.workcode}||'%' + + + AND t.employee_id IN + + #{employeeId} + + + + AND t.bill_month IN + + #{recessionMonth} + + + + AND t.payment_organization IN + + #{taxAgent} + + + + + + AND + ( + e.userName like '%'+#{param.userName}+'%' + ) + + + AND e.workcode like '%'+#{param.workcode}+'%' + + + AND t.employee_id IN + + #{employeeId} + + + + AND t.bill_month IN + + #{recessionMonth} + + + + AND t.payment_organization IN + + #{taxAgent} + + + + + +