From 56f5157ae8dba22eb30fb6c7cb132f80b7161932 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期日, 07 九月 2025 00:53:08 +0800
Subject: [PATCH] 派工界面增加选择主管工艺

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/QinzheFgbService.java |   78 ++++++++++++++++++++++++++++++++-------
 1 files changed, 64 insertions(+), 14 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 bf8bd91..8f5371d 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
@@ -1,14 +1,17 @@
 package org.springblade.mdm.basesetting.producedivision.service;
 
-import com.alibaba.excel.util.StringUtils;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springblade.core.mp.support.Condition;
-import org.springblade.core.mp.support.Query;
+import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.mdm.basesetting.producedivision.entity.QinzheFgb;
 import org.springblade.mdm.basesetting.producedivision.mapper.QinzheFgbMapper;
-import org.springframework.beans.factory.annotation.Autowired;
+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
 public class QinzheFgbService extends ServiceImpl<QinzheFgbMapper, QinzheFgb> {
@@ -21,14 +24,61 @@
 		return lambdaQuery().eq(QinzheFgb::getLjh, ljh).list().stream().findFirst().orElse(null);
 	}
 
-	/**
-     * 鏌ヨ鍒嗛〉
-	 * @param query 鏌ヨ鍙傛暟
-	 * @return 鍒嗛〉鏁版嵁
-	 */
-	/*
-	public IPage<QinzheFgb> pageQuery(String name, Query query) {
-		return this.lambdaQuery().like(StringUtils.isNotBlank(name),QinzheFgb::getZggy,name).page(Condition.getPage(query));
+	public List<String> seletDropList(String ljh) {
+		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(QinzheFgb.SOURCE_MDM);
+			entityList.add(fgb);
+		}
+
+		saveIfNotExists(entityList);
+	}
+
+	/**
+	 * 涓嶅瓨鍦ㄥ垯淇濆瓨
+	 * @param entityList 鏁版嵁鍒楄〃
+	 */
+	@Transactional
+	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;
+	}
+
+	/**
+	 * 淇敼鍕ゅ摬鍒嗗伐琛ㄦ暟鎹�
+	 * @param fgb 鏁版嵁瀹炰綋
+	 */
+	public void updateFgb(QinzheFgb fgb) {
+		lambdaUpdate().eq(QinzheFgb::getLjh, fgb.getLjh())
+			.set(QinzheFgb::getZggy, fgb.getZggy())
+			.set(QinzheFgb::getCph, fgb.getCph()).set(QinzheFgb::getSource,QinzheFgb.SOURCE_MDM).update();
+	}
 }

--
Gitblit v1.9.3