feat(制品库功能完善): 产品库不提供直接上传产品操作,文档需要从知识库中选取
新增接口:查询知识库文档列表 1. 调用知识库文档列表查询接口获取文档 2. 获取产品库下所有制品,检查文档id在产品库中是否已存在,若存在则设置isChoose为true
This commit is contained in:
parent
248102b5a4
commit
b316db25f3
|
|
@ -259,7 +259,7 @@ public class PmsProductLibraryController extends BaseController {
|
|||
// @RequiresPermissions("pms:pmsProductLibraryComponent:list")
|
||||
@GetMapping("/{productRepoName}/{repoName}/keyComponent/list")
|
||||
@ApiOperation(value = "制品库查询关键制品列表")
|
||||
public AjaxResult keyComponentList(@PathVariable String enterpriseIdentifier,
|
||||
public GenericsAjaxResult<NexusComponentResultVo<List<NexusResultDataVo>>> keyComponentList(@PathVariable String enterpriseIdentifier,
|
||||
@ApiParam(value = "产品库标识", required = true) @PathVariable("productRepoName") String productRepoName,
|
||||
@ApiParam(value = "制品库标识", required = true) @PathVariable("repoName") String repoName,
|
||||
@Valid ComponentSearchVo componentSearchVo) {
|
||||
|
|
@ -267,7 +267,21 @@ public class PmsProductLibraryController extends BaseController {
|
|||
componentSearchVo.setProductRepoName(productRepoName);
|
||||
NexusComponentResultVo<List<NexusResultDataVo>> result =
|
||||
pmsProductLibraryService.selectPmsProductLibraryKeyComponentList(enterpriseIdentifier, componentSearchVo);
|
||||
return success(result);
|
||||
return genericsSuccess(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取制品库下关键制品(排除自动生成的无关制品)
|
||||
*/
|
||||
// @RequiresPermissions("pms:pmsProductLibraryComponent:list")
|
||||
@GetMapping("/{productRepoName}/docList/")
|
||||
@ApiOperation(value = "查询知识库文档列表")
|
||||
public GenericsTableDataInfo<DocResultVo> docList(@PathVariable String enterpriseIdentifier,
|
||||
@ApiParam(value = "产品库标识", required = true) @PathVariable("productRepoName") String productRepoName,
|
||||
@Valid DocSearchVo docSearchVo) {
|
||||
docSearchVo.setEnterpriseIdentifier(enterpriseIdentifier);
|
||||
docSearchVo.setProductRepoName(productRepoName);
|
||||
return pmsProductLibraryService.selectDocList(docSearchVo);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
package com.microservices.pms.productLibrary.domain.vo;
|
||||
|
||||
import com.microservices.common.core.utils.bean.BeanUtils;
|
||||
import com.microservices.pms.document.domain.vo.PmsDocumentVo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 制品搜索对象
|
||||
*
|
||||
* @author otto
|
||||
* @date 2024-07-04
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("知识库文档数据对象")
|
||||
public class DocResultVo extends PmsDocumentVo {
|
||||
|
||||
/**
|
||||
* 是否已选择
|
||||
*/
|
||||
@ApiModelProperty(value = "是否已选择")
|
||||
private Boolean isChoose = false;
|
||||
|
||||
public DocResultVo(PmsDocumentVo pmsDocumentVo) {
|
||||
BeanUtils.copyProperties(pmsDocumentVo, this);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
package com.microservices.pms.productLibrary.domain.vo;
|
||||
|
||||
import com.microservices.common.core.utils.bean.BeanUtils;
|
||||
import com.microservices.common.core.web.domain.BaseEntity;
|
||||
import com.microservices.pms.document.domain.vo.PmsDocumentSearchVo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 制品搜索对象
|
||||
*
|
||||
* @author otto
|
||||
* @date 2024-07-04
|
||||
*/
|
||||
@Data
|
||||
@ApiModel("知识库文档搜索对象")
|
||||
public class DocSearchVo extends BaseEntity {
|
||||
/**
|
||||
* 文档名称
|
||||
*/
|
||||
@ApiModelProperty(value = "文档名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 文件类型 1-文档目录 2-文档 3-附件 4-wiki库
|
||||
*/
|
||||
@ApiModelProperty(value = "文件类型 1-文档目录 2-文档 3-附件 4-wiki库")
|
||||
private Integer docType;
|
||||
|
||||
/**
|
||||
* 父级id
|
||||
*/
|
||||
@ApiModelProperty(value = "父级id", required = true)
|
||||
@NotNull
|
||||
private Long parentId;
|
||||
|
||||
/**
|
||||
* 项目ID
|
||||
*/
|
||||
@ApiModelProperty(value = "项目ID")
|
||||
private Long pmsProjectId;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "企业标识", hidden = true)
|
||||
private String enterpriseIdentifier;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "产品库标识", hidden = true)
|
||||
private String productRepoName;
|
||||
|
||||
public PmsDocumentSearchVo toPmsDocumentSearchVo(Long pmsEnterpriseId) {
|
||||
PmsDocumentSearchVo target = new PmsDocumentSearchVo();
|
||||
BeanUtils.copyProperties(this, target);
|
||||
target.setPmsEnterpriseId(pmsEnterpriseId);
|
||||
return target;
|
||||
}
|
||||
}
|
||||
|
|
@ -99,4 +99,6 @@ public interface IPmsProductLibraryService {
|
|||
* @return 结果
|
||||
*/
|
||||
Boolean uploadProductAsset(ComponentRawInputVo componentRawInputVo);
|
||||
|
||||
GenericsTableDataInfo<DocResultVo> selectDocList(DocSearchVo docSearchVo);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import com.microservices.common.core.utils.StringUtils;
|
|||
import com.microservices.common.core.utils.html.EscapeUtil;
|
||||
import com.microservices.common.core.web.page.GenericsTableDataInfo;
|
||||
import com.microservices.common.security.utils.SecurityUtils;
|
||||
import com.microservices.pms.document.domain.vo.PmsDocumentVo;
|
||||
import com.microservices.pms.document.service.IPmsDocumentService;
|
||||
import com.microservices.pms.enterprise.domain.PmsEnterprise;
|
||||
import com.microservices.pms.enterprise.service.IPmsEnterpriseService;
|
||||
|
|
@ -189,6 +190,29 @@ public class PmsProductLibraryServiceImpl implements IPmsProductLibraryService {
|
|||
return pmsProductLibraryComponentService.insertRawComponent(componentRawInputVo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public GenericsTableDataInfo<DocResultVo> selectDocList(DocSearchVo docSearchVo) {
|
||||
PmsEnterprise pmsEnterprise = pmsEnterpriseService.selectPmsEnterpriseByIdentifier(docSearchVo.getEnterpriseIdentifier());
|
||||
GenericsTableDataInfo<DocResultVo> docTableList = new GenericsTableDataInfo<>();
|
||||
GenericsTableDataInfo<PmsDocumentVo> pmsDocList = pmsDocumentService.selectPmsDocumentVoList(docSearchVo.toPmsDocumentSearchVo(pmsEnterprise.getId()));
|
||||
if (pmsDocList.getRows() != null && !pmsDocList.getRows().isEmpty()) {
|
||||
PmsProductLibraryRepositories productRepo =
|
||||
pmsProductLibraryRepositoriesService.getPmsProductLibraryRepositories(true, docSearchVo.getEnterpriseIdentifier(), docSearchVo.getProductRepoName(), null);
|
||||
PmsProductLibraryComponent productComponentSearch = new PmsProductLibraryComponent();
|
||||
productComponentSearch.setRepoId(productRepo.getId());
|
||||
List<PmsProductLibraryComponent> productComponentList = pmsProductLibraryComponentMapper.selectPmsProductLibraryComponentList(productComponentSearch);
|
||||
List<DocResultVo> docList = pmsDocList.getRows().stream().map(pmsDoc -> {
|
||||
DocResultVo doc = new DocResultVo(pmsDoc);
|
||||
boolean isChoose = productComponentList.stream().anyMatch(x -> x.getIdentifier().equals(String.valueOf(pmsDoc.getId())));
|
||||
doc.setIsChoose(isChoose);
|
||||
return doc;
|
||||
}).collect(Collectors.toList());
|
||||
docTableList.setRows(docList);
|
||||
docTableList.setTotal(docList.size());
|
||||
}
|
||||
return docTableList;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int insertPmsProductLibrary(ProductRepositoriesInputVo productRepositoriesInputVo) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue