zhangherong
12 小时以前 35f7901210de45eefaa58b38db23405c561f9484
Merge remote-tracking branch 'origin/master'
已添加1个文件
已修改7个文件
109 ■■■■■ 文件已修改
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserRoleMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserRoleMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserRoleService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserRoleServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/vo/SysUserRoleExitVo.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
}