| | |
| | | |
| | | package org.springblade.mdm.gkw.programnode.controller; |
| | | |
| | | import com.alibaba.excel.util.StringUtils; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | | import io.swagger.v3.oas.annotations.tags.Tag; |
| | |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.tenant.annotation.NonDS; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.mdm.basesetting.machine.MachineService; |
| | | import org.springblade.mdm.basesetting.machine.entity.Machine; |
| | | import org.springblade.mdm.basesetting.producedivision.entity.MdmDept; |
| | | import org.springblade.mdm.basesetting.producedivision.service.MdmDeptService; |
| | | import org.springblade.mdm.gkw.programnode.entity.MachineFile; |
| | | import org.springblade.mdm.gkw.programnode.service.MachineFileChangeHisService; |
| | | import org.springblade.mdm.gkw.programnode.service.MachineFileService; |
| | | import org.springblade.mdm.gkw.programnode.service.ProgramNodeService; |
| | | import org.springblade.mdm.gkw.programnode.vo.MachineFileChangeHisQueryVO; |
| | | import org.springblade.mdm.gkw.programnode.vo.MachineFileChangeHisVO; |
| | | import org.springblade.mdm.gkw.programnode.vo.MachineFileQueryVO; |
| | | import org.springblade.mdm.gkw.programnode.vo.ProgramNodeVO; |
| | | import org.springblade.mdm.program.vo.CompareDataVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @NonDS |
| | | @RestController |
| | | @RequestMapping("/gkw/node") |
| | | @AllArgsConstructor |
| | | @Tag(name = "工控网程序节点", description = "工控网程序节点") |
| | | @Slf4j |
| | | public class MachineFileController { |
| | | private final MachineFileService machineFileService; |
| | | @Autowired |
| | | private MachineFileService machineFileService; |
| | | @Autowired |
| | | private MachineFileChangeHisService machineFileChangeHisService; |
| | | @Autowired |
| | | private MdmDeptService mdmDeptService; |
| | | @Autowired |
| | | private MachineService machineService; |
| | | |
| | | @GetMapping("/file-page") |
| | | @Operation(summary = "工控网目录文件列表", description = "工控网目录文件列表") |
| | | public R<IPage<MachineFile>> page(MachineFileQueryVO query) { |
| | | |
| | | /* |
| | | IPage<MachineFile> pageData = machineFileService.lambdaQuery() |
| | | .eq(MachineFile::getMachineCode,query.getMachineCode()) |
| | | .eq(MachineFile::getDirType,query.getDirType()).page(Condition.getPage(query)); |
| | | return R.data(pageData); |
| | | .eq(MachineFile::getDirType,query.getDirType()) |
| | | .ne(MachineFile::getStatus,MachineFile.STATUS_REMOVED).like(StringUtils.isNotBlank(query.getName()),MachineFile::getName,query.getName()) |
| | | .page(Condition.getPage(query)); |
| | | */ |
| | | List<Long> deptIds = new ArrayList<>(); |
| | | if("workshop".equals(query.getNodeType()) || "seg".equals(query.getNodeType())) { |
| | | //节点为车间、工段 |
| | | MdmDept dept = mdmDeptService.getById(query.getNodeId()); |
| | | |
| | | String idStr = dept.getAncestors()+","+dept.getId(); |
| | | List<MdmDept> depts = mdmDeptService.lambdaQuery().likeRight(MdmDept::getParentId, query.getNodeId()).list(); |
| | | deptIds.addAll(depts.stream().map(MdmDept::getId).toList()); |
| | | deptIds.add(dept.getId()); |
| | | //+本车间 |
| | | //Func.toStrList(",",idStr) |
| | | query.setDeptIds(deptIds); |
| | | }else if("machine".equals(query.getNodeType())){ |
| | | Machine machine = machineService.getById(query.getNodeId()); |
| | | query.setMachineCode(machine.getCode()); |
| | | }else if("dir".equals(query.getNodeType())){ |
| | | query.setMachineCode(query.getMachineCode()); |
| | | } |
| | | return R.data(machineFileService.pageQuery(query)); |
| | | } |
| | | |
| | | |
| | | @GetMapping("/file-content") |
| | | @Operation(summary = "获取机床目录文件内容", description = "工控网目录文件列表") |
| | | public R<String> machineFileContent(Long id) { |
| | | String content = machineFileService.getMachineFileContent(id); |
| | | return R.data(content); |
| | | } |
| | | |
| | | @PostMapping("/file-save") |
| | | @Operation(summary = "保存机床文件", description = "保存机床文件到磁盘") |
| | | public R<Void> machineFileSave(Long id,String content) { |
| | | try { |
| | | machineFileService.saveFileContent(id,content); |
| | | } catch (IOException e) { |
| | | log.error(e.getMessage()); |
| | | return R.fail(e.getMessage()); |
| | | } |
| | | return R.success(); |
| | | } |
| | | |
| | | @GetMapping("/file-his-page") |
| | | @Operation(summary = "修改留历史列表", description = "修改留历史列表") |
| | | public R<IPage<MachineFileChangeHisVO>> changeHisPage(MachineFileChangeHisQueryVO query) { |
| | | return R.data(machineFileChangeHisService.pageQuery(query)); |
| | | } |
| | | |
| | | @GetMapping("/his-compare") |
| | | @Operation(summary = "对比历史文件内容", description = "对比历史文件内容") |
| | | public R<CompareDataVO> machineFileSave(Long id) { |
| | | try { |
| | | CompareDataVO vo =machineFileService.queryHisContentForCompare(id); |
| | | return R.data(vo); |
| | | } catch (IOException e) { |
| | | log.error(e.getMessage()); |
| | | return R.fail(e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | } |