From c723796f39021476247cf1adf8dc587939c95535 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 09 八月 2025 12:46:54 +0800
Subject: [PATCH] 机床增加导入接口

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/controller/MachineController.java |   90 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 74 insertions(+), 16 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 98b33a1..34c1a5e 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,21 +1,39 @@
 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.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.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.vo.MachineQueryVO;
 import org.springblade.mdm.basesetting.machine.vo.MachineSaveVO;
 import org.springblade.mdm.basesetting.machine.vo.MachineVO;
+import org.springblade.mdm.program.vo.MdmProgramImportVO;
+import org.springblade.system.pojo.entity.User;
+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.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 @Slf4j
 @RestController
@@ -30,23 +48,43 @@
 	 * 鏂板
 	 */
 	@PostMapping("/save")
-	@Operation(summary = "鏂板", description = "鏈哄簥缁勪俊鎭�")
+	@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);
 	}
 
 	/**
 	 * 淇敼
 	 */
-	@Operation(summary = "淇敼", description = "鏈哄簥缁勪俊鎭�")
+	@Operation(summary = "淇敼", description = "鏈哄簥淇℃伅")
 	@PostMapping("/update")
 	public R<Boolean> update(@RequestBody MachineSaveVO vo) {
-
 		return R.<Boolean>status(service.updateMachine(vo));
 	}
 
+	@Operation(summary = "璇︽儏", description = "鏌ヨ鏈哄簥璇︽儏")
+	@GetMapping("/detail")
+	public R<MachineVO> deatail(long id) {
+		return R.data(service.detail(id));
+	}
+
+	@PostMapping("import")
+	@ApiOperationSupport(order = 1)
+	@Operation(summary = "鏈哄簥瀵煎叆", description = "鏈哄簥瀵煎叆锛屽叏閮ㄦ垚鍔熻繑鍥炵┖涓诧紝閮ㄥ垎鎴愬姛杩斿洖鍏蜂綋淇℃伅")
+	public R<String> importMachines(@RequestParam MultipartFile file) {
+		try {
+			return R.data(service.importMachines(file));
+		}catch (Exception e){
+			log.error("瀵煎叆閿欒",e);
+			return R.fail(e.getMessage());
+		}
+	}
 	/**
 	 * 鍒犻櫎
 	 */
@@ -54,7 +92,7 @@
 	@PostMapping("/remove")
 	public R<Void> remove(@RequestParam String ids) {
 		try {
-			service.removeMachines(Func.toLongList(ids));
+			service.removeBatchByIds(Func.toLongList(ids));
 		} catch (Exception e) {
 			log.error("鍒犻櫎寮傚父",e);
 			return R.fail(e.getMessage());
@@ -68,17 +106,37 @@
 	@Operation(summary = "鍒嗛〉鏌ヨ", description = "鍚嶇О鎴栫紪鐮�")
 	@GetMapping("/page")
 	public R<IPage<MachineVO>> page(MachineQueryVO query) {
-		/*
-		LambdaQueryWrapper<MachineGroup> wrapper = new LambdaQueryWrapper<>();
-		//wrapper.like(StringUtils.isNotBlank(keyword),MachineGroup::getName, "%"+keyword+"%");
-		wrapper.and(StringUtils.isNotBlank(keyword),(w1)->{
-			w1.like(MachineGroup::getName,"%"+keyword+"%")
-				.or().like(MachineGroup::getCode,"%"+keyword+"%");
-		});
-
-		 */
-
 		IPage<MachineVO> pages = service.pageQuery(query);
 		return R.data(pages);
 	}
+
+	@GetMapping("export")
+	@ApiOperationSupport(order = 13)
+	@Operation(summary = "瀵煎嚭鏈哄簥", description = "鍚嶇О鎴栫紪鐮�")
+	public void export(MachineQueryVO query, HttpServletResponse response) {
+		query.setCurrent(1);
+		query.setSize(Integer.MAX_VALUE);
+		IPage<MachineVO> pages = service.pageQuery(query);
+
+		List<MachineExcelVO> list = new ArrayList<>();
+		pages.getRecords().forEach(m ->{
+			MachineExcelVO excelVO = new MachineExcelVO();
+			BeanUtils.copyProperties(m, excelVO);
+			list.add(excelVO);
+		});
+
+		ExcelUtil.export(response, "鏈哄簥鏁版嵁" + DateUtil.time(), "鏈哄簥鏁版嵁琛�", list, MachineExcelVO.class);
+	}
+
+	@Operation(summary = "浜х敓鏈哄簥鍥炰紶缁撴瀯鏍�", description = "浜х敓鏈哄簥鍥炰紶缁撴瀯鏍�")
+	@PostMapping("/gen-fileback-dirs")
+	public R<Void> genFileBackDirs(@RequestParam Long id) {
+		try {
+			service.genMachineFileBackDirs(id);
+		} catch (Exception e) {
+			log.error("浜х敓鐩綍寮傚父",e);
+			return R.fail(e.getMessage());
+		}
+		return R.status(true);
+	}
 }

--
Gitblit v1.9.3