From 5d99227a97b7b244893b748af28e7f78238d2951 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 05 九月 2025 01:15:15 +0800
Subject: [PATCH] 任务提醒,增加导出提醒;
---
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/service/QinzheSyncService.java | 162 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 159 insertions(+), 3 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..7250a6f 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,11 +1,26 @@
package org.springblade.qinzhesync.service;
import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.tool.api.R;
+import org.springblade.qinzhesync.entity.ProduceDivision;
+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.cloud.commons.util.IdUtils;
+import org.springframework.dao.DataAccessException;
+import org.springframework.jdbc.core.BatchPreparedStatementSetter;
import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.ResultSetExtractor;
+import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
/**
@@ -18,14 +33,155 @@
@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 = 4;//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鍒嗗伐琛�
+ * @param drawingNo
+ * @return 瀛樺湪涓庡惁
+ */
+ public boolean drawingNoExists(String drawingNo){
+ Long cnt = mdmJdbcTemplate.queryForObject("select count(*) from mdm_produce_division where drawing_no=?",Long.class,drawingNo);
+ return cnt > 0;
+ }
+ /**
+ * 娓呴櫎mdm鍒嗗伐琛ㄥ唴浠庡嫟鍝插鍏ョ殑銆佷笖鏈粡杩囦慨鏀圭殑鏁版嵁
+ */
+ void cleanQinzheDataInDivision(){
+ //update_user =-1 姝ゆ爣蹇椾负鍕ゅ摬鍚屾鏁版嵁涓旀湭淇敼杩囥��
+ mdmJdbcTemplate.update("delete from mdm_produce_division where create_user=-1 and update_user=-1");
+ }
+ /**
+ * 灏嗗嫟鍝茬郴缁熺殑鏁版嵁鍏堜竴娆℃�у鍏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);
+ }
+ /**
+ * //qingzhe - mdm
+ * 涓荤宸ヨ壓 - 涓撲笟缁勯暱
+ * 缂栧埗锛屾牎瀵癸紝楂樺笀锛堢洰鍓嶉珮甯堟�诲叡6涓汉锛変篃閮芥病鏈�.鐩墠鍙尮閰嶄笓涓氱粍闀垮嵆鍙紝缂栧埗鏍″鍦╩dm涓淮鎶�
+ * 鏇存柊mdm涓诲埗鍒嗗伐琛ㄦ暟鎹�,
+ */
+ void updateProduceDivision(List<QinzheZzFgb> fgbList){
+ String sql = "insert into mdm_produce_division (id,drawing_no,team_leader_id,create_user,update_user,create_time,update_time,status,is_deleted) values (?,?,?,-1,-1,CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,1,0)";
+ String ljh,zggy;
+ for(QinzheZzFgb fgb : fgbList){
+ if(drawingNoExists(fgb.getLjh())){
+ //鍥惧彿宸插瓨鍦紝璇存槑mdm绯荤粺涓凡缁忓綍鍏ヨ繃浜�
+ continue;
+ }
+
+ Long zuzhangId = getUserIdByName(fgb.getZggy());
+
+ mdmJdbcTemplate.update(sql, new Object[]{idGen.nextId(),fgb.getLjh(),zuzhangId});
+
+ }
+
+ }
+
+ void insertProduceDivision(String drawingNo,Long zuzhangId){
+ String sql = "insert into mdm_produce_division () values ";
+ }
+
+ Long getUserIdByName(String zuzhangName){
+ String sql = "select id from blade_user where name=? and is_deleted=0 order by update_time limit 1";
+ List<Long> idList = this.mdmJdbcTemplate.queryForList(sql,Long.class,zuzhangName);
+ if(idList.isEmpty()){
+ return null;
+ }else{
+ return idList.get(0);
+ }
+ }
+ /**
+ * 娓呴櫎鏈湴涓存椂琛ㄦ暟鎹�
+ */
+ 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,update_time) values (?,?,?,?,?,?,?,?,?,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;
+ }
+ }
+
+ 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