From 3baca21e0e6563f8379359ef2ba78c224eb4bc80 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 23 九月 2025 22:45:51 +0800
Subject: [PATCH] 修复审批表,确认表内容

---
 blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/service/QinzheSyncService.java |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 104 insertions(+), 4 deletions(-)

diff --git a/blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/service/QinzheSyncService.java b/blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/service/QinzheSyncService.java
index 09489c4..da09a03 100644
--- a/blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/service/QinzheSyncService.java
+++ b/blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/service/QinzheSyncService.java
@@ -1,12 +1,20 @@
 package org.springblade.qinzhesync.service;
 
 import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.tool.api.R;
+import org.springblade.qinzhesync.utils.SnowflakeIdGenerator;
+import org.springblade.system.feign.ISysClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.RowMapper;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Map;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 鍕ゅ摬涓诲埗鍒嗗伐琛ㄦ暟鎹悓姝ョ殑鏈嶅姟
@@ -18,14 +26,106 @@
 	@Autowired
 	private  JdbcTemplate mdmJdbcTemplate;
 
-	@Qualifier("qingzheJdbcTemplate")
+	@Qualifier("qinzheJdbcTemplate")
 	@Autowired
-	private JdbcTemplate qingzheJdbcTemplate;
+	private JdbcTemplate qinzheJdbcTemplate;
+	@Autowired
+	private ISysClient sysClient;
+	@Autowired
+	private SnowflakeIdGenerator idGen;
 
+
+	private static final String DEFAULT_QUERY_SQL = "select 浜у搧鍙� cph,闆朵欢鍙� ljh,闆朵欢鍚嶇О ljmc,涓诲埗 zz,涓诲埗宸ユ zzgd,涓荤宸ヨ壓 zggy,鍓 fg,杞﹂棿璁″垝鍛� cjjhy,璁″垝鍛� jhy from v_寮犵珛铏巁2鍘備富鍒跺垎宸ヨ〃";
+	private static final String QINZHE_QUERY_KEY = "QINZHE_QUERY";
+
+	/**
+	 * 鎵归噺鎻掑叆鏁版嵁鏁伴噺
+	 */
+	static final int BATCH_SIZE = 2000;//5000;
+
+	@Transactional
 	public void syncData(){
+		/*
 		Map mmdData = mdmJdbcTemplate.queryForMap("select count(*) n from mdm_machine");
 		log.info("mdm:{}",mmdData);
-		Map qinzheData = qingzheJdbcTemplate.queryForMap("select count(*) n from mdm_machine");
+		Map qinzheData = qinzheJdbcTemplate.queryForMap("select count(*) n from mdm_machine");
 		log.info("qingzhe:{}",qinzheData);
+		*/
+		cleanLocalTable();
+		//cleanQinzheDataInDivision();
+		saveQinzheFgb();
+	}
+
+	/**
+	 * 灏嗗嫟鍝茬郴缁熺殑鏁版嵁鍏堜竴娆℃�у鍏dm绯荤粺鏁版嵁搴撲复鏃惰〃
+	 */
+	public void saveQinzheFgb(){
+
+		List<QinzheZzFgb> fgbList = this.qinzheJdbcTemplate.query(this.getQuerySql(),new RowMapper<QinzheZzFgb>(){
+			@Override
+			public QinzheZzFgb mapRow(ResultSet rs, int rowNum) throws SQLException {
+				QinzheZzFgb fgb = new QinzheZzFgb();
+				fgb.setCph(rs.getString("cph"));
+				fgb.setLjh(rs.getString("ljh"));;
+				fgb.setLjmc(rs.getString("ljmc"));
+				fgb.setZz(rs.getString("zz"));
+				fgb.setZzgd(rs.getString("zzgd"));
+				fgb.setZggy(rs.getString("zggy"));
+				fgb.setFg(rs.getString("fg"));
+				fgb.setCjjhy(rs.getString("cjjhy"));
+				fgb.setJhy(rs.getString("jhy"));
+
+				return fgb;
+			}
+		});
+
+		insertToLocalTable(fgbList);
+
+		//updateProduceDivision(fgbList);
+	}
+
+	/**
+	 * 娓呴櫎鏈湴涓存椂琛ㄦ暟鎹�
+	 */
+	private void cleanLocalTable(){
+		this.mdmJdbcTemplate.update("delete from mdm_qinzhe_fgb");
+	}
+
+	/**
+	 * 灏嗕粠鍕ゅ摬鏌ヨ鍒扮殑鏁版嵁鎻掑叆鏈湴涓存椂琛�
+	 * @param fgbList
+	 */
+	private void insertToLocalTable(List<QinzheZzFgb> fgbList) {
+		String insSql = "insert into mdm_qinzhe_fgb (cph,ljh,ljmc,zz,zzgd,zggy,fg,cjjhy,jhy,source,update_time) values (?,?,?,?,?,?,?,?,?,'QZ',CURRENT_TIMESTAMP)";
+
+		QinzheZzFgb fgb;
+		List<Object[]> args = new ArrayList<>();
+		int insertedAmount = 0;//宸叉彃鍏ユ暟鎹殑鏁伴噺
+		while(insertedAmount < fgbList.size()) {
+			int added = 0;
+			for(int i=insertedAmount;added<BATCH_SIZE && i<fgbList.size();i++){
+				fgb = fgbList.get(i);
+				args.add(new String[]{fgb.getCph(),fgb.getLjh(),fgb.getLjmc(),fgb.getZz(),fgb.getZzgd(),fgb.getZggy(),fgb.getFg(),fgb.getCjjhy(),fgb.getJhy()});
+
+				added ++;
+			}
+
+			mdmJdbcTemplate.batchUpdate(insSql, args);
+			args.clear();
+			insertedAmount += added;
+		}
+	}
+
+	/**
+	 * 鏍规嵁閰嶇疆鑾峰彇鍕ゅ摬鏌ヨsql锛堝弬鏁扮鐞嗛噷鍙厤缃級
+	 * @return
+	 */
+	String getQuerySql(){
+		String querySql = DEFAULT_QUERY_SQL;
+		R<String> sqlResult = sysClient.getParamValue(QINZHE_QUERY_KEY);
+		if(sqlResult.isSuccess()){
+			querySql = sqlResult.getData();
+		}
+		return querySql;
 	}
 }

--
Gitblit v1.9.3