| | |
| | | |
| | | 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; |
| | |
| | | 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"; |
| | | |
| | |
| | | log.info("qingzhe:{}",qinzheData); |
| | | */ |
| | | cleanLocalTable(); |
| | | saveQinzheFgbToLocalTable(); |
| | | |
| | | updateProduceDivision(); |
| | | cleanQinzheDataInDivision(); |
| | | |
| | | |
| | | saveQinzheFgb(); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * //qingzhe - mdm |
| | | * 主管工艺 - 专业组长 |
| | | * 编制,校对,高师(目前高师总共6个人)也都没有.目前只匹配专业组长即可,编制校对在mdm中维护 |
| | | * 更新mdm主制分工表数据, |
| | | * 图号是否存在于MDM分工表 |
| | | * @param drawingNo |
| | | * @return 存在与否 |
| | | */ |
| | | void updateProduceDivision(){ |
| | | |
| | | |
| | | mdmJdbcTemplate.update("delete from mdm_produce_division where create_user=-1 and update_user=-1"); |
| | | 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分工表内所有从勤哲导入的数据 |
| | | * 清除mdm分工表内从勤哲导入的、且未经过修改的数据 |
| | | */ |
| | | void cleanQinzheDataInDivision(){ |
| | | |
| | | //update_user =-1 此标志为勤哲同步数据且未修改过。 |
| | | mdmJdbcTemplate.update("delete from mdm_produce_division where create_user=-1 and update_user=-1"); |
| | | } |
| | | /** |
| | | * 将勤哲系统的数据先一次性导入mdm系统数据库临时表 |
| | | */ |
| | | public void saveQinzheFgbToLocalTable(){ |
| | | public void saveQinzheFgb(){ |
| | | |
| | | List<QinzheZzFgb> fgbList = this.qinzheJdbcTemplate.query(this.getQuerySql(),new RowMapper<QinzheZzFgb>(){ |
| | | @Override |
| | |
| | | }); |
| | | |
| | | insertToLocalTable(fgbList); |
| | | |
| | | updateProduceDivision(fgbList); |
| | | } |
| | | /** |
| | | * //qingzhe - mdm |
| | | * 主管工艺 - 专业组长 |
| | | * 编制,校对,高师(目前高师总共6个人)也都没有.目前只匹配专业组长即可,编制校对在mdm中维护 |
| | | * 更新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()); |
| | | /* |
| | | ProduceDivision pd = new ProduceDivision(); |
| | | pd.setDrawingNo(fgb.getLjh()); |
| | | pd.setTeamLeaderId(zuzhangId); |
| | | pd.setUpdateUser(-1L); |
| | | pd.setCreateUser(-1L); |
| | | */ |
| | | //Long id = ; |
| | | mdmJdbcTemplate.update(sql, new Object[]{idGen.nextId(),fgb.getLjh(),zuzhangId}); |
| | | //produceDivisionService.save(pd); |
| | | } |
| | | |
| | | } |
| | | |
| | | 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"); |
| | | |
| | | } |
| | | |
| | | /** |