From 05a7d3320e92c693fc96463d13dbade174679616 Mon Sep 17 00:00:00 2001 From: = <=> Date: Thu, 20 Aug 2026 16:46:13 +0800 Subject: [PATCH] commit --- .../config/ProposalConfigUnitController.java | 30 ++++++++++++++----- .../proposal/config/unit/index.html | 2 +- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/config/ProposalConfigUnitController.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/config/ProposalConfigUnitController.java index b5822600..a610c330 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/config/ProposalConfigUnitController.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/config/ProposalConfigUnitController.java @@ -84,12 +84,26 @@ public class ProposalConfigUnitController { u2.username AS unitLeader FROM proposal_undertake t1 - LEFT JOIN sys_user_role sur1 ON sur1.underTakeId = t1.id - AND sur1.roleId = ( SELECT r.id FROM sys_role r WHERE r.CODE = @PROPOSAL_BRANCH_SCHOOL_LEADER ) - LEFT JOIN sys_user u1 ON u1.id = sur1.userId - LEFT JOIN sys_user_role sur2 ON sur2.underTakeId = t1.id - AND sur2.roleId = ( SELECT r.id FROM sys_role r WHERE r.CODE = @PROPOSAL_UNIT_LEADER) - LEFT JOIN sys_user u2 ON u2.id = sur2.userId + LEFT JOIN ( + SELECT + sur.underTakeId, + GROUP_CONCAT(DISTINCT u.username ORDER BY u.username SEPARATOR '、') AS username, + GROUP_CONCAT(DISTINCT u.loginname ORDER BY u.loginname SEPARATOR ',') AS loginname + FROM sys_user_role sur + LEFT JOIN sys_user u ON u.id = sur.userId + WHERE sur.roleId = (SELECT r.id FROM sys_role r WHERE r.CODE = @PROPOSAL_BRANCH_SCHOOL_LEADER) + GROUP BY sur.underTakeId + ) u1 ON u1.underTakeId = t1.id + LEFT JOIN ( + SELECT + sur.underTakeId, + GROUP_CONCAT(DISTINCT u.username ORDER BY u.username SEPARATOR '、') AS username, + GROUP_CONCAT(DISTINCT u.loginname ORDER BY u.loginname SEPARATOR ',') AS loginname + FROM sys_user_role sur + LEFT JOIN sys_user u ON u.id = sur.userId + WHERE sur.roleId = (SELECT r.id FROM sys_role r WHERE r.CODE = @PROPOSAL_UNIT_LEADER) + GROUP BY sur.underTakeId + ) u2 ON u2.underTakeId = t1.id $condition """); sql.setParam("PROPOSAL_BRANCH_SCHOOL_LEADER", RoleConstant.PROPOSAL_BRANCH_SCHOOL_LEADER.name()); @@ -121,7 +135,9 @@ public class ProposalConfigUnitController { @SLog(tag = "提案", msg = "承办单位同步系统单位") public Result syncSysUnit() { Sql sql = Sqls.create("select code from proposal_undertake"); - List sysUnits = dao.query(Sys_unit.class, Cnd.where(Sys_unit::getUnitcode, "not in", sql).and(Sys_unit::getUnitTypeCode, "=", 1)); + // 三位单位编号即提案业务使用的二级单位,不再叠加系统单位层级条件。 + List sysUnits = dao.query(Sys_unit.class, Cnd.where(Sys_unit::getUnitcode, "not in", sql) + .and("CHAR_LENGTH(TRIM(unitcode))", "=", 3)); List proposalUndertakes = sysUnits.stream().map(unit -> { ProposalUndertake proposalUndertake = new ProposalUndertake(); proposalUndertake.setId(unit.getId()); diff --git a/src/main/resources/views/platform/zhgh/democratic/proposal/config/unit/index.html b/src/main/resources/views/platform/zhgh/democratic/proposal/config/unit/index.html index 7a3c7744..74c8841f 100644 --- a/src/main/resources/views/platform/zhgh/democratic/proposal/config/unit/index.html +++ b/src/main/resources/views/platform/zhgh/democratic/proposal/config/unit/index.html @@ -28,7 +28,7 @@ layout("/layouts/platform.html"){ - +