2025-08-22 | cuilei | ![]() |
2025-08-22 | zhangherong | ![]() |
2025-08-22 | zhangherong | ![]() |
2025-08-22 | Lius | ![]() |
2025-08-20 | Lius | ![]() |
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentFaultReasonController.java
@@ -62,7 +62,7 @@ List<EamEquipmentFaultReason> records = pageList.getRecords(); records.forEach(r ->{ r.setText(r.getFaultName()); r.setValue(r.getId()); r.setValue(r.getFaultName()); }); return Result.OK(pageList); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderWxMessageSendJob.java
@@ -16,7 +16,9 @@ import org.jeecg.modules.quartz.service.ISysQuartzLogService; import org.jeecg.modules.qywx.message.vo.TemplateCard; import org.jeecg.modules.qywx.message.vo.TemplateCardEntity; import org.jeecg.modules.system.entity.MdcProduction; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.service.IMdcProductionService; import org.jeecg.modules.system.service.ISysUserService; import org.jeecg.modules.system.service.impl.ThirdAppWechatEnterpriseServiceImpl; import org.jeecg.modules.system.vo.UserSelector; @@ -27,10 +29,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.util.Date; import java.util.List; import java.util.Map; import java.util.UUID; import java.util.*; import java.util.stream.Collectors; /** @@ -50,6 +49,8 @@ private ISysQuartzLogService sysQuartzLogService; @Autowired private IQuartzJobService quartzJobService; @Autowired private IMdcProductionService mdcProductionService; @Value("${wechatEnterprise.cardActionUrl}") private String cardActionUrl; @@ -67,21 +68,19 @@ long startTime = System.currentTimeMillis(); try { //æ¥è¯¢ææå¾ ä¿å »çå¨ä¿å·¥å List<EamWeekMaintenanceOrder> waitOrderList = eamWeekMaintenanceOrderService.list(new LambdaQueryWrapper<EamWeekMaintenanceOrder>() .eq(EamWeekMaintenanceOrder::getMaintenanceStatus, WeekMaintenanceStatusEnum.WAIT_MAINTENANCE.name()) .eq(EamWeekMaintenanceOrder::getDelFlag, CommonConstant.DEL_FLAG_0)); List<EamWeekMaintenanceOrder> unReceivedOrderList = eamWeekMaintenanceOrderService.selectUnReceivedMaintenanceOrder(); if (!unReceivedOrderList.isEmpty()) { //æå¾ ä¿å »çå·¥åï¼æ¨éä¼ä¸å¾®ä¿¡æ¶æ¯ Map<String, List<EamWeekMaintenanceOrder>> unReceivedOrderMap = unReceivedOrderList.stream() .collect(Collectors.groupingBy(EamWeekMaintenanceOrder::getOrgId)); Set<String> productionIds = selectTwoLevelProductionIds(unReceivedOrderMap.keySet()); StringBuilder message = new StringBuilder(); for (String orgId : unReceivedOrderMap.keySet()) { for (String orgId : productionIds) { //æ¥è¯¢è¯¥äº§çº¿ä¸çæææä½å·¥ List<UserSelector> userSelectorList = sysUserService.selectOperatorList(null, orgId, BusinessCodeConst.PCR0001); if (userSelectorList.isEmpty()) { log.error("ç³»ç»æªè®¾ç½®æä½å·¥ç¨æ·ï¼æ æ³æ¨éå·¥åé¢åæéæ¶æ¯"); message.append("ç³»ç»æªè®¾ç½®æä½å·¥ç¨æ·ï¼æ æ³æ¨éå·¥åé¢åæéæ¶æ¯").append("\n"); log.error("id为:{},ç产线æªé ç½®æä½å·¥ç¨æ·ï¼æ æ³æ¨éå¨ä¿å·¥åé¢åæéæ¶æ¯", orgId); message.append("id为: ").append(orgId).append(" ç产线æªé ç½®æä½å·¥ç¨æ·ï¼æ æ³æ¨éå¨ä¿å·¥åé¢åæéæ¶æ¯").append("\n"); } else { String toUsers = userSelectorList.stream().map(UserSelector::getUsername).collect(Collectors.joining(",")); String touser = wechatEnterpriseService.getTouser(toUsers, false); @@ -126,4 +125,24 @@ quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); sysQuartzLogService.save(quartzLog); } //妿å½å产线æ¯ä¸çº§ï¼æ¥è¯¢å¯¹åºäºçº§äº§çº¿ï¼å¦æä¸æ¯ä¸åå¤ç private Set<String> selectTwoLevelProductionIds(Set<String> productionIds) { Set<String> result = new HashSet<>(); List<MdcProduction> mdcProductionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().in(MdcProduction::getId, productionIds)); for (MdcProduction production : mdcProductionList) { //妿æ¯ä¸çº§äº§çº¿ï¼æ¥æ¾å¯¹åºçäºçº§äº§çº¿ï¼æ·»å è¿ç»æé if ("3".equals(production.getOrgType())) { mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>() .eq(MdcProduction::getId, production.getParentId()) .eq(MdcProduction::getOrgType, "2")) .stream().findFirst().ifPresent(mdcProduction -> result.add(mdcProduction.getId())); } //妿æ¯äºçº§äº§çº¿ï¼æ·»å è¿ç»æé if ("2".equals(production.getOrgType())) { result.add(production.getId()); } } return result; } } 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; }