增加工代会委员会管理
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
package com.budwk.app.sys.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.sys.models.SysCommitteeMember;
|
||||
import com.budwk.app.sys.models.Sys_role;
|
||||
import com.budwk.app.sys.models.Sys_user;
|
||||
import com.budwk.app.sys.models.Sys_user_role;
|
||||
import com.budwk.app.sys.services.SysRoleService;
|
||||
import com.budwk.app.sys.services.SysUserService;
|
||||
import com.budwk.app.sys.views.View_user;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.cri.SqlExpressionGroup;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
* @date 2025/11/18 17:26
|
||||
* @description 工会委员会
|
||||
*/
|
||||
@IocBean
|
||||
@At("/platform/sys/committeeMember")
|
||||
@Ok("json:full")
|
||||
@Api(tags = "工会委员管理")
|
||||
public class SysUnionCommitteeMemberController {
|
||||
|
||||
@Inject
|
||||
private SysUserService sysUserService;
|
||||
@Inject
|
||||
private SysRoleService sysRoleService;
|
||||
|
||||
@At
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission("sys.manager.union.committeeMember")
|
||||
public Result pageData(PageForm pageForm, @Valid String sessionId) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT * FROM `sys_committee_member` $condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.orLike(SysCommitteeMember::getLoginName, pageForm.getSearchKeyword(), true);
|
||||
seg.orLike(SysCommitteeMember::getUserName, pageForm.getSearchKeyword(), true);
|
||||
// cnd.and(seg);
|
||||
cnd.and(SysCommitteeMember::getSessionId, "=", sessionId);
|
||||
sql.setCondition(cnd);
|
||||
return Result.success(sysUserService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql));
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ApiOperation("查询没有设置的人员")
|
||||
@SaCheckPermission("sys.manager.union.committeeMember")
|
||||
public Result listUserSelect(@Valid String keyWord, @Valid String sessionId) {
|
||||
Sql sql = Sqls.create("select id,loginname,username,unitName from vw_user $condition");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.orLike(View_user::getLoginname, keyWord, true);
|
||||
seg.orLike(View_user::getUsername, keyWord, true);
|
||||
cnd.and(seg);
|
||||
cnd.and("id", "not in", "(select userId from sys_committee_member where sessionId='%s')".formatted(sessionId));
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = sysUserService.listPageMap(1, 10, sql);
|
||||
return Result.success(pagination.getList());
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("添加委员")
|
||||
@SaCheckPermission("sys.manager.union.committeeMember")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result insert(SysCommitteeMember sysCommitteeMember) {
|
||||
Sys_user user = sysUserService.fetch(sysCommitteeMember.getUserId());
|
||||
sysCommitteeMember.setLoginName(user.getLoginname());
|
||||
sysCommitteeMember.setUserName(user.getUsername());
|
||||
sysUserService.insert(sysCommitteeMember);
|
||||
Sys_role sys_role = sysRoleService.fetch(Cnd.where(Sys_role::getCode, "=", RoleConstant.UNION_COMMITTEE_MEMBER.name()));
|
||||
Sys_user_role user_role = new Sys_user_role();
|
||||
user_role.setRoleId(sys_role.getId());
|
||||
user_role.setUserId(sysCommitteeMember.getUserId());
|
||||
sysRoleService.insert(user_role);
|
||||
sysRoleService.clearCache();
|
||||
sysUserService.clearCache();
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ApiOperation("删除委员")
|
||||
@SaCheckPermission("sys.manager.union.committeeMember")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result delete(@Valid String id) {
|
||||
SysCommitteeMember committeeMember = sysUserService.dao().fetch(SysCommitteeMember.class, id);
|
||||
Sys_role sys_role = sysRoleService.fetch(Cnd.where(Sys_role::getCode, "=", RoleConstant.UNION_COMMITTEE_MEMBER.name()));
|
||||
sysUserService.dao().delete(SysCommitteeMember.class, id);
|
||||
sysRoleService.dao().clear(Sys_user_role.class, Cnd.where(Sys_user_role::getUserId, "=", committeeMember.getUserId())
|
||||
.and(Sys_user_role::getRoleId, "=", sys_role.getId()));
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@ApiOperation("删除委员角色")
|
||||
@SaCheckPermission("sys.manager.union.committeeMember")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result deleteRole(@Valid String sessionId) {
|
||||
List<SysCommitteeMember> memberList = sysUserService.dao().query(SysCommitteeMember.class, Cnd.where(SysCommitteeMember::getSessionId, "=", sessionId));
|
||||
Sys_role sys_role = sysRoleService.fetch(Cnd.where(Sys_role::getCode, "=", RoleConstant.UNION_COMMITTEE_MEMBER.name()));
|
||||
List<String> userids = memberList.stream().map(SysCommitteeMember::getUserId).toList();
|
||||
sysRoleService.dao().clear(Sys_user_role.class, Cnd.where(Sys_user_role::getUserId, "in", userids)
|
||||
.and(Sys_user_role::getRoleId, "=", sys_role.getId()));
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.budwk.app.sys.models;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.dao.interceptor.annotation.PrevInsert;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
* @date 2025/11/19 09:25
|
||||
* @description 工会委员
|
||||
*/
|
||||
@Data
|
||||
@Table("sys_committee_member")
|
||||
public class SysCommitteeMember {
|
||||
|
||||
@Name
|
||||
@ColDefine
|
||||
@Column
|
||||
@PrevInsert(uu32 = true)
|
||||
@Comment("id")
|
||||
private String id;
|
||||
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
@Comment("工号")
|
||||
@Column
|
||||
private String loginName;
|
||||
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
@Comment("姓名")
|
||||
@Column
|
||||
private String userName;
|
||||
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("userId")
|
||||
@Column
|
||||
private String userId;
|
||||
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
@Comment("职务")
|
||||
@Column
|
||||
private String position;
|
||||
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
@Comment("届次名称")
|
||||
@Column
|
||||
private String sessionName;
|
||||
|
||||
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("届次Id")
|
||||
@Column
|
||||
private String sessionId;
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user