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 | 115 ++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 92 insertions(+), 23 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..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,21 +1,33 @@
package org.springblade.mdm.basesetting.machine.controller;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springblade.core.mp.support.Condition;
-import org.springblade.core.mp.support.Query;
+import org.apache.commons.io.IOUtils;
+import org.springblade.core.excel.util.ExcelUtil;
+import org.springblade.core.oss.OssTemplate;
import org.springblade.core.tool.api.R;
+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.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.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;
@Slf4j
@RestController
@@ -25,28 +37,57 @@
@Autowired
private MachineService service;
-
+ @Autowired
+ private MachineImportService machineImportService;
+ @Autowired
+ private ParamService paramService;
+ @Autowired
+ private OssTemplate ossTemplate;
/**
* 鏂板
*/
@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));
+ try{
+ return R.data(service.updateMachine(vo));
+ }catch(Exception e){
+ return R.fail(e.getMessage());
+ }
}
+ @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<ImportResult> importMachines(@RequestParam MultipartFile file) {
+ try {
+ return R.data(machineImportService.importMachines(file));
+ }catch (Exception e){
+ log.error("瀵煎叆閿欒",e);
+ return R.fail(e.getMessage());
+ }
+ }
/**
* 鍒犻櫎
*/
@@ -54,7 +95,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 +109,45 @@
@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<MachineExcel> list = new ArrayList<>();
+ pages.getRecords().forEach(m ->{
+ MachineExcel excelVO = new MachineExcel();
+ BeanUtils.copyProperties(m, excelVO);
+ list.add(excelVO);
+ });
+
+ ExcelUtil.export(response, "鏈哄簥鏁版嵁" + DateUtil.time(), "鏈哄簥鏁版嵁琛�", list, MachineExcel.class);
+ }
+
+ @Operation(summary = "涓嬭浇鏈哄簥瀵煎叆妯℃澘", description = "涓嬭浇鏈哄簥瀵煎叆妯℃澘")
+ @GetMapping("/download-template")
+ public void downloadTemplate(HttpServletResponse response) {
+ String PARAMKEY = "MACHINE_TEMPLATE";
+
+ try {
+ 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);
+ }
+ }
+
}
--
Gitblit v1.9.3