lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/controller/ProductInfoController.java
@@ -8,7 +8,9 @@ import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.dnc.entity.DocInfo; import org.jeecg.modules.dnc.entity.ProductInfo; import org.jeecg.modules.dnc.request.TreeInfoRequest; import org.jeecg.modules.dnc.response.CommonCode; import org.jeecg.modules.dnc.response.CommonGenericTree; import org.jeecg.modules.dnc.response.QueryListResponseResult; @@ -270,4 +272,20 @@ } return Result.error("å é¤å¤±è´¥ï¼"); } /** * éè¿é¶ä»¶å·ãæè´¨çæ¥è¯¢å¯¹åºçµåæ ·æ¿ * @param treeInfoRequest * @return */ @AutoLog(value = "é¶ä»¶ä¿¡æ¯è¡¨-éè¿é¶ä»¶å·ãæè´¨çæ¥è¯¢å¯¹åºçµåæ ·æ¿") @ApiOperation(value = "é¶ä»¶ä¿¡æ¯è¡¨-éè¿é¶ä»¶å·ãæè´¨çæ¥è¯¢å¯¹åºçµåæ ·æ¿", notes = "é¶ä»¶ä¿¡æ¯è¡¨-éè¿é¶ä»¶å·ãæè´¨çæ¥è¯¢å¯¹åºçµåæ ·æ¿") @GetMapping("/query") public Result<?> queryPartsInfo(TreeInfoRequest treeInfoRequest) { List<DocInfo> list = productInfoService.getByTreeOtherFileInfo(treeInfoRequest); if (list == null) list = Collections.emptyList(); return Result.ok(list); } } lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/entity/DocInfo.java
@@ -64,6 +64,7 @@ @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String pullUser; @TableField(exist = false) @Dict(dicCode = "nc_doc_relative_attribution_type") private Integer attributionType; @TableField(exist = false) private String attributionId; @@ -74,4 +75,11 @@ @Dict(dicCode = "dnc_doc_sync_status") private Integer syncStatus; //æå±èç¹åç§° @TableField(exist = false) private String nodeName; //æå±èç¹ä»£å· @TableField(exist = false) private String nodeCode; } lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/request/DocInfoQueryRequest.java
@@ -15,6 +15,9 @@ private Integer attributionType; @ApiModelProperty(value = "ç»å®ç±»å对åºçid 1 产åid 2 é¨ä»¶id 3 é¶ä»¶id 4 设å¤id 5 å·¥åºid", example = "234324234", required = true) private String attributionId; /**ç¸åç±»å,ç»å®ç±»å对åºçids*/ @ApiModelProperty(value = "ç»å®ç±»å对åºçids 1 产åids 2 é¨ä»¶ids 3 é¶ä»¶ids 4 设å¤ids 5 å·¥åºids") private String attributionIds; @ApiModelProperty(value = "ææ¡£åç±» NC=NCææ¡£ OTHER=å ¶ä»ææ¡£ SEND=设å¤åéææ¡£ REC=è®¾å¤æ¥åææ¡£", example = "NC", required = true) private String docClassCode; @ApiModelProperty(value = "NCæä»¶åç§°") lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/request/TreeInfoRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,65 @@ package org.jeecg.modules.dnc.request; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Data @NoArgsConstructor @ApiModel(value = "æ ç»ææä»¶æ¥è¯¢åæ°", description = "æ ç»ææä»¶æ¥è¯¢åæ°") public class TreeInfoRequest { private List<String> productIds; private List<String> componentIds; private List<String> partsIds; private String treeName; private String structureType; private String treeCode; @ApiModelProperty(value = "ææ¡£id") private String docId; @ApiModelProperty(value = "ç»å®ç±»å 1 产å 2 é¨ä»¶ 3 é¶ä»¶ 4 è®¾å¤ 5 å·¥åº", example = "1", required = true) private Integer attributionType; @ApiModelProperty(value = "ç»å®ç±»å对åºçid 1 产åid 2 é¨ä»¶id 3 é¶ä»¶id 4 设å¤id 5 å·¥åºid", example = "234324234", required = true) private String attributionId; /**ç¸åç±»å,ç»å®ç±»å对åºçids*/ @ApiModelProperty(value = "ç»å®ç±»å对åºçids 1 产åids 2 é¨ä»¶ids 3 é¶ä»¶ids 4 设å¤ids 5 å·¥åºids") private String attributionIds; @ApiModelProperty(value = "ææ¡£åç±» NC=NCææ¡£ OTHER=å ¶ä»ææ¡£ SEND=设å¤åéææ¡£ REC=è®¾å¤æ¥åææ¡£", example = "NC", required = true) private String docClassCode; @ApiModelProperty(value = "NCæä»¶åç§°") private String docName; @ApiModelProperty(value = "ä¸ä¼ æ¶é´å¼å§") private String startTime; @ApiModelProperty(value = "ä¸ä¼ æ¶é´ç»æ") private String endTime; //æåºå段 @ApiModelProperty(value = "æåºå段") private String column; @ApiModelProperty(value = "æåº") private String order; @ApiModelProperty(value = "ææ¡£ç¶æ") private String docStatus; @ApiModelProperty(value = "审ç¾ç¶æ") private String docDispatchStatus; @ApiModelProperty(value = "åºåºç¶æ") private String pullStatus; @ApiModelProperty(value = "åæ¥ç¶æ 1 æªåæ¥ 2 已忥") private Integer syncStatus; } lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IComponentInfoService.java
@@ -3,7 +3,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.dnc.dto.ComponentExt; import org.jeecg.modules.dnc.entity.ComponentInfo; import org.jeecg.modules.dnc.entity.DocInfo; import org.jeecg.modules.dnc.entity.PermissionStream; import org.jeecg.modules.dnc.request.TreeInfoRequest; import org.jeecg.modules.system.entity.MdcProduction; import org.jeecg.modules.system.entity.SysUser; @@ -142,6 +144,13 @@ * @return */ List<ComponentInfo> getByParentIdAndUserId(String parentId, String userId); /** * éè¿é¶ä»¶å·ãæè´¨çæ¥è¯¢å¯¹åºçµåæ ·æ¿ * @param treeInfoRequest * @return */ List<DocInfo> getByComponentInfo(TreeInfoRequest treeInfoRequest); } lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java
@@ -6,11 +6,9 @@ import org.jeecg.modules.dnc.entity.DocFile; import org.jeecg.modules.dnc.entity.DocInfo; import org.jeecg.modules.dnc.entity.ProcessStream; import org.jeecg.modules.dnc.response.QueryListResponseResult; import org.jeecg.modules.dnc.response.QueryPageResponseResult; import org.jeecg.modules.dnc.response.ResponseResult; import org.jeecg.modules.dnc.request.DocInfoQueryRequest; import org.jeecg.modules.dnc.request.DocInfoUploadRequest; import org.jeecg.modules.dnc.response.ResponseResult; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; @@ -217,6 +215,14 @@ List<DocInfo> findList(DocInfoQueryRequest docQuery); /** * éè¿ä¸ç»attributionId,docClassCode,attributionTypeæ¥è¯¢å¯ææ´¾çææ¡£ä¿¡æ¯å表 * @param docQuery * @return */ List<DocInfo> findListByDocQuery(DocInfoQueryRequest docQuery); /** * è·åä¸ç»å·¥åºä¸çææ¡£ä¿¡æ¯å表 * @param streams * @return lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IPartsInfoService.java
@@ -1,7 +1,9 @@ package org.jeecg.modules.dnc.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.dnc.entity.DocInfo; import org.jeecg.modules.dnc.entity.PartsInfo; import org.jeecg.modules.dnc.request.TreeInfoRequest; import org.jeecg.modules.system.entity.MdcProduction; import org.jeecg.modules.system.entity.SysUser; @@ -114,4 +116,11 @@ * @return */ PartsInfo getByCode(String partsCode); /** * éè¿é¶ä»¶å·ãæè´¨çæ¥è¯¢å¯¹åºçµåæ ·æ¿ * @param treeInfoRequest * @return */ List<DocInfo> getByPartsInfo(TreeInfoRequest treeInfoRequest); } lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IProcessSpecVersionService.java
@@ -2,7 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.dnc.entity.DocInfo; import org.jeecg.modules.dnc.entity.ProcessSpecVersion; import org.jeecg.modules.dnc.request.TreeInfoRequest; import org.jeecg.modules.system.entity.MdcProduction; import org.jeecg.modules.system.entity.SysUser; @@ -110,9 +112,10 @@ Result<?> getProcessSpecVersionCount(String processSpecId); /** * æ¥è¯¢å·¥èºè§ç¨çæ¬ä¸çå·¥åºä¸å·¥æ¥ * @param processSpecVersionId * éè¿é¶ä»¶å·ãæè´¨çæ¥è¯¢å¯¹åºçµåæ ·æ¿ * @param treeInfoRequest * @return */ List<DocInfo> getByProcessSpecVersion(TreeInfoRequest treeInfoRequest); } lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IProductInfoService.java
@@ -2,7 +2,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.dnc.entity.DocInfo; import org.jeecg.modules.dnc.entity.ProductInfo; import org.jeecg.modules.dnc.request.TreeInfoRequest; import org.jeecg.modules.dnc.response.CommonGenericTree; import org.jeecg.modules.dnc.ucenter.UserDepartExt; import org.jeecg.modules.system.entity.MdcProduction; @@ -223,5 +225,12 @@ * @return */ Result<?> getTreeById(String id, Integer type); /** * éè¿ä»£å·ãåç§°ãæè´¨çæ¥è¯¢å¯¹åºçµåæ ·æ¿ * @param treeInfoRequest * @return */ List<DocInfo> getByTreeOtherFileInfo(TreeInfoRequest treeInfoRequest); } lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ComponentInfoSeServiceImpl.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; @@ -11,6 +13,8 @@ import org.jeecg.modules.dnc.exception.ExceptionCast; import org.jeecg.modules.dnc.mapper.ComponentInfoMapper; 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.CommonCode; import org.jeecg.modules.dnc.response.ComponentInfoCode; import org.jeecg.modules.dnc.response.ProductInfoCode; @@ -25,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.*; import java.util.stream.Collectors; @Service public class ComponentInfoSeServiceImpl extends ServiceImpl<ComponentInfoMapper, ComponentInfo> implements IComponentInfoService { @@ -40,6 +45,8 @@ @Lazy private IPartsInfoService partsInfoService; @Autowired private IProcessSpecVersionService processSpecVersionService; @Autowired private IProcessStreamService processStreamService; @Autowired private IProductMixService productMixService; @@ -47,7 +54,9 @@ private IDocRelativeService iDocRelativeService; @Autowired private IProductPermissionService productPermissionService; @Autowired @Lazy private IDocInfoService docInfoService; @Override @Transactional(rollbackFor = {Exception.class}) public boolean addComponentInfo(ComponentInfo componentInfo) { @@ -515,4 +524,46 @@ queryWrapper.orderByAsc(ComponentInfo::getCreateTime); return super.list(queryWrapper); } /** * éè¿é¶ä»¶å·ãæè´¨çæ¥è¯¢å¯¹åºçµåæ ·æ¿ * @param treeInfoRequest * @return */ @Override public List<DocInfo> getByComponentInfo(TreeInfoRequest treeInfoRequest){ LambdaQueryWrapper<ComponentInfo> queryWrapper = new LambdaQueryWrapper<>(); if (treeInfoRequest.getProductIds() != null && !treeInfoRequest.getProductIds().isEmpty()) { queryWrapper.in(ComponentInfo::getProductId, treeInfoRequest.getProductIds()); } if (treeInfoRequest.getAttributionType()==2){ queryWrapper.eq(StrUtil.isNotEmpty(treeInfoRequest.getAttributionId()),ComponentInfo::getComponentId,treeInfoRequest.getAttributionId()); } queryWrapper.like(StrUtil.isNotEmpty(treeInfoRequest.getTreeCode()),ComponentInfo::getComponentCode, treeInfoRequest.getTreeCode()); queryWrapper.like(StrUtil.isNotEmpty(treeInfoRequest.getTreeName()),ComponentInfo::getComponentName, treeInfoRequest.getTreeName()); queryWrapper.like(StrUtil.isNotEmpty(treeInfoRequest.getStructureType()),ComponentInfo::getStructureType, treeInfoRequest.getStructureType()); queryWrapper.orderByDesc(ComponentInfo::getCreateTime); List<ComponentInfo> list = super.list(queryWrapper); List<DocInfo> docInfos = new ArrayList<>(); if (list != null && !list.isEmpty()) { String ids=list.stream().map(ComponentInfo::getComponentId).collect(Collectors.joining(",")); DocInfoQueryRequest docQuery = new DocInfoQueryRequest(); BeanUtil.copyProperties(treeInfoRequest,docQuery); docQuery.setAttributionIds(ids); docQuery.setDocClassCode("OTHER"); docQuery.setAttributionType(2); docInfos=docInfoService.findListByDocQuery(docQuery); } if (treeInfoRequest.getAttributionType()==2){ List<String> id =new ArrayList<>(); id.add(treeInfoRequest.getAttributionId()); treeInfoRequest.setComponentIds(id); List<DocInfo> partsInfos = partsInfoService.getByPartsInfo(treeInfoRequest); docInfos.addAll(partsInfos); List<DocInfo> processSpecVersions = processSpecVersionService.getByProcessSpecVersion(treeInfoRequest); docInfos.addAll(processSpecVersions); } return docInfos; } } lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PartsInfoServiceImpl.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; @@ -12,6 +14,8 @@ import org.jeecg.modules.dnc.mapper.ComponentInfoMapper; import org.jeecg.modules.dnc.mapper.PartsInfoMapper; 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.CommonCode; import org.jeecg.modules.dnc.response.PartsInfoCode; import org.jeecg.modules.dnc.response.ProductInfoCode; @@ -21,10 +25,12 @@ import org.jeecg.modules.system.entity.MdcProduction; import org.jeecg.modules.system.entity.SysUser; 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; @Service public class PartsInfoServiceImpl extends ServiceImpl<PartsInfoMapper, PartsInfo> implements IPartsInfoService { @@ -46,6 +52,9 @@ private IProductPermissionService productPermissionService; @Autowired private IProductMixService productMixService; @Autowired @Lazy private IDocInfoService docInfoService; @Override @Transactional(rollbackFor = {Exception.class}) public boolean addPartsInfo(PartsInfo partsInfo) { @@ -435,4 +444,45 @@ return null; } /** * éè¿é¶ä»¶å·ãæè´¨çæ¥è¯¢å¯¹åºçµåæ ·æ¿ * @param treeInfoRequest * @return */ @Override public List<DocInfo> getByPartsInfo(TreeInfoRequest treeInfoRequest){ LambdaQueryWrapper<PartsInfo> queryWrapper = new LambdaQueryWrapper<>(); if (treeInfoRequest.getProductIds() != null && !treeInfoRequest.getProductIds().isEmpty()) { queryWrapper.in(PartsInfo::getProductId, treeInfoRequest.getProductIds()); } if (treeInfoRequest.getComponentIds() != null && !treeInfoRequest.getComponentIds().isEmpty()) { queryWrapper.in(PartsInfo::getComponentId, treeInfoRequest.getComponentIds()); } if (treeInfoRequest.getAttributionType()==3){ queryWrapper.eq(StrUtil.isNotEmpty(treeInfoRequest.getAttributionId()),PartsInfo::getPartsId,treeInfoRequest.getAttributionId()); } queryWrapper.like(StrUtil.isNotEmpty(treeInfoRequest.getTreeCode()),PartsInfo::getPartsCode, treeInfoRequest.getTreeCode()); queryWrapper.like(StrUtil.isNotEmpty(treeInfoRequest.getTreeName()),PartsInfo::getPartsName, treeInfoRequest.getTreeName()); queryWrapper.like(StrUtil.isNotEmpty(treeInfoRequest.getStructureType()),PartsInfo::getStructureType, treeInfoRequest.getStructureType()); queryWrapper.orderByDesc(PartsInfo::getCreateTime); List<PartsInfo> list = super.list(queryWrapper); List<DocInfo> docInfos = new ArrayList<>(); if (list != null && !list.isEmpty()) { String ids=list.stream().map(PartsInfo::getPartsId).collect(Collectors.joining(",")); DocInfoQueryRequest docQuery = new DocInfoQueryRequest(); BeanUtil.copyProperties(treeInfoRequest,docQuery); docQuery.setAttributionIds(ids); docQuery.setDocClassCode("OTHER"); docQuery.setAttributionType(3); docInfos=docInfoService.findListByDocQuery(docQuery); } if (treeInfoRequest.getAttributionType()==3){ List<String> id =new ArrayList<>(); id.add(treeInfoRequest.getAttributionIds()); treeInfoRequest.setPartsIds(id); List<DocInfo> processSpecVersions = processSpecVersionService.getByProcessSpecVersion(treeInfoRequest); docInfos.addAll(processSpecVersions); } return docInfos; } } 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; @@ -22,6 +26,7 @@ import org.springframework.stereotype.Service; import java.util.*; import java.util.stream.Collectors; @Service public class ProcessSpecVersionServiceImpl extends ServiceImpl<ProcessSpecVersionMapper, ProcessSpecVersion> implements IProcessSpecVersionService{ @@ -46,6 +51,9 @@ private IWorkStepService workStepService; @Autowired private IProductPermissionService productPermissionService; @Autowired @Lazy private IDocInfoService docInfoService; /** * æ ¹æ®ç¨æ·idè·åææçå·¥èºè§ç¨çæ¬è¡¨ä¿¡æ¯ * @param userId @@ -457,4 +465,41 @@ 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); } } } lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java
@@ -1,5 +1,7 @@ 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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -13,6 +15,8 @@ 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; @@ -80,6 +84,8 @@ private IWorkStepPermissionService iWorkStepPermissionService; @Autowired private IProductMixService productMixService; @Autowired private IDocInfoService docInfoService; @Override @Transactional(rollbackFor = {Exception.class}) @@ -1016,6 +1022,87 @@ } /** * éè¿ä»£å·ãåç§°ãæè´¨çæ¥è¯¢å¯¹åºçµåæ ·æ¿ * @param treeInfoRequest * @return */ @Override public List<DocInfo> getByTreeOtherFileInfo(TreeInfoRequest treeInfoRequest){ switch (treeInfoRequest.getAttributionType()){ case 1: LambdaQueryWrapper<ProductInfo> queryWrapper = new LambdaQueryWrapper<>(); // æç¡®æ¡ä»¶ï¼ä» å½attributionType为1ä¸attributionIdéç©ºæ¶æ·»å æ¡ä»¶ 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 (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){ //对æå±idè¿è¡ç¿»è¯ 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; } /** * éªè¯è¾å ¥åæ° */ private void validateInputParameters(Integer nodeType, String paramId, Integer relativeFlag, String type, String[] paramIds) { lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/controller/AssignStreamFlowController.java
@@ -97,7 +97,6 @@ return flowTaskService.finishedList(pageNo, pageSize,flowMyBusinessDto); } @ApiOperation(value = "è·å工使µåå²ä»»å¡", response = FlowTaskDto.class) @GetMapping(value = "/queryHisTaskList") public Result<?> queryHisTaskList(@RequestParam(name = "procInstId") String procInstId) { lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/IFlowTaskService.java
@@ -46,6 +46,14 @@ Result findReturnTaskListByDataId(FlowTaskVo flowTaskVo); /** * ç»ææµç¨ * @param processInstanceId * @param deleteReason * @return */ Result<?> end(String processInstanceId, String deleteReason); /** * å é¤ä»»å¡ * * @param flowTaskVo 请æ±å®ä½åæ° lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java
@@ -668,6 +668,26 @@ flowTaskVo.setTaskId(business.getTaskId()); return findReturnTaskList(flowTaskVo); } /** * ç»ææµç¨ * @param processInstanceId æµç¨å®ä¾ ID * @param deleteReason å®ä¹å é¤åå */ public Result<?> end(String processInstanceId, String deleteReason) { try { // 强å¶ç»ææµç¨å®ä¾ runtimeService.deleteProcessInstance(processInstanceId, deleteReason); System.out.println("Process instance with ID " + processInstanceId + " has been forcefully ended."); } catch (Exception e) { System.err.println("Failed to force end process instance: " + e.getMessage()); } // å ³éæµç¨å¼æ processEngine.close(); return Result.OK("æµç¨å·²ç»æ"); } /** * è·åææå¯åéçèç¹ *