| | |
| | | |
| | | 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.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; |
| | | |
| | | /** |
| | | * 勤哲主制分工表数据同步的服务 |
| | |
| | | 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; |
| | | static final int BATCH_SIZE = 2000;//5000; |
| | | |
| | | @Transactional |
| | | public void syncData(){ |
| | | /* |
| | | Map mmdData = mdmJdbcTemplate.queryForMap("select count(*) n from mdm_machine"); |
| | |
| | | log.info("qingzhe:{}",qinzheData); |
| | | */ |
| | | cleanLocalTable(); |
| | | saveQinzheFgbToLocalTable(); |
| | | |
| | | updateProduceDivision(); |
| | | //cleanQinzheDataInDivision(); |
| | | saveQinzheFgb(); |
| | | } |
| | | |
| | | /** |
| | | * //qingzhe - mdm |
| | | * 主管工艺 - 专业组长 |
| | | * 编制,校对,高师(目前高师总共6个人)也都没有.目前只匹配专业组长即可,编制校对在mdm中维护 |
| | | * 更新mdm主制分工表数据, |
| | | */ |
| | | void updateProduceDivision(){ |
| | | |
| | | |
| | | mdmJdbcTemplate.update("delete from mdm_produce_division where create_user=-1 and update_user=-1"); |
| | | } |
| | | |
| | | /** |
| | | * 清除mdm分工表内所有从勤哲导入的数据 |
| | | */ |
| | | void cleanQinzheDataInDivision(){ |
| | | |
| | | } |
| | | /** |
| | | * 将勤哲系统的数据先一次性导入mdm系统数据库临时表 |
| | | */ |
| | | public void saveQinzheFgbToLocalTable(){ |
| | | public void saveQinzheFgb(){ |
| | | |
| | | List<QinzheZzFgb> fgbList = this.qinzheJdbcTemplate.query(this.getQuerySql(),new RowMapper<QinzheZzFgb>(){ |
| | | @Override |
| | |
| | | }); |
| | | |
| | | 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,update_time) values (?,?,?,?,?,?,?,?,?,CURRENT_TIMESTAMP)"; |
| | | 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<>(); |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 根据配置获取勤哲查询sql(参数管理里可配置) |
| | | * @return |
| | | */ |
| | | String getQuerySql(){ |
| | | String querySql = DEFAULT_QUERY_SQL; |
| | | R<String> sqlResult = sysClient.getParamValue(QINZHE_QUERY_KEY); |