diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index e8a5dc5eb..b75a88ac4 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -12,6 +12,7 @@ import com.cloudstore.eccom.pc.table.WeaTable; import com.cloudstore.eccom.pc.table.WeaTableCheckboxpopedom; import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.result.WeaResultMsg; +import com.engine.common.util.ServiceUtil; import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.encrypt.AESEncryptUtil; import com.engine.salary.encrypt.EncryptUtil; @@ -45,6 +46,7 @@ import com.engine.salary.util.SalaryFormItemUtil; import com.engine.salary.util.db.MapperProxyFactory; import com.engine.salary.util.page.PageInfo; import com.engine.salary.util.page.SalaryPageUtil; +import com.engine.salary.wrapper.TaxAgentWrapper; import com.google.common.collect.Lists; import dm.jdbc.util.IdGenerator; import lombok.Data; @@ -104,6 +106,10 @@ public class SIArchivesBiz { return MapperProxyFactory.getProxy(OtherSchemeMapper.class); } + private TaxAgentWrapper getTaxAgentWrapper(User user) { + return ServiceUtil.getService(TaxAgentWrapper.class, user); + } + /** * @param welfareType * @param employeeId @@ -917,6 +923,8 @@ public class SIArchivesBiz { request.setRunStatuses(param.getRunStatuses()); + request.setTaxAgentId(param.getTaxAgentId()); + apidatas = listPageEmployeePOS(request, operateId); return apidatas; @@ -1294,6 +1302,9 @@ public class SIArchivesBiz { .collect(Collectors.toList()) .stream().map(item -> new SearchConditionOption(item.getId().toString(), item.getSchemeName())).collect(Collectors.toList()); + List> taxAgentList = getTaxAgentWrapper(user).selectListAsAdmin(); + List taxAgentOption = taxAgentList.stream().map(item -> new SearchConditionOption(item.get("id").toString(), item.get("content").toString())).collect(Collectors.toList()); + Map apidatas = new HashMap(); ConditionFactory conditionFactory = new ConditionFactory(user); @@ -1412,6 +1423,16 @@ public class SIArchivesBiz { otherSchemeId.setLabel("其它福利方案"); conditionItems.add(otherSchemeId); + SearchConditionItem taxAgentId = conditionFactory.createCondition(ConditionType.SELECT, 502327, "taxAgentId"); + taxAgentId.setInputType("select"); + taxAgentId.setOptions(taxAgentOption); + taxAgentId.setColSpan(2); + taxAgentId.setFieldcol(16); + taxAgentId.setLabelcol(8); + taxAgentId.setIsQuickSearch(true); + taxAgentId.setLabel("个税扣缴义务人"); + conditionItems.add(taxAgentId); + addGroups.add(new SearchConditionGroup("常用条件", true, conditionItems)); apidatas.put("condition", addGroups); return apidatas; diff --git a/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesListParam.java b/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesListParam.java index 2fd3bf1cc..ad05e9702 100644 --- a/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesListParam.java +++ b/src/com/engine/salary/entity/siarchives/param/InsuranceArchivesListParam.java @@ -105,6 +105,8 @@ public class InsuranceArchivesListParam extends BaseQueryParam { private Collection taxAgentEmployeeIds; //个税扣缴义务人 private Collection taxAgentIds; + //个税扣缴义务人id + private Long taxAgentId; //福利执行状态 private List runStatuses; diff --git a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml index 329ecfb70..1d3f9f49d 100644 --- a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml +++ b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml @@ -421,6 +421,9 @@ AND otherSchemeId = #{param.otherSchemeId} + + AND base.payment_organization = #{param.taxAgentId} + AND base.run_status IN @@ -501,6 +504,9 @@ AND otherSchemeId = #{param.otherSchemeId} + + AND base.payment_organization = #{param.taxAgentId} + AND base.run_status IN @@ -580,6 +586,9 @@ AND otherSchemeId = #{param.otherSchemeId} + + AND base.payment_organization = #{param.taxAgentId} + AND base.run_status IN