From a3a7d773a8f76ea22741d986d3af3cce5da4a0b2 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 25 Dec 2025 15:47:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AA=E7=A8=8E=E6=89=A3=E7=BC=B4=E4=B9=89?= =?UTF-8?q?=E5=8A=A1=E4=BA=BA=20=E5=A2=9E=E5=8A=A0=E8=A7=92=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DM/sql202512250103SHQZJRXXFW.sql | 3 + .../GS/sql202512250103SHQZJRXXFW.sql | 3 + .../JC/sql202512250103SHQZJRXXFW.sql | 3 + .../Mysql/sql202512250103SHQZJRXXFW.sql | 1 + .../Oracle/sql202512250103SHQZJRXXFW.sql | 2 + .../PG/sql202512250103SHQZJRXXFW.sql | 1 + .../SQLServer/sql202512250103SHQZJRXXFW.sql | 2 + .../ST/sql202512250103SHQZJRXXFW.sql | 3 + .../salary/entity/taxagent/bo/TaxAgentBO.java | 11 +++- .../entity/taxagent/dto/TaxAgentFormDTO.java | 2 + .../taxagent/param/TaxAgentSaveParam.java | 3 + .../salary/entity/taxagent/po/TaxAgentPO.java | 7 ++ .../mapper/datacollection/EmployMapper.xml | 2 +- .../salary/mapper/taxagent/TaxAgentMapper.xml | 14 ++++ .../salary/service/TaxAgentService.java | 7 ++ .../service/impl/TaxAgentServiceImpl.java | 64 +++++++++++++++++-- .../engine/salary/web/TaxAgentController.java | 17 +++++ .../salary/wrapper/TaxAgentWrapper.java | 24 ++++++- 18 files changed, 161 insertions(+), 8 deletions(-) create mode 100644 resource/sqlupgrade/DM/sql202512250103SHQZJRXXFW.sql create mode 100644 resource/sqlupgrade/GS/sql202512250103SHQZJRXXFW.sql create mode 100644 resource/sqlupgrade/JC/sql202512250103SHQZJRXXFW.sql create mode 100644 resource/sqlupgrade/Mysql/sql202512250103SHQZJRXXFW.sql create mode 100644 resource/sqlupgrade/Oracle/sql202512250103SHQZJRXXFW.sql create mode 100644 resource/sqlupgrade/PG/sql202512250103SHQZJRXXFW.sql create mode 100644 resource/sqlupgrade/SQLServer/sql202512250103SHQZJRXXFW.sql create mode 100644 resource/sqlupgrade/ST/sql202512250103SHQZJRXXFW.sql diff --git a/resource/sqlupgrade/DM/sql202512250103SHQZJRXXFW.sql b/resource/sqlupgrade/DM/sql202512250103SHQZJRXXFW.sql new file mode 100644 index 000000000..648e82df1 --- /dev/null +++ b/resource/sqlupgrade/DM/sql202512250103SHQZJRXXFW.sql @@ -0,0 +1,3 @@ +alter table hrsa_tax_agent add role_id varchar2(200) null; +/ + diff --git a/resource/sqlupgrade/GS/sql202512250103SHQZJRXXFW.sql b/resource/sqlupgrade/GS/sql202512250103SHQZJRXXFW.sql new file mode 100644 index 000000000..648e82df1 --- /dev/null +++ b/resource/sqlupgrade/GS/sql202512250103SHQZJRXXFW.sql @@ -0,0 +1,3 @@ +alter table hrsa_tax_agent add role_id varchar2(200) null; +/ + diff --git a/resource/sqlupgrade/JC/sql202512250103SHQZJRXXFW.sql b/resource/sqlupgrade/JC/sql202512250103SHQZJRXXFW.sql new file mode 100644 index 000000000..648e82df1 --- /dev/null +++ b/resource/sqlupgrade/JC/sql202512250103SHQZJRXXFW.sql @@ -0,0 +1,3 @@ +alter table hrsa_tax_agent add role_id varchar2(200) null; +/ + diff --git a/resource/sqlupgrade/Mysql/sql202512250103SHQZJRXXFW.sql b/resource/sqlupgrade/Mysql/sql202512250103SHQZJRXXFW.sql new file mode 100644 index 000000000..e04529352 --- /dev/null +++ b/resource/sqlupgrade/Mysql/sql202512250103SHQZJRXXFW.sql @@ -0,0 +1 @@ +alter table hrsa_tax_agent add role_id varchar(200) null; \ No newline at end of file diff --git a/resource/sqlupgrade/Oracle/sql202512250103SHQZJRXXFW.sql b/resource/sqlupgrade/Oracle/sql202512250103SHQZJRXXFW.sql new file mode 100644 index 000000000..e70e7db05 --- /dev/null +++ b/resource/sqlupgrade/Oracle/sql202512250103SHQZJRXXFW.sql @@ -0,0 +1,2 @@ +alter table hrsa_tax_agent add role_id varchar2(200) null +/ \ No newline at end of file diff --git a/resource/sqlupgrade/PG/sql202512250103SHQZJRXXFW.sql b/resource/sqlupgrade/PG/sql202512250103SHQZJRXXFW.sql new file mode 100644 index 000000000..e04529352 --- /dev/null +++ b/resource/sqlupgrade/PG/sql202512250103SHQZJRXXFW.sql @@ -0,0 +1 @@ +alter table hrsa_tax_agent add role_id varchar(200) null; \ No newline at end of file diff --git a/resource/sqlupgrade/SQLServer/sql202512250103SHQZJRXXFW.sql b/resource/sqlupgrade/SQLServer/sql202512250103SHQZJRXXFW.sql new file mode 100644 index 000000000..81ed4d906 --- /dev/null +++ b/resource/sqlupgrade/SQLServer/sql202512250103SHQZJRXXFW.sql @@ -0,0 +1,2 @@ +alter table hrsa_tax_agent add role_id varchar(200) null +GO \ No newline at end of file diff --git a/resource/sqlupgrade/ST/sql202512250103SHQZJRXXFW.sql b/resource/sqlupgrade/ST/sql202512250103SHQZJRXXFW.sql new file mode 100644 index 000000000..648e82df1 --- /dev/null +++ b/resource/sqlupgrade/ST/sql202512250103SHQZJRXXFW.sql @@ -0,0 +1,3 @@ +alter table hrsa_tax_agent add role_id varchar2(200) null; +/ + diff --git a/src/com/engine/salary/entity/taxagent/bo/TaxAgentBO.java b/src/com/engine/salary/entity/taxagent/bo/TaxAgentBO.java index 34b3553ee..1ab3ec6ca 100644 --- a/src/com/engine/salary/entity/taxagent/bo/TaxAgentBO.java +++ b/src/com/engine/salary/entity/taxagent/bo/TaxAgentBO.java @@ -1,5 +1,6 @@ package com.engine.salary.entity.taxagent.bo; +import com.engine.salary.biz.EmployBiz; import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.entity.agency.po.PaymentAgencyPO; import com.engine.salary.entity.datacollection.DataCollectionEmployee; @@ -75,6 +76,7 @@ public class TaxAgentBO { List columns = new ArrayList<>(); String name = SalaryI18nUtil.getI18nLabel(91558, "个税扣缴义务人名称"); String employeeRange = SalaryI18nUtil.getI18nLabel(86125, "人员范围"); + String roles = SalaryI18nUtil.getI18nLabel(87626, "角色"); String admins = SalaryI18nUtil.getI18nLabel(106259, "管理员"); String subAdmins = SalaryI18nUtil.getI18nLabel(106283, "分管理员"); // String paymentAgency = SalaryI18nUtil.getI18nLabel(112448, "社保福利代缴机构"); @@ -84,6 +86,7 @@ public class TaxAgentBO { columns.add(new Column(name, "name", "name")); columns.add(new Column(employeeRange, "employeeRange", "employeeRange")); if (isOpenDevolution) { + columns.add(new Column(roles, "roles", "roles")); columns.add(new Column(admins, "admins", "admins")); } columns.add(new Column(description, "description", "description")); @@ -150,12 +153,17 @@ public class TaxAgentBO { map.put("id", e.getId()); map.put("name", e.getName()); map.put("employeeRange", "设置"); -// map.put("role", rolelistMap.getOrDefault(e.getId(), Collections.emptyList()).stream().map(AuthRolePO::getName).collect(Collectors.joining(","))); if (isDevolution) { List empIds = taxAgentAdmins.stream().filter(t -> t.getTaxAgentId().equals(e.getId())).map(TaxAgentAdminPO::getEmployeeId).collect(Collectors.toList()); List admins = adminList.stream().filter(a -> empIds.contains(a.getEmployeeId())).map(DataCollectionEmployee::getUsername).collect(Collectors.toList()); map.put("admins", CollectionUtils.isEmpty(admins) ? "" : Joiner.on(",").join((Iterable) admins)); map.put("subAdmins", "设置"); + String roleId = e.getRoleId(); + if(StringUtils.isNotBlank(roleId)){ + List roleIdList = Arrays.stream(roleId.split(",")).filter(StringUtils::isNotBlank).map(Long::parseLong).collect(Collectors.toList()); + List roleInfos = new EmployBiz().listRoleInfo(roleIdList); + map.put("roles", roleInfos.stream().map(RoleInfo::getName).collect(Collectors.joining(","))); + } } map.put("paymentAgency", buildPaymentAgency(e.getPaymentAgency(), paymentAgencyPOS)); map.put("description", e.getDescription()); @@ -204,6 +212,7 @@ public class TaxAgentBO { .updateTime(now) .creator(employeeId) .deleteType(0) + .roleId(saveParam.getRoleId()) .tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY) .sortedIndex(saveParam.getSortedIndex()) .build(); diff --git a/src/com/engine/salary/entity/taxagent/dto/TaxAgentFormDTO.java b/src/com/engine/salary/entity/taxagent/dto/TaxAgentFormDTO.java index e9f7d5cbd..ff0f8fee3 100644 --- a/src/com/engine/salary/entity/taxagent/dto/TaxAgentFormDTO.java +++ b/src/com/engine/salary/entity/taxagent/dto/TaxAgentFormDTO.java @@ -29,6 +29,8 @@ public class TaxAgentFormDTO { //管理员 private List adminUserIds; + private List roleId; + //排序 private Integer sortedIndex; diff --git a/src/com/engine/salary/entity/taxagent/param/TaxAgentSaveParam.java b/src/com/engine/salary/entity/taxagent/param/TaxAgentSaveParam.java index c8100c98d..8f3732fcd 100644 --- a/src/com/engine/salary/entity/taxagent/param/TaxAgentSaveParam.java +++ b/src/com/engine/salary/entity/taxagent/param/TaxAgentSaveParam.java @@ -34,6 +34,9 @@ public class TaxAgentSaveParam { //管理员主键id private List adminUserIds; + //角色主键id + private String roleId; + //代缴机构 private String paymentAgency; diff --git a/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java b/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java index f84602b40..282adb3f9 100644 --- a/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java +++ b/src/com/engine/salary/entity/taxagent/po/TaxAgentPO.java @@ -78,6 +78,13 @@ public class TaxAgentPO { @XStreamAsAttribute private String tenantKey; + /** + * 角色Id + */ + @XStreamAlias("roleId") + @XStreamAsAttribute + private String roleId; + /** * 创建人id */ diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml index 7569042a6..4071d32e4 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml @@ -724,7 +724,7 @@