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