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 |   46 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 32 insertions(+), 14 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 74e22dd..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,53 +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 = "鏈哄簥鍥炰紶绋嬪簭澶勭悊")
 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);
+		}
 
 	}
 
@@ -58,8 +76,8 @@
 	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();

--
Gitblit v1.9.3