package org.springblade.mdm.program.controller; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; 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.mdm.program.service.DNCSendBackService; import org.springblade.mdm.program.vo.DncSendBackData; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.util.List; /** * 流程管理接口 * * @author Chill */ @NonDS @RestController @RequestMapping("/program/dncsendback/") @AllArgsConstructor @Tag(name = "DNC导入", description = "DNC导入接口") @Slf4j public class DncSendBackController { private final DNCSendBackService dncSendBackService; /** * 上传DNC回传文件 * * @param file dnc程序打包文件 */ @PostMapping("upload") @ApiOperationSupport(order = 1) @Operation(summary = "DNC回传文件导入,上传文件", description = "上传DNC回传文件,并返回解析结果") public R> dncSendBackUpload(@RequestParam MultipartFile file) { try { return R.data(dncSendBackService.dncSendBackUpload(file)); }catch (Exception e){ log.error("导入错误",e); return R.fail(e.getMessage()); } } @GetMapping("/back-file-content") @Operation(summary = "获取回传文件内容", description = "查看工控网回传文件内容") public R fileContent(@Parameter(description = "文件的entryName") String entryName) { try { return R.data(dncSendBackService.getEntryFileContent(entryName)); }catch(Exception e) { log.error("删除文件失败",e); return R.fail(e.getMessage()); } } @PostMapping("accept") @ApiOperationSupport(order = 2) @Operation(summary = "DNC回传数据入库", description = "入库,同时启动固化流程,入参为上传是解析的数据列表") public R dncSendBackAccept(@RequestParam String ids) { try { dncSendBackService.dncFileAccept(ids); }catch (Exception e){ log.error("入库错误",e); return R.fail(e.getMessage()); } return R.success(); } }