提交 b1b021e6 编写于 作者: M MaxKey

dynamic Groups and Roles

上级 6523b2b1
......@@ -48,6 +48,7 @@ public class GroupMember extends UserInfo implements Serializable{
@Column
private String groupId;
private String groupName;
private String dynamic;
@Column
private String memberId;
private String memberName;
......@@ -163,11 +164,17 @@ public class GroupMember extends UserInfo implements Serializable{
return memberName;
}
public void setMemberName(String memberName) {
this.memberName = memberName;
}
public String getDynamic() {
return dynamic;
}
public void setDynamic(String dynamic) {
this.dynamic = dynamic;
}
public String getInstId() {
return instId;
......
......@@ -42,6 +42,7 @@ public class RoleMember extends UserInfo implements Serializable {
@Column
private String roleId;
private String roleName;
private String dynamic;
@Column
private String memberId;
private String memberName;
......@@ -80,7 +81,15 @@ public class RoleMember extends UserInfo implements Serializable {
this.roleName = roleName;
}
public String getMemberId() {
public String getDynamic() {
return dynamic;
}
public void setDynamic(String dynamic) {
this.dynamic = dynamic;
}
public String getMemberId() {
return memberId;
}
......
......@@ -34,7 +34,6 @@ import org.maxkey.entity.UserInfo;
public interface GroupMemberMapper extends IJpaBaseMapper<GroupMember> {
public List<GroupMember> allMemberInGroup(GroupMember entity);
public List<GroupMember> memberInGroup(GroupMember entity);
public List<GroupMember> memberNotInGroup(GroupMember entity);
public List<GroupMember> groupMemberInGroup(GroupMember entity);
......
......@@ -33,7 +33,6 @@ import org.maxkey.entity.Roles;
public interface RoleMemberMapper extends IJpaBaseMapper<RoleMember> {
public List<RoleMember> allMemberInRole(RoleMember entity);
public List<RoleMember> memberInRole(RoleMember entity);
public List<RoleMember> memberNotInRole(RoleMember entity);
public List<RoleMember> roleMemberInRole(RoleMember entity);
......
......@@ -11,51 +11,12 @@
</if>
</sql>
<!-- GROUP_MEMBER User Member-->
<select id="allMemberInGroup" parameterType="GroupMember" resultType="GroupMember">
select distinct
u.id,
u.username,
u.usertype,
u.windowsaccount,
u.displayname ,
u.nickname ,
u.namezhspell,
u.namezhshortspell,
u.givenname ,
u.middlename ,
u.familyname ,
u.gender,
u.authntype,
u.mobile,
u.email,
u.workemail,
u.workphonenumber,
u.employeenumber,
u.division,
u.costcenter,
u.organization,
u.departmentid,
u.department,
u.jobtitle,
u.joblevel,
u.createddate,
u.status
from
mxk_userinfo u
where instid = #{instId}
</select>
<select id="memberInGroup" parameterType="GroupMember" resultType="GroupMember">
select distinct
gm.id,
gm.id as id,
g.id as groupid,
g.name as groupname,
g.dynamic dynamic,
u.username,
u.usertype,
u.windowsaccount,
......@@ -210,7 +171,7 @@
instid
)
select
concat('${id}',u.id) id,
concat('${id}_',u.id) id,
'${id}' groupid,
u.id memberid,
'USER-DYNAMIC' type,
......@@ -250,6 +211,8 @@
<select id="queryMemberByGroupId" parameterType="string" resultType="UserInfo">
select distinct
g.groupId,
g.groupName,
u.id,
u.username,
u.usertype,
......@@ -296,7 +259,7 @@
<delete id="deleteByGroupId" parameterType="string" >
delete from mxk_group_member gm
where gm.groupid=#{value}
where gm.groupid = #{value} and groupId != 'ROLE_ALL_USER'
</delete>
</mapper>
\ No newline at end of file
......@@ -10,52 +10,13 @@
and name = #{name}
</if>
</sql>
<!-- ROLE_MEMBER User Member-->
<select id="allMemberInRole" parameterType="RoleMember" resultType="RoleMember">
select distinct
u.id,
u.username,
u.usertype,
u.windowsaccount,
u.displayname ,
u.nickname ,
u.namezhspell,
u.namezhshortspell,
u.givenname ,
u.middlename ,
u.familyname ,
u.gender,
u.authntype,
u.mobile,
u.email,
u.workemail,
u.workphonenumber,
u.employeenumber,
u.division,
u.costcenter,
u.organization,
u.departmentid,
u.department,
u.jobtitle,
u.joblevel,
u.createddate,
u.status
from
mxk_userinfo u
where instid = #{instId}
</select>
<select id="memberInRole" parameterType="RoleMember" resultType="RoleMember">
select distinct
rm.id,
r.id as roleid,
r.name as rolename,
r.dynamic dynamic,
rm.id as id,
u.username,
u.usertype,
u.windowsaccount,
......@@ -211,7 +172,7 @@
type
)
select
concat('${id}',u.id) id,
concat('${id}_',u.id) id,
'${id}' ROLEID,
u.id memberid,
'USER-DYNAMIC' type
......
......@@ -76,6 +76,7 @@
<thead>
<tr>
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate" (nzCheckedChange)="onTableAllChecked($event)"></th>
<th nzAlign="center">{{ 'mxk.groups.name' | i18n }}</th>
<th nzAlign="center">{{ 'mxk.users.username' | i18n }}</th>
<th nzAlign="center">{{ 'mxk.users.displayName' | i18n }}</th>
<th nzAlign="center">{{ 'mxk.users.employeeNumber' | i18n }}</th>
......@@ -94,6 +95,7 @@
[nzDisabled]="data.disabled"
(nzCheckedChange)="onTableItemChecked(data.id, $event)"
></td>
<td nzAlign="center"> {{ data.groupName }}</td>
<td nzAlign="center"> {{ data.username }}</td>
<td nzAlign="center"> {{ data.displayName }}</td>
<td nzAlign="center"> {{ data.employeeNumber }}</td>
......@@ -102,9 +104,15 @@
<td nzAlign="center"> {{ data.gender == 1 ? ('mxk.users.gender.female' | i18n) : ('mxk.users.gender.male' | i18n) }}</td>
<td nzAlign="left" nzBreakWord="false"
><div nz-col>
<button nz-button type="button" (click)="onDelete($event, data.id)" [nzType]="'primary'" nzDanger>{{
'mxk.text.delete' | i18n
}}</button></div
<button
*ngIf="data.dynamic == '0'"
nz-button
type="button"
(click)="onDelete($event, data.id)"
[nzType]="'primary'"
nzDanger
>{{ 'mxk.text.delete' | i18n }}</button
></div
></td
>
</tr>
......
......@@ -27,7 +27,7 @@
<ng-template #unCheckedTemplate><i nz-icon nzType="close"></i></ng-template>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item *ngIf="form.model.switch_dynamic">
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="resumeTime">{{ 'mxk.groups.resumeTime' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid port!">
<nz-time-picker
......@@ -39,7 +39,7 @@
></nz-time-picker>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item *ngIf="form.model.switch_dynamic">
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="suspendTime">{{ 'mxk.groups.suspendTime' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid suspendTime!">
<nz-time-picker
......@@ -51,13 +51,13 @@
></nz-time-picker>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item *ngIf="form.model.switch_dynamic">
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="orgIdsList">{{ 'mxk.groups.orgIdsList' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid upperCase!">
<input [(ngModel)]="form.model.orgIdsList" [ngModelOptions]="{ standalone: true }" nz-input name="orgIdsList" id="orgIdsList" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item *ngIf="form.model.switch_dynamic">
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="filters">{{ 'mxk.groups.filters' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid filters!">
<textarea
......
......@@ -76,6 +76,7 @@
<thead>
<tr>
<th [nzChecked]="query.checked" [nzIndeterminate]="query.indeterminate" (nzCheckedChange)="onTableAllChecked($event)"></th>
<th nzAlign="center">{{ 'mxk.roles.name' | i18n }}</th>
<th nzAlign="center">{{ 'mxk.users.username' | i18n }}</th>
<th nzAlign="center">{{ 'mxk.users.displayName' | i18n }}</th>
<th nzAlign="center">{{ 'mxk.users.employeeNumber' | i18n }}</th>
......@@ -94,6 +95,7 @@
[nzDisabled]="data.disabled"
(nzCheckedChange)="onTableItemChecked(data.id, $event)"
></td>
<td nzAlign="center"> {{ data.roleName }}</td>
<td nzAlign="center"> {{ data.username }}</td>
<td nzAlign="center"> {{ data.displayName }}</td>
<td nzAlign="center"> {{ data.employeeNumber }}</td>
......@@ -102,9 +104,15 @@
<td nzAlign="center"> {{ data.gender == 1 ? ('mxk.users.gender.female' | i18n) : ('mxk.users.gender.male' | i18n) }}</td>
<td nzAlign="left" nzBreakWord="false"
><div nz-col>
<button nz-button type="button" (click)="onDelete($event, data.id)" [nzType]="'primary'" nzDanger>{{
'mxk.text.delete' | i18n
}}</button></div
<button
*ngIf="data.dynamic == '0'"
nz-button
type="button"
(click)="onDelete($event, data.id)"
[nzType]="'primary'"
nzDanger
>{{ 'mxk.text.delete' | i18n }}</button
></div
></td
>
</tr>
......
......@@ -27,7 +27,7 @@
<ng-template #unCheckedTemplate><i nz-icon nzType="close"></i></ng-template>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item *ngIf="form.model.switch_dynamic">
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="resumeTime">{{ 'mxk.roles.resumeTime' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid port!">
<nz-time-picker
......@@ -39,7 +39,7 @@
></nz-time-picker>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item *ngIf="form.model.switch_dynamic">
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="suspendTime">{{ 'mxk.roles.suspendTime' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid suspendTime!">
<nz-time-picker
......@@ -51,13 +51,13 @@
></nz-time-picker>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item *ngIf="form.model.switch_dynamic">
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="orgIdsList">{{ 'mxk.roles.orgIdsList' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid upperCase!">
<input [(ngModel)]="form.model.orgIdsList" [ngModelOptions]="{ standalone: true }" nz-input name="orgIdsList" id="orgIdsList" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item *ngIf="form.model.switch_dynamic">
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="filters">{{ 'mxk.roles.filters' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid filters!">
<textarea
......
......@@ -68,13 +68,9 @@ public class GroupMemberController {
public ResponseEntity<?> memberInGroup(@ModelAttribute GroupMember groupMember,@CurrentUser UserInfo currentUser) {
_logger.debug("groupMember : "+groupMember);
groupMember.setInstId(currentUser.getInstId());
if(groupMember.getGroupId()==null||groupMember.getGroupId().equals("")||groupMember.getGroupId().equals("ROLE_ALL_USER")){
return new Message<JpaPageResults<GroupMember>>(
groupMemberService.queryPageResults("allMemberInGroup",groupMember)).buildResponse();
}else{
return new Message<JpaPageResults<GroupMember>>(
groupMemberService.queryPageResults("memberInGroup",groupMember)).buildResponse();
}
return new Message<JpaPageResults<GroupMember>>(
groupMemberService.queryPageResults("memberInGroup",groupMember)).buildResponse();
}
......
......@@ -105,7 +105,7 @@ public class GroupsController {
@RequestMapping(value={"/delete"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<?> delete(@RequestParam("ids") String ids,@CurrentUser UserInfo currentUser) {
_logger.debug("-delete ids : {}" , ids);
ids = ids.replaceAll("ROLE_ALL_USER", "-1").replaceAll("ROLE_ADMINISTRATORS", "-1");
if (groupsService.deleteBatch(ids)) {
return new Message<Groups>(Message.SUCCESS).buildResponse();
} else {
......
......@@ -67,13 +67,8 @@ public class RoleMemberController {
public ResponseEntity<?> memberInRole(@ModelAttribute RoleMember roleMember,@CurrentUser UserInfo currentUser) {
_logger.debug("roleMember : "+roleMember);
roleMember.setInstId(currentUser.getInstId());
if(roleMember.getRoleId()==null||roleMember.getRoleId().equals("")||roleMember.getRoleId().equals("ALL_USER_ROLE")){
return new Message<JpaPageResults<RoleMember>>(
roleMemberService.queryPageResults("allMemberInRole",roleMember)).buildResponse();
}else{
return new Message<JpaPageResults<RoleMember>>(
roleMemberService.queryPageResults("memberInRole",roleMember)).buildResponse();
}
return new Message<JpaPageResults<RoleMember>>(
roleMemberService.queryPageResults("memberInRole",roleMember)).buildResponse();
}
@RequestMapping(value = { "/memberNotInRole" })
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册