lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java
@@ -11,6 +11,7 @@ import org.jeecg.common.api.vo.FileUploadResult; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.DataBaseConstant; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog; @@ -203,6 +204,10 @@ @Transactional(rollbackFor = Exception.class) @EquipmentHistoryLog(operationTag = EquipmentOperationTagEnum.REPORT_REPAIR, businessTable = "eam_report_repair") public EamReportRepair add(EamReportRepair eamReportRepair) { EamEquipment equipment = eamEquipmentService.getById(eamReportRepair.getEquipmentId()); if (equipment == null) { throw new JeecgBootException("设å¤ä¸åå¨ï¼è¯·æ£æ¥ï¼"); } eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_REPAIR.name()); eamReportRepair.setDelFlag(CommonConstant.DEL_FLAG_0); // éä»¶å¤ç lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java
@@ -1,6 +1,7 @@ package org.jeecg.modules.system.controller; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.RandomUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; @@ -32,6 +33,7 @@ import org.jeecg.modules.system.model.SysUserSysDepartModel; import org.jeecg.modules.system.service.*; import org.jeecg.modules.system.vo.SysDepartUsersVO; import org.jeecg.modules.system.vo.SysUserRoleExitVo; import org.jeecg.modules.system.vo.SysUserRoleVO; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; @@ -580,7 +582,17 @@ } //update-end--Author:kangxiaolin Date:20180825 forï¼[03]ç¨æ·å¯¼åºï¼å¦æéæ©æ°æ®ååªå¯¼åºç¸å ³æ°æ®---------------------- List<SysUser> pageList = sysUserService.list(queryWrapper); // æ¥è¯¢ç¨æ·è§è² List<String> userIds = pageList.stream().map(SysUser::getId).collect(Collectors.toList()); List<SysUserRoleExitVo> userRoleExitVoList = sysUserRoleService.queryRoleNamesByUserIds(userIds); if (!CollectionUtil.isEmpty(userRoleExitVoList)) { Map<String, String> userRolesMap = userRoleExitVoList.stream().collect(Collectors.toMap(SysUserRoleExitVo::getUsername, SysUserRoleExitVo::getRoleNames)); pageList.forEach(user -> { if (userRolesMap.containsKey(user.getUsername())) { user.setRoleIds(userRolesMap.get(user.getUsername())); } }); } //å¯¼åºæä»¶åç§° mv.addObject(NormalExcelConstants.FILE_NAME, "ç¨æ·å表"); mv.addObject(NormalExcelConstants.CLASS, SysUser.class); @@ -627,6 +639,9 @@ sysUserExcel.setSalt(salt); String passwordEncode = PasswordUtil.encrypt(sysUserExcel.getUsername(), sysUserExcel.getPassword(), salt); sysUserExcel.setPassword(passwordEncode); sysUserExcel.setDelFlag(CommonConstant.DEL_FLAG_0); sysUserExcel.setPasswordFlag(CommonConstant.DEL_FLAG_1); sysUserExcel.setPasswordTime(new Date()); try { sysUserService.save(sysUserExcel); successLines++; @@ -672,6 +687,17 @@ } userProductionService.saveBatch(userProductionList); } // æ¹éå°è§è²åç¨æ·ä¿¡æ¯å»ºç«å ³èå ³ç³» String roleIds = sysUserExcel.getRoleIds(); if (StringUtils.isNotBlank(roleIds)) { String userId = sysUserExcel.getId(); String[] roleIdArray = roleIds.split(","); List<SysUserRole> sysRoleList = new ArrayList<>(roleIdArray.length); for (String roleId : roleIdArray) { sysRoleList.add(new SysUserRole(userId, roleId)); } sysUserRoleService.saveBatch(sysRoleList); } } } catch (Exception e) { errorMessage.add("åçå¼å¸¸ï¼" + e.getMessage()); lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java
@@ -189,6 +189,14 @@ private String productionIds; /** * è§è²åé (å¯¼å ¥å¯¼åºä½¿ç¨) */ @Excel(name="è§è²åé ",width = 15,dictTable ="sys_role",dicText = "role_name",dicCode = "id") @Dict(dictTable ="sys_role",dicText = "role_name",dicCode = "id") @TableField(exist = false) private String roleIds; /** * å¤ç§æ·idé ç½®ï¼ç¼è¾ç¨æ·çæ¶å设置 */ private String relTenantIds; lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserRoleMapper.java
@@ -1,10 +1,12 @@ package org.jeecg.modules.system.mapper; import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.entity.SysUserRole; import org.jeecg.modules.system.vo.SysUserRoleExitVo; import java.util.List; @@ -48,4 +50,11 @@ @Select("select username from sys_user where id in (select user_id from sys_user_role where role_id = #{roleId})") List<String> getUserNameByRoleId(@Param("roleId") String roleId); /** * éè¿ç¨æ·idéåè·åç¨æ·åè§è²å ³ç³» * @param userIds * @return */ @InterceptorIgnore(tenantLine = "true") // è·³è¿ç§æ·æä»¶è§£æ List<SysUserRoleExitVo> queryRoleNamesByUserIds(@Param("userIds") List<String> userIds); } lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserRoleMapper.xml
@@ -15,4 +15,30 @@ where t2.id is not null ) </select> <select id="queryRoleNamesByUserIds" resultType="org.jeecg.modules.system.vo.SysUserRoleExitVo"> SELECT t1.username, ISNULL( STUFF( ( SELECT ',' + t3.role_name FROM sys_user_role t2 INNER JOIN sys_role t3 ON t2.role_id = t3.id WHERE t2.user_id = t1.id FOR XML PATH(''), TYPE ).value('.', 'NVARCHAR(MAX)'), 1, 1, '' ), '' ) AS roleNames FROM sys_user t1 <where> <if test="userIds!=null and userIds.size()>0"> AND t1.id IN <foreach collection="userIds" index="index" item="userId" open="(" separator="," close=")"> #{userId} </foreach> </if> </where> GROUP BY t1.username, t1.id </select> </mapper> lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserRoleService.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.entity.SysUserRole; import org.jeecg.modules.system.vo.SysUserRoleExitVo; import java.util.List; @@ -28,4 +29,10 @@ */ List<String> getUserNameByRoleId(String roleId); /** * éè¿ç¨æ·idéåè·åç¨æ·åè§è²å ³ç³» * @param userIds * @return */ List<SysUserRoleExitVo> queryRoleNamesByUserIds(List<String> userIds); } lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserRoleServiceImpl.java
@@ -5,9 +5,11 @@ import org.jeecg.modules.system.entity.SysUserRole; import org.jeecg.modules.system.mapper.SysUserRoleMapper; import org.jeecg.modules.system.service.ISysUserRoleService; import org.jeecg.modules.system.vo.SysUserRoleExitVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Collections; import java.util.List; /** @@ -42,4 +44,14 @@ return sysUserRoleMapper.getUserNameByRoleId(roleId); } /** * éè¿ç¨æ·idéåè·åç¨æ·åè§è²å ³ç³» * @param userIds * @return */ @Override public List<SysUserRoleExitVo> queryRoleNamesByUserIds(List<String> userIds) { return sysUserRoleMapper.queryRoleNamesByUserIds(userIds); } } lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/vo/SysUserRoleExitVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ package org.jeecg.modules.system.vo; import lombok.Data; /** * @Author: Lius * @CreateTime: 2025-08-20 * @Description: */ @Data public class SysUserRoleExitVo { private String username; private String roleNames; }