From c6eb2d4ecd99bee148892abfbdca3e42f3dd6084 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期三, 07 五月 2025 18:08:07 +0800
Subject: [PATCH] 工具管理-仓库管理功能
---
lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java | 901 +++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 632 insertions(+), 269 deletions(-)
diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java
index f2fe6e9..d289e58 100644
--- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java
@@ -1,31 +1,36 @@
package org.jeecg.modules.dnc.service.impl;
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
-import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.dnc.dto.ComponentExt;
+import org.jeecg.modules.dnc.entity.*;
import org.jeecg.modules.dnc.exception.ExceptionCast;
import org.jeecg.modules.dnc.mapper.ProductInfoMapper;
+import org.jeecg.modules.dnc.request.DocInfoQueryRequest;
+import org.jeecg.modules.dnc.request.TreeInfoRequest;
import org.jeecg.modules.dnc.response.*;
import org.jeecg.modules.dnc.service.*;
import org.jeecg.modules.dnc.service.support.ProductTreeWrapper;
import org.jeecg.modules.dnc.ucenter.UserDepartExt;
import org.jeecg.modules.dnc.utils.ValidateUtil;
-import org.jeecg.modules.dnc.entity.*;
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 lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+
import java.util.*;
import java.util.stream.Collectors;
@@ -39,11 +44,13 @@
@Lazy
private IPartsInfoService partsInfoService;
@Autowired
+ private IProcessSpecVersionService processSpecVersionService;
+ @Autowired
private IProductPermissionService productPermissionService;
@Autowired
private IProductDepartmentService productDepartmentService;
@Autowired
- private IPermissionStreamService permissionStreamService;
+ private IPermissionStreamNewService permissionStreamNewService;
@Autowired
private IComponentDepartmentService componentDepartmentService;
@Autowired
@@ -53,14 +60,16 @@
@Autowired
private IPartsPermissionService partsPermissionService;
@Autowired
+ private IProcessSpecVersionPermissionService processSpecVersionPermissionService;
+ @Autowired
+ private IProcessSpecVersionDepartmentService processSpecVersionDepartmentService;
+ @Autowired
private ISysUserService userService;
@Autowired
@Lazy
private IProcessStreamService processStreamService;
@Autowired
private IWorkStepService workStepService;
- @Autowired
- private INcLogInfoService iNcLogInfoService;
@Autowired
private IWorkStepDepartmentService workStepDepartmentService;
@Autowired
@@ -73,6 +82,11 @@
private IProcessStreamPermissionService iProcessStreamPermissionService;
@Autowired
private IWorkStepPermissionService iWorkStepPermissionService;
+ @Autowired
+ private IProductMixService productMixService;
+ @Autowired
+ @Lazy
+ private IDocInfoService docInfoService;
@Override
@Transactional(rollbackFor = {Exception.class})
@@ -96,17 +110,36 @@
if (!b) {
ExceptionCast.cast(ProductInfoCode.PRODUCT_SAVE_ERROR);
}
- ProductPermission permission = new ProductPermission();
- permission.setProductId(productInfo.getProductId());
- permission.setUserId(userId);
- b = productPermissionService.save(permission);
+ b = productPermissionService.add(productInfo.getProductId(), userId,"1");
if (!b) {
ExceptionCast.cast(ProductInfoCode.PRODUCT_SAVE_ERROR);
}
- PermissionStream stream = new PermissionStream();
- stream.setProductId(productInfo.getProductId());
+ //娣诲姞缁撴瀯鏍�
+ ProductMix productMix = new ProductMix(Long.parseLong(productInfo.getProductId()),0L,
+ productInfo.getProductName(),productInfo.getProductNo(),1,new Date());
+ productMixService.save(productMix);
+ //娣诲姞鐢ㄦ埛閮ㄩ棬
+ if(StrUtil.isNotBlank(user.getProductionIds())){
+ String[] split = user.getProductionIds().split(",");
+ String[] departIds = split;
+ for (String departId : departIds) {
+ ProductDepartment productDepartment = new ProductDepartment();
+ productDepartment.setProductId(productInfo.getProductId());
+ productDepartment.setDepartId(departId);
+ productDepartmentService.save(productDepartment);
+ PermissionStreamNew stream = new PermissionStreamNew();
+ stream.setBusinessId(productInfo.getProductId());
+ stream.setDepartId(departId);
+ stream.setBusinessType("1");
+ permissionStreamNewService.save(stream);
+ }
+ }
+ //娣诲姞鐢ㄦ埛鏉冮檺
+ PermissionStreamNew stream = new PermissionStreamNew();
+ stream.setBusinessId(productInfo.getProductId());
stream.setUserId(userId);
- return permissionStreamService.save(stream);
+ stream.setBusinessType("1");
+ return permissionStreamNewService.addPermissionStreamNew(stream);
}
@Override
@@ -124,6 +157,11 @@
productInfo.setProductId(id);
productInfo.setProductStatus(null);
boolean b = super.updateById(productInfo);
+ //鍚屾淇敼缁撴瀯鏍�
+ ProductMix productMix = productMixService.getById(Long.parseLong(id));
+ productMix.setName(productInfo.getProductName());
+ productMix.setCode(productInfo.getProductNo());
+ productMixService.updateById(productMix);
if (!b)
return false;
ProductPermission permission = productPermissionService.getByProductIdAndUserId(id, userId);
@@ -136,12 +174,13 @@
return false;
}
}
- PermissionStream stream = permissionStreamService.getByProductIdAndUserId(id, userId);
+ PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(id, userId, "1");
if (stream == null) {
- stream = new PermissionStream();
- stream.setProductId(id);
+ stream = new PermissionStreamNew();
+ stream.setBusinessId(productInfo.getProductId());
stream.setUserId(userId);
- return permissionStreamService.save(stream);
+ stream.setBusinessType("1");
+ return permissionStreamNewService.save(stream);
}
return b;
}
@@ -160,6 +199,10 @@
List<PartsInfo> partsInfos = partsInfoService.getByUserPerms(userId);
if (partsInfos == null)
partsInfos = Collections.emptyList();
+ //宸ヨ壓瑙勭▼鐗堟湰
+ List<ProcessSpecVersion> processSpecVersions = processSpecVersionService.getByUserPerms(userId);
+ if (processSpecVersions == null)
+ processSpecVersions = Collections.emptyList();
//宸ュ簭
List<ProcessStream> processStreams = processStreamService.getByuserPerms(userId);
if (processStreams == null)
@@ -168,7 +211,7 @@
List<WorkStep> workStepList = workStepService.getByUserPerms(userId);
if (workStepList == null)
workStepList = Collections.emptyList();
- return ProductTreeWrapper.loadTree(productInfoList, componentInfoList, partsInfos, processStreams, workStepList);
+ return ProductTreeWrapper.loadTree(productInfoList, componentInfoList, partsInfos, processSpecVersions,processStreams, workStepList);
}
@Override
@@ -224,10 +267,13 @@
b = productDepartmentService.deleteByProductId(id);
if (!b)
ExceptionCast.cast(CommonCode.FAIL);
- b = permissionStreamService.deleteUserPermsByProductId(id);
+ b = permissionStreamNewService.deletePermissionStreamNewByBusinessId(id, "1","0");
if (!b)
ExceptionCast.cast(CommonCode.FAIL);
- b = permissionStreamService.deleteDepartPermsByProductId(id);
+ b = permissionStreamNewService.deletePermissionStreamNewByBusinessId(id, "1","1");
+ if (!b)
+ ExceptionCast.cast(CommonCode.FAIL);
+ b = productMixService.removeById(id);
if (!b)
ExceptionCast.cast(CommonCode.FAIL);
return super.removeById(id);
@@ -245,33 +291,37 @@
ProductInfo productInfo = super.getById(paramId);
if (productInfo == null)
ExceptionCast.cast(ProductInfoCode.PRODUCT_NOT_EXIST);
- PermissionStream permission = permissionStreamService.getByProductIdAndUserId(paramId, userId);
+ PermissionStreamNew permission = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(paramId, userId,"1");
return permission != null;
} else if (nodeType == 2) {
ComponentInfo componentInfo = componentInfoService.getById(paramId);
if (componentInfo == null)
ExceptionCast.cast(ComponentInfoCode.COMPONENT_NOT_EXIST);
- PermissionStream permission = permissionStreamService.getByComponentIdAndUserId(componentInfo.getProductId(), paramId, userId);
+ PermissionStreamNew permission = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(componentInfo.getComponentId(), userId,"2");
return permission != null;
} else if (nodeType == 3) {
PartsInfo partsInfo = partsInfoService.getById(paramId);
if (partsInfo == null)
ExceptionCast.cast(PartsInfoCode.PARTS_NOT_EXIST);
- PermissionStream permission = permissionStreamService.getByPartsIdAndUserId(partsInfo.getProductId(), partsInfo.getComponentId(), paramId, userId);
+ PermissionStreamNew permission = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(partsInfo.getPartsId(), userId, "3");
+ return permission != null;
+ } else if (nodeType == 4) {
+ ProcessSpecVersion processSpecVersion = processSpecVersionService.getById(paramId);
+ if (processSpecVersion == null)
+ ExceptionCast.cast(PartsInfoCode.PROCESSSPECVERSION_NOT_EXIST);
+ PermissionStreamNew permission = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(processSpecVersion.getId(),userId,"4");
return permission != null;
} else if (nodeType == 5) {
ProcessStream processStream = processStreamService.getById(paramId);
if (processStream == null)
ExceptionCast.cast(ProcessInfoCode.PROCESS_NOT_EXIST);
- PermissionStream permission = permissionStreamService.getByProcessIdAndUserId(processStream.getProductId(), processStream.getComponentId()
- , processStream.getPartsId(), processStream.getProcessId(), userId);
+ PermissionStreamNew permission = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(processStream.getProcessId(), userId,"5");
return permission != null;
} else if (nodeType == 6) {
WorkStep workStep = workStepService.getById(paramId);
if (workStep == null)
ExceptionCast.cast(ProcessInfoCode.WORKSTEP_NOT_EXIST);
- PermissionStream permission = permissionStreamService.getByStepIdAndUserId(workStep.getProductId(), workStep.getComponentId()
- , workStep.getPartsId(), workStep.getProcessId(), workStep.getId(), userId);
+ PermissionStreamNew permission = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(workStep.getId(), userId,"6");
return permission != null;
}
return false;
@@ -287,6 +337,8 @@
return componentPermissionService.getUserPermsByComponentId(paramId);
} else if (nodeType == 3) {
return partsPermissionService.getUserPermsByProductId(paramId);
+ } else if (nodeType == 4) {
+ return processSpecVersionPermissionService.getUserPermsByProductId(paramId);
} else if (nodeType == 5) {
return iProcessStreamPermissionService.getUserPermsByProductId(paramId);
} else if (nodeType == 6) {
@@ -306,6 +358,8 @@
return componentPermissionService.getUserNonPermsByComponentId(paramId);
} else if (nodeType == 3) {
return partsPermissionService.getUserNonPermsByProductId(paramId);
+ } else if (nodeType == 4) {
+ return processSpecVersionPermissionService.getUserNonPermsByProductId(paramId);
} else if (nodeType == 5) {
return iProcessStreamPermissionService.getUserNonPermsByProductId(paramId);
} else if (nodeType == 6) {
@@ -325,12 +379,13 @@
return componentDepartmentService.getDepartPermsByComponentId(paramId);
} else if (nodeType == 3) {
return partsDepartmentService.getDepartPermsByPartsId(paramId);
- } else if (nodeType == 5) {
+ } else if (nodeType == 4) {
+ return processSpecVersionDepartmentService.getDepartPermsByPsvId(paramId);
+ }else if (nodeType == 5) {
return processionDepartmentService.getDepartPermsByProcessId(paramId);
} else if (nodeType == 6) {
return workStepDepartmentService.getDepartPermsByStepId(paramId);
}
- //todo 灏佽鏍戠姸缁撴瀯
else {
return null;
}
@@ -346,6 +401,8 @@
return componentDepartmentService.getDepartNonPermsByComponentId(paramId);
} else if (nodeType == 3) {
return partsDepartmentService.getDepartNonPermsByProductId(paramId);
+ } else if (nodeType == 4) {
+ return processionDepartmentService.getDepartNonPermsByProcessId(paramId);
} else if (nodeType == 5) {
return processionDepartmentService.getDepartNonPermsByProcessId(paramId);
} else if (nodeType == 6) {
@@ -372,16 +429,19 @@
Collection<SysUser> userList = userService.listByIds(ids);
validateSysUserList(userList, ids);
switch (nodeType) {
- case 6:
- return handleWorkStep(paramId, null,userList);
- case 5:
- return handleProcessStream(paramId, relativeFlag, null,userList);
- case 3:
- return handlePartsInfo(paramId, relativeFlag, null,userList);
case 1:
return handleProductInfo(paramId, relativeFlag, null,userList);
case 2:
return handleComponentInfo(paramId, relativeFlag, null,userList);
+ case 3:
+ return handlePartsInfo(paramId, relativeFlag, null,userList);
+ case 4:
+ return handleProcessSpecVersion(paramId, relativeFlag, null,userList);
+ case 5:
+ return handleProcessStream(paramId, relativeFlag, null,userList);
+ case 6:
+ return handleWorkStep(paramId, null,userList);
+
default:
return false;
}
@@ -400,19 +460,23 @@
validateInputParameters(nodeType, paramId, relativeFlag, "2", departmentIds);
List<String> ids = new ArrayList<>(departmentIds.length);
Collections.addAll(ids, departmentIds);
- Collection<MdcProduction> mdcProductionList = mdcProductionService.listByIds(ids);
- validateMdcProductionList(mdcProductionList, ids);
+ List<String> deps=mdcProductionService.findAllProductionIds(ids);
+ Collection<MdcProduction> mdcProductionList = mdcProductionService.listByIds(deps);
+ validateMdcProductionList(mdcProductionList, deps);
switch (nodeType) {
- case 6:
- return handleWorkStep(paramId, mdcProductionList,null);
- case 5:
- return handleProcessStream(paramId, relativeFlag, mdcProductionList,null);
- case 3:
- return handlePartsInfo(paramId, relativeFlag, mdcProductionList,null);
case 1:
return handleProductInfo(paramId, relativeFlag, mdcProductionList,null);
case 2:
return handleComponentInfo(paramId, relativeFlag, mdcProductionList,null);
+ case 3:
+ return handlePartsInfo(paramId, relativeFlag, mdcProductionList,null);
+ case 4:
+ return handleProcessSpecVersion(paramId, relativeFlag, mdcProductionList,null);
+ case 5:
+ return handleProcessStream(paramId, relativeFlag, mdcProductionList,null);
+ case 6:
+ return handleWorkStep(paramId, mdcProductionList,null);
+
default:
return false;
}
@@ -433,16 +497,18 @@
Collection<SysUser> userList = userService.listByIds(userIdsList);
validateSysUserList(userList, userIdsList);
switch (nodeType) {
- case 6:
- return handleWorkStepRemoval(paramId, userList,null);
- case 5:
- return handleProcessStreamRemoval(paramId, relativeFlag, userList,null);
- case 3:
- return handlePartsInfoRemoval(paramId, relativeFlag, userList,null);
case 1:
return handleProductInfoRemoval(paramId, relativeFlag, userList,null);
case 2:
return handleComponentInfoRemoval(paramId, relativeFlag, userList,null);
+ case 3:
+ return handlePartsInfoRemoval(paramId, relativeFlag, userList,null);
+ case 4:
+ return handleProcessSpecVersionRemoval(paramId, relativeFlag, userList,null);
+ case 5:
+ return handleProcessStreamRemoval(paramId, relativeFlag, userList,null);
+ case 6:
+ return handleWorkStepRemoval(paramId, userList,null);
default:
return false;
}
@@ -461,20 +527,24 @@
@Transactional(rollbackFor = {Exception.class})
public boolean assignRemoveDepartmentAll(Integer nodeType, String paramId, Integer relativeFlag, String[] departmentIds) {
validateInputParameters(nodeType, paramId, relativeFlag, "2", departmentIds);
- List<String> departmentIdList = Arrays.asList(departmentIds);
- Collection<MdcProduction> mdcProductionList = mdcProductionService.listByIds(departmentIdList);
- validateMdcProductionList(mdcProductionList, departmentIdList);
+ List<String> ids = new ArrayList<>(departmentIds.length);
+ Collections.addAll(ids, departmentIds);
+ List<String> deps=mdcProductionService.findAllProductionIds(ids);
+ Collection<MdcProduction> mdcProductionList = mdcProductionService.listByIds(deps);
+ validateMdcProductionList(mdcProductionList, deps);
switch (nodeType) {
- case 6:
- return handleWorkStepRemoval(paramId,null,mdcProductionList);
- case 5:
- return handleProcessStreamRemoval(paramId, relativeFlag, null,mdcProductionList);
- case 3:
- return handlePartsInfoRemoval(paramId, relativeFlag,null, mdcProductionList);
case 1:
return handleProductInfoRemoval(paramId, relativeFlag,null, mdcProductionList);
case 2:
return handleComponentInfoRemoval(paramId, relativeFlag, null,mdcProductionList);
+ case 3:
+ return handlePartsInfoRemoval(paramId, relativeFlag,null, mdcProductionList);
+ case 4:
+ return handleProcessSpecVersionRemoval(paramId, relativeFlag, null,mdcProductionList);
+ case 5:
+ return handleProcessStreamRemoval(paramId, relativeFlag, null,mdcProductionList);
+ case 6:
+ return handleWorkStepRemoval(paramId,null,mdcProductionList);
default:
return false;
}
@@ -486,7 +556,7 @@
if (productInfo == null || userList == null || userList.isEmpty())
ExceptionCast.cast(CommonCode.INVALID_PARAM);
List<ProductPermission> permissionList = new ArrayList<>();
- List<PermissionStream> permissionStreamList = new ArrayList<>();
+ List<PermissionStreamNew> permissionStreamList = new ArrayList<>();
userList.forEach(item -> {
ProductPermission en = productPermissionService.getByProductIdAndUserId(productInfo.getProductId(), item.getId());
if (en == null) {
@@ -495,11 +565,12 @@
en.setProductId(productInfo.getProductId());
permissionList.add(en);
}
- PermissionStream stream = permissionStreamService.getByProductIdAndUserId(productInfo.getProductId(), item.getId());
+ PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(productInfo.getProductId(), item.getId(),"1");
if (stream == null) {
- stream = new PermissionStream();
+ stream = new PermissionStreamNew();
stream.setUserId(item.getId());
- stream.setProductId(productInfo.getProductId());
+ stream.setBusinessId(productInfo.getProductId());
+ stream.setBusinessType("1");
permissionStreamList.add(stream);
}
});
@@ -510,7 +581,7 @@
}
}
if (!permissionStreamList.isEmpty()) {
- boolean b = permissionStreamService.saveBatch(permissionStreamList);
+ boolean b =permissionStreamNewService.saveBatch(permissionStreamList);
if (!b) {
ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
}
@@ -524,13 +595,13 @@
if (productInfo == null || userList == null || userList.isEmpty())
ExceptionCast.cast(CommonCode.INVALID_PARAM);
List<ProductPermission> permissionList = new ArrayList<>();
- List<PermissionStream> permissionStreamList = new ArrayList<>();
+ List<PermissionStreamNew> permissionStreamList = new ArrayList<>();
userList.forEach(item -> {
ProductPermission en = productPermissionService.getByProductIdAndUserId(productInfo.getProductId(), item.getId());
if (en != null) {
permissionList.add(en);
}
- PermissionStream stream = permissionStreamService.getByProductIdAndUserId(productInfo.getProductId(), item.getId());
+ PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(productInfo.getProductId(), item.getId(),"1");
if (stream != null) {
permissionStreamList.add(stream);
}
@@ -546,7 +617,7 @@
}
}
if (!permissionStreamList.isEmpty()) {
- boolean b = permissionStreamService.removeByCollection(permissionStreamList);
+ boolean b = permissionStreamNewService.deletePermissionStreamNewByList(permissionStreamList);
if (!b) {
ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
}
@@ -560,7 +631,7 @@
if (productInfo == null || departmentList == null || departmentList.isEmpty())
ExceptionCast.cast(CommonCode.INVALID_PARAM);
List<ProductDepartment> productDepartmentList = new ArrayList<>();
- List<PermissionStream> permissionStreamList = new ArrayList<>();
+ List<PermissionStreamNew> permissionStreamList = new ArrayList<>();
departmentList.forEach(item -> {
ProductDepartment en = productDepartmentService.getByProductIdAndDepartId(productInfo.getProductId(), item.getId());
if (en == null) {
@@ -569,11 +640,12 @@
en.setProductId(productInfo.getProductId());
productDepartmentList.add(en);
}
- PermissionStream stream = permissionStreamService.getByProductIdAndDepartId(productInfo.getProductId(), item.getId());
+ PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndDepartId(productInfo.getProductId(), item.getId(),"1");
if (stream == null) {
- stream = new PermissionStream();
+ stream = new PermissionStreamNew();
stream.setDepartId(item.getId());
- stream.setProductId(productInfo.getProductId());
+ stream.setBusinessId(productInfo.getProductId());
+ stream.setBusinessType("1");
permissionStreamList.add(stream);
}
});
@@ -584,7 +656,7 @@
}
}
if (!permissionStreamList.isEmpty()) {
- boolean b = permissionStreamService.saveBatch(permissionStreamList);
+ boolean b = permissionStreamNewService.saveBatch(permissionStreamList);
if (!b) {
ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
}
@@ -598,13 +670,13 @@
if (productInfo == null || departmentList == null || departmentList.isEmpty())
ExceptionCast.cast(CommonCode.INVALID_PARAM);
List<ProductDepartment> productDepartmentList = new ArrayList<>();
- List<PermissionStream> permissionStreamList = new ArrayList<>();
+ List<PermissionStreamNew> permissionStreamList = new ArrayList<>();
departmentList.forEach(item -> {
ProductDepartment en = productDepartmentService.getByProductIdAndDepartId(productInfo.getProductId(), item.getId());
if (en != null) {
productDepartmentList.add(en);
}
- PermissionStream stream = permissionStreamService.getByProductIdAndDepartId(productInfo.getProductId(), item.getId());
+ PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndDepartId(productInfo.getProductId(), item.getId(),"1");
if (stream != null) {
permissionStreamList.add(stream);
}
@@ -616,7 +688,7 @@
}
}
if (!permissionStreamList.isEmpty()) {
- boolean b = permissionStreamService.removeByCollection(permissionStreamList);
+ boolean b = permissionStreamNewService.deletePermissionStreamNewByList(permissionStreamList);
if (!b) {
ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
}
@@ -632,11 +704,7 @@
ProcessStream processStream = processStreamService.getById(paramId);
if (processStream == null)
return null;
- List<PermissionStream> permissionStreamList = permissionStreamService.list(new QueryWrapper<PermissionStream>()
- .eq(StrUtil.isNotEmpty(processStream.getProductId()), "product_id", processStream.getProductId())
- .eq(StrUtil.isNotEmpty(processStream.getComponentId()), "component_id", processStream.getComponentId())
- .eq(StrUtil.isNotEmpty(processStream.getPartsId()), "parts_id", processStream.getPartsId())
- .eq(StrUtil.isNotEmpty(processStream.getProcessId()), "process_id", processStream.getProcessId()));
+ List<PermissionStreamNew> permissionStreamList = permissionStreamNewService.loadProductMixByBusinessId(processStream.getProcessId(),"5");
if (permissionStreamList == null || permissionStreamList.isEmpty())
return null;
permissionStreamList.forEach(item -> {
@@ -647,12 +715,7 @@
WorkStep workStep = workStepService.getById(paramId);
if (workStep == null)
return null;
- List<PermissionStream> permissionStreamList = permissionStreamService.list(new QueryWrapper<PermissionStream>()
- .eq(StrUtil.isNotEmpty(workStep.getProductId()), "product_id", workStep.getProductId())
- .eq(StrUtil.isNotEmpty(workStep.getComponentId()), "component_id", workStep.getComponentId())
- .eq(StrUtil.isNotEmpty(workStep.getPartsId()), "parts_id", workStep.getPartsId())
- .eq(StrUtil.isNotEmpty(workStep.getProcessId()), "process_id", workStep.getProcessId())
- .eq(StrUtil.isNotEmpty(workStep.getId()), "step_id", workStep.getId()));
+ List<PermissionStreamNew> permissionStreamList = permissionStreamNewService.loadProductMixByBusinessId(workStep.getId(),"6");
if (permissionStreamList == null || permissionStreamList.isEmpty())
return null;
permissionStreamList.forEach(item -> {
@@ -757,6 +820,7 @@
List<ProductInfo> productInfos = this.getByUserPerms(userId, queryParam);
List<ComponentInfo> componentInfos = componentInfoService.getByUserPerms(userId, queryParam);
List<PartsInfo> partsInfos = partsInfoService.getByUserPerms(userId, null, queryParam);
+ List<ProcessSpecVersion> processSpecVersions = processSpecVersionService.getByUserPerms(userId, queryParam);
List<ProcessStream> processStreams = processStreamService.getByuserPerms(userId, queryParam);
List<WorkStep> workSteps = workStepService.getByUserPerms(userId, queryParam);
List<ComponentInfo> componentInfoList = new ArrayList<>();
@@ -884,7 +948,7 @@
//杞崲鏁版嵁
List<ComponentExt> componentExtList = ComponentExt.convertToExtList(componentInfoList);
- return ProductTreeWrapper.loadTree(productInfoList, componentExtList, partsInfos, processStreams, workSteps);
+ return ProductTreeWrapper.loadTree(productInfoList, componentExtList, partsInfos,processSpecVersions, processStreams, workSteps);
}
@Override
@@ -899,6 +963,9 @@
//闆朵欢
case 3:
return partsInfoService.deletePartsInfo(id);
+ //宸ヨ壓瑙勭▼鐗堟湰
+ case 4:
+ return processSpecVersionService.deleteProcessSpecVersion(id);
//宸ュ簭
case 5:
return processStreamService.deleteProcessStream(id);
@@ -908,6 +975,134 @@
default:
}
return false;
+ }
+
+ @Override
+ public Result<?> getTreeById(String id, Integer type){
+ if (StrUtil.isNotEmpty(id)||type!=null){
+ switch (type){
+ case 1:
+ //浜у搧
+ QueryWrapper<ProductInfo> productInfoQueryWrapper = new QueryWrapper<>();
+ productInfoQueryWrapper.eq("product_id",id);
+ List<ProductInfo> productInfos = this.list(productInfoQueryWrapper);
+ return Result.OK(productInfos);
+ case 2:
+ //缁勪欢
+ QueryWrapper<ComponentInfo> componentInfoQueryWrapper = new QueryWrapper<>();
+ componentInfoQueryWrapper.eq("component_id",id);
+ List<ComponentInfo> componentInfos = componentInfoService.list(componentInfoQueryWrapper);
+ return Result.OK(componentInfos);
+ case 3:
+ //闆朵欢
+ QueryWrapper<PartsInfo> partsInfoQueryWrapper = new QueryWrapper<>();
+ partsInfoQueryWrapper.eq("parts_id",id);
+ List<PartsInfo> partsInfos = partsInfoService.list(partsInfoQueryWrapper);
+ return Result.OK(partsInfos);
+ case 4:
+ //宸ヨ壓瑙勫垝鐗堟湰
+ QueryWrapper<ProcessSpecVersion> processSpecVersionQueryWrapper = new QueryWrapper<>();
+ processSpecVersionQueryWrapper.eq("id",id);
+ List<ProcessSpecVersion> processSpecVersions = processSpecVersionService.list(processSpecVersionQueryWrapper);
+ return Result.OK(processSpecVersions);
+ case 5:
+ //宸ュ簭
+ QueryWrapper<ProcessStream> processStreamQueryWrapper = new QueryWrapper<>();
+ processStreamQueryWrapper.eq("process_id",id);
+ List<ProcessStream> processStreams = processStreamService.list(processStreamQueryWrapper);
+ return Result.OK(processStreams);
+ case 6:
+ //宸ユ
+ QueryWrapper<WorkStep> workStepQueryWrapper = new QueryWrapper<>();
+ workStepQueryWrapper.eq("id",id);
+ List<WorkStep> workSteps = workStepService.list(workStepQueryWrapper);
+ return Result.OK(workSteps);
+ }
+ }
+ return Result.error("鍙傛暟閿欒");
+ }
+
+ /**
+ * 閫氳繃浠e彿銆佸悕绉般�佹潗璐ㄧ瓑鏌ヨ瀵瑰簲鐢靛瓙鏍锋澘
+ * @param treeInfoRequest
+ * @return
+ */
+ @Override
+ public List<DocInfo> getByTreeOtherFileInfo(TreeInfoRequest treeInfoRequest){
+ switch (treeInfoRequest.getAttributionType()){
+ case 1:
+ LambdaQueryWrapper<ProductInfo> queryWrapper = new LambdaQueryWrapper<>();
+ // 鏄庣‘鏉′欢锛氫粎褰揳ttributionType涓�1涓攁ttributionId闈炵┖鏃舵坊鍔犳潯浠�
+ if (treeInfoRequest.getAttributionType() == 1 && StrUtil.isNotBlank(treeInfoRequest.getAttributionId())) {
+ queryWrapper.eq(ProductInfo::getProductId, treeInfoRequest.getAttributionId());
+ }
+ // 绠�鍖栨潯浠跺垽鏂�
+ queryWrapper.like(StrUtil.isNotBlank(treeInfoRequest.getTreeCode()), ProductInfo::getProductNo, treeInfoRequest.getTreeCode())
+ .like(StrUtil.isNotBlank(treeInfoRequest.getTreeName()), ProductInfo::getProductName, treeInfoRequest.getTreeName());
+ List<ProductInfo> productInfoList = super.list(queryWrapper);
+ List<DocInfo> docInfos = new ArrayList<>();
+ if (StrUtil.isNotBlank(treeInfoRequest.getStructureType())){
+ productInfoList=new ArrayList<>();
+ }
+ if (CollectionUtil.isNotEmpty(productInfoList)) {
+ // 浣跨敤ID鍒楄〃鑰岄潪鎷兼帴瀛楃涓�
+ List<String> productIds = productInfoList.stream()
+ .map(ProductInfo::getProductId)
+ .collect(Collectors.toList());
+ DocInfoQueryRequest docQuery = new DocInfoQueryRequest();
+ BeanUtil.copyProperties(treeInfoRequest, docQuery);
+ docQuery.setAttributionIds(productIds.toString()); // 鍋囪setAttributionIds鎺ュ彈List<String>
+ docQuery.setDocClassCode("OTHER");
+ docQuery.setAttributionType(1);
+ docInfos = docInfoService.findListByDocQuery(docQuery);
+ }
+ // 鍒涘缓鏂拌姹傚璞¢伩鍏嶆薄鏌撳師鍙傛暟
+ TreeInfoRequest componentRequest = new TreeInfoRequest();
+ BeanUtil.copyProperties(treeInfoRequest, componentRequest);
+ componentRequest.setProductIds(Collections.singletonList(treeInfoRequest.getAttributionId()));
+ // 鍚堝苟鏌ヨ缁撴灉
+ docInfos.addAll(componentInfoService.getByComponentInfo(componentRequest));
+ docInfos.addAll(partsInfoService.getByPartsInfo(componentRequest));
+ docInfos.addAll(processSpecVersionService.getByProcessSpecVersion(componentRequest));
+ return getByTreeOtherFileInfo(docInfos);
+ case 2:
+ return getByTreeOtherFileInfo(componentInfoService.getByComponentInfo(treeInfoRequest));
+ case 3:
+ return getByTreeOtherFileInfo(partsInfoService.getByPartsInfo(treeInfoRequest));
+ case 4:
+ return getByTreeOtherFileInfo(processSpecVersionService.getByProcessSpecVersion(treeInfoRequest));
+ }
+ return new ArrayList<>();
+ }
+
+ private List<DocInfo> getByTreeOtherFileInfo(List<DocInfo> docInfos){
+ //瀵规墍灞瀒d杩涜缈昏瘧
+ if (docInfos != null && !docInfos.isEmpty()) {
+ docInfos.forEach(docInfo -> {
+ switch (docInfo.getAttributionType()){
+ case 1:
+ ProductInfo productInfo=this.getById(docInfo.getAttributionId());
+ docInfo.setNodeName(productInfo.getProductName());
+ docInfo.setNodeCode(productInfo.getProductNo());
+ break;
+ case 2:
+ ComponentInfo componentInfo=componentInfoService.getById(docInfo.getAttributionId());
+ docInfo.setNodeName(componentInfo.getComponentName());
+ docInfo.setNodeCode(componentInfo.getComponentCode());
+ break;
+ case 3:
+ PartsInfo partsInfo=partsInfoService.getById(docInfo.getAttributionId());
+ docInfo.setNodeCode(partsInfo.getPartsCode());
+ docInfo.setNodeName(partsInfo.getPartsName());
+ break;
+ case 4:
+ ProcessSpecVersion processSpecVersion=processSpecVersionService.getById(docInfo.getAttributionId());
+ docInfo.setNodeName(processSpecVersion.getProcessSpecVersionName());
+ docInfo.setNodeCode(processSpecVersion.getProcessSpecVersionCode());
+ }
+ });
+ }
+ return docInfos;
}
/**
@@ -945,13 +1140,13 @@
}
}
- private void handleRelativePermissions(String productId, List<String> componentIds, String processId, String partsId, Collection<SysUser> userList) {
+ private void handleRelativePermissions(String productId, List<String> componentIds, String processId, String partsId,String psvId ,Collection<SysUser> userList) {
List<ComponentPermission> componentPermissionList = new ArrayList<>();
List<PartsPermission> partsPermissionList = new ArrayList<>();
+ List<ProcessSpecVersionPermission> processSpecVersionPermissionList = new ArrayList<>();
List<ProcessionPermission> processionPermissionList = new ArrayList<>();
List<WorkStepPermission> workStepPermissionList = new ArrayList<>();
- List<PermissionStream> permissionStreamList = new ArrayList<>();
-
+ List<PermissionStreamNew> permissionStreamList = new ArrayList<>();
// 澶勭悊閮ㄤ欢鏉冮檺
if (componentIds != null && !componentIds.isEmpty()) {
handleComponentPermissions(componentIds, userList, componentPermissionList, permissionStreamList);
@@ -961,9 +1156,31 @@
.map(PartsInfo::getPartsId)
.collect(Collectors.toList());
handlePartsPermissions(partsIds, userList, partsPermissionList, permissionStreamList);
+ List<ProcessSpecVersion> processSpecVersionList = processSpecVersionService.getByPartsIds(partsIds);
+ if (processSpecVersionList!= null &&!processSpecVersionList.isEmpty()) {
+ List<String> psvIds = processSpecVersionList.stream().map(ProcessSpecVersion::getId).collect(Collectors.toList());
+ handlePsvPermissions(psvIds, userList, processSpecVersionPermissionList, permissionStreamList);
+ }
List<ProcessStream> processStreamList = processStreamService.getByComponentIdList(productId, componentIds, partsIds);
processStreamApi(productId, userList, processionPermissionList, workStepPermissionList, permissionStreamList, processStreamList);
}
+ }
+
+ // 澶勭悊闆朵欢鏉冮檺
+ if (partsId != null) {
+ List<ProcessSpecVersion> processStreamList = processSpecVersionService.list(new QueryWrapper<ProcessSpecVersion>().eq("id", psvId));
+ if (processStreamList != null && !processStreamList.isEmpty()) {
+ List<String> psvIds = processStreamList.stream()
+ .map(ProcessSpecVersion::getId)
+ .collect(Collectors.toList());
+ handlePsvPermissions(psvIds,userList,processSpecVersionPermissionList,permissionStreamList);
+ }
+ }
+
+ // 澶勭悊宸ヨ壓瑙勭▼鐗堟湰鏉冮檺
+ if (psvId!= null) {
+ List<ProcessStream> processStreamList = processStreamService.list(new QueryWrapper<ProcessStream>().eq("psv_id", psvId));
+ processStreamApi(productId, userList, processionPermissionList, workStepPermissionList, permissionStreamList, processStreamList);
}
// 澶勭悊宸ュ簭鏉冮檺
@@ -977,17 +1194,14 @@
}
}
- // 澶勭悊闆朵欢鏉冮檺
- if (partsId != null) {
- List<ProcessStream> processStreamList = processStreamService.list(new QueryWrapper<ProcessStream>().eq("parts_id", partsId));
- processStreamApi(productId, userList, processionPermissionList, workStepPermissionList, permissionStreamList, processStreamList);
- }
-
if (!componentPermissionList.isEmpty()) {
componentPermissionService.saveBatch(componentPermissionList);
}
if (!partsPermissionList.isEmpty()) {
partsPermissionService.saveBatch(partsPermissionList);
+ }
+ if (!processSpecVersionPermissionList.isEmpty()) {
+ processSpecVersionPermissionService.saveBatch(processSpecVersionPermissionList);
}
if (!processionPermissionList.isEmpty()) {
iProcessStreamPermissionService.saveBatch(processionPermissionList);
@@ -996,11 +1210,12 @@
iWorkStepPermissionService.saveBatch(workStepPermissionList);
}
if (!permissionStreamList.isEmpty()) {
- permissionStreamService.saveBatch(permissionStreamList);
+ permissionStreamNewService.saveBatch(permissionStreamList);
}
}
- private void processStreamApi(String productId, Collection<SysUser> userList, List<ProcessionPermission> processionPermissionList, List<WorkStepPermission> workStepPermissionList, List<PermissionStream> permissionStreamList, List<ProcessStream> processStreamList) {
+ private void processStreamApi(String productId, Collection<SysUser> userList, List<ProcessionPermission> processionPermissionList,
+ List<WorkStepPermission> workStepPermissionList, List<PermissionStreamNew> permissionStreamList, List<ProcessStream> processStreamList) {
if (processStreamList != null && !processStreamList.isEmpty()) {
List<String> processIds = processStreamList.stream()
.map(ProcessStream::getProcessId)
@@ -1017,7 +1232,7 @@
}
private void handleComponentPermissions(List<String> componentIds, Collection<SysUser> userList,
- List<ComponentPermission> componentPermissionList, List<PermissionStream> permissionStreamList) {
+ List<ComponentPermission> componentPermissionList, List<PermissionStreamNew> permissionStreamList) {
Map<String, ComponentPermission> componentPermissionMap = new HashMap<>();
Map<String, ComponentInfo> componentInfoMap = new HashMap<>();
String key;
@@ -1039,16 +1254,16 @@
ComponentPermission cp = entry.getValue();
componentPermissionList.add(cp);
ComponentInfo cpInfo = componentInfoMap.get(cp.getComponentId());
- PermissionStream s = new PermissionStream();
- s.setProductId(cpInfo.getProductId());
- s.setComponentId(cpInfo.getComponentId());
+ PermissionStreamNew s = new PermissionStreamNew();
+ s.setBusinessId(cpInfo.getComponentId());
+ s.setBusinessType("2");
s.setUserId(cp.getUserId());
permissionStreamList.add(s);
}
}
private void handlePartsPermissions(List<String> partsIds, Collection<SysUser> userList,
- List<PartsPermission> partsPermissionList, List<PermissionStream> permissionStreamList) {
+ List<PartsPermission> partsPermissionList, List<PermissionStreamNew> permissionStreamList) {
Map<String, PartsPermission> partsPermissionHashMap = new HashMap<>();
Map<String, PartsInfo> partsInfoMap = new HashMap<>();
String key;
@@ -1070,17 +1285,47 @@
PartsPermission pp = entry.getValue();
partsPermissionList.add(pp);
PartsInfo ptInfo = partsInfoMap.get(pp.getPartsId());
- PermissionStream s = new PermissionStream();
- s.setProductId(ptInfo.getProductId());
- s.setComponentId(ptInfo.getComponentId());
- s.setPartsId(ptInfo.getPartsId());
+ PermissionStreamNew s = new PermissionStreamNew();
+ s.setBusinessId(ptInfo.getPartsId());
+ s.setBusinessType("3");
+ s.setUserId(pp.getUserId());
+ permissionStreamList.add(s);
+ }
+ }
+
+ private void handlePsvPermissions(List<String> psvIds, Collection<SysUser> userList,
+ List<ProcessSpecVersionPermission> processSpecVersionPermissionList, List<PermissionStreamNew> permissionStreamList) {
+ Map<String, ProcessSpecVersionPermission> processSpecVersionPermissionMap = new HashMap<>();
+ Map<String, ProcessSpecVersion> processStreamMap = new HashMap<>();
+ String key;
+ for (ProcessSpecVersion p : processSpecVersionService.listByIds(psvIds)) {
+ processStreamMap.put(p.getId(), p);
+ for (SysUser u : userList) {
+ key = p.getId() + "," + u.getId();
+ processSpecVersionPermissionMap.put(key, new ProcessSpecVersionPermission(p.getId(), u.getId()));
+ }
+ }
+ List<ProcessSpecVersionPermission> processSpecVersionPermissions = processSpecVersionPermissionService.getByPsvIdsAndUserIds(psvIds, userList.stream().map(SysUser::getId).collect(Collectors.toList()));
+ if (processSpecVersionPermissions != null && !processSpecVersionPermissions.isEmpty()) {
+ for (ProcessSpecVersionPermission processionPermission : processSpecVersionPermissions) {
+ key = processionPermission.getPsvId() + "," + processionPermission.getUserId();
+ processSpecVersionPermissionMap.remove(key);
+ }
+ }
+ for (Map.Entry<String, ProcessSpecVersionPermission> entry : processSpecVersionPermissionMap.entrySet()) {
+ ProcessSpecVersionPermission pp = entry.getValue();
+ processSpecVersionPermissionList.add(pp);
+ ProcessSpecVersion processSpecVersion = processStreamMap.get(pp.getPsvId());
+ PermissionStreamNew s = new PermissionStreamNew();
+ s.setBusinessId(processSpecVersion.getId());
+ s.setBusinessType("4");
s.setUserId(pp.getUserId());
permissionStreamList.add(s);
}
}
private void handleProcessPermissions(List<String> processIds, Collection<SysUser> userList,
- List<ProcessionPermission> processionPermissionList, List<PermissionStream> permissionStreamList) {
+ List<ProcessionPermission> processionPermissionList, List<PermissionStreamNew> permissionStreamList) {
Map<String, ProcessionPermission> processionPermissionHashMap = new HashMap<>();
Map<String, ProcessStream> processStreamMap = new HashMap<>();
String key;
@@ -1102,18 +1347,16 @@
ProcessionPermission pp = entry.getValue();
processionPermissionList.add(pp);
ProcessStream processStream = processStreamMap.get(pp.getProcessId());
- PermissionStream s = new PermissionStream();
- s.setProductId(processStream.getProductId());
- s.setComponentId(processStream.getComponentId());
- s.setPartsId(processStream.getPartsId());
- s.setProcessId(processStream.getProcessId());
+ PermissionStreamNew s = new PermissionStreamNew();
+ s.setBusinessId(processStream.getProcessId());
+ s.setBusinessType("5");
s.setUserId(pp.getUserId());
permissionStreamList.add(s);
}
}
private void handleWorkStepPermissions(List<String> workStepIds, Collection<SysUser> userList,
- List<WorkStepPermission> workStepPermissionList, List<PermissionStream> permissionStreamList) {
+ List<WorkStepPermission> workStepPermissionList, List<PermissionStreamNew> permissionStreamList) {
Map<String, WorkStepPermission> workStepPermissionHashMap = new HashMap<>();
Map<String, WorkStep> workStepHashMap = new HashMap<>();
String key;
@@ -1135,12 +1378,9 @@
WorkStepPermission ws = entry.getValue();
workStepPermissionList.add(ws);
WorkStep workStep = workStepHashMap.get(ws.getStepId());
- PermissionStream s = new PermissionStream();
- s.setProductId(workStep.getProductId());
- s.setComponentId(workStep.getComponentId());
- s.setPartsId(workStep.getPartsId());
- s.setProcessId(workStep.getProcessId());
- s.setStepId(workStep.getId());
+ PermissionStreamNew s = new PermissionStreamNew();
+ s.setBusinessId(workStep.getId());
+ s.setBusinessType("6");
s.setUserId(ws.getUserId());
permissionStreamList.add(s);
}
@@ -1182,7 +1422,7 @@
ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
}
if (relativeFlag == 1) {
- handleRelativePermissions(processStream.getProductId(), null, processStream.getProcessId(), null, userList);
+ handleRelativePermissions(processStream.getProductId(), null, processStream.getProcessId(), null,null, userList);
}
}else {
result = processStreamService.assignAddDepart(processStream, mdcProductionList);
@@ -1190,7 +1430,37 @@
ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
}
if (relativeFlag == 1) {
- handleRelatedPermissions(processStream, mdcProductionList, workStepService, workStepDepartmentService, permissionStreamService);
+ handleRelatedPermissions(processStream, mdcProductionList, workStepService, workStepDepartmentService, permissionStreamNewService);
+ }
+ }
+ return true;
+ }
+
+ private boolean handleProcessSpecVersion(String paramId, Integer relativeFlag, Collection<MdcProduction> mdcProductionList,Collection<SysUser> userList) {
+ ProcessSpecVersion processSpecVersion = processSpecVersionService.getById(paramId);
+ if (processSpecVersion == null) {
+ ExceptionCast.cast(PartsInfoCode.PROCESSSPECVERSION_NOT_EXIST);
+ }
+ boolean hasPerm = checkProductPerm(4, processSpecVersion.getId());
+ if (!hasPerm) {
+ ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
+ }
+ boolean result;
+ if (userList!=null){
+ result = processSpecVersionService.assignAddUser(processSpecVersion, userList);
+ if (!result) {
+ ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
+ }
+ if (relativeFlag == 1) {
+ handleRelativePermissions(processSpecVersion.getProductId(), null, null,null, processSpecVersion.getId(), userList);
+ }
+ }else {
+ result = processSpecVersionService.assignAddDepart(processSpecVersion, mdcProductionList);
+ if (!result) {
+ ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
+ }
+ if (relativeFlag == 1) {
+ handleRelatedPermissionsForProcessSpecVersion(processSpecVersion, mdcProductionList);
}
}
return true;
@@ -1212,7 +1482,7 @@
ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
}
if (relativeFlag == 1) {
- handleRelativePermissions(partsInfo.getProductId(), null, null, partsInfo.getPartsId(), userList);
+ handleRelativePermissions(partsInfo.getProductId(), null, null, partsInfo.getPartsId(),null, userList);
}
}else {
result = partsInfoService.assignAddDepart(partsInfo, mdcProductionList);
@@ -1247,7 +1517,7 @@
List<String> componentIds = componentInfoList.stream()
.map(ComponentInfo::getComponentId)
.collect(Collectors.toList());
- handleRelativePermissions(productInfo.getProductId(), componentIds, null, null, userList);
+ handleRelativePermissions(productInfo.getProductId(), componentIds, null, null, null,userList);
}
}
}else {
@@ -1286,7 +1556,9 @@
.collect(Collectors.toList());
}
componentIds.add(componentInfo.getComponentId());
- handleRelativePermissions(componentInfo.getProductId(), componentIds, null, null, userList);
+
+
+ handleRelativePermissions(componentInfo.getProductId(), componentIds, null, null,null, userList);
}
}else {
result = componentInfoService.assignAddDepart(componentInfo, mdcProductionList);
@@ -1300,7 +1572,8 @@
return true;
}
- private void handleRelatedPermissions(Object parentEntity, Collection<MdcProduction> mdcProductionList, IWorkStepService workStepService, IWorkStepDepartmentService workStepDepartmentService, IPermissionStreamService permissionStreamService) {
+ private void handleRelatedPermissions(Object parentEntity, Collection<MdcProduction> mdcProductionList, IWorkStepService workStepService,
+ IWorkStepDepartmentService workStepDepartmentService, IPermissionStreamNewService permissionStreamNewService) {
String parentId = getParentId(parentEntity);
List<WorkStep> workStepList = workStepService.list(new QueryWrapper<WorkStep>().eq("process_id", parentId));
if (workStepList == null || workStepList.isEmpty()) {
@@ -1328,48 +1601,54 @@
}
List<WorkStepDepartment> newWorkStepDepartments = new ArrayList<>();
- List<PermissionStream> newPermissionStreams = new ArrayList<>();
+ List<PermissionStreamNew> newPermissionStreams = new ArrayList<>();
for (Map.Entry<String, WorkStepDepartment> entry : allPermissions.entrySet()) {
WorkStepDepartment wsDep = entry.getValue();
newWorkStepDepartments.add(wsDep);
WorkStep workStep = workStepMap.get(wsDep.getStepId());
- PermissionStream permStream = new PermissionStream();
- permStream.setProductId(workStep.getProductId());
- permStream.setComponentId(workStep.getComponentId());
- permStream.setPartsId(workStep.getPartsId());
- permStream.setProcessId(workStep.getProcessId());
- permStream.setStepId(workStep.getId());
+ PermissionStreamNew permStream = new PermissionStreamNew();
+ permStream.setBusinessId(workStep.getId());
+ permStream.setBusinessType("6");
permStream.setDepartId(wsDep.getDepartId());
newPermissionStreams.add(permStream);
}
-
if (!newWorkStepDepartments.isEmpty()) {
workStepDepartmentService.saveBatch(newWorkStepDepartments);
}
if (!newPermissionStreams.isEmpty()) {
- permissionStreamService.saveBatch(newPermissionStreams);
+ permissionStreamNewService.saveBatch(newPermissionStreams);
}
}
private void handleRelatedPermissionsForParts(PartsInfo partsInfo, Collection<MdcProduction> mdcProductionList) {
- // 澶勭悊宸ュ簭鏉冮檺
- handleProcessPermissions(partsInfo,null, mdcProductionList);
- // 澶勭悊宸ユ鏉冮檺
- handleWorkStepPermissions(partsInfo, mdcProductionList);
+ // 澶勭悊宸ヨ壓瑙勭▼鐗堟湰
+ List<ProcessSpecVersion> processSpecVersionList = processSpecVersionService.list(new QueryWrapper<ProcessSpecVersion>().eq("parts_id", partsInfo.getPartsId()));
+ processSpecVersionList.forEach(item->{
+ processSpecVersionService.assignAddDepart(item, mdcProductionList);
+ handleRelatedPermissionsForProcessSpecVersion(item, mdcProductionList);
+ });
}
- private void handleProcessPermissions(PartsInfo partsInfo,ComponentInfo componentInfo,Collection<MdcProduction> mdcProductionList) {
+ private void handleRelatedPermissionsForProcessSpecVersion(ProcessSpecVersion processSpecVersion, Collection<MdcProduction> mdcProductionList) {
+ // 澶勭悊宸ュ簭鏉冮檺
+ handleProcessPermissions(processSpecVersion,null, mdcProductionList);
+ // 澶勭悊宸ユ鏉冮檺
+ handleWorkStepPermissions(processSpecVersion, mdcProductionList);
+
+ }
+
+ private void handleProcessPermissions(ProcessSpecVersion processSpecVersion,ComponentInfo componentInfo,Collection<MdcProduction> mdcProductionList) {
List<ProcessStream> processStreamList=new ArrayList<>();
if (componentInfo != null) {
processStreamList = processStreamService.list(new QueryWrapper<ProcessStream>().eq("component_id", componentInfo.getComponentId()));
}else {
- processStreamList = processStreamService.list(new QueryWrapper<ProcessStream>().eq("parts_id", partsInfo.getPartsId()));
+ processStreamList = processStreamService.list(new QueryWrapper<ProcessStream>().eq("psv_id", processSpecVersion.getId()));
}
if (processStreamList == null || processStreamList.isEmpty()) {
return;
}
processStreamList.forEach(item->{
- handleRelatedPermissions(item, mdcProductionList, workStepService, workStepDepartmentService, permissionStreamService);
+ handleRelatedPermissions(item, mdcProductionList, workStepService, workStepDepartmentService, permissionStreamNewService);
});
Map<String, ProcessionDepartment> allProcessPermissions = new HashMap<>();
Map<String, ProcessStream> processStreamMap = new HashMap<>();
@@ -1393,16 +1672,14 @@
}
List<ProcessionDepartment> newProcessPermissions = new ArrayList<>();
- List<PermissionStream> newPermissionStreams = new ArrayList<>();
+ List<PermissionStreamNew> newPermissionStreams = new ArrayList<>();
for (Map.Entry<String, ProcessionDepartment> entry : allProcessPermissions.entrySet()) {
ProcessionDepartment procDep = entry.getValue();
newProcessPermissions.add(procDep);
ProcessStream processStream = processStreamMap.get(procDep.getProcessId());
- PermissionStream permStream = new PermissionStream();
- permStream.setProductId(processStream.getProductId());
- permStream.setComponentId(processStream.getComponentId());
- permStream.setPartsId(processStream.getPartsId());
- permStream.setProcessId(processStream.getProcessId());
+ PermissionStreamNew permStream = new PermissionStreamNew();
+ permStream.setBusinessId(processStream.getProcessId());
+ permStream.setBusinessType("5");
permStream.setDepartId(procDep.getDepartId());
newPermissionStreams.add(permStream);
}
@@ -1411,22 +1688,22 @@
processionDepartmentService.saveBatch(newProcessPermissions);
}
if (!newPermissionStreams.isEmpty()) {
- permissionStreamService.saveBatch(newPermissionStreams);
+ permissionStreamNewService.saveBatch(newPermissionStreams);
}
}
- private void handleWorkStepPermissions(PartsInfo partsInfo, Collection<MdcProduction> mdcProductionList) {
- List<ProcessStream> processStreamList = processStreamService.list(new QueryWrapper<ProcessStream>().eq("parts_id", partsInfo.getPartsId()));
+ private void handleWorkStepPermissions(ProcessSpecVersion processSpecVersion, Collection<MdcProduction> mdcProductionList) {
+ List<ProcessStream> processStreamList = processStreamService.list(new QueryWrapper<ProcessStream>().eq("psv_id", processSpecVersion.getId()));
if (processStreamList == null || processStreamList.isEmpty()) {
return;
}
List<String> processIds = processStreamList.stream().map(ProcessStream::getProcessId).collect(Collectors.toList());
- List<WorkStep> workStepList = workStepService.getByProcessIds(partsInfo.getProductId(), processIds);
+ List<WorkStep> workStepList = workStepService.getByProcessIds(processSpecVersion.getProductId(), processIds);
if (workStepList == null || workStepList.isEmpty()) {
return;
}
workStepList.forEach(item->{
- handleRelatedPermissions(item, mdcProductionList, workStepService, workStepDepartmentService, permissionStreamService);
+ handleRelatedPermissions(item, mdcProductionList, workStepService, workStepDepartmentService, permissionStreamNewService);
});
}
@@ -1468,14 +1745,14 @@
}
List<ComponentDepartment> newComponentPermissions = new ArrayList<>();
- List<PermissionStream> newPermissionStreams = new ArrayList<>();
+ List<PermissionStreamNew> newPermissionStreams = new ArrayList<>();
for (Map.Entry<String, ComponentDepartment> entry : allComponentPermissions.entrySet()) {
ComponentDepartment compDep = entry.getValue();
newComponentPermissions.add(compDep);
ComponentInfo componentInfo = componentInfoMap.get(compDep.getComponentId());
- PermissionStream permStream = new PermissionStream();
- permStream.setProductId(componentInfo.getProductId());
- permStream.setComponentId(componentInfo.getComponentId());
+ PermissionStreamNew permStream = new PermissionStreamNew();
+ permStream.setBusinessId(componentInfo.getComponentId());
+ permStream.setBusinessType("2");
permStream.setDepartId(compDep.getDepartId());
newPermissionStreams.add(permStream);
}
@@ -1484,7 +1761,7 @@
componentDepartmentService.saveBatch(newComponentPermissions);
}
if (!newPermissionStreams.isEmpty()) {
- permissionStreamService.saveBatch(newPermissionStreams);
+ permissionStreamNewService.saveBatch(newPermissionStreams);
}
}
@@ -1542,14 +1819,14 @@
}
List<ComponentDepartment> newComponentPermissions = new ArrayList<>();
- List<PermissionStream> newPermissionStreams = new ArrayList<>();
+ List<PermissionStreamNew> newPermissionStreams = new ArrayList<>();
for (Map.Entry<String, ComponentDepartment> entry : allComponentPermissions.entrySet()) {
ComponentDepartment compDep = entry.getValue();
newComponentPermissions.add(compDep);
childComponent = componentInfoMap.get(compDep.getComponentId());
- PermissionStream permStream = new PermissionStream();
- permStream.setProductId(childComponent.getProductId());
- permStream.setComponentId(childComponent.getComponentId());
+ PermissionStreamNew permStream = new PermissionStreamNew();
+ permStream.setBusinessId(childComponent.getComponentId());
+ permStream.setBusinessType("2");
permStream.setDepartId(compDep.getDepartId());
newPermissionStreams.add(permStream);
}
@@ -1558,7 +1835,7 @@
componentDepartmentService.saveBatch(newComponentPermissions);
}
if (!newPermissionStreams.isEmpty()) {
- permissionStreamService.saveBatch(newPermissionStreams);
+ permissionStreamNewService.saveBatch(newPermissionStreams);
}
}
}
@@ -1569,6 +1846,7 @@
return;
}
for (PartsInfo partsInfo : partsInfoList) {
+ partsInfoService.assignAddDepart(partsInfo, mdcProductionList);
handleRelatedPermissionsForParts(partsInfo, mdcProductionList);
}
}
@@ -1584,77 +1862,6 @@
/**绉婚櫎鏉冮檺*/
-
- private boolean handleWorkStepRemoval(String paramId, Collection<SysUser> userList, Collection<MdcProduction> mdcProductionList) {
- WorkStep workStep = workStepService.getById(paramId);
- if (workStep == null) {
- ExceptionCast.cast(ProcessInfoCode.WORKSTEP_NOT_EXIST);
- }
- checkProductPerm(6, workStep.getId());
- if (userList!=null){
- return workStepService.assignRemoveUser(workStep, userList);
- }else {
- return workStepService.assignRemoveDepart(workStep, mdcProductionList);
- }
- }
-
- private boolean handleProcessStreamRemoval(String paramId, Integer relativeFlag, Collection<SysUser> userList, Collection<MdcProduction> mdcProductionList) {
- ProcessStream processStream = processStreamService.getById(paramId);
- if (processStream == null) {
- ExceptionCast.cast(ProcessInfoCode.PROCESS_NOT_EXIST);
- }
- checkProductPerm(5, processStream.getProcessId());
- boolean result;
- if (userList!=null){
- result = processStreamService.assignRemoveUser(processStream, userList);
- if (!result) {
- ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
- }
- if (relativeFlag == 1) {
- handleRelatedRemovals(processStream.getProcessId(), userList,
- workStepService, iWorkStepPermissionService, permissionStreamService,
- "process_id");
- }
- }else {
- result = processStreamService.assignRemoveDepart(processStream, mdcProductionList);
- if (!result) {
- ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
- }
- if (relativeFlag == 1) {
- handleRelatedDepartmentRemovals(processStream.getProcessId(), mdcProductionList,
- workStepService, workStepDepartmentService, permissionStreamService,
- "process_id");
- }
- }
- return true;
- }
-
- private boolean handlePartsInfoRemoval(String paramId, Integer relativeFlag, Collection<SysUser> userList, Collection<MdcProduction> mdcProductionList) {
- PartsInfo partsInfo = partsInfoService.getById(paramId);
- if (partsInfo == null) {
- ExceptionCast.cast(PartsInfoCode.PARTS_NOT_EXIST);
- }
- checkProductPerm(3, partsInfo.getPartsId());
- boolean result;
- if (userList!=null){
- result = partsInfoService.assignRemoveUser(partsInfo, userList);
- if (!result) {
- ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
- }
- if (relativeFlag == 1) {
- handlePartsRelatedRemovals(null,partsInfo, userList);
- }
- }else {
- result = partsInfoService.assignRemoveDepart(partsInfo, mdcProductionList);
- if (!result) {
- ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
- }
- if (relativeFlag == 1) {
- handlePartsRelatedDepartmentRemovals(null,partsInfo, mdcProductionList);
- }
- }
- return true;
- }
private boolean handleProductInfoRemoval(String paramId, Integer relativeFlag, Collection<SysUser> userList, Collection<MdcProduction> mdcProductionList) {
ProductInfo productInfo = super.getById(paramId);
@@ -1710,10 +1917,108 @@
return true;
}
+ private boolean handlePartsInfoRemoval(String paramId, Integer relativeFlag, Collection<SysUser> userList, Collection<MdcProduction> mdcProductionList) {
+ PartsInfo partsInfo = partsInfoService.getById(paramId);
+ if (partsInfo == null) {
+ ExceptionCast.cast(PartsInfoCode.PARTS_NOT_EXIST);
+ }
+ checkProductPerm(3, partsInfo.getPartsId());
+ boolean result;
+ if (userList!=null){
+ result = partsInfoService.assignRemoveUser(partsInfo, userList);
+ if (!result) {
+ ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
+ }
+ if (relativeFlag == 1) {
+ handlePartRelatedRemovals(partsInfo, userList);
+ }
+ }else {
+ result = partsInfoService.assignRemoveDepart(partsInfo, mdcProductionList);
+ if (!result) {
+ ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
+ }
+ if (relativeFlag == 1) {
+ handlePartRelatedDepartmentRemovals(partsInfo, mdcProductionList);
+ }
+ }
+ return true;
+ }
+
+ private boolean handleProcessSpecVersionRemoval(String paramId, Integer relativeFlag, Collection<SysUser> userList, Collection<MdcProduction> mdcProductionList) {
+ ProcessSpecVersion processSpecVersion = processSpecVersionService.getById(paramId);
+ if (processSpecVersion == null) {
+ ExceptionCast.cast(PartsInfoCode.PROCESSSPECVERSION_NOT_EXIST);
+ }
+ checkProductPerm(4, processSpecVersion.getPartsId());
+ boolean result;
+ if (userList!=null){
+ result = processSpecVersionService.assignRemoveUser(processSpecVersion, userList);
+ if (!result) {
+ ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
+ }
+ if (relativeFlag == 1) {
+ handleProcessSpecVersionRelatedRemovals(null,processSpecVersion, userList);
+ }
+ }else {
+ result = processSpecVersionService.assignRemoveDepart(processSpecVersion, mdcProductionList);
+ if (!result) {
+ ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
+ }
+ if (relativeFlag == 1) {
+ handleProcessSpecVersionRelatedDepartmentRemovals(null,processSpecVersion, mdcProductionList);
+ }
+ }
+ return true;
+ }
+
+ private boolean handleProcessStreamRemoval(String paramId, Integer relativeFlag, Collection<SysUser> userList, Collection<MdcProduction> mdcProductionList) {
+ ProcessStream processStream = processStreamService.getById(paramId);
+ if (processStream == null) {
+ ExceptionCast.cast(ProcessInfoCode.PROCESS_NOT_EXIST);
+ }
+ checkProductPerm(5, processStream.getProcessId());
+ boolean result;
+ if (userList!=null){
+ result = processStreamService.assignRemoveUser(processStream, userList);
+ if (!result) {
+ ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
+ }
+ if (relativeFlag == 1) {
+ handleRelatedRemovals(processStream.getProcessId(), userList,
+ workStepService, iWorkStepPermissionService, permissionStreamNewService,
+ "process_id");
+ }
+ }else {
+ result = processStreamService.assignRemoveDepart(processStream, mdcProductionList);
+ if (!result) {
+ ExceptionCast.cast(ProductInfoCode.PRODUCT_USER_PERM_ERROR);
+ }
+ if (relativeFlag == 1) {
+ handleRelatedDepartmentRemovals(processStream.getProcessId(), mdcProductionList,
+ workStepService, workStepDepartmentService, permissionStreamNewService,
+ "process_id");
+ }
+ }
+ return true;
+ }
+
+ private boolean handleWorkStepRemoval(String paramId, Collection<SysUser> userList, Collection<MdcProduction> mdcProductionList) {
+ WorkStep workStep = workStepService.getById(paramId);
+ if (workStep == null) {
+ ExceptionCast.cast(ProcessInfoCode.WORKSTEP_NOT_EXIST);
+ }
+ checkProductPerm(6, workStep.getId());
+ if (userList!=null){
+ return workStepService.assignRemoveUser(workStep, userList);
+ }else {
+ return workStepService.assignRemoveDepart(workStep, mdcProductionList);
+ }
+ }
+
private void handleRelatedRemovals(String parentId, Collection<SysUser> userList,
IWorkStepService workStepService,
IWorkStepPermissionService workStepPermissionService,
- IPermissionStreamService permissionStreamService,
+ IPermissionStreamNewService permissionStreamNewService,
String queryField) {
List<WorkStep> workStepList = workStepService.list(new QueryWrapper<WorkStep>().eq(queryField, parentId));
if (workStepList.isEmpty()) {
@@ -1722,20 +2027,20 @@
List<String> workStepIds = workStepList.stream().map(WorkStep::getId).collect(Collectors.toList());
List<String> userIdList = userList.stream().map(SysUser::getId).collect(Collectors.toList());
List<WorkStepPermission> workStepPermissions = workStepPermissionService.getByStepIdsAndUserIds(workStepIds, userIdList);
- List<PermissionStream> permissionStreams = permissionStreamService.getByPartsIdsAndDepartIds(workStepIds, userIdList);
+ List<PermissionStreamNew> permissionStreams = permissionStreamNewService.loadPermissionStreamNewByBusinessIdsAndUserIds(workStepIds, userIdList,"6");
if (!workStepPermissions.isEmpty()) {
workStepPermissionService.removeByCollection(workStepPermissions);
}
if (!permissionStreams.isEmpty()) {
- permissionStreamService.removeByCollection(permissionStreams);
+ permissionStreamNewService.deletePermissionStreamNewByList(permissionStreams);
}
}
private void handleRelatedDepartmentRemovals(String parentId, Collection<MdcProduction> mdcProductionList,
IWorkStepService workStepService,
IWorkStepDepartmentService workStepDepartmentService,
- IPermissionStreamService permissionStreamService,
+ IPermissionStreamNewService permissionStreamNewService,
String queryField) {
List<WorkStep> workStepList = workStepService.list(new QueryWrapper<WorkStep>().eq(queryField, parentId));
if (workStepList.isEmpty()) {
@@ -1744,22 +2049,22 @@
List<String> workStepIds = workStepList.stream().map(WorkStep::getId).collect(Collectors.toList());
List<String> departmentIdList = mdcProductionList.stream().map(MdcProduction::getId).collect(Collectors.toList());
List<WorkStepDepartment> workStepDepartments = workStepDepartmentService.getByPartsIdsAndDepartIds(workStepIds, departmentIdList);
- List<PermissionStream> permissionStreams = permissionStreamService.getByPartsIdsAndDepartIds(workStepIds, departmentIdList);
+ List<PermissionStreamNew> permissionStreams = permissionStreamNewService.loadPermissionStreamNewByBusinessIdsAndDepartIds(workStepIds, departmentIdList,"6");
if (!workStepDepartments.isEmpty()) {
workStepDepartmentService.removeByCollection(workStepDepartments);
}
if (!permissionStreams.isEmpty()) {
- permissionStreamService.removeByCollection(permissionStreams);
+ permissionStreamNewService.deletePermissionStreamNewByList(permissionStreams);
}
}
- private void handlePartsRelatedRemovals(ComponentInfo componentInfo,PartsInfo partsInfo,Collection<SysUser> userList) {
+ private void handleProcessSpecVersionRelatedRemovals(ComponentInfo componentInfo,ProcessSpecVersion processSpecVersion,Collection<SysUser> userList) {
List<ProcessStream> processStreamList =new ArrayList<>();
String productId="";
- if (partsInfo!=null){
- processStreamList= processStreamService.list(new QueryWrapper<ProcessStream>().eq("parts_id", partsInfo.getPartsId()));
- productId=partsInfo.getProductId();
+ if (processSpecVersion!=null){
+ processStreamList= processStreamService.list(new QueryWrapper<ProcessStream>().eq("psv_id", processSpecVersion.getId()));
+ productId=processSpecVersion.getProductId();
}else {
processStreamList= processStreamService.list(new QueryWrapper<ProcessStream>().eq("component_id", componentInfo.getComponentId()).isNull("parts_id"));
productId=componentInfo.getProductId();
@@ -1775,13 +2080,13 @@
}
List<String> userIdList = userList.stream().map(SysUser::getId).collect(Collectors.toList());
List<ProcessionPermission> processionPermissions = iProcessStreamPermissionService.getByProcessIdsAndUserIds(processIds, userIdList);
- List<PermissionStream> permissionStreams = permissionStreamService.getByPartsIdsAndUserIds(processIds, userIdList);
+ List<PermissionStreamNew> permissionStreams = permissionStreamNewService.loadPermissionStreamNewByBusinessIdsAndUserIds(processIds, userIdList,"5");
if (!processionPermissions.isEmpty()) {
iProcessStreamPermissionService.removeByCollection(processionPermissions);
}
if (!permissionStreams.isEmpty()) {
- permissionStreamService.removeByCollection(permissionStreams);
+ permissionStreamNewService.deletePermissionStreamNewByList(permissionStreams);
}
}
@@ -1791,13 +2096,13 @@
}
List<String> departmentIdList = mdcProductionList.stream().map(MdcProduction::getId).collect(Collectors.toList());
List<ProcessionDepartment> processionDepartments = processionDepartmentService.getByPartsIdsAndDepartIds(processIds, departmentIdList);
- List<PermissionStream> permissionStreams = permissionStreamService.getByPartsIdsAndDepartIds(processIds, departmentIdList);
+ List<PermissionStreamNew> permissionStreams = permissionStreamNewService.loadPermissionStreamNewByBusinessIdsAndDepartIds(processIds, departmentIdList,"5");
if (!processionDepartments.isEmpty()) {
processionDepartmentService.removeByCollection(processionDepartments);
}
if (!permissionStreams.isEmpty()) {
- permissionStreamService.removeByCollection(permissionStreams);
+ permissionStreamNewService.deletePermissionStreamNewByList(permissionStreams);
}
}
@@ -1805,7 +2110,7 @@
List<WorkStep> workStepList = workStepService.getByProcessIds(productId, processIds);
if (workStepList!=null){
workStepList.forEach(item->{
- handleRelatedRemovals(item.getProcessId(), userList, workStepService, iWorkStepPermissionService, permissionStreamService, "process_id");
+ handleRelatedRemovals(item.getProcessId(), userList, workStepService, iWorkStepPermissionService, permissionStreamNewService, "process_id");
});
}
}
@@ -1814,7 +2119,7 @@
List<WorkStep> workStepList = workStepService.getByProcessIds(productId, processIds);
if (workStepList!=null){
workStepList.forEach(item->{
- handleRelatedDepartmentRemovals(item.getProcessId(), mdcProductionList, workStepService, workStepDepartmentService, permissionStreamService, "process_id");
+ handleRelatedDepartmentRemovals(item.getProcessId(), mdcProductionList, workStepService, workStepDepartmentService, permissionStreamNewService, "process_id");
});
}
}
@@ -1825,8 +2130,30 @@
handleComponentRemovals(componentIds, userList);
handlePartsRemovals(productInfo.getProductId(), componentIds, userList);
componentInfoList.forEach(item->{
- handlePartsRelatedRemovals(item,null, userList);
+ handleProcessSpecVersionRelatedRemovals(item,null, userList);
});
+ }
+
+ private void handlePartRelatedRemovals(PartsInfo partsInfo, Collection<SysUser> userList) {
+ List<ProcessSpecVersion> processSpecVersions = processSpecVersionService.getByPartsId(partsInfo.getPartsId());
+ if (processSpecVersions!=null){
+ List<String> psvIds = processSpecVersions.stream().map(ProcessSpecVersion::getId).collect(Collectors.toList());
+ handleProcessSpecVersionRemovals(psvIds, userList);
+ processSpecVersions.forEach(item->{
+ handleProcessSpecVersionRelatedRemovals(null,item, userList);
+ });
+ }
+ }
+
+ private void handlePartRelatedDepartmentRemovals(PartsInfo partsInfo, Collection<MdcProduction> mdcProductionList) {
+ List<ProcessSpecVersion> processSpecVersions = processSpecVersionService.getByPartsId(partsInfo.getPartsId());
+ if (processSpecVersions!=null){
+ List<String> psvIds = processSpecVersions.stream().map(ProcessSpecVersion::getId).collect(Collectors.toList());
+ handleProcessSpecVersionDepartmentRemovals(psvIds, mdcProductionList);
+ processSpecVersions.forEach(item->{
+ handleProcessSpecVersionRelatedDepartmentRemovals(null,item, mdcProductionList);
+ });
+ }
}
private void handleProductRelatedDepartmentRemovals(ProductInfo productInfo, Collection<MdcProduction> mdcProductionList) {
@@ -1835,7 +2162,7 @@
handleComponentDepartmentRemovals(componentIds, mdcProductionList);
handlePartsDepartmentRemovals(productInfo.getProductId(), componentIds, mdcProductionList);
componentInfoList.forEach(item->{
- handlePartsRelatedDepartmentRemovals(item,null, mdcProductionList);
+ handleProcessSpecVersionRelatedDepartmentRemovals(item,null, mdcProductionList);
});
}
@@ -1845,15 +2172,46 @@
}
List<String> userIdList = userList.stream().map(SysUser::getId).collect(Collectors.toList());
List<ComponentPermission> componentPermissions = componentPermissionService.getByComponentIdsAndUserIds(componentIds, userIdList);
- List<PermissionStream> permissionStreams = permissionStreamService.getByComponentIdsAndUserIds(componentIds, userIdList);
+ List<PermissionStreamNew> permissionStreams = permissionStreamNewService.loadPermissionStreamNewByBusinessIdsAndUserIds(componentIds, userIdList,"2");
if (!componentPermissions.isEmpty()) {
componentPermissionService.removeByCollection(componentPermissions);
}
if (!permissionStreams.isEmpty()) {
- permissionStreamService.removeByCollection(permissionStreams);
+ permissionStreamNewService.deletePermissionStreamNewByList(permissionStreams);
}
}
+
+ private void handleProcessSpecVersionRemovals(List<String> psvIds, Collection<SysUser> userList) {
+ if (psvIds.isEmpty()) {
+ return;
+ }
+ List<String> userIdList = userList.stream().map(SysUser::getId).collect(Collectors.toList());
+ List<ProcessSpecVersionPermission> processSpecVersionPermissions = processSpecVersionPermissionService.getByPsvIdsAndUserIds(psvIds, userIdList);
+ List<PermissionStreamNew> permissionStreams = permissionStreamNewService.loadPermissionStreamNewByBusinessIdsAndUserIds(psvIds, userIdList,"4");
+ if (!processSpecVersionPermissions.isEmpty()) {
+ processSpecVersionPermissionService.removeByCollection(processSpecVersionPermissions);
+ }
+ if (!permissionStreams.isEmpty()) {
+ permissionStreamNewService.deletePermissionStreamNewByList(permissionStreams);
+ }
+ }
+
+ private void handleProcessSpecVersionDepartmentRemovals(List<String> psvIds, Collection<MdcProduction> mdcProductionList) {
+ if (psvIds.isEmpty()) {
+ return;
+ }
+ List<String> departmentIdList = mdcProductionList.stream().map(MdcProduction::getId).collect(Collectors.toList());
+ List<ProcessSpecVersionDepartment> processSpecVersionDepartments =processSpecVersionDepartmentService.getByPsvIdsAndDepartIds(psvIds, departmentIdList);
+ List<PermissionStreamNew> permissionStreams = permissionStreamNewService.loadPermissionStreamNewByBusinessIdsAndDepartIds(psvIds, departmentIdList,"4");
+ if (!processSpecVersionDepartments.isEmpty()) {
+ processSpecVersionDepartmentService.removeByCollection(processSpecVersionDepartments);
+ }
+ if (!permissionStreams.isEmpty()) {
+ permissionStreamNewService.deletePermissionStreamNewByList(permissionStreams);
+ }
+ }
+
private void handleComponentDepartmentRemovals(List<String> componentIds, Collection<MdcProduction> mdcProductionList) {
if (componentIds.isEmpty()) {
@@ -1861,29 +2219,34 @@
}
List<String> departmentIdList = mdcProductionList.stream().map(MdcProduction::getId).collect(Collectors.toList());
List<ComponentDepartment> componentDepartments = componentDepartmentService.getByComponentIdsAndDepartIds(componentIds, departmentIdList);
- List<PermissionStream> permissionStreams = permissionStreamService.getByComponentIdsAndDepartIds(componentIds, departmentIdList);
+ List<PermissionStreamNew> permissionStreams = permissionStreamNewService.loadPermissionStreamNewByBusinessIdsAndDepartIds(componentIds, departmentIdList,"2");
if (!componentDepartments.isEmpty()) {
componentDepartmentService.removeByCollection(componentDepartments);
}
if (!permissionStreams.isEmpty()) {
- permissionStreamService.removeByCollection(permissionStreams);
+ permissionStreamNewService.deletePermissionStreamNewByList(permissionStreams);
}
}
- private void handlePartsRemovals(String productId, List<String> componentIds, Collection<SysUser> userList) {
+ private void handlePartsRemovals(String productId, List<String> componentIds,Collection<SysUser> userList) {
List<PartsInfo> partsInfoList = partsInfoService.getByComponentIdList(productId, componentIds);
- partsInfoList.forEach(item->{
- partsInfoService.assignRemoveUser(item,userList);
- handlePartsRelatedRemovals(null,item, userList);
- });
+ if (partsInfoList!=null){
+ partsInfoList.forEach(item->{
+ partsInfoService.assignRemoveUser(item,userList);
+ //鍒犻櫎
+ handlePartRelatedRemovals(item, userList);
+ });
+ }
}
private void handlePartsDepartmentRemovals(String productId, List<String> componentIds, Collection<MdcProduction> mdcProductionList) {
List<PartsInfo> partsInfoList = partsInfoService.getByComponentIdList(productId, componentIds);
- partsInfoList.forEach(item->{
- partsInfoService.assignRemoveDepart(item,mdcProductionList);
- handlePartsRelatedDepartmentRemovals(null,item, mdcProductionList);
- });
+ if (partsInfoList!=null) {
+ partsInfoList.forEach(item->{
+ partsInfoService.assignRemoveDepart(item,mdcProductionList);
+ handlePartRelatedDepartmentRemovals(item, mdcProductionList);
+ });
+ }
}
private void handleComponentRelatedRemovals(ComponentInfo componentInfo, Collection<SysUser> userList, Collection<MdcProduction> mdcProductionList) {
@@ -1898,7 +2261,7 @@
handlePartsDepartmentRemovals(componentInfo.getProductId(), componentIds, mdcProductionList);
if (childrenList != null) {
childrenList.forEach(item->{
- handlePartsRelatedDepartmentRemovals(item,null, mdcProductionList);
+ handleProcessSpecVersionRelatedDepartmentRemovals(item,null, mdcProductionList);
});
}
}else {
@@ -1906,21 +2269,21 @@
handlePartsRemovals(componentInfo.getProductId(), componentIds, userList);
if (childrenList != null) {
childrenList.forEach(item->{
- handlePartsRelatedRemovals(item,null, userList);
+ handleProcessSpecVersionRelatedRemovals(item,null, userList);
});
}
}
}
- private void handlePartsRelatedDepartmentRemovals(ComponentInfo componentInfo,PartsInfo partsInfo, Collection<MdcProduction> mdcProductionList) {
+ private void handleProcessSpecVersionRelatedDepartmentRemovals(ComponentInfo componentInfo,ProcessSpecVersion processSpecVersion, Collection<MdcProduction> mdcProductionList) {
List<ProcessStream> processStreamList=new ArrayList<>();
String productId="";
if (componentInfo!=null){
processStreamList = processStreamService.list(new QueryWrapper<ProcessStream>().eq("component_id", componentInfo.getComponentId()));
productId=componentInfo.getProductId();
}else {
- processStreamList = processStreamService.list(new QueryWrapper<ProcessStream>().eq("parts_id", partsInfo.getPartsId()));
- productId=partsInfo.getProductId();
+ processStreamList = processStreamService.list(new QueryWrapper<ProcessStream>().eq("psv_id", processSpecVersion.getId()));
+ productId=processSpecVersion.getProductId();
}
List<String> processIds = processStreamList.stream().map(ProcessStream::getProcessId).collect(Collectors.toList());
handleProcessDepartmentRemovals(processIds, mdcProductionList);
--
Gitblit v1.9.3