yangys
2025-07-29 ee0c27cf30140d50b91fe4e08fa48052e910fd1f
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java
@@ -1,15 +1,31 @@
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.NcNodeProgramQueryVO;
import org.springblade.mdm.program.vo.NcNodeProgramVO;
import org.springblade.mdm.program.vo.NcNodeQueryVO;
import org.springblade.mdm.program.vo.NcNodeVO;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * 程序节点
@@ -23,26 +39,24 @@
@Tag(name = "程序节点", description = "程序节点")
@Slf4j
public class NcNodeController {
   private final NcProgramService ncProgramService;
   private final NcNodeService ncNodeService;
   private final ProgramFlowStatusQueryService programFlowStatusQueryService;
   /**
    * 新增
    */
   @PostMapping("/save")
   @Operation(summary = "新增节点", description = "节点信息")
   @Operation(summary = "新增节点", description = "节点信息,id保持空")
   public R<Boolean> save(@RequestBody NcNodeVO vo) {
      ncNodeService.saveNcCode(vo);
      return R.<Boolean>status(true);
   }
   @PostMapping("/update")
   @Operation(summary = "修改节点")
   @Operation(summary = "修改节点", description = "节点信息,必须传入ID")
   public R<Boolean> update(@RequestBody NcNodeVO vo) {
      ncNodeService.updateNcCode(vo);
      ncNodeService.updateNcNode(vo);
      return R.<Boolean>status(true);
   }
@@ -52,4 +66,72 @@
      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(!"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("/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);
   }
   /*
   @Operation(summary = "程序分页查询", description = "用于在编制节点选择流程对应的程序")
   @GetMapping("/programpickpage")
   public R<IPage<NcNodeProgramVO>> page(NcNodeProgramQueryVO query) {
      IPage<NcNodeProgramVO> pages = ncNodeService.programPageQuery(query);
      return R.data(pages);
   }
*/
}