From bb696e8e702854b62b144b22e20e36981301e6cf Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期四, 17 四月 2025 09:46:24 +0800 Subject: [PATCH] 新增筛选电子样板接口、新增强制终止流程方法, --- lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessSpecVersionServiceImpl.java | 83 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 72 insertions(+), 11 deletions(-) diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessSpecVersionServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessSpecVersionServiceImpl.java index 370f098..a30dec5 100644 --- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessSpecVersionServiceImpl.java +++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProcessSpecVersionServiceImpl.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.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -12,6 +14,8 @@ import org.jeecg.modules.dnc.mapper.PartsInfoMapper; import org.jeecg.modules.dnc.mapper.ProcessSpecVersionMapper; 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.utils.ValidateUtil; @@ -21,10 +25,8 @@ import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; @Service public class ProcessSpecVersionServiceImpl extends ServiceImpl<ProcessSpecVersionMapper, ProcessSpecVersion> implements IProcessSpecVersionService{ @@ -45,6 +47,13 @@ private IProcessSpecVersionDepartmentService processSpecVersionDepartmentService; @Autowired private IProductMixService productMixService; + @Autowired + private IWorkStepService workStepService; + @Autowired + private IProductPermissionService productPermissionService; + @Autowired + @Lazy + private IDocInfoService docInfoService; /** * 鏍规嵁鐢ㄦ埛id鑾峰彇鎺堟潈鐨勫伐鑹鸿绋嬬増鏈〃淇℃伅 * @param userId @@ -89,7 +98,7 @@ if(ProcessSpecVersion == null) ExceptionCast.cast(CommonCode.INVALID_PARAM); if(!ValidateUtil.validateString(ProcessSpecVersion.getProcessSpecVersionName())) - ExceptionCast.cast(PartsInfoCode.PARTS_NAME_NONE); + ExceptionCast.cast(PartsInfoCode.PROCESSSPECVERSION_NONE); if(!ValidateUtil.validateString(ProcessSpecVersion.getProductId())) ExceptionCast.cast(PartsInfoCode.PARTS_PRODUCT_NONE); if(!ValidateUtil.validateString(ProcessSpecVersion.getComponentId())) @@ -98,7 +107,7 @@ ExceptionCast.cast(ProcessInfoCode.PROCESS_PARTS_NONE); if(!ValidateUtil.validateString(ProcessSpecVersion.getProcessSpecVersionCode())) ExceptionCast.cast(PartsInfoCode.PROCESSSPECVERSION_CODE_NONE); - ProcessSpecVersion en = getByCode(ProcessSpecVersion.getProcessSpecVersionCode()); + ProcessSpecVersion en = getByCode(ProcessSpecVersion.getPartsId(),ProcessSpecVersion.getProcessSpecVersionCode()); if(en != null) ExceptionCast.cast(PartsInfoCode.PROCESSSPECVERSION_IS_EXIST); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); @@ -144,16 +153,22 @@ ExceptionCast.cast(CommonCode.FAIL); } } + //娣诲姞鐢ㄦ埛鏉冮檺 + b = productPermissionService.add(ProcessSpecVersion.getId(), userId,"4"); + if (!b) { + ExceptionCast.cast(ProductInfoCode.PRODUCT_SAVE_ERROR); + } //娣诲姞缁撴瀯鏍� ProductMix productMix = new ProductMix(Long.parseLong(ProcessSpecVersion.getId()),Long.parseLong(ProcessSpecVersion.getPartsId()) - ,ProcessSpecVersion.getProcessSpecVersionName(),ProcessSpecVersion.getProcessSpecVersionCode(),"4"); + ,ProcessSpecVersion.getProcessSpecVersionName(), + ProcessSpecVersion.getProcessSpecVersionCode(),4,new Date()); productMixService.save(productMix); //娣诲姞鐢ㄦ埛鏉冮檺 PermissionStreamNew stream = new PermissionStreamNew(); stream.setBusinessId(ProcessSpecVersion.getId()); stream.setBusinessType("4"); stream.setUserId(userId); - return permissionStreamNewService.save(stream); + return permissionStreamNewService.addPermissionStreamNew(stream); } /** @@ -178,6 +193,11 @@ processSpecVersion.setComponentId(null); processSpecVersion.setPartsId(null); boolean b = super.updateById(processSpecVersion); + //鍚屾淇敼缁撴瀯鏍� + ProductMix productMix = productMixService.getById(Long.parseLong(id)); + productMix.setName(processSpecVersion.getProcessSpecVersionName()); + productMix.setCode(processSpecVersion.getProcessSpecVersionCode()); + productMixService.updateById(productMix); if(!b) return false; ProcessSpecVersionPermission permission = processSpecVersionPermissionService.getByPsvIdAndUserId(id, userId); @@ -211,7 +231,7 @@ ExceptionCast.cast(PartsInfoCode.PARTS_NOT_EXIST); List<ProcessStream> processStreams = processStreamService.findBypsvId(id); if(processStreams!= null &&!processStreams.isEmpty()) - ExceptionCast.cast(PartsInfoCode.PARTS_PROCESS_EXIST); + ExceptionCast.cast(PartsInfoCode.PROCESSSPECVERSION_PROCESS_EXIST); boolean b = processSpecVersionPermissionService.deleteByPsvId(processSpecVersion.getId()); if(!b) ExceptionCast.cast(CommonCode.FAIL); @@ -231,9 +251,11 @@ } @Override - public ProcessSpecVersion getByCode(String processSpecVersionCode) { + public ProcessSpecVersion getByCode(String partId,String processSpecVersionCode) { if(ValidateUtil.validateString(processSpecVersionCode)) { - List<ProcessSpecVersion> list = super.lambdaQuery().eq(ProcessSpecVersion::getProcessSpecVersionCode, processSpecVersionCode).list(); + List<ProcessSpecVersion> list = super.lambdaQuery() + .eq(ProcessSpecVersion::getPartsId, partId) + .eq(ProcessSpecVersion::getProcessSpecVersionCode, processSpecVersionCode).list(); if(list == null || list.isEmpty()) return null; return list.get(0); @@ -439,6 +461,45 @@ */ @Override public Result<?> getProcessSpecVersionCount(String processSpecId){ + List<ProcessStream> list = processStreamService.findBypsvId(processSpecId); + List<WorkStep> workStepList=workStepService.list(new LambdaQueryWrapper<WorkStep>().eq(WorkStep::getPsvId,processSpecId)); return null; } + + /** + * 閫氳繃闆朵欢鍙枫�佹潗璐ㄧ瓑鏌ヨ瀵瑰簲鐢靛瓙鏍锋澘 + * @param treeInfoRequest + * @return + */ + @Override + public List<DocInfo> getByProcessSpecVersion(TreeInfoRequest treeInfoRequest){ + LambdaQueryWrapper<ProcessSpecVersion> queryWrapper = new LambdaQueryWrapper<>(); + if (treeInfoRequest.getProductIds() != null && !treeInfoRequest.getProductIds().isEmpty()) { + queryWrapper.in(ProcessSpecVersion::getProductId, treeInfoRequest.getProductIds()); + } + if (treeInfoRequest.getComponentIds() != null && !treeInfoRequest.getComponentIds().isEmpty()) { + queryWrapper.in(ProcessSpecVersion::getComponentId, treeInfoRequest.getComponentIds()); + } + if (treeInfoRequest.getPartsIds() != null && !treeInfoRequest.getPartsIds().isEmpty()) { + queryWrapper.in(ProcessSpecVersion::getPartsId, treeInfoRequest.getPartsIds()); + } + if (treeInfoRequest.getAttributionType()==4){ + queryWrapper.eq(StrUtil.isNotEmpty(treeInfoRequest.getAttributionId()),ProcessSpecVersion::getId,treeInfoRequest.getAttributionId()); + } + queryWrapper.like(StrUtil.isNotEmpty(treeInfoRequest.getTreeName()),ProcessSpecVersion::getProcessSpecVersionName, treeInfoRequest.getTreeName()); + queryWrapper.like(StrUtil.isNotEmpty(treeInfoRequest.getTreeCode()),ProcessSpecVersion::getProcessSpecVersionCode, treeInfoRequest.getTreeName()); + queryWrapper.orderByDesc(ProcessSpecVersion::getCreateTime); + List<ProcessSpecVersion> list = super.list(queryWrapper); + if (list == null || list.isEmpty()){ + return new ArrayList<>(); + }else { + String ids=list.stream().map(ProcessSpecVersion::getId).collect(Collectors.joining(",")); + DocInfoQueryRequest docQuery = new DocInfoQueryRequest(); + BeanUtil.copyProperties(treeInfoRequest,docQuery); + docQuery.setAttributionIds(ids); + docQuery.setDocClassCode("OTHER"); + docQuery.setAttributionType(4); + return docInfoService.findListByDocQuery(docQuery); + } + } } -- Gitblit v1.9.3