From 2689c8fec95018952784bd8d032afb5a194a6616 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 02 九月 2025 00:17:45 +0800
Subject: [PATCH] 增加文件监控

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineImportService.java |   90 ++++++++++++++++++++++++++++++++++-----------
 1 files changed, 68 insertions(+), 22 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 1c8c364..82724a1 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
@@ -1,29 +1,19 @@
 package org.springblade.mdm.basesetting.machine.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.jsonwebtoken.lang.Collections;
 import org.apache.commons.lang3.StringUtils;
 import org.springblade.core.excel.util.ExcelUtil;
-import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BizServiceImpl;
-import org.springblade.core.mp.support.Condition;
 import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.utils.BeanUtil;
-import org.springblade.core.tool.utils.Func;
-import org.springblade.mdm.basesetting.machine.MachineService;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.basesetting.machine.mapper.MachineMapper;
 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.entity.MdmDept;
-import org.springblade.mdm.basesetting.producedivision.entity.ProduceDivision;
 import org.springblade.mdm.basesetting.producedivision.service.MdmDeptService;
 import org.springblade.mdm.basesetting.producedivision.vo.ImportResult;
 import org.springblade.system.feign.IDictBizClient;
 import org.springblade.system.feign.ISysClient;
-import org.springblade.system.pojo.entity.Dept;
 import org.springblade.system.pojo.entity.DictBiz;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,11 +21,6 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.InvalidPathException;
-import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
@@ -51,13 +36,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);
-		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
@@ -93,8 +88,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());
@@ -102,10 +98,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);
@@ -118,4 +126,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