From 4f118b548e5bc741e372fdcc035bb23f9e0ce0bb Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期日, 24 八月 2025 12:15:07 +0800
Subject: [PATCH] 增加异常流程的界面和处理
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java | 57 ++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 38 insertions(+), 19 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java
index cdde887..8524996 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java
@@ -3,54 +3,71 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
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 jakarta.servlet.http.HttpServletResponse;
+import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.excel.util.ExcelUtil;
+import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
-import org.springblade.mdm.basesetting.machine.vo.MachineExcelVO;
-import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO;
-import org.springblade.mdm.basesetting.machine.vo.MachineVO;
+import org.springblade.core.tool.utils.UrlUtil;
+import org.springblade.mdm.gkw.programnode.service.MachineFileService;
import org.springblade.mdm.machineback.service.MachineBackFileService;
+import org.springblade.mdm.machineback.service.NcProgramExportInnerService;
import org.springblade.mdm.machineback.vo.MachineBackFileHandleExcelVO;
import org.springblade.mdm.machineback.vo.MachineBackFileHandleQueryVO;
-import org.springblade.mdm.machineback.vo.MachineBackFileQueryVO;
import org.springblade.mdm.machineback.vo.MachineBackFileVO;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@RestController
+@AllArgsConstructor
@RequestMapping("/machineback/filehandle")
-@Tag(name = "鏈哄簥鍥炰紶鏂囦欢澶勭悊", description = "鏈哄簥鍥炰紶鏂囦欢澶勭悊")
+@Tag(name = "鏈哄簥鍥炰紶绋嬪簭澶勭悊", description = "鏈哄簥鍥炰紶绋嬪簭澶勭悊")
public class MachineBackFileHandleController {
- @Autowired
- private MachineBackFileService service;
-
-
+ private final MachineBackFileService service;
+ private final MachineFileService machineFileService;
+ private final NcProgramExportInnerService ncProgramExportInnerService;
/**
* 鍒嗛〉
*/
- @Operation(summary = "鍒嗛〉鏌ヨ", description = "鍚嶇О鎴栫紪鐮�")
+ @Operation(summary = "鍒嗛〉鏌ヨ", description = "鍚嶇О鎴栫紪鐮�,宸叉帴鍙楃殑鏂囦欢鍒楄〃")
@GetMapping("/page")
public R<IPage<MachineBackFileVO>> page(MachineBackFileHandleQueryVO query) {
- IPage<MachineBackFileVO> pages = service.handlePageQuery(query);
+ IPage<MachineBackFileVO> pages = machineFileService.handlePageQuery(query);
return R.data(pages);
}
@GetMapping("export-to-inner")
@ApiOperationSupport(order = 13)
@Operation(summary = "瀵煎嚭鍒版秹瀵嗙綉", description = "瀵煎嚭鍒版秹瀵嗙綉")
- public void exportToInner(MachineBackFileHandleQueryVO query, HttpServletResponse response) {
+ public void exportToInner(@Parameter(description = "瀹℃壒琛╥d鏁扮粍") String ids, HttpServletResponse response) {
+ if(Func.isBlank(ids)) {
+ throw new ServiceException("鏈�夋嫨鏂囦欢瀵煎嚭");
+ }
+ try {
+ String prefix = UrlUtil.encode(AuthUtil.getNickName()+"-宸ユ帶缃戝鍑�");
+ //String filename =AuthUtil.getNickName()+"-"+ DateUtil.format(DateUtil.now(), "yyyyMMddHHmm")+".zip";
+ String filename = prefix+"-"+ DateUtil.format(DateUtil.now(), "yyyyMMddHHmm")+".zip";
+
+ response.setHeader("Content-Disposition", "attachment; filename="+filename);
+ response.setContentType("application/octet-stream");
+ ncProgramExportInnerService.exportToInner(Func.toLongList(ids),response.getOutputStream());
+ } catch (IOException e) {
+ log.error("宸ユ帶缃戝鍑哄洖浼犳枃浠跺紓甯�", e);
+ throw new RuntimeException(e);
+ }
}
@@ -59,15 +76,17 @@
public void exportExcel(MachineBackFileHandleQueryVO query, HttpServletResponse response) {
query.setCurrent(1);
query.setSize(Integer.MAX_VALUE);
- IPage<MachineBackFileVO> pages = service.handlePageQuery(query);
-
+ //IPage<MachineBackFileVO> pages = service.handlePageQuery(query);
+ IPage<MachineBackFileVO> pages = machineFileService.handlePageQuery(query);
List<MachineBackFileHandleExcelVO> list = new ArrayList<>();
pages.getRecords().forEach(vo ->{
- MachineBackFileHandleExcelVO excelVO = new MachineBackFileHandleExcelVO();
+ MachineBackFileHandleExcelVO excelVO = new MachineBackFileHandleExcelVO();
+ BeanUtil.copyProperties(vo, excelVO);
excelVO.setCuredStatus(vo.getIsCured()==0?"鍥哄寲":"鏈浐鍖�");
- BeanUtil.copy(vo, excelVO);
+
+ list.add(excelVO);
});
- ExcelUtil.export(response, "鏈哄簥鍥炰紶鏂囦欢澶勭悊" + DateUtil.time(), "鏈哄簥鍥炰紶鏂囦欢琛�", list, MachineBackFileHandleExcelVO.class);
+ ExcelUtil.export(response, "鏈哄簥鍥炰紶绋嬪簭" + DateUtil.time(), "鏈哄簥鍥炰紶绋嬪簭琛�", list, MachineBackFileHandleExcelVO.class);
}
}
--
Gitblit v1.9.3