yuansh há 2 anos atrás
pai
commit
3d23246b10

+ 4 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActBusinessController.java

@@ -740,6 +740,10 @@ public class ActBusinessController {
             for(Map<String,Object> column:tableColumnList){
                 StringBuffer sb = new StringBuffer(" case when ");
                 sb.append("cl."+column.get("columnName").toString()).append(" LIKE '[]' then '' ");
+
+                sb.append("when cl."+column.get("columnName").toString()).append(" LIKE '[\"%' ");
+                sb.append("then ").append("replace(replace(replace(cl."+column.get("columnName").toString()+",'\"',''),'[',''),']','')");
+
                 sb.append("when cl."+column.get("columnName").toString()).append(" like 'T0%' ");
                 sb.append("then (select realname from sys_user where username = ");
                 sb.append("cl.").append(column.get("columnName").toString()).append(" ) ");

+ 20 - 1
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java

@@ -13,10 +13,12 @@ import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.authz.annotation.RequiresRoles;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CacheConstant;
 import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.system.api.ISysBaseAPI;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.PmsUtil;
 import org.jeecg.common.util.oConvertUtils;
@@ -80,7 +82,8 @@ public class SysRoleController {
 	
 	@Autowired
 	private ISysPermissionService sysPermissionService;
-
+	@Autowired
+	ISysBaseAPI sysBaseAPI;
 	/**
 	  * 分页列表查询
 	 * @param role
@@ -152,6 +155,11 @@ public class SysRoleController {
 	 */
 	@RequestMapping(value = "/delete", method = RequestMethod.DELETE)
 	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		SysRole sysrole = sysRoleService.getById(id);
+		String userIds = sysBaseAPI.getUserByRoleCode(sysrole.getRoleCode(),null);//
+		if(StringUtils.isNotBlank(userIds)){
+			return Result.error("该角色含有用户信息,请先删除用户");
+		}
 		sysRoleService.deleteRole(id);
 		return Result.ok("删除角色成功");
 	}
@@ -164,6 +172,17 @@ public class SysRoleController {
 	@RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
 	public Result<SysRole> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
 		Result<SysRole> result = new Result<SysRole>();
+
+		String[] aa = ids.split(",");
+		for(String a:aa){
+			SysRole sysrole = sysRoleService.getById(a);
+			String userIds = sysBaseAPI.getUserByRoleCode(sysrole.getRoleCode(),null);//
+			if(StringUtils.isNotBlank(userIds)){
+				result.error500("角色"+sysrole.getRoleCode()+"含有用户信息,请先删除用户");
+				return result;
+			}
+		}
+
 		if(oConvertUtils.isEmpty(ids)) {
 			result.error500("未选中角色!");
 		}else {