From 1182b8b80bf3859cd962384ee4f01a43b1ecd139 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期一, 01 九月 2025 16:09:50 +0800 Subject: [PATCH] 设备管理首页新增车间级控制权限 --- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java | 125 ++++++++++----- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamEquipmentQuery.java | 1 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/BaseFactoryMapper.java | 8 + lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/BaseFactoryMapper.xml | 13 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java | 121 +++++++------- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml | 2 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java | 125 ++++++++------- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java | 4 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java | 2 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java | 4 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java | 12 + lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportThreeNoSpareDto.java | 3 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamHomeController.java | 24 +- lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryService.java | 5 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamFactorySecondMaintPlanService.java | 2 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamFactorySecondMaintPlanServiceImpl.java | 23 ++ 16 files changed, 293 insertions(+), 181 deletions(-) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportThreeNoSpareDto.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportThreeNoSpareDto.java index 9b392e4..2db28c2 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportThreeNoSpareDto.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportThreeNoSpareDto.java @@ -10,6 +10,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; import org.jeecg.modules.flowable.domain.vo.FlowTaskVo; import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; @@ -91,6 +92,7 @@ /**鍩硅浜�*/ @Excel(name = "鍩硅浜�", width = 15) @ApiModelProperty(value = "鍩硅浜�") + @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String trainingUser; /**鍩硅鏃堕棿*/ @Excel(name = "鍩硅鏃堕棿", width = 15, format = "yyyy-MM-dd") @@ -105,6 +107,7 @@ /**鍗曚綅棰嗗*/ @Excel(name = "鍗曚綅棰嗗", width = 15) @ApiModelProperty(value = "鍗曚綅棰嗗") + @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String unitLeader; /**棰嗗鎰忚*/ @Excel(name = "棰嗗鎰忚", width = 15) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml index 9e91f39..b407bb0 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml @@ -96,7 +96,7 @@ tc.total_count AS "total" FROM sys_dict c LEFT JOIN sys_dict_item item ON c.id = item.dict_id - LEFT JOIN eam_equipment_extend t ON t.technology_status = item.item_value COLLATE Chinese_PRC_CI_AS + LEFT JOIN eam_equipment_extend t ON t.technology_status = item.item_value <if test="ids != null and ids != ''"> AND t.id IN <foreach collection="ids" item="id" index="index" open="(" close=")" separator=","> diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamEquipmentQuery.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamEquipmentQuery.java index 7839048..19bdb9b 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamEquipmentQuery.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamEquipmentQuery.java @@ -19,4 +19,5 @@ private String repairDepartOrgCode; private String column; private String order; + private String productionCode; } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java index fb8dd6a..09a764f 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java @@ -91,5 +91,5 @@ * 璁惧绠$悊棣栭〉-鎶�鏈姸鎬� * @return */ - List<EchartsDto> echartsList(); + List<EchartsDto> echartsList(String factoryCode); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamFactorySecondMaintPlanService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamFactorySecondMaintPlanService.java index 8181731..24c2754 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamFactorySecondMaintPlanService.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamFactorySecondMaintPlanService.java @@ -17,7 +17,7 @@ * 璁惧绠$悊棣栭〉-杞﹂棿浜屼繚璁″垝鍒楄〃 * @return */ - public List<EamFactorySecondMaintPlan> queryAllList(); + public List<EamFactorySecondMaintPlan> queryAllList(String productionCode); /** * 鏂板棣栭〉杞﹂棿浜屼繚璁″垝 diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java index c142bf7..2dc37e3 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java @@ -73,7 +73,7 @@ * 璁惧绠$悊棣栭〉-璁惧鎶ヤ慨鏁呴殰鎯呭喌 * @return */ - List<EchartsDto> reportRepairList(); + List<EchartsDto> reportRepairList(String productionCode); /** * 璁惧绠$悊棣栭〉-璁惧鎶ヤ慨鏁呴殰鎯呭喌鍒楄〃 @@ -81,5 +81,5 @@ * @param page * @return */ - IPage<EamReportRepairDto> reportRepairList(String code, Page<EamReportRepairDto> page); + IPage<EamReportRepairDto> reportRepairList(String code,String productionCode,Page<EamReportRepairDto> page); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java index 00ce4ee..0160666 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java @@ -1,6 +1,7 @@ package org.jeecg.modules.eam.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -159,21 +160,37 @@ if (sysUser == null) { return page; } - if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { - //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧 - List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); - queryWrapper.in("e.equipment_code", equipArr); - } else { - //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶� - List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService. - list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId())); - if(!CollectionUtils.isEmpty(baseFactoryUserList)){ - Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); - Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); - queryWrapper.in("e.factory_org_code", factoryCode); - }else { + if (StrUtil.isEmpty(eamEquipment.getProductionCode())){ + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧 + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); + queryWrapper.in("e.equipment_code", equipArr); + } else { + //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶� + List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService. + list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId())); + if(!CollectionUtils.isEmpty(baseFactoryUserList)){ + Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); + Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); + queryWrapper.in("e.factory_org_code", factoryCode); + }else { + return page; + } + } + }else { + //閫氳繃閫夋嫨鐨勮溅闂磋繃婊ゅ搴斾腑蹇� + List<BaseFactory> baseFactoryList = baseFactoryService.list(new LambdaQueryWrapper<BaseFactory>() + .like(BaseFactory::getRemark, eamEquipment.getProductionCode()).eq(BaseFactory::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); + if (CollectionUtils.isEmpty(baseFactoryList)) { return page; } + //缁勮EAM鏁版嵁 + Set<String> factoryCodes= new HashSet<>(); + baseFactoryList.forEach(baseFactory -> { + List<BaseFactory> factoryList=baseFactoryService.queryFactoryByPid(baseFactory.getId()); + factoryCodes.addAll(factoryList.stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet())); + }); + queryWrapper.in("e.factory_org_code", factoryCodes); } //鏌ヨ鏉′欢杩囨护 if (eamEquipment != null) { @@ -436,47 +453,67 @@ * @return */ @Override - public List<EchartsDto> echartsList(){ + public List<EchartsDto> echartsList(String productionCode){ List<EchartsDto> echartsDtoList = new ArrayList<>(); QueryWrapper<EamEquipment> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("e.del_flag", CommonConstant.DEL_FLAG_0); - //鐢ㄦ埛鏁版嵁鏉冮檺 - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if (sysUser == null) { - return echartsDtoList; - } - if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { - //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧 - List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); - queryWrapper.in("e.equipment_code", equipArr); - } else { - //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶� - List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService. - list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId())); - if(!CollectionUtils.isEmpty(baseFactoryUserList)){ - Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); - Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); - queryWrapper.in("e.factory_org_code", factoryCode); - }else { + if (StrUtil.isEmpty(productionCode)) { + //鐢ㄦ埛鏁版嵁鏉冮檺 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { return echartsDtoList; } + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧 + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); + queryWrapper.in("e.equipment_code", equipArr); + } else { + //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶� + List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService. + list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId())); + if(!CollectionUtils.isEmpty(baseFactoryUserList)){ + Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); + Set<String> factoryCodes= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); + queryWrapper.in("e.factory_org_code", factoryCodes); + }else { + return echartsDtoList; + } + } + }else { + //閫氳繃閫夋嫨鐨勮溅闂磋繃婊ゅ搴斾腑蹇� + List<BaseFactory> baseFactoryList = baseFactoryService.list(new LambdaQueryWrapper<BaseFactory>() + .like(BaseFactory::getRemark, productionCode).eq(BaseFactory::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); + if (CollectionUtils.isEmpty(baseFactoryList)) { + return echartsDtoList; + } + //缁勮EAM鏁版嵁 + Set<String> factoryCodes= new HashSet<>(); + baseFactoryList.forEach(baseFactory -> { + List<BaseFactory> factoryList=baseFactoryService.queryFactoryByPid(baseFactory.getId()); + factoryCodes.addAll(factoryList.stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet())); + }); + queryWrapper.in("e.factory_org_code", factoryCodes); } List<String> ids=this.baseMapper.queryList(queryWrapper).stream().map(EamEquipment::getId).collect(Collectors.toList()); + if (ids.isEmpty()) { + return echartsDtoList; + } echartsDtoList= this.baseMapper.echartsList(ids); - // 鐩存帴浣跨敤for寰幆澶勭悊鏁版嵁 - for (EchartsDto dto : echartsDtoList) { - if (dto.getTotal() != null && !"0".equals(dto.getTotal())) { - try { - int value = Integer.parseInt(dto.getValue()); - int total = Integer.parseInt(dto.getTotal()); - double percentage = (value * 100.0) / total; - DecimalFormat df = new DecimalFormat("0.00"); - dto.setPercentage(df.format(percentage) + "%"); - } catch (NumberFormatException e) { + if (!echartsDtoList.isEmpty()) { + for (EchartsDto dto : echartsDtoList) { + if (dto.getTotal() != null && !"0".equals(dto.getTotal())) { + try { + int value = Integer.parseInt(dto.getValue()); + int total = Integer.parseInt(dto.getTotal()); + double percentage = (value * 100.0) / total; + DecimalFormat df = new DecimalFormat("0.00"); + dto.setPercentage(df.format(percentage) + "%"); + } catch (NumberFormatException e) { + dto.setPercentage("0.00%"); + } + } else { dto.setPercentage("0.00%"); } - } else { - dto.setPercentage("0.00%"); } } return echartsDtoList; diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamFactorySecondMaintPlanServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamFactorySecondMaintPlanServiceImpl.java index 1ce36cb..c90a1e2 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamFactorySecondMaintPlanServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamFactorySecondMaintPlanServiceImpl.java @@ -1,7 +1,11 @@ package org.jeecg.modules.eam.service.impl; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.jeecg.common.constant.CommonConstant; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamFactorySecondMaintPlan; import org.jeecg.modules.eam.mapper.EamFactorySecondMaintPlanMapper; @@ -9,6 +13,7 @@ import org.jeecg.modules.eam.service.IEamFactorySecondMaintPlanService; import org.jeecg.modules.system.entity.BaseFactory; import org.jeecg.modules.system.service.IBaseFactoryService; +import org.jeecg.modules.system.service.IMdcProductionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.stereotype.Service; @@ -16,7 +21,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** * @Description: 鈥滈椤佃溅闂翠簩淇濊鍒� @@ -37,8 +46,18 @@ * @return */ @Override - public List<EamFactorySecondMaintPlan> queryAllList(){ -// return this.baseMapper.queryAllList(); + public List<EamFactorySecondMaintPlan> queryAllList(String productionCode){ + if (!StrUtil.isEmpty(productionCode)){ + List<BaseFactory> baseFactoryList = baseFactoryService.list(new LambdaQueryWrapper<BaseFactory>() + .like(BaseFactory::getRemark, productionCode).eq(BaseFactory::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); + if (CollectionUtils.isEmpty(baseFactoryList)) { + return new ArrayList<>(); + } + List<String> factoryNames=baseFactoryList.stream().map(BaseFactory::getFactoryName).collect(Collectors.toList()); + return this.list(new LambdaQueryWrapper<EamFactorySecondMaintPlan>() + .eq(EamFactorySecondMaintPlan::getDelFlag, CommonConstant.DEL_FLAG_0.toString()) + .in(EamFactorySecondMaintPlan::getFactoryName, factoryNames)); + } return this.list(); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java index 0f5f2b3..7caeb9b 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java @@ -359,45 +359,49 @@ } @Override - public List<EchartsDto> reportRepairList() { + public List<EchartsDto> reportRepairList(String productionCode) { List<EchartsDto> echartsDtoList = new ArrayList<>(); - - // 鐢ㄦ埛鏁版嵁鏉冮檺妫�鏌� - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if (sysUser == null) { - return echartsDtoList; // 杩斿洖绌哄垪琛ㄨ�岄潪null - } - QueryWrapper<EamReportRepairDto> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("wmo.del_flag", CommonConstant.DEL_FLAG_0); - - // 璁惧杩囨护閫昏緫 - if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { - List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); - queryWrapper.in("e.equipment_code", equipArr); - } else { - List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService - .list(new LambdaQueryWrapper<BaseFactoryUser>() - .eq(BaseFactoryUser::getUserId, sysUser.getId())); - - if (CollectionUtils.isEmpty(baseFactoryUserList)) { + if (StrUtil.isEmpty(productionCode)) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { return echartsDtoList; // 杩斿洖绌哄垪琛ㄨ�岄潪null } - - Set<String> factoryIds = baseFactoryUserList.stream() - .map(BaseFactoryUser::getFactoryId) - .collect(Collectors.toSet()); - - Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds) - .stream() - .map(BaseFactory::getOrgCode) - .collect(Collectors.toSet()); - + // 璁惧杩囨护閫昏緫 + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); + queryWrapper.in("e.equipment_code", equipArr); + } else { + List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService.list(new LambdaQueryWrapper<BaseFactoryUser>() + .eq(BaseFactoryUser::getUserId, sysUser.getId())); + if (CollectionUtils.isEmpty(baseFactoryUserList)) { + return echartsDtoList; // 杩斿洖绌哄垪琛ㄨ�岄潪null + } + Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); + Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); + queryWrapper.in("e.factory_org_code", factoryCodes); + } + }else { + //閫氳繃閫夋嫨鐨勮溅闂磋繃婊ゅ搴斾腑蹇� + List<BaseFactory> baseFactoryList = baseFactoryService.list(new LambdaQueryWrapper<BaseFactory>() + .like(BaseFactory::getRemark, productionCode).eq(BaseFactory::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); + if (CollectionUtils.isEmpty(baseFactoryList)) { + return echartsDtoList; + } + //缁勮EAM鏁版嵁 + Set<String> factoryCodes= new HashSet<>(); + baseFactoryList.forEach(baseFactory -> { + List<BaseFactory> factoryList=baseFactoryService.queryFactoryByPid(baseFactory.getId()); + factoryCodes.addAll(factoryList.stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet())); + }); queryWrapper.in("e.factory_org_code", factoryCodes); } - // 鑾峰彇鍩虹鏁版嵁 List<EamReportRepairDto> baseList = this.baseMapper.queryList(queryWrapper); + if (baseList == null || baseList.isEmpty()) { + return echartsDtoList; + } int totalCount = baseList.size(); // 鑾峰彇鍋滄満鏁伴噺 @@ -465,39 +469,42 @@ * @return */ @Override - public IPage<EamReportRepairDto> reportRepairList(String code, Page<EamReportRepairDto> page){ + public IPage<EamReportRepairDto> reportRepairList(String code, String productionCode, Page<EamReportRepairDto> page){ IPage<EamReportRepairDto> eamReportRepairDtoIPage=new Page<>(); - // 鐢ㄦ埛鏁版嵁鏉冮檺妫�鏌� - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if (sysUser == null) { - return null; - } - QueryWrapper<EamReportRepairDto> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("wmo.del_flag", CommonConstant.DEL_FLAG_0); - - // 璁惧杩囨护閫昏緫 - if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { - List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); - queryWrapper.in("e.equipment_code", equipArr); - } else { - List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService - .list(new LambdaQueryWrapper<BaseFactoryUser>() - .eq(BaseFactoryUser::getUserId, sysUser.getId())); - - if (CollectionUtils.isEmpty(baseFactoryUserList)) { - return null; + if (StrUtil.isEmpty(productionCode)) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return eamReportRepairDtoIPage; // 杩斿洖绌哄垪琛ㄨ�岄潪null } - - Set<String> factoryIds = baseFactoryUserList.stream() - .map(BaseFactoryUser::getFactoryId) - .collect(Collectors.toSet()); - - Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds) - .stream() - .map(BaseFactory::getOrgCode) - .collect(Collectors.toSet()); - + // 璁惧杩囨护閫昏緫 + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); + queryWrapper.in("e.equipment_code", equipArr); + } else { + List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService.list(new LambdaQueryWrapper<BaseFactoryUser>() + .eq(BaseFactoryUser::getUserId, sysUser.getId())); + if (CollectionUtils.isEmpty(baseFactoryUserList)) { + return eamReportRepairDtoIPage; // 杩斿洖绌哄垪琛ㄨ�岄潪null + } + Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); + Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); + queryWrapper.in("e.factory_org_code", factoryCodes); + } + }else { + //閫氳繃閫夋嫨鐨勮溅闂磋繃婊ゅ搴斾腑蹇� + List<BaseFactory> baseFactoryList = baseFactoryService.list(new LambdaQueryWrapper<BaseFactory>() + .like(BaseFactory::getRemark, productionCode).eq(BaseFactory::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); + if (CollectionUtils.isEmpty(baseFactoryList)) { + return eamReportRepairDtoIPage; + } + //缁勮EAM鏁版嵁 + Set<String> factoryCodes= new HashSet<>(); + baseFactoryList.forEach(baseFactory -> { + List<BaseFactory> factoryList=baseFactoryService.queryFactoryByPid(baseFactory.getId()); + factoryCodes.addAll(factoryList.stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet())); + }); queryWrapper.in("e.factory_org_code", factoryCodes); } queryWrapper.orderByDesc("wmo.create_time"); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamHomeController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamHomeController.java index 86ce43d..dc96784 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamHomeController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamHomeController.java @@ -54,11 +54,11 @@ */ @ApiOperation(value = "璁惧绠$悊棣栭〉-鎶�鏈姸鎬佷笌璁惧鎶ヤ慨鏁呴殰鎯呭喌", notes = "璁惧绠$悊棣栭〉-鎶�鏈姸鎬佷笌璁惧鎶ヤ慨鏁呴殰鎯呭喌") @GetMapping(value = "/techornology") - public Result<?> techOrNology() { + public Result<?> techOrNology(String productionCode) { //鎶�鏈姸鎬� - List<EchartsDto> echartsDtoList=iEamEquipmentService.echartsList(); + List<EchartsDto> echartsDtoList=iEamEquipmentService.echartsList(productionCode); //璁惧鎶ヤ慨鏁呴殰鎯呭喌 - List<EchartsDto> echartsDtoList1=iEamReportRepairService.reportRepairList(); + List<EchartsDto> echartsDtoList1=iEamReportRepairService.reportRepairList(productionCode); Map<String,Object> map=new HashMap<>(); map.put("jszt",echartsDtoList); map.put("bxqk",echartsDtoList1); @@ -72,9 +72,9 @@ */ @ApiOperation(value = "璁惧绠$悊棣栭〉-涓夌骇淇濆吇", notes = "璁惧绠$悊棣栭〉-涓夌骇淇濆吇") @GetMapping(value = "/maintenance") - public Result<?> maintenance() { + public Result<?> maintenance(String productionCode) { //涓夌骇淇濆吇 - List<EchartsDto> echartsDtoList = iEamThirdMaintenanceOrderService.selectList(); + List<EchartsDto> echartsDtoList = iEamThirdMaintenanceOrderService.selectList(productionCode); return Result.ok(echartsDtoList); } @@ -84,8 +84,8 @@ */ @ApiOperation(value = "璁惧绠$悊棣栭〉-浜屼繚鍒楄〃", notes = "璁惧绠$悊棣栭〉-浜屼繚鍒楄〃") @GetMapping(value = "/secondmaintenance") - public Result<?> secondmaintenance() { - List<EamFactorySecondMaintPlan> echartsDtoList = iEamFactorySecondMaintPlanService.queryAllList(); + public Result<?> secondmaintenance(String productionCode) { + List<EamFactorySecondMaintPlan> echartsDtoList = iEamFactorySecondMaintPlanService.queryAllList(productionCode); return Result.ok(echartsDtoList); } @@ -100,9 +100,10 @@ @GetMapping(value = "/repairList") public Result<?> repair(@RequestParam(name = "code", required = false) String code, @RequestParam(name = "pageNo", required = false, defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", required = false, defaultValue = "10") Integer pageSize) { + @RequestParam(name = "pageSize", required = false, defaultValue = "10") Integer pageSize, + String productionCode) { Page<EamReportRepairDto> page = new Page<>(pageNo, pageSize); - IPage<EamReportRepairDto> iPage = iEamReportRepairService.reportRepairList(code,page); + IPage<EamReportRepairDto> iPage = iEamReportRepairService.reportRepairList(code,productionCode,page); return Result.ok(iPage); } @@ -117,9 +118,10 @@ @GetMapping(value = "/maintenanceList") public Result<?> maintenanceList(@RequestParam(name = "code", required = false) String code, @RequestParam(name = "pageNo", required = false, defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", required = false, defaultValue = "10") Integer pageSize) { + @RequestParam(name = "pageSize", required = false, defaultValue = "10") Integer pageSize, + String productionCode) { Page<EamThirdMaintenanceOrder> page = new Page<>(pageNo, pageSize); - IPage<EamThirdMaintenanceOrder> iPage = iEamThirdMaintenanceOrderService.maintenanceList(code, page); + IPage<EamThirdMaintenanceOrder> iPage = iEamThirdMaintenanceOrderService.maintenanceList(code,productionCode,page); return Result.ok(iPage); } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java index ed14085..c23b645 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java @@ -108,7 +108,7 @@ * 璁惧绠$悊棣栭〉-涓変繚璁″垝 * @return */ - List<EchartsDto> selectList(); + List<EchartsDto> selectList(String productionCode); /** * 璁惧绠$悊棣栭〉-涓変繚璁″垝鍒楄〃 @@ -116,5 +116,5 @@ * @param page * @return */ - IPage<EamThirdMaintenanceOrder> maintenanceList(String code, Page<EamThirdMaintenanceOrder> page); + IPage<EamThirdMaintenanceOrder> maintenanceList(String code,String productionCode, Page<EamThirdMaintenanceOrder> page); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java index 97133c1..682dfd7 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java @@ -707,39 +707,41 @@ * @return * */ @Override - public List<EchartsDto> selectList() { + public List<EchartsDto> selectList(String productionCode) { List<EchartsDto> echartsDtos = new ArrayList<>(); - - // 鐢ㄦ埛鏁版嵁鏉冮檺妫�鏌� - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if (sysUser == null) { - return echartsDtos; // 杩斿洖绌哄垪琛ㄨ�岄潪null - } - QueryWrapper<EamThirdMaintenanceOrder> queryWrapper = new QueryWrapper<>(); - - // 璁惧杩囨护閫昏緫 - if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { - List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); - queryWrapper.in("e.equipment_code", equipArr); - } else { - List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService - .list(new LambdaQueryWrapper<BaseFactoryUser>() - .eq(BaseFactoryUser::getUserId, sysUser.getId())); - - if (CollectionUtils.isEmpty(baseFactoryUserList)) { + if (StrUtil.isEmpty(productionCode)) { + // 鐢ㄦ埛鏁版嵁鏉冮檺妫�鏌� + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { return echartsDtos; // 杩斿洖绌哄垪琛ㄨ�岄潪null } - - Set<String> factoryIds = baseFactoryUserList.stream() - .map(BaseFactoryUser::getFactoryId) - .collect(Collectors.toSet()); - - Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds) - .stream() - .map(BaseFactory::getOrgCode) - .collect(Collectors.toSet()); - + // 璁惧杩囨护閫昏緫 + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); + queryWrapper.in("e.equipment_code", equipArr); + } else { + List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService.list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId, sysUser.getId())); + if (CollectionUtils.isEmpty(baseFactoryUserList)) { + return echartsDtos; // 杩斿洖绌哄垪琛ㄨ�岄潪null + } + Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); + Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); + queryWrapper.in("e.factory_org_code", factoryCodes); + } + }else { + //閫氳繃閫夋嫨鐨勮溅闂磋繃婊ゅ搴斾腑蹇� + List<BaseFactory> baseFactoryList = baseFactoryService.list(new LambdaQueryWrapper<BaseFactory>() + .like(BaseFactory::getRemark, productionCode).eq(BaseFactory::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); + if (CollectionUtils.isEmpty(baseFactoryList)) { + return echartsDtos; + } + //缁勮EAM鏁版嵁 + Set<String> factoryCodes= new HashSet<>(); + baseFactoryList.forEach(baseFactory -> { + List<BaseFactory> factoryList=baseFactoryService.queryFactoryByPid(baseFactory.getId()); + factoryCodes.addAll(factoryList.stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet())); + }); queryWrapper.in("e.factory_org_code", factoryCodes); } @@ -813,38 +815,41 @@ * @return */ @Override - public IPage<EamThirdMaintenanceOrder> maintenanceList(String code, Page<EamThirdMaintenanceOrder> page){ + public IPage<EamThirdMaintenanceOrder> maintenanceList(String code,String productionCode, Page<EamThirdMaintenanceOrder> page){ IPage<EamThirdMaintenanceOrder> eamThirdMaintenanceOrderIPage=new Page<>(); - // 鐢ㄦ埛鏁版嵁鏉冮檺妫�鏌� - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if (sysUser == null) { - return null; - } - QueryWrapper<EamThirdMaintenanceOrder> queryWrapper = new QueryWrapper<>(); - - // 璁惧杩囨护閫昏緫 - if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { - List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); - queryWrapper.in("e.equipment_code", equipArr); - } else { - List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService - .list(new LambdaQueryWrapper<BaseFactoryUser>() - .eq(BaseFactoryUser::getUserId, sysUser.getId())); - - if (CollectionUtils.isEmpty(baseFactoryUserList)) { - return null; + if (StrUtil.isEmpty(productionCode)) { + // 鐢ㄦ埛鏁版嵁鏉冮檺妫�鏌� + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return eamThirdMaintenanceOrderIPage; // 杩斿洖绌哄垪琛ㄨ�岄潪null } - - Set<String> factoryIds = baseFactoryUserList.stream() - .map(BaseFactoryUser::getFactoryId) - .collect(Collectors.toSet()); - - Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds) - .stream() - .map(BaseFactory::getOrgCode) - .collect(Collectors.toSet()); - + // 璁惧杩囨护閫昏緫 + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); + queryWrapper.in("e.equipment_code", equipArr); + } else { + List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService.list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId, sysUser.getId())); + if (CollectionUtils.isEmpty(baseFactoryUserList)) { + return eamThirdMaintenanceOrderIPage; // 杩斿洖绌哄垪琛ㄨ�岄潪null + } + Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); + Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); + queryWrapper.in("e.factory_org_code", factoryCodes); + } + }else { + //閫氳繃閫夋嫨鐨勮溅闂磋繃婊ゅ搴斾腑蹇� + List<BaseFactory> baseFactoryList = baseFactoryService.list(new LambdaQueryWrapper<BaseFactory>() + .like(BaseFactory::getRemark, productionCode).eq(BaseFactory::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); + if (CollectionUtils.isEmpty(baseFactoryList)) { + return eamThirdMaintenanceOrderIPage; + } + //缁勮EAM鏁版嵁 + Set<String> factoryCodes= new HashSet<>(); + baseFactoryList.forEach(baseFactory -> { + List<BaseFactory> factoryList=baseFactoryService.queryFactoryByPid(baseFactory.getId()); + factoryCodes.addAll(factoryList.stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet())); + }); queryWrapper.in("e.factory_org_code", factoryCodes); } queryWrapper.orderByDesc("wmo.create_time"); diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/BaseFactoryMapper.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/BaseFactoryMapper.java index 8a03705..8992b73 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/BaseFactoryMapper.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/BaseFactoryMapper.java @@ -1,7 +1,10 @@ package org.jeecg.modules.system.mapper; +import org.apache.ibatis.annotations.Param; import org.jeecg.modules.system.entity.BaseFactory; import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; /** * @Description: 璁惧杞﹂棿绠$悊 @@ -11,4 +14,9 @@ */ public interface BaseFactoryMapper extends BaseMapper<BaseFactory> { + /** + * 閫掑綊鏌ヨ鎵�鏈夊瓙鑺傜偣 + */ + List<String> queryFactoryByPid(@Param("pid") String pid); + } diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/BaseFactoryMapper.xml b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/BaseFactoryMapper.xml index efd1ef5..901cd08 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/BaseFactoryMapper.xml +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/BaseFactoryMapper.xml @@ -2,4 +2,17 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.system.mapper.BaseFactoryMapper"> + <select id="queryFactoryByPid" resultType="java.lang.String"> + WITH temp (id) AS ( + SELECT id + FROM eam_base_factory + WHERE id = #{pid} + UNION ALL + SELECT a.id + FROM eam_base_factory a + INNER JOIN temp + ON a.parent_id = temp.id COLLATE Chinese_PRC_CI_AS -- 缁熶竴涓哄師琛ㄧ殑瑙勫垯 + ) + SELECT * FROM temp + </select> </mapper> diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryService.java index 6e7dde8..f3c9605 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryService.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/IBaseFactoryService.java @@ -81,4 +81,9 @@ * @return */ List<String> queryFactoryIdsByOrgCode(String orgCode); + + /** + * 閫掑綊鏌ヨ鎵�鏈夊瓙鑺傜偣id + */ + List<BaseFactory> queryFactoryByPid(String pid); } diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java index 663bd4a..cb0a081 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java @@ -350,4 +350,16 @@ } return new ArrayList<>(collect); } + + /** + * 閫掑綊鏌ヨ鎵�鏈夊瓙鑺傜偣id + */ + @Override + public List<BaseFactory> queryFactoryByPid(String pid){ + List<String> ids=this.baseMapper.queryFactoryByPid(pid); + if (CollectionUtil.isEmpty(ids)){ + return Collections.emptyList(); + } + return this.baseMapper.selectBatchIds(ids); + } } -- Gitblit v1.9.3