From 73be743ff89b54fa14fb07afa72e6d833406a381 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期一, 16 六月 2025 16:49:09 +0800
Subject: [PATCH] 工具管理-调整参数导入增加集团公司编码、标记、工具简称字段
---
lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessStreamServiceImpl.java | 158 +++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 137 insertions(+), 21 deletions(-)
diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessStreamServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessStreamServiceImpl.java
index b5e0bb4..8b1fc58 100644
--- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessStreamServiceImpl.java
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessStreamServiceImpl.java
@@ -1,5 +1,7 @@
package org.jeecg.modules.dnc.service.impl;
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -7,13 +9,18 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.dnc.constant.DocAttributionTypeEnum;
import org.jeecg.modules.dnc.entity.*;
import org.jeecg.modules.dnc.exception.ExceptionCast;
import org.jeecg.modules.dnc.mapper.ProcessStreamMapper;
+import org.jeecg.modules.dnc.request.DocInfoQueryRequest;
import org.jeecg.modules.dnc.request.ProcessStreamRequest;
+import org.jeecg.modules.dnc.request.TreeInfoRequest;
import org.jeecg.modules.dnc.response.*;
import org.jeecg.modules.dnc.service.*;
import org.jeecg.modules.dnc.utils.ValidateUtil;
+import org.jeecg.modules.mdc.entity.MdcEquipment;
+import org.jeecg.modules.mdc.service.IMdcEquipmentService;
import org.jeecg.modules.system.entity.MdcProduction;
import org.jeecg.modules.system.entity.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
@@ -22,6 +29,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
+import java.util.stream.Collectors;
@Service
public class ProcessStreamServiceImpl extends ServiceImpl<ProcessStreamMapper, ProcessStream> implements IProcessStreamService {
@@ -33,8 +41,7 @@
@Autowired
private IProcessSpecVersionService processSpecVersionService;
@Autowired
- @Lazy
- private IDeviceInfoService deviceInfoService;
+ private IMdcEquipmentService mdcEquipmentService;
@Autowired
private IPermissionStreamNewService permissionStreamNewService;
@Autowired
@@ -49,7 +56,11 @@
private IProductMixService productMixService;
@Autowired
private IProductPermissionService productPermissionService;
-
+ @Autowired
+ @Lazy
+ private IDocInfoService docInfoService;
+ @Autowired
+ private IDeviceTypeService deviceTypeService;
@Override
@Transactional(rollbackFor = {Exception.class})
public boolean addProcessStream(ProcessStream stream) {
@@ -80,7 +91,7 @@
if(en != null) {
ExceptionCast.cast(ProcessInfoCode.PROCESS_IS_EXIST);
}
- oldDepartPermList=permissionStreamNewService.loadPermissionStreamNewByBusinessId(psv.getId(),"4","1");
+ oldDepartPermList=permissionStreamNewService.loadPermissionStreamNewByBusinessId(psv.getId(), DocAttributionTypeEnum.OPERATION.getCode().toString(),"1");
}else {
ComponentInfo componentInfo = componentInfoService.getById(stream.getComponentId());
if(componentInfo == null)
@@ -92,7 +103,7 @@
if(en != null) {
ExceptionCast.cast(ProcessInfoCode.PROCESS_IS_EXIST);
}
- oldDepartPermList=permissionStreamNewService.loadPermissionStreamNewByBusinessId(componentInfo.getComponentId(),"2","1");
+ oldDepartPermList=permissionStreamNewService.loadPermissionStreamNewByBusinessId(componentInfo.getComponentId(),DocAttributionTypeEnum.COMPONENT.getCode().toString(),"1");
}
boolean b = super.save(stream);
if(!b)
@@ -109,7 +120,7 @@
PermissionStreamNew perm = new PermissionStreamNew();
perm.setDepartId(item.getDepartId());
perm.setBusinessId(stream.getProcessId());
- perm.setBusinessType("5");
+ perm.setBusinessType(DocAttributionTypeEnum.PROCESS.getCode().toString());
permissionStreamList.add(perm);
});
if(!processionDepartmentList.isEmpty()) {
@@ -124,7 +135,7 @@
}
}
//娣诲姞鐢ㄦ埛鏉冮檺
- b = productPermissionService.add(stream.getProcessId(), userId,"5");
+ b = productPermissionService.add(stream.getProcessId(), userId,DocAttributionTypeEnum.PROCESS.getCode().toString());
if (!b) {
ExceptionCast.cast(ProductInfoCode.PRODUCT_SAVE_ERROR);
}
@@ -132,17 +143,17 @@
ProductMix productMix;
if (stream.getPsvId() != null) {
productMix = new ProductMix(Long.parseLong(stream.getProcessId()),Long.parseLong(stream.getPsvId())
- ,stream.getProcessName(),stream.getProcessCode(),5,new Date());
+ ,stream.getProcessName(),stream.getProcessCode(),DocAttributionTypeEnum.PROCESS.getCode(),new Date());
}else {
productMix = new ProductMix(Long.parseLong(stream.getProcessId()),Long.parseLong(stream.getComponentId())
- ,stream.getProcessName(),stream.getProcessCode(),5,new Date());
+ ,stream.getProcessName(),stream.getProcessCode(),DocAttributionTypeEnum.PROCESS.getCode(),new Date());
}
productMixService.save(productMix);
//娣诲姞鏉冮檺楠岃瘉
PermissionStreamNew permissionStream = new PermissionStreamNew();
permissionStream.setUserId(userId);
permissionStream.setBusinessId(stream.getProcessId());
- permissionStream.setBusinessType("5");
+ permissionStream.setBusinessType(DocAttributionTypeEnum.PROCESS.getCode().toString());
return permissionStreamNewService.addPermissionStreamNew(permissionStream);
}
@@ -165,8 +176,8 @@
boolean b = super.updateById(stream);
//鍚屾淇敼缁撴瀯鏍�
ProductMix productMix = productMixService.getById(Long.parseLong(id));
- productMix.setName(stream.getProcessName());
- productMix.setCode(stream.getProcessCode());
+ productMix.setTreeName(stream.getProcessName());
+ productMix.setTreeCode(stream.getProcessCode());
productMixService.updateById(productMix);
if(!b)
ExceptionCast.cast(CommonCode.FAIL);
@@ -190,7 +201,7 @@
ExceptionCast.cast(ProcessInfoCode.WORKSTEP_HAS_DATA);
}
//楠岃瘉鏄惁瀛樺湪鏂囨。
- List<DocRelative> docRelativeList=iDocRelativeService.list(new QueryWrapper<DocRelative>().eq("attribution_type","5").eq("attribution_id",id));
+ List<DocRelative> docRelativeList=iDocRelativeService.list(new QueryWrapper<DocRelative>().eq("attribution_type",DocAttributionTypeEnum.PROCESS.getCode().toString()).eq("attribution_id",id));
if (!docRelativeList.isEmpty()){
ExceptionCast.cast(ProcessInfoCode.PROCESS_HAS_DOC);
}
@@ -248,8 +259,8 @@
public List<ProcessStream> validateDeviceProcessInfo(String pnCode, String deviceNo) {
if(!ValidateUtil.validateString(pnCode) || !ValidateUtil.validateString(deviceNo))
ExceptionCast.cast(CommonCode.INVALID_PARAM);
- DeviceInfo deviceInfo = deviceInfoService.getByDeviceNo(deviceNo);
- if(deviceInfo == null)
+ MdcEquipment mdcEquipment = mdcEquipmentService.findEquipmentNameByEquipmentId(deviceNo);
+ if(mdcEquipment == null)
ExceptionCast.cast(DeviceCode.DEVICE_NOT_EXIST);
PermissionStream stream = componentInfoService.validateComponentOrPartsPnCode(pnCode);
if(stream == null)
@@ -305,12 +316,12 @@
en.setProcessId(processStream.getProcessId());
processionDepartmentList.add(en);
}
- PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndDepartId(processStream.getProcessId(),item.getId(),"5");
+ PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndDepartId(processStream.getProcessId(),item.getId(),DocAttributionTypeEnum.PROCESS.getCode().toString());
if(stream == null) {
stream = new PermissionStreamNew();
stream.setDepartId(item.getId());
stream.setBusinessId(processStream.getProcessId());
- stream.setBusinessType("5");
+ stream.setBusinessType(DocAttributionTypeEnum.PROCESS.getCode().toString());
permissionStreamList.add(stream);
}
});
@@ -352,7 +363,7 @@
if(en != null) {
processionDepartmentList.add(en);
}
- PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndDepartId(processStream.getProcessId(),item.getId(),"5");
+ PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndDepartId(processStream.getProcessId(),item.getId(),DocAttributionTypeEnum.PROCESS.getCode().toString());
if(stream != null) {
permissionStreamList.add(stream);
}
@@ -387,12 +398,12 @@
en.setProcessId(processStream.getProcessId());
permissionList.add(en);
}
- PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(processStream.getProcessId(), item.getId(),"5");
+ PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(processStream.getProcessId(), item.getId(),DocAttributionTypeEnum.PROCESS.getCode().toString());
if(stream == null) {
stream = new PermissionStreamNew();
stream.setUserId(item.getId());
stream.setBusinessId(processStream.getProcessId());
- stream.setBusinessType("5");
+ stream.setBusinessType(DocAttributionTypeEnum.PROCESS.getCode().toString());
permissionStreamList.add(stream);
}
});
@@ -423,7 +434,7 @@
if(en != null) {
permissionList.add(en);
}
- PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(processStream.getProcessId(), item.getId(),"5");
+ PermissionStreamNew stream = permissionStreamNewService.loadPermissionStreamNewByBusinessIdAndUserId(processStream.getProcessId(), item.getId(),DocAttributionTypeEnum.PROCESS.getCode().toString());
if(stream != null) {
permissionStreamList.add(stream);
}
@@ -444,4 +455,109 @@
return true;
}
+ /**
+ * 閫氳繃宸ュ簭鍙枫�佸伐搴忓悕绉扮瓑鏌ヨ瀵瑰簲鐢靛瓙鏍锋澘
+ * 鐢靛瓙鏍锋澘鐩存帴鎸傚湪宸ュ簭涓�
+ * @param treeInfoRequest
+ * @return
+ */
+ @Override
+ public List<DocInfo> getByProcessStreamOtherFile(TreeInfoRequest treeInfoRequest){
+ LambdaQueryWrapper<ProcessStream> queryWrapper = new LambdaQueryWrapper<>();
+ if (treeInfoRequest.getProductIds() != null && !treeInfoRequest.getProductIds().isEmpty()) {
+ queryWrapper.in(ProcessStream::getProductId, treeInfoRequest.getProductIds());
+ }
+ if (treeInfoRequest.getComponentIds() != null && !treeInfoRequest.getComponentIds().isEmpty()) {
+ queryWrapper.in(ProcessStream::getComponentId, treeInfoRequest.getComponentIds());
+ }
+ if (treeInfoRequest.getPartsIds() != null && !treeInfoRequest.getPartsIds().isEmpty()) {
+ queryWrapper.in(ProcessStream::getPartsId, treeInfoRequest.getPartsIds());
+ }
+ if (treeInfoRequest.getPsvIds() != null && !treeInfoRequest.getPsvIds().isEmpty()) {
+ queryWrapper.in(ProcessStream::getPsvId, treeInfoRequest.getPsvIds());
+ }
+ if (Objects.equals(treeInfoRequest.getAttributionType(), DocAttributionTypeEnum.PROCESS.getCode())){
+ queryWrapper.eq(StrUtil.isNotEmpty(treeInfoRequest.getAttributionId()),ProcessStream::getProcessId,treeInfoRequest.getAttributionId());
+ }
+ queryWrapper.like(StrUtil.isNotEmpty(treeInfoRequest.getTreeName()),ProcessStream::getProcessName, treeInfoRequest.getTreeName());
+ queryWrapper.like(StrUtil.isNotEmpty(treeInfoRequest.getTreeCode()),ProcessStream::getProcessCode, treeInfoRequest.getTreeName());
+ queryWrapper.orderByDesc(ProcessStream::getCreateTime);
+ List<ProcessStream> list = super.list(queryWrapper);
+ List<DocInfo> docInfos;
+ if (list == null || list.isEmpty() || StrUtil.isNotBlank(treeInfoRequest.getStructureType())){
+ return new ArrayList<>();
+ }else {
+ String ids=list.stream().map(ProcessStream::getProcessId).collect(Collectors.joining(","));
+ DocInfoQueryRequest docQuery = new DocInfoQueryRequest();
+ BeanUtil.copyProperties(treeInfoRequest,docQuery);
+ docQuery.setAttributionIds(ids);
+ docQuery.setDocClassCode("OTHER");
+ docQuery.setAttributionType(DocAttributionTypeEnum.PROCESS.getCode());
+ docInfos=docInfoService.findListByDocQuery(docQuery);
+ if (Objects.equals(treeInfoRequest.getAttributionType(), DocAttributionTypeEnum.PROCESS.getCode())){
+ List<String> id =new ArrayList<>();
+ id.add(treeInfoRequest.getAttributionId());
+ treeInfoRequest.setProcessIds(id);
+ List<DocInfo> workSteps = workStepService.getByWorkStepOtherFile(treeInfoRequest);
+ docInfos.addAll(workSteps);
+ }
+ }
+ return docInfos;
+ }
+
+ /**
+ * 閫氳繃宸ュ簭鍙枫�佸伐搴忓悕绉扮瓑鏌ヨ瀵瑰簲NC鏂囦欢
+ * NC鏂囦欢瀛樺湪璁惧绫讳笅闈�
+ * @param treeInfoRequest
+ * @return
+ */
+ @Override
+ public List<DocInfo> getByProcessStreamNCFile(TreeInfoRequest treeInfoRequest){
+ LambdaQueryWrapper<ProcessStream> queryWrapper = new LambdaQueryWrapper<>();
+ if (treeInfoRequest.getProductIds() != null && !treeInfoRequest.getProductIds().isEmpty()) {
+ queryWrapper.in(ProcessStream::getProductId, treeInfoRequest.getProductIds());
+ }
+ if (treeInfoRequest.getComponentIds() != null && !treeInfoRequest.getComponentIds().isEmpty()) {
+ queryWrapper.in(ProcessStream::getComponentId, treeInfoRequest.getComponentIds());
+ }
+ if (treeInfoRequest.getPartsIds() != null && !treeInfoRequest.getPartsIds().isEmpty()) {
+ queryWrapper.in(ProcessStream::getPartsId, treeInfoRequest.getPartsIds());
+ }
+ if (treeInfoRequest.getPsvIds() != null && !treeInfoRequest.getPsvIds().isEmpty()) {
+ queryWrapper.in(ProcessStream::getPsvId, treeInfoRequest.getPsvIds());
+ }
+ if (Objects.equals(treeInfoRequest.getAttributionType(), DocAttributionTypeEnum.PROCESS.getCode())){
+ queryWrapper.eq(StrUtil.isNotEmpty(treeInfoRequest.getAttributionId()),ProcessStream::getProcessId,treeInfoRequest.getAttributionId());
+ }
+ queryWrapper.like(StrUtil.isNotEmpty(treeInfoRequest.getTreeName()),ProcessStream::getProcessName, treeInfoRequest.getTreeName());
+ queryWrapper.like(StrUtil.isNotEmpty(treeInfoRequest.getTreeCode()),ProcessStream::getProcessCode, treeInfoRequest.getTreeName());
+ queryWrapper.orderByDesc(ProcessStream::getCreateTime);
+ List<ProcessStream> list = super.list(queryWrapper);
+ List<DocInfo> docInfos = new ArrayList<>();
+ //NC鏂囦欢瀛樺湪瀵瑰簲鐨勮澶囩被涓嬶紝鎵�浠ラ渶瑕佽繃婊�
+ if (!list.isEmpty()) {
+ List<String> processIds = list.stream().map(ProcessStream::getProcessId).collect(Collectors.toList());
+ List<DeviceType> deviceTypeList = deviceTypeService.getDeviceTypeByAttribution(processIds,
+ DocAttributionTypeEnum.PROCESS.getCode(),treeInfoRequest.getDeviceManagementName(),treeInfoRequest.getDeviceManagementCode());
+ if (deviceTypeList != null && !deviceTypeList.isEmpty()) {
+ List<String> deviceManagementIds=deviceTypeList.stream().map(DeviceType::getId).collect(Collectors.toList());
+ DocInfoQueryRequest docQuery = new DocInfoQueryRequest();
+ BeanUtil.copyProperties(treeInfoRequest,docQuery);
+ docQuery.setAttributionIds(String.join(",",deviceManagementIds));
+ docQuery.setDocClassCode("NC");
+ docQuery.setAttributionType(DocAttributionTypeEnum.PROCESS.getCode());
+ docInfos=docInfoService.findListByDocQuery(docQuery);
+ }
+ if (Objects.equals(treeInfoRequest.getAttributionType(), DocAttributionTypeEnum.PROCESS.getCode())){
+ List<String> id =new ArrayList<>();
+ id.add(treeInfoRequest.getAttributionId());
+ treeInfoRequest.setProcessIds(id);
+ List<DocInfo> docInfoList = workStepService.getByWorkStepNCFile(treeInfoRequest);
+ docInfos.addAll(docInfoList);
+ }
+ return docInfos;
+ }
+ return null;
+ }
+
}
--
Gitblit v1.9.3