From 86c8efdb19a2f4be79a947650ef62ed79382011b Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 30 八月 2025 20:55:31 +0800
Subject: [PATCH] 重构机床回传文件;撤回后禁用撤回按钮

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineImportService.java |   75 ++++++++++++++++++++++++++++++++++---
 1 files changed, 68 insertions(+), 7 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineImportService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineImportService.java
index be6b5c5..dbf2356 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineImportService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineImportService.java
@@ -10,6 +10,7 @@
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.mdm.basesetting.machine.MachineService;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.basesetting.machine.mapper.MachineMapper;
@@ -51,14 +52,23 @@
 	@Autowired
 	private MachineService machineService;
 	@Transactional
-	public String importMachines(MultipartFile file) {
+	public ImportResult importMachines(MultipartFile file) {
+		ImportResult res1 = new ImportResult();
+		if(file == null || file.isEmpty()){
+			res1.setMessage("鏂囦欢涓虹┖");
+			return res1;
+		}
+
 		List<MachineExcel> list = ExcelUtil.read(file, MachineExcel.class);
-		ImportResult res = transAndSave(list);
-		return "";//瀵煎叆鎴愬姛锛岀粰绌轰覆锛岄儴鍒嗕笉鎴愬姛缁欐彁绀�
+		return transAndSave(list);
 	}
 
 	@Transactional
 	ImportResult transAndSave(List<MachineExcel> list){
+		ImportResult result1= checkImport( list);
+		if(result1.getFailure()>0){
+			return result1;
+		}
 		//machine_spec
 			//machine_control_system
 		//machine_control_system
@@ -94,8 +104,9 @@
 			machine.setControlSystem(sysOpt.orElse(emptyDit).getDictKey());
 
 			//鏈哄簥缁�
+			//key = FANUK,
 			Optional<DictBiz> groupOpt = machineGroupList.stream().filter(s -> StringUtils.equals(s.getDictValue(),excelVO.getMachineGroupName())).findFirst();
-			machine.setControlSystem(groupOpt.orElse(emptyDit).getDictKey());
+			machine.setMachineGroupCode(groupOpt.orElse(emptyDit).getDictKey());
 
 			//entityList.add(machine);
 			Machine oriMachine = machineService.getByCode(machine.getCode());
@@ -103,10 +114,22 @@
 			if(oriMachine != null){
 				msg.append(machine.getCode()).append("鏈哄簥缂栫爜閲嶅:").append(machine.getCode());
 				failCount ++;
+			}else if(machine.getMachineGroupCode() == null){
+				msg.append(excelVO.getCode()+"鏈哄簥缁勪笉鍖归厤"+excelVO.getMachineGroupName()).append("<br/>");
+				failCount ++;
+			}else if(machine.getMachineSpec() == null){
+				msg.append(excelVO.getCode()+"鏈哄簥绫诲瀷涓嶅尮閰�"+excelVO.getMachineSpecName()).append("<br/>");
+				failCount ++;
+			}else {
+				try {
+					machineService.save(machine);
+					successCount++;
+				}catch(Exception e){
+					log.error("鍏ュ簱澶辫触",e);
+					failCount ++;
+					msg.append(excelVO.getCode()+"鍏ュ簱澶辫触");
+				}
 			}
-
-			machineService.save(machine);
-			successCount ++;
 		}
 
 		ir.setFailure(failCount);
@@ -119,4 +142,42 @@
 		}
 		return ir;
 	}
+
+	private ImportResult checkImport(List<MachineExcel> list) {
+		StringBuffer msg = new StringBuffer();;
+		int failCount = 0;
+		MachineExcel excelVO;
+		String temp;
+		for(int i=0;i<list.size();i++){
+			excelVO = list.get(0);
+			temp ="";
+			if(StringUtil.isBlank(excelVO.getCode())){
+				//msg.append("绗�"+(i+1)+"琛屾満搴婄紪鐮佷负绌�,");
+				temp = "鏈哄簥缂栫爜涓虹┖,";
+			}
+			if(StringUtil.isBlank(excelVO.getName())){
+				//msg.append("绗�"+(i+1)+"琛屾満搴婄紪鐮佷负绌�,");
+				temp += "鏈哄簥鍨嬪彿涓虹┖,";
+			}
+			if(StringUtil.isBlank(excelVO.getMachineGroupName())){
+				temp += "鏈哄簥缁勪负绌�,";
+			}
+
+			if(StringUtil.isBlank(excelVO.getMachineSpecName())){
+				temp += "鏈哄簥绫诲瀷涓虹┖,";
+			}
+
+
+			if(StringUtil.isNotBlank(temp)){
+				msg.append("琛�"+(i+1)+" "+StringUtils.removeEnd(temp,",")).append(";");
+				failCount ++;
+			}
+		}
+
+		ImportResult res= new ImportResult();
+		res.setFailure(failCount);
+		res.setMessage(msg.toString());
+
+		return res;
+	}
 }

--
Gitblit v1.9.3