| | |
| | | @Resource |
| | | private MdcEquipmentDepartMapper mdcEquipmentDepartMapper; |
| | | @Resource |
| | | private MdcProductionEquipmentMapper mdcProductionEquipmentMapper; |
| | | @Resource |
| | | private ISysUserDepartService sysUserDepartService; |
| | | @Resource |
| | | private IMdcUserProductionService mdcUserProductionService; |
| | | @Resource |
| | | private ISysDepartService sysDepartService; |
| | | @Resource |
| | | private IMdcProductionService mdcProductionService; |
| | | @Resource |
| | | private IEquipmentWorkLineService equipmentWorkLineService; |
| | | @Resource |
| | |
| | | mdcEquipmentDepartMapper.delete(new LambdaQueryWrapper<MdcEquipmentDepart>().eq(MdcEquipmentDepart::getDepId, departId).in(MdcEquipmentDepart::getEquipmentId, equipmentIdList)); |
| | | } |
| | | |
| | | @Override |
| | | public void removeEquipmentForProduction(String productionId, String equipmentId) { |
| | | mdcProductionEquipmentMapper.delete(new LambdaQueryWrapper<MdcProductionEquipment>().eq(MdcProductionEquipment::getProductionId, productionId).eq(MdcProductionEquipment::getEquipmentId, equipmentId)); |
| | | } |
| | | // @Override |
| | | // public void removeEquipmentForProduction(String productionId, String equipmentId) { |
| | | // mdcProductionEquipmentMapper.delete(new LambdaQueryWrapper<MdcProductionEquipment>().eq(MdcProductionEquipment::getProductionId, productionId).eq(MdcProductionEquipment::getEquipmentId, equipmentId)); |
| | | // } |
| | | |
| | | @Override |
| | | public void removeEquipmentsForProduction(String productionId, List<String> equipmentIdList) { |
| | | mdcProductionEquipmentMapper.delete(new LambdaQueryWrapper<MdcProductionEquipment>().eq(MdcProductionEquipment::getProductionId, productionId).in(MdcProductionEquipment::getEquipmentId, equipmentIdList)); |
| | | } |
| | | // @Override |
| | | // public void removeEquipmentsForProduction(String productionId, List<String> equipmentIdList) { |
| | | // mdcProductionEquipmentMapper.delete(new LambdaQueryWrapper<MdcProductionEquipment>().eq(MdcProductionEquipment::getProductionId, productionId).in(MdcProductionEquipment::getEquipmentId, equipmentIdList)); |
| | | // } |
| | | |
| | | @Override |
| | | public List<MdcEquipmentTree> loadTreeListByDepart(String userId) { |
| | |
| | | return this.baseMapper.selectPage(page, queryWrapper); |
| | | } |
| | | |
| | | /** |
| | | * 根据父级id递归查询所有下级id集合 |
| | | */ |
| | | private List<String> findAllProductions(String key) { |
| | | List<String> productions = new ArrayList<>(); |
| | | List<MdcProduction> mdcProductions = mdcProductionService.queryProdByPid(key); |
| | | if (mdcProductions != null && !mdcProductions.isEmpty()) { |
| | | List<String> ids = mdcProductions.stream().map(MdcProduction::getId).collect(Collectors.toList()); |
| | | productions.addAll(ids); |
| | | for (MdcProduction mdcProduction : mdcProductions) { |
| | | List<String> allProductions = findAllProductions(mdcProduction.getId()); |
| | | productions.addAll(allProductions); |
| | | } |
| | | } |
| | | return productions; |
| | | } |
| | | // /** |
| | | // * 根据父级id递归查询所有下级id集合 |
| | | // */ |
| | | // private List<String> findAllProductions(String key) { |
| | | // List<String> productions = new ArrayList<>(); |
| | | // List<MdcProduction> mdcProductions = mdcProductionService.queryProdByPid(key); |
| | | // if (mdcProductions != null && !mdcProductions.isEmpty()) { |
| | | // List<String> ids = mdcProductions.stream().map(MdcProduction::getId).collect(Collectors.toList()); |
| | | // productions.addAll(ids); |
| | | // for (MdcProduction mdcProduction : mdcProductions) { |
| | | // List<String> allProductions = findAllProductions(mdcProduction.getId()); |
| | | // productions.addAll(allProductions); |
| | | // } |
| | | // } |
| | | // return productions; |
| | | // } |
| | | |
| | | /** |
| | | * 产线设备树填充设备数据 |
| | |
| | | public IPage<MdcEquipment> pageList(Page<MdcEquipment> page, MdcEquipmentVo mdcEquipment, HttpServletRequest req) { |
| | | if (StringUtils.isNotBlank(mdcEquipment.getProductionName())) { |
| | | // 递归查询所有子节点 |
| | | List<String> productionIds = mdcProductionService.recursionChildren(mdcEquipment.getProductionName()); |
| | | List<String> productionIds = factoryService.recursionChildren(mdcEquipment.getProductionName()); |
| | | mdcEquipment.setProductionIds(productionIds); |
| | | } |
| | | return this.baseMapper.pageList(page, mdcEquipment); |
| | |
| | | public List<MdcEquipment> exportXlsList(MdcEquipmentVo mdcEquipment) { |
| | | if (StringUtils.isNotBlank(mdcEquipment.getProductionName())) { |
| | | // 递归查询所有子节点 |
| | | List<String> productionIds = mdcProductionService.recursionChildren(mdcEquipment.getProductionName()); |
| | | List<String> productionIds = factoryService.recursionChildren(mdcEquipment.getProductionName()); |
| | | mdcEquipment.setProductionIds(productionIds); |
| | | } |
| | | return this.baseMapper.exportXlsList(mdcEquipment); |
| | | } |
| | | |
| | | /** |
| | | * 通过车间ids获取设备树 |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MdcEquipmentTree> loadTreeListByProductionIds(String ids) { |
| | | List<String> productionIds = Arrays.asList(ids.split(",")); |
| | | //获取所有产线数据 |
| | | List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(MdcProduction::getProductionOrder)); |
| | | List<String> allProductionIds = new ArrayList<>(); |
| | | //找到所有产线id的上级id |
| | | if (!productionIds.isEmpty()) { |
| | | for (String productionId : productionIds) { |
| | | this.getAllProductionIds(productionList, productionId, allProductionIds); |
| | | } |
| | | } |
| | | //过滤产线数据 |
| | | List<MdcProduction> list = productionList.stream().filter((MdcProduction mdcProduction) -> allProductionIds.contains(mdcProduction.getId())).collect(Collectors.toList()); |
| | | //组装产线设备树 |
| | | List<MdcEquipmentTree> treeList = FindsEquipmentProductionUtil.wrapEquipmentProductionTreeList(list); |
| | | //填充设备数据 |
| | | FillEquipmentByProduction(treeList); |
| | | return treeList; |
| | | } |
| | | // /** |
| | | // * 通过车间ids获取设备树 |
| | | // * |
| | | // * @param ids |
| | | // * @return |
| | | // */ |
| | | // @Override |
| | | // public List<MdcEquipmentTree> loadTreeListByProductionIds(String ids) { |
| | | // List<String> productionIds = Arrays.asList(ids.split(",")); |
| | | // //获取所有产线数据 |
| | | // List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(MdcProduction::getProductionOrder)); |
| | | // List<String> allProductionIds = new ArrayList<>(); |
| | | // //找到所有产线id的上级id |
| | | // if (!productionIds.isEmpty()) { |
| | | // for (String productionId : productionIds) { |
| | | // this.getAllProductionIds(productionList, productionId, allProductionIds); |
| | | // } |
| | | // } |
| | | // //过滤产线数据 |
| | | // List<MdcProduction> list = productionList.stream().filter((MdcProduction mdcProduction) -> allProductionIds.contains(mdcProduction.getId())).collect(Collectors.toList()); |
| | | // //组装产线设备树 |
| | | // List<MdcEquipmentTree> treeList = FindsEquipmentProductionUtil.wrapEquipmentProductionTreeList(list); |
| | | // //填充设备数据 |
| | | // FillEquipmentByProduction(treeList); |
| | | // return treeList; |
| | | // } |
| | | |
| | | /** |
| | | * 查询单表数据 |
| | |
| | | return this.baseMapper.selectList(new LambdaQueryWrapper<MdcEquipment>().in(MdcEquipment::getEquipmentId, Arrays.asList(user.getEquipmentIds().split(StringPool.COMMA)))); |
| | | } |
| | | //获取所有产线数据 |
| | | List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(MdcProduction::getProductionOrder)); |
| | | List<Factory> factoryList = factoryService.list(new LambdaQueryWrapper<Factory>().eq(Factory::getDelFlag, CommonConstant.DEL_FLAG_0.toString()).orderByAsc(Factory::getSorter)); |
| | | //根据用户id获取拥有的产线信息集合 |
| | | List<String> productionIds = mdcUserProductionService.queryProductionIdsByUserId(userId); |
| | | List<String> allProductionIds = new ArrayList<>(); |
| | | List<String> factoryIds = userFactoryService.queryFactoryIdsByUserId(userId); |
| | | List<String> allFactoryIds = new ArrayList<>(); |
| | | //找到所有产线id的上级id |
| | | if (productionIds != null && !productionIds.isEmpty()) { |
| | | for (String productionId : productionIds) { |
| | | this.getAllProductionIds(productionList, productionId, allProductionIds); |
| | | if (factoryIds != null && !factoryIds.isEmpty()) { |
| | | for (String factoryId : factoryIds) { |
| | | this.getAllFactoryIds(factoryList, factoryId, allFactoryIds); |
| | | } |
| | | } |
| | | //根据产线集合查找所有设备id |
| | | if (allProductionIds.isEmpty()) { |
| | | if (allFactoryIds.isEmpty()) { |
| | | return null; |
| | | } |
| | | List<MdcEquipment> equipmentIds = this.baseMapper.getEquipmentList(allProductionIds); |
| | | List<MdcEquipment> equipmentIds = this.baseMapper.getEquipmentList(allFactoryIds); |
| | | return equipmentIds; |
| | | } |
| | | |