From 5458c0b9a6c9e18c681696d10254ae4a5b529643 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 23 八月 2025 10:42:15 +0800
Subject: [PATCH] 勤哲分工表修改,不修改零件号

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/QinzheFgbService.java |   83 +++++++++++++++++++++++++++++++++++++++--
 1 files changed, 78 insertions(+), 5 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 9b69b1c..21dc30d 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,17 +1,32 @@
 package org.springblade.mdm.basesetting.producedivision.service;
 
-import com.alibaba.excel.util.StringUtils;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 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.ProduceDivision;
 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.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
 public class QinzheFgbService extends ServiceImpl<QinzheFgbMapper, QinzheFgb> {
+	/**
+	 * 鏍规嵁闆朵欢鍙疯幏鍙栨暟鎹�
+	 * @param ljh 闆朵欢鍙�
+	 * @return 鍒嗗伐琛ㄥ疄浣�,鎵句笉鍒拌繑鍥瀗ull
+	 */
+	public QinzheFgb getByLjh(String ljh) {
+		return lambdaQuery().eq(QinzheFgb::getLjh, ljh).list().stream().findFirst().orElse(null);
+	}
 
 	/**
      * 鏌ヨ鍒嗛〉
@@ -23,4 +38,62 @@
 		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("QZ");
+			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, "MDM").update();
+	}
 }

--
Gitblit v1.9.3