This commit is contained in:
=
2026-08-20 16:46:13 +08:00
parent e07ed664f1
commit 05a7d3320e
2 changed files with 24 additions and 8 deletions
@@ -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<Sys_unit> sysUnits = dao.query(Sys_unit.class, Cnd.where(Sys_unit::getUnitcode, "not in", sql).and(Sys_unit::getUnitTypeCode, "=", 1));
// 三位单位编号即提案业务使用的二级单位,不再叠加系统单位层级条件。
List<Sys_unit> sysUnits = dao.query(Sys_unit.class, Cnd.where(Sys_unit::getUnitcode, "not in", sql)
.and("CHAR_LENGTH(TRIM(unitcode))", "=", 3));
List<ProposalUndertake> proposalUndertakes = sysUnits.stream().map(unit -> {
ProposalUndertake proposalUndertake = new ProposalUndertake();
proposalUndertake.setId(unit.getId());