Browse Source

jms:1.edi权限修改
2.报表权限修改

纪新园 9 months ago
parent
commit
9e6e1eaef9

+ 11 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/basic/reports/entity/Reports.java

@@ -190,5 +190,16 @@ public class Reports implements Serializable {
 	@ApiModelProperty(value = "授权团队id")
 	private String authorizedTeamId;
 
+	/**
+	 * 排除用户
+	 */
+	@ApiModelProperty(value = "排除用户")
+	private String excludeUsers;
+	/**
+	 * 排除用户id
+	 */
+	@ApiModelProperty(value = "排除用户")
+	private String excludeUsersId;
+
 
 }

+ 7 - 2
blade-service-api/blade-los-api/src/main/java/org/springblade/los/edi/entity/EdiTypes.java

@@ -25,7 +25,6 @@ import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
-import java.util.List;
 
 /**
  * 基础资料-EDI 类型表实体类
@@ -155,7 +154,7 @@ public class EdiTypes implements Serializable {
 	/**
 	 * 是否已删除(0 否 1是)
 	 */
-	@TableLogic(value = "0",delval = "1")
+	@TableLogic(value = "0", delval = "1")
 	@ApiModelProperty(value = "是否已删除(0 否 1是)")
 	private Integer isDeleted;
 
@@ -201,5 +200,11 @@ public class EdiTypes implements Serializable {
 	@ApiModelProperty(value = "JSON 对象数组,权限团队")
 	private String teamlist;
 
+	/**
+	 * JJSON 对象数组,排除用户
+	 */
+	@ApiModelProperty(value = "JSON 对象数组,排除用户")
+	private String excludelist;
+
 
 }

+ 22 - 2
blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/controller/ReportsController.java

@@ -35,7 +35,6 @@ import org.springblade.los.Util.IDeptUtils;
 import org.springblade.los.basic.reports.entity.Reports;
 import org.springblade.los.basic.reports.service.IReportsService;
 import org.springblade.los.basic.reports.vo.ReportsVO;
-import org.springblade.los.business.sea.entity.Bills;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
@@ -88,7 +87,28 @@ public class ReportsController extends BladeController {
 			lambdaQueryWrapper.eq(ObjectUtils.isNotNull(reports.getClassifyCode()), Reports::getClassifyCode, reports.getClassifyCode());
 		}
 		if (!AuthUtil.getUserRole().contains("admin")) {
-			lambdaQueryWrapper.apply("find_in_set('"+AuthUtil.getUserId()+"',authorized_users_id)");
+			String roleIds = AuthUtil.getUser().getRoleId();
+			StringBuilder text = new StringBuilder("(");
+			String[] arr = roleIds.split(",");
+			for (int i = 0; i < arr.length; i++) {
+				if (i + 1 == arr.length) {
+					text.append("find_in_set('").append(arr[i]).append("',authorized_role_id) or ");
+				} else {
+					text.append("find_in_set('").append(arr[i]).append("',authorized_role_id) or ");
+				}
+			}
+			String postIds = AuthUtil.getUser().getPostId();
+			String[] arrPost = postIds.split(",");
+			for (int i = 0; i < arrPost.length; i++) {
+				if (i + 1 == arrPost.length) {
+					text.append("find_in_set('").append(arrPost[i]).append("',authorized_team_id) or ");
+				} else {
+					text.append("find_in_set('").append(arrPost[i]).append("',authorized_team_id) or ");
+				}
+			}
+			text.append("find_in_set('").append(AuthUtil.getUserId()).append("',authorized_users_id))  ");
+			text.append("and not find_in_set('").append(AuthUtil.getUserId()).append("',exclude_users_id)");
+			lambdaQueryWrapper.apply(text.toString());
 		}
 		IPage<Reports> pages = reportsService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);

+ 22 - 1
blade-service/blade-los/src/main/java/org/springblade/los/edi/controller/EdiTypesController.java

@@ -80,7 +80,28 @@ public class EdiTypesController extends BladeController {
 			.eq(ObjectUtils.isNotNull(ediTypes.getType()), EdiTypes::getType, ediTypes.getType())
 		    .orderBy(true, true, EdiTypes::getCode);
 		if (!"admin".equals(AuthUtil.getUserName())) {
-			lambdaQueryWrapper.apply("find_in_set(" + deptUtils.getDeptPid()+"" + ",userlist)");
+			String roleIds = AuthUtil.getUser().getRoleId();
+			StringBuilder text = new StringBuilder("(");
+			String[] arr = roleIds.split(",");
+			for (int i = 0; i < arr.length; i++) {
+				if (i + 1 == arr.length) {
+					text.append("find_in_set('").append(arr[i]).append("',rolelist) or ");
+				} else {
+					text.append("find_in_set('").append(arr[i]).append("',rolelist) or ");
+				}
+			}
+			String postIds = AuthUtil.getUser().getPostId();
+			String[] arrPost = postIds.split(",");
+			for (int i = 0; i < arrPost.length; i++) {
+				if (i + 1 == arrPost.length) {
+					text.append("find_in_set('").append(arrPost[i]).append("',teamlist) or ");
+				} else {
+					text.append("find_in_set('").append(arrPost[i]).append("',teamlist) or ");
+				}
+			}
+			text.append("find_in_set('").append(AuthUtil.getUserId()).append("',userlist))  ");
+			text.append("and not find_in_set('").append(AuthUtil.getUserId()).append("',excludelist)");
+			lambdaQueryWrapper.apply(text.toString());
 		}
 		IPage<EdiTypes> pages = ediTypesService.page(Condition.getPage(query), Condition.getQueryWrapper(ediTypes));
 		return R.data(pages);