|
package org.springblade.mdm.program.controller;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameters;
|
import io.swagger.v3.oas.annotations.enums.ParameterIn;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import lombok.AllArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springblade.core.tenant.annotation.NonDS;
|
import org.springblade.core.tool.api.R;
|
import org.springblade.core.tool.utils.Func;
|
import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO;
|
import org.springblade.mdm.basesetting.machine.vo.MachineVO;
|
import org.springblade.mdm.program.entity.NcProgram;
|
import org.springblade.mdm.program.service.NcNodeService;
|
import org.springblade.mdm.program.service.NcProgramService;
|
import org.springblade.mdm.program.service.ProgramFlowStatusQueryService;
|
import org.springblade.mdm.program.vo.*;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
|
/**
|
* 程序节点
|
*
|
* @author yangys
|
*/
|
@NonDS
|
@RestController
|
@RequestMapping("/program/node")
|
@AllArgsConstructor
|
@Tag(name = "程序节点", description = "程序节点")
|
@Slf4j
|
public class NcNodeController {
|
private final NcProgramService ncProgramService;
|
private final NcNodeService ncNodeService;
|
private final ProgramFlowStatusQueryService programFlowStatusQueryService;
|
/**
|
* 新增
|
*/
|
@PostMapping("/save")
|
@Operation(summary = "新增节点", description = "节点信息,id保持空")
|
public R<Boolean> save(@RequestBody NcNodeVO vo) {
|
ncNodeService.saveNcCode(vo);
|
return R.<Boolean>status(true);
|
}
|
|
|
@PostMapping("/update")
|
@Operation(summary = "修改节点", description = "节点信息,必须传入ID")
|
public R<Boolean> update(@RequestBody NcNodeVO vo) {
|
ncNodeService.updateNcNode(vo);
|
return R.<Boolean>status(true);
|
}
|
|
@PostMapping("/remove")
|
@Operation(summary = "删除节点")
|
public R<Boolean> remove(Long id) {
|
ncNodeService.removeById(id);
|
return R.<Boolean>status(true);
|
}
|
|
@GetMapping("/lazy-list")
|
@Operation(summary = "懒加载列表", description = "程序目录树形结构")
|
public R<List<NcNodeVO>> lazyList(Long parentId) {
|
List<NcNodeVO> list = ncNodeService.lazyList(parentId);
|
if(list != null && !list.isEmpty()) {
|
for(NcNodeVO ncNodeVO : list) {
|
if(!"60".equals(ncNodeVO.getNodeType())){
|
break;
|
}
|
ncNodeVO.setFlowStatus(programFlowStatusQueryService.queryFlowStatus(ncNodeVO.getProcessInstanceId()));
|
/*
|
NcProgram program = ncProgramService.getByBindNodeId(ncNodeVO.getId());
|
if(program != null) {
|
ncNodeVO.setProcessEdition(program.getProcessEdition());
|
ncNodeVO.setDrawingNo(program.getDrawingNo());
|
ncNodeVO.setMachineCode(program.getMachineCode());
|
ncNodeVO.setProcessName(program.getProcessName());
|
ncNodeVO.setVersionNumber(program.getVersionNumber());
|
|
//record中找不到时未启动0;找到了需要查询流程实例id,是否运行中
|
ncNodeVO.setFlowStatus(programFlowStatusQueryService.queryFlowStatus(program.getId()));
|
}*/
|
}
|
|
}
|
return R.data(list);
|
}
|
|
@GetMapping("/search-list")
|
@Operation(summary = "查询树状列表", description = "程序目录树形结构(查询专用)")
|
public R<List<NcNodeVO>> searchList(NcNodeQueryVO queryVO) {
|
if(Func.isEmpty(queryVO.getName())){
|
return R.fail("请输入名称");
|
}
|
List<NcNodeVO> list = ncNodeService.searchList(queryVO);
|
/*
|
if(list != null && !list.isEmpty()) {
|
for(NcNodeVO ncNodeVO : list) {
|
if(!"70".equals(ncNodeVO.getNodeType())){
|
break;
|
}
|
NcProgram program = ncProgramService.getByBindNodeId(ncNodeVO.getId());
|
if(program != null) {
|
ncNodeVO.setProcessEdition(program.getProcessEdition());
|
ncNodeVO.setDrawingNo(program.getDrawingNo());
|
ncNodeVO.setMachineCode(program.getMachineCode());
|
ncNodeVO.setProcessName(program.getProcessName());
|
ncNodeVO.setVersionNumber(program.getVersionNumber());
|
|
//record中找不到时未启动0;找到了需要查询流程实例id,是否运行中
|
ncNodeVO.setFlowStatus(programFlowStatusQueryService.queryFlowStatus(program.getId()));
|
}
|
}
|
|
}
|
|
*/
|
return R.data(list);
|
}
|
|
@GetMapping("/history-by-nodeid")
|
@Operation(summary = "根据绑定节点id获取历史列表", description = "程序历史列表,仅‘程序包’字典值70的数据。用于显示程序的‘历史版本’")
|
public R<List<NcNodeVO>> historyByBindNodeId(@Parameter(description="节点ID(nodeType=70的节点id)")@RequestParam Long id) {
|
return R.data(this.ncNodeService.historyByNodeId(id));
|
}
|
|
}
|