From ddafa0375398053baaafdee8612f68c1b75ff7cb Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 22 八月 2025 13:37:54 +0800
Subject: [PATCH] 机床导入1

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/QinzheFgbService.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/QinzheFgbService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/QinzheFgbService.java
index f7591aa..eee600d 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/QinzheFgbService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/QinzheFgbService.java
@@ -2,10 +2,19 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.excel.util.ExcelUtil;
+import org.springblade.mdm.basesetting.producedivision.entity.ProduceDivision;
 import org.springblade.mdm.basesetting.producedivision.entity.QinzheFgb;
 import org.springblade.mdm.basesetting.producedivision.mapper.QinzheFgbMapper;
+import org.springblade.mdm.basesetting.producedivision.vo.DivisionExcel;
+import org.springblade.mdm.basesetting.producedivision.vo.ImportResult;
+import org.springblade.mdm.basesetting.producedivision.vo.QinzheFgbExcel;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Service
@@ -34,4 +43,54 @@
 		return this.baseMapper.seletDropList(ljh);
 
 	}
+
+	/**
+	 * 瀵煎叆鍕ゅ摬鍒嗗伐琛�
+	 * @param file excel鏂囦欢
+	 * @return 瀵煎叆缁撴灉
+	 */
+	@Transactional
+	public void importFgb(MultipartFile file) {
+
+		List<QinzheFgbExcel> list = ExcelUtil.read(file, QinzheFgbExcel.class);
+		List<QinzheFgb> entityList = new ArrayList<>();
+
+		for(QinzheFgbExcel qzExcel: list){
+			QinzheFgb fgb = new QinzheFgb();
+			BeanUtils.copyProperties(qzExcel,fgb);
+			fgb.setSource("QZ");
+			entityList.add(fgb);
+		}
+
+		saveIfNotExists(entityList);
+	}
+
+	/**
+	 * 涓嶅瓨鍦ㄥ垯淇濆瓨
+	 * @param entityList 鏁版嵁鍒楄〃
+	 */
+	@Transactional
+	private void saveIfNotExists(List<QinzheFgb> entityList) {
+
+		List<QinzheFgb> willSaveList = entityList.stream().filter(e -> !exists(e)).toList();
+		this.saveBatch(willSaveList);
+
+	}
+
+	/**
+	 * 鍒ゆ柇鏁版嵁鏄惁瀛樺湪
+	 * @param entity 瀹炰綋
+	 * @return 鏄惁瀛樺湪
+	 */
+	boolean exists(QinzheFgb entity){
+		return lambdaQuery().eq(QinzheFgb::getLjh, entity.getLjh())
+			.eq(QinzheFgb::getCph, entity.getCph()).eq(QinzheFgb::getZggy, entity.getZggy()).count() > 0;
+	}
+
+	public void updateFgb(QinzheFgb fgb) {
+		lambdaUpdate().eq(QinzheFgb::getLjh, fgb.getLjh())
+			.set(QinzheFgb::getZggy, fgb.getZggy())
+			.set(QinzheFgb::getLjh, fgb.getLjh())
+			.set(QinzheFgb::getCph, fgb.getCph()).set(QinzheFgb::getSource, "MDM").update();
+	}
 }

--
Gitblit v1.9.3