From b0d0191a88912b352385349461b500a4964d693b Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 19 九月 2025 22:51:24 +0800
Subject: [PATCH] 机床加字段

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/controller/MachineController.java |   83 +++++++++++++++++++++++++++--------------
 1 files changed, 55 insertions(+), 28 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/controller/MachineController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/controller/MachineController.java
index b01667b..ebc8e0a 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/controller/MachineController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/controller/MachineController.java
@@ -1,37 +1,33 @@
 package org.springblade.mdm.basesetting.machine.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.io.IOUtils;
 import org.springblade.core.excel.util.ExcelUtil;
-import org.springblade.core.mp.support.Condition;
-import org.springblade.core.mp.support.Query;
-import org.springblade.core.secure.BladeUser;
-import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.oss.OssTemplate;
 import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.Func;
-import org.springblade.mdm.basesetting.machine.MachineService;
-import org.springblade.mdm.basesetting.machine.vo.MachineExcelVO;
+import org.springblade.mdm.basesetting.machine.service.MachineService;
+import org.springblade.mdm.basesetting.machine.service.MachineImportService;
+import org.springblade.mdm.basesetting.machine.vo.MachineExcel;
 import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO;
 import org.springblade.mdm.basesetting.machine.vo.MachineSaveVO;
 import org.springblade.mdm.basesetting.machine.vo.MachineVO;
-import org.springblade.system.pojo.entity.User;
+import org.springblade.mdm.basesetting.producedivision.vo.ImportResult;
+import org.springblade.mdm.commons.service.ParamService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 
 @Slf4j
 @RestController
@@ -41,15 +37,24 @@
 
 	@Autowired
 	private MachineService service;
-
+	@Autowired
+	private MachineImportService machineImportService;
+	@Autowired
+	private ParamService paramService;
+	@Autowired
+	private OssTemplate ossTemplate;
 	/**
 	 * 鏂板
 	 */
 	@PostMapping("/save")
 	@Operation(summary = "鏂板", description = "鏈哄簥淇℃伅")
 	public R<Boolean> save(@RequestBody MachineSaveVO vo) {
-
-		service.saveMachine(vo);
+		try {
+			service.saveMachine(vo);
+		}catch (Exception e) {
+			log.error("鏂板鏈哄簥澶辫触", e);;
+			return R.fail(e.getMessage());
+		}
 		return R.<Boolean>status(true);
 	}
 
@@ -59,8 +64,11 @@
 	@Operation(summary = "淇敼", description = "鏈哄簥淇℃伅")
 	@PostMapping("/update")
 	public R<Boolean> update(@RequestBody MachineSaveVO vo) {
-
-		return R.<Boolean>status(service.updateMachine(vo));
+		try{
+			return R.data(service.updateMachine(vo));
+		}catch(Exception e){
+			return R.fail(e.getMessage());
+		}
 	}
 
 	@Operation(summary = "璇︽儏", description = "鏌ヨ鏈哄簥璇︽儏")
@@ -69,6 +77,17 @@
 		return R.data(service.detail(id));
 	}
 
+	@PostMapping("import")
+	@ApiOperationSupport(order = 1)
+	@Operation(summary = "鏈哄簥瀵煎叆", description = "鏈哄簥瀵煎叆锛屽叏閮ㄦ垚鍔熻繑鍥炵┖涓诧紝閮ㄥ垎鎴愬姛杩斿洖鍏蜂綋淇℃伅")
+	public R<ImportResult> importMachines(@RequestParam MultipartFile file) {
+		try {
+			return R.data(machineImportService.importMachines(file));
+		}catch (Exception e){
+			log.error("瀵煎叆閿欒",e);
+			return R.fail(e.getMessage());
+		}
+	}
 	/**
 	 * 鍒犻櫎
 	 */
@@ -102,25 +121,33 @@
 		query.setSize(Integer.MAX_VALUE);
 		IPage<MachineVO> pages = service.pageQuery(query);
 
-		List<MachineExcelVO> list = new ArrayList<>();
+		List<MachineExcel> list = new ArrayList<>();
 		pages.getRecords().forEach(m ->{
-			MachineExcelVO excelVO = new MachineExcelVO();
+			MachineExcel excelVO = new MachineExcel();
 			BeanUtils.copyProperties(m, excelVO);
 			list.add(excelVO);
 		});
 
-		ExcelUtil.export(response, "鏈哄簥鏁版嵁" + DateUtil.time(), "鏈哄簥鏁版嵁琛�", list, MachineExcelVO.class);
+		ExcelUtil.export(response, "鏈哄簥鏁版嵁" + DateUtil.time(), "鏈哄簥鏁版嵁琛�", list, MachineExcel.class);
 	}
 
-	@Operation(summary = "浜х敓鏈哄簥鍥炰紶缁撴瀯鏍�", description = "浜х敓鏈哄簥鍥炰紶缁撴瀯鏍�")
-	@PostMapping("/gen-fileback-dirs")
-	public R<Void> genFileBackDirs(@RequestParam Long id) {
+	@Operation(summary = "涓嬭浇鏈哄簥瀵煎叆妯℃澘", description = "涓嬭浇鏈哄簥瀵煎叆妯℃澘")
+	@GetMapping("/download-template")
+	public void downloadTemplate(HttpServletResponse response) {
+		String PARAMKEY = "MACHINE_TEMPLATE";
+
 		try {
-			service.genMachineFileBackDirs(id);
+			String filename = "machinetemplate.xlsx";
+			response.setHeader("Content-Disposition", "attachment; filename="+filename);
+			response.setContentType("application/octet-stream");
+			String ossName  = paramService.getParamValue(PARAMKEY,"");
+			try(InputStream ins = ossTemplate.statFileStream(ossName);){
+				IOUtils.copy(ins,response.getOutputStream());
+			}
+
 		} catch (Exception e) {
-			log.error("浜х敓鐩綍寮傚父",e);
-			return R.fail(e.getMessage());
+			log.error("瀵煎嚭鍒嗘満搴婃ā鏉垮紓甯�", e);
 		}
-		return R.status(true);
 	}
+
 }

--
Gitblit v1.9.3