| | |
| | | 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.basesetting.producedivision.service.QinzheFgbService; |
| | | import org.springblade.mdm.flow.service.FlowProgramFileService; |
| | | import org.springblade.mdm.program.entity.NcNode; |
| | | import org.springblade.mdm.program.entity.NcProgram; |
| | | import org.springblade.mdm.program.service.NcNodeService; |
| | | import org.springblade.mdm.program.vo.NcNodeProgramQueryVO; |
| | | import org.springblade.mdm.program.vo.NcNodeProgramVO; |
| | | import org.springblade.mdm.program.vo.NcNodeVO; |
| | | 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; |
| | |
| | | @Tag(name = "程序节点", description = "程序节点") |
| | | @Slf4j |
| | | public class NcNodeController { |
| | | |
| | | private final NcProgramService ncProgramService; |
| | | private final NcNodeService ncNodeService; |
| | | |
| | | private final ProgramFlowStatusQueryService programFlowStatusQueryService; |
| | | private final FlowProgramFileService flowProgramFileService; |
| | | private final QinzheFgbService qinzheFgbService; |
| | | /** |
| | | * 新增 |
| | | */ |
| | |
| | | return R.<Boolean>status(true); |
| | | } |
| | | |
| | | @PostMapping("/lock") |
| | | @Operation(summary = "锁定节点(程序包名)") |
| | | public R<Boolean> lock(@Parameter(description="程序包名节点id)")Long id) { |
| | | ncNodeService.lock(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(NcNode.TYPE_PROGRAM_PACKAGE.equals(ncNodeVO.getNodeType())){ |
| | | ncNodeVO.setFlowStatus(programFlowStatusQueryService.queryFlowStatus(ncNodeVO.getProcessInstanceId())); |
| | | } |
| | | } |
| | | } |
| | | 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); |
| | | |
| | | return R.data(list); |
| | | }*/ |
| | | @GetMapping("/search") |
| | | @Operation(summary = "首页搜索", description = "搜索指定零组件号") |
| | | public R<List<Long>> search(NcNodeQueryVO queryVO) { |
| | | if(Func.isEmpty(queryVO.getDrawingNo())){ |
| | | return R.fail("请输入零组件号"); |
| | | } |
| | | List<Long> list = ncNodeService.searchDrawing(queryVO); |
| | | |
| | | 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); |
| | | @GetMapping("/drawing-no-pick") |
| | | @Operation(summary = "首页搜索零组件下拉数据", description = "搜索指定零组件号") |
| | | public R<List<String>> drawingNoPick(String drawingNo) { |
| | | return R.data(qinzheFgbService.seletDropList(drawingNo)); |
| | | } |
| | | |
| | | @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)); |
| | | } |
| | | |
| | | |
| | | @GetMapping("/compare-content") |
| | | @Operation(summary = "对比内容数据", description = "查询对比内容的2个文本数据") |
| | | public R<CompareDataVO> compareContent(@Parameter(description="节点1的ID(nodeType=70的节点id)")Long id1,@Parameter(description="节点2的ID(nodeType=70的节点id)")Long id2) { |
| | | CompareDataVO vo = new CompareDataVO(); |
| | | NcNode node1 = ncNodeService.getById(id1); |
| | | NcNode node2 = ncNodeService.getById(id2); |
| | | if(node1.getFlowProgramFileId() != null) { |
| | | vo.setContent1(flowProgramFileService.getFileContent(node1.getFlowProgramFileId())); |
| | | } |
| | | if(node2.getFlowProgramFileId() != null) { |
| | | vo.setContent2(flowProgramFileService.getFileContent(node2.getFlowProgramFileId())); |
| | | } |
| | | |
| | | return R.data(vo); |
| | | } |
| | | } |