| | |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.modules.dnc.constant.DocAttributionTypeEnum; |
| | | import org.jeecg.modules.dnc.dto.ComponentExt; |
| | | import org.jeecg.modules.dnc.entity.*; |
| | | import org.jeecg.modules.dnc.exception.ExceptionCast; |
| | |
| | | @Autowired |
| | | private IProcessStreamService processStreamService; |
| | | @Autowired |
| | | private IWorkStepService workStepService; |
| | | @Autowired |
| | | private IProductMixService productMixService; |
| | | @Autowired |
| | | private IDocRelativeService iDocRelativeService; |
| | |
| | | if(en == null) { |
| | | ExceptionCast.cast(ComponentInfoCode.COMPONENT_PARENT_NOT_EXIST); |
| | | } |
| | | oldPermissionList = permissionStreamNewService.loadPermissionStreamNewByBusinessId(en.getComponentId(),"2","1"); |
| | | oldPermissionList = permissionStreamNewService.loadPermissionStreamNewByBusinessId(en.getComponentId(),DocAttributionTypeEnum.COMPONENT.getCode().toString(),"1"); |
| | | componentInfo.setRankLevel(en.getRankLevel() + 1); |
| | | } else { |
| | | oldPermissionList = permissionStreamNewService.loadPermissionStreamNewByBusinessId(productInfo.getProductId(),"1","1"); |
| | | oldPermissionList = permissionStreamNewService.loadPermissionStreamNewByBusinessId(productInfo.getProductId(),DocAttributionTypeEnum.PRODUCT.getCode().toString(),"1"); |
| | | componentInfo.setParentId(null); |
| | | componentInfo.setRankLevel(1); |
| | | } |
| | |
| | | PermissionStreamNew permissionStream = new PermissionStreamNew(); |
| | | permissionStream.setBusinessId(componentInfo.getComponentId()); |
| | | permissionStream.setDepartId(item.getDepartId()); |
| | | permissionStream.setBusinessType("2"); |
| | | permissionStream.setBusinessType(DocAttributionTypeEnum.COMPONENT.getCode().toString()); |
| | | componentDepartPermList.add(permissionStream); |
| | | }); |
| | | } |
| | |
| | | if(!b) |
| | | ExceptionCast.cast(CommonCode.FAIL); |
| | | } |
| | | b = productPermissionService.add(componentInfo.getComponentId(), userId,"2"); |
| | | b = productPermissionService.add(componentInfo.getComponentId(), userId,DocAttributionTypeEnum.COMPONENT.getCode().toString()); |
| | | if (!b) { |
| | | ExceptionCast.cast(ProductInfoCode.PRODUCT_SAVE_ERROR); |
| | | } |
| | |
| | | if (StrUtil.isNotEmpty(componentInfo.getBorrowId())){ |
| | | //借用部件,同步添加文件 |
| | | List<DocRelative> docRelativeList=docRelativeService. |
| | | list(new QueryWrapper<DocRelative>().eq("attribution_type","2").eq("attribution_id",componentInfo.getBorrowId())); |
| | | list(new QueryWrapper<DocRelative>().eq("attribution_type",DocAttributionTypeEnum.COMPONENT.getCode().toString()).eq("attribution_id",componentInfo.getBorrowId())); |
| | | if (!docRelativeList.isEmpty()){ |
| | | docRelativeList.forEach(item -> { |
| | | DocRelative docRelative = new DocRelative(); |
| | |
| | | PermissionStreamNew stream = new PermissionStreamNew(); |
| | | stream.setUserId(userId); |
| | | stream.setBusinessId(componentInfo.getComponentId()); |
| | | stream.setBusinessType("2"); |
| | | stream.setBusinessType(DocAttributionTypeEnum.COMPONENT.getCode().toString()); |
| | | return permissionStreamNewService.addPermissionStreamNew(stream); |
| | | } |
| | | |
| | |
| | | boolean b = super.updateById(componentInfo); |
| | | //同步修改结构树 |
| | | ProductMix productMix = productMixService.getById(Long.parseLong(id)); |
| | | productMix.setName(componentInfo.getComponentName()); |
| | | productMix.setCode(componentInfo.getComponentCode()); |
| | | productMix.setTreeName(componentInfo.getComponentName()); |
| | | productMix.setTreeCode(componentInfo.getComponentCode()); |
| | | productMixService.updateById(productMix); |
| | | if(!b) |
| | | return false; |
| | |
| | | if(!b) |
| | | return false; |
| | | } |
| | | PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(id, userId,"2"); |
| | | PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(id, userId,DocAttributionTypeEnum.COMPONENT.getCode().toString()); |
| | | if(stream == null) { |
| | | stream = new PermissionStreamNew(); |
| | | stream.setUserId(userId); |
| | | stream.setBusinessId(id); |
| | | stream.setBusinessType("2"); |
| | | stream.setBusinessType(DocAttributionTypeEnum.COMPONENT.getCode().toString()); |
| | | return permissionStreamNewService.save(stream); |
| | | } |
| | | List<ComponentInfo> list = super.lambdaQuery().eq(ComponentInfo::getBorrowId,id).list(); |
| | |
| | | b = componentDepartmentService.deleteByComponentId(item.getComponentId()); |
| | | if(!b) |
| | | ExceptionCast.cast(ComponentInfoCode.COMPONENT_DELETE_PERM_NONE); |
| | | b = permissionStreamNewService.deletePermissionStreamNewByBusinessId(item.getComponentId(),"2","0"); |
| | | b = permissionStreamNewService.deletePermissionStreamNewByBusinessId(item.getComponentId(),DocAttributionTypeEnum.COMPONENT.getCode().toString(),"0"); |
| | | if(!b) |
| | | ExceptionCast.cast(ComponentInfoCode.COMPONENT_DELETE_PERM_NONE); |
| | | b = permissionStreamNewService.deletePermissionStreamNewByBusinessId(item.getComponentId(),"2","1"); |
| | | b = permissionStreamNewService.deletePermissionStreamNewByBusinessId(item.getComponentId(),DocAttributionTypeEnum.COMPONENT.getCode().toString(),"1"); |
| | | if(!b) |
| | | ExceptionCast.cast(ComponentInfoCode.COMPONENT_DELETE_PERM_NONE); |
| | | b = super.removeById(item.getComponentId()); |
| | |
| | | } |
| | | boolean b; |
| | | //验证是否存在文档 |
| | | List<DocRelative> docRelativeList=iDocRelativeService.list(new QueryWrapper<DocRelative>().eq("attribution_type","2").eq("attribution_id",id)); |
| | | List<DocRelative> docRelativeList=iDocRelativeService.list(new QueryWrapper<DocRelative>().eq("attribution_type",DocAttributionTypeEnum.COMPONENT.getCode().toString()).eq("attribution_id",id)); |
| | | if (!docRelativeList.isEmpty()){ |
| | | ExceptionCast.cast(ComponentInfoCode.COMPONENT_DOC_EXIST); |
| | | } |
| | |
| | | b = componentDepartmentService.deleteByComponentId(id); |
| | | if(!b) |
| | | ExceptionCast.cast(CommonCode.FAIL); |
| | | b = permissionStreamNewService.deletePermissionStreamNewByBusinessId(componentInfo.getComponentId(),"2","0"); |
| | | b = permissionStreamNewService.deletePermissionStreamNewByBusinessId(componentInfo.getComponentId(),DocAttributionTypeEnum.COMPONENT.getCode().toString(),"0"); |
| | | if(!b) |
| | | ExceptionCast.cast(CommonCode.FAIL); |
| | | b = permissionStreamNewService.deletePermissionStreamNewByBusinessId(componentInfo.getComponentId(),"2","1"); |
| | | b = permissionStreamNewService.deletePermissionStreamNewByBusinessId(componentInfo.getComponentId(),DocAttributionTypeEnum.COMPONENT.getCode().toString(),"1"); |
| | | if(!b) |
| | | ExceptionCast.cast(CommonCode.FAIL); |
| | | b = productMixService.removeById(id); |
| | |
| | | stream = new PermissionStreamNew(); |
| | | stream.setUserId(item.getId()); |
| | | stream.setBusinessId(componentInfo.getComponentId()); |
| | | stream.setBusinessType("2"); |
| | | stream.setBusinessType(DocAttributionTypeEnum.COMPONENT.getCode().toString()); |
| | | permissionStreamList.add(stream); |
| | | } |
| | | }); |
| | |
| | | en.setComponentId(componentInfo.getComponentId()); |
| | | componentDepartments.add(en); |
| | | } |
| | | PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndDepartId(componentInfo.getComponentId(), item.getId(),"2"); |
| | | PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndDepartId(componentInfo.getComponentId(), item.getId(),DocAttributionTypeEnum.COMPONENT.getCode().toString()); |
| | | if(stream == null) { |
| | | stream = new PermissionStreamNew(); |
| | | stream.setDepartId(item.getId()); |
| | | stream.setBusinessId(componentInfo.getComponentId()); |
| | | stream.setBusinessType("2"); |
| | | stream.setBusinessType(DocAttributionTypeEnum.COMPONENT.getCode().toString()); |
| | | permissionStreamList.add(stream); |
| | | } |
| | | }); |
| | |
| | | if(en != null) { |
| | | componentDepartments.add(en); |
| | | } |
| | | PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndDepartId(componentInfo.getComponentId(), item.getId(),"2"); |
| | | PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndDepartId(componentInfo.getComponentId(), item.getId(),DocAttributionTypeEnum.COMPONENT.getCode().toString()); |
| | | if(stream != null) { |
| | | permissionStreamList.add(stream); |
| | | } |
| | |
| | | List<String> id =new ArrayList<>(); |
| | | id.add(treeInfoRequest.getAttributionId()); |
| | | treeInfoRequest.setComponentIds(id); |
| | | //零件 |
| | | List<DocInfo> partsInfos = partsInfoService.getByPartsInfo(treeInfoRequest); |
| | | docInfos.addAll(partsInfos); |
| | | //工艺规程版本 |
| | | List<DocInfo> processSpecVersions = processSpecVersionService.getByProcessSpecVersion(treeInfoRequest); |
| | | docInfos.addAll(processSpecVersions); |
| | | //工序 |
| | | List<DocInfo> processStreams = processStreamService.getByProcessStreamOtherFile(treeInfoRequest); |
| | | docInfos.addAll(processStreams); |
| | | //工步 |
| | | List<DocInfo> workSteps = workStepService.getByWorkStepOtherFile(treeInfoRequest); |
| | | docInfos.addAll(workSteps); |
| | | } |
| | | return docInfos; |
| | | } |
| | |
| | | if (productIds != null && !productIds.isEmpty()) { |
| | | List<String> productIdList = Arrays.asList(productIds.split(",")); |
| | | List<ProductMix> productMixList = permissionStreamNewService. |
| | | loadProductMixByBusinessIdAndBusinessType(loginUser.getId(),productIdList,componentInfo.getComponentId(),"2"); |
| | | loadProductMixByBusinessIdAndBusinessType(loginUser.getId(),productIdList,componentInfo.getComponentId(),DocAttributionTypeEnum.COMPONENT.getCode().toString()); |
| | | List<Long> ids = productMixList.stream().map(ProductMix::getId).collect(Collectors.toList()); |
| | | //获取已经自身被借用的部件 |
| | | LambdaQueryWrapper<ComponentInfo> borrowQueryWrapper = new LambdaQueryWrapper<>(); |
| | | borrowQueryWrapper.in(ComponentInfo::getBorrowId,ids); |
| | | if (!ids.isEmpty()){ |
| | | borrowQueryWrapper.in(ComponentInfo::getBorrowId,ids); |
| | | } |
| | | borrowQueryWrapper.eq(ComponentInfo::getParentId,componentInfo.getComponentId()); |
| | | List<String> borrowIds= super.list(borrowQueryWrapper).stream().map(ComponentInfo::getBorrowId).collect(Collectors.toList()); |
| | | LambdaQueryWrapper<ComponentInfo> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.like(StrUtil.isNotEmpty(componentInfo.getComponentName()),ComponentInfo::getComponentName, componentInfo.getComponentName()); |
| | | queryWrapper.like(StrUtil.isNotEmpty(componentInfo.getComponentCode()),ComponentInfo::getComponentCode, componentInfo.getComponentCode()); |
| | | queryWrapper.isNull(ComponentInfo::getBorrowId); |
| | | queryWrapper.in(ComponentInfo::getComponentId,ids); |
| | | if (!ids.isEmpty()){ |
| | | queryWrapper.in(ComponentInfo::getComponentId,ids); |
| | | } |
| | | queryWrapper.ne(StrUtil.isNotEmpty(oldComponentInfo.getBorrowId()),ComponentInfo::getComponentId,oldComponentInfo.getBorrowId()); |
| | | if (!borrowIds.isEmpty()) { |
| | | queryWrapper.notIn(ComponentInfo::getComponentId,borrowIds); |
| | |
| | | List<String> productIdList = Arrays.asList(loginUser.getProductionIds().split(",")); |
| | | //获取可以借用的部件 |
| | | List<ProductMix> productMixList = permissionStreamNewService. |
| | | loadProductMixByBusinessIdAndBusinessType(loginUser.getId(),productIdList,componentInfo.getComponentId(),"2"); |
| | | loadProductMixByBusinessIdAndBusinessType(loginUser.getId(),productIdList,componentInfo.getComponentId(),DocAttributionTypeEnum.COMPONENT.getCode().toString()); |
| | | Set<Long> allowedIds = productMixList.stream() |
| | | .map(ProductMix::getId) |
| | | .collect(Collectors.toCollection(HashSet::new)); |
| | |
| | | }); |
| | | return Result.ok("部件借用成功"); |
| | | } |
| | | |
| | | @Override |
| | | public boolean assignPermission(Object entity, Collection<SysUser> userList, boolean isAdd){ |
| | | if (isAdd) { |
| | | return assignAddUser((ComponentInfo) entity, userList); |
| | | } else { |
| | | return assignRemoveUser((ComponentInfo) entity, userList); |
| | | } |
| | | } |
| | | @Override |
| | | public boolean assignDepartPermission(Object entity, Collection<MdcProduction> departments, boolean isAdd) { |
| | | if (isAdd) { |
| | | return assignAddDepart((ComponentInfo) entity, departments); |
| | | } else { |
| | | return assignRemoveDepart((ComponentInfo) entity, departments); |
| | | } |
| | | } |
| | | } |