yangys
2025-08-01 cef990730c07e7fcdbe015bdfb0f0e27f7e06e27
机床管理bug修复;勤哲对接完善
已添加5个文件
已修改12个文件
404 ■■■■ 文件已修改
blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/mapper/MachineMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineQueryVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/ProduceDivisionMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowProgramController.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/ProgramUploadVO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-qinzhesync/pom.xml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/QinzheSyncApplication.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/config/DataSourceConfig.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/config/JdbcTemplateConfig.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/config/SnowConfig.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/controller/SyncController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/entity/ProduceDivision.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/service/QinzheSyncService.java 83 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/utils/SnowflakeIdGenerator.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-qinzhesync/src/main/resources/application-dev.yml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
doc/sql/mdm/mdm.mysql.all.create.sql 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/mapper/MachineMapper.xml
@@ -24,6 +24,7 @@
        <if test="query.keyword!=null and query.keyword!=''">
            and (m.code like CONCAT('%', #{query.keyword,jdbcType=VARCHAR},'%') or m.name like CONCAT('%', #{query.keyword,jdbcType=VARCHAR},'%'))
        </if>
        order by m.update_time desc,m.code asc
    </select>
blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineQueryVO.java
@@ -16,6 +16,6 @@
    @Schema(description = "名称或编码")
    private String keyword;
    @Schema(description = "机床组code")
    private Long machineGroupCode;
    private String machineGroupCode;
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/ProduceDivisionMapper.xml
@@ -15,10 +15,10 @@
    </resultMap>-->
    <select id="pageQuery" resultType="org.springblade.mdm.basesetting.producedivision.vo.ProduceDivisionViewVO">
        select p.id,p.drawing_no,p.team_leader_id,p.programmer_id,p.checker_id,p.senior_id,l.name team_leader_name,pro.name  programmer_name,c.name checker_name,s.name seniorName
        from mdm_produce_division p join blade_user l on p.team_leader_id=l.id and l.is_deleted=0
                                join blade_user pro on p.programmer_id=pro.id and pro.is_deleted=0
                                join blade_user c on p.checker_id=c.id and c.is_deleted=0
                                join blade_user s on p.senior_id=s.id and c.is_deleted=0
        from mdm_produce_division p left join blade_user l on p.team_leader_id=l.id and l.is_deleted=0
                            left join blade_user pro on p.programmer_id=pro.id and pro.is_deleted=0
        left join blade_user c on p.checker_id=c.id and c.is_deleted=0
        left join blade_user s on p.senior_id=s.id and c.is_deleted=0
                                                         where p.is_deleted=0
        <if test="name != null and name != ''">
            AND (l.account like concat('%',#{name,jdbcType=VARCHAR},'%') or l.name like
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowProgramController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
package org.springblade.mdm.flow.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.mdm.flow.service.ApproveRecordService;
import org.springblade.mdm.flow.vo.ApproveRecordVO;
import org.springblade.mdm.flow.vo.ProgramUploadVO;
import org.springblade.mdm.flow.vo.TaskTraceVO;
import org.springblade.mdm.program.service.NcProgramService;
import org.springblade.mdm.program.service.ProcessProgRefService;
import org.springblade.mdm.program.vo.NcNodeProgramQueryVO;
import org.springblade.mdm.program.vo.NcProgramUploadVO;
import org.springblade.mdm.program.vo.NcProgramVO;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
 * ç¨‹åºèŠ‚ç‚¹
 *
 * @author yangys
 */
@NonDS
@RestController
@RequestMapping("/flow/mgr")
@AllArgsConstructor
@Tag(name = "流程管理", description = "流程管理")
@Slf4j
public class FlowProgramController {
    private final NcProgramService ncProgramService;
    private final ProcessProgRefService ncProcessProgRefService;
    private final ApproveRecordService approveRecordService;
    @PostMapping("/ncupload")
    @Operation(summary = "上传程序文件", description = "上传程序文件")
    public R<Boolean> upload(ProgramUploadVO uploadVO) {
        try {
        }catch(Exception e) {
            log.error("程序上传执行错误",e);
            return R.fail("上传失败:" + e.getMessage());
        }
        return R.success();
    }
    @PostMapping("/remove")
    @Operation(summary = "删除临时程序文件", description = "")
    public R<Boolean> removeFile(Long id) {
        try {
        }catch(Exception e) {
            log.error("删除文件失败",e);
            return R.fail(e.getMessage());
        }
        return R.success();
    }
    @GetMapping("/content")
    @Operation(summary = "获取文件内容", description = "仅限文本格式的内容,二进制文件将返回空串")
    public R<String> fileContent(@Parameter(description = "程序文件id") Long id) {
        try {
            return R.data(ncProgramService.getFileContent(id));
        }catch(Exception e) {
            log.error("删除文件失败",e);
            return R.fail(e.getMessage());
        }
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java
@@ -277,7 +277,7 @@
        //List<Task> tasks = taskQuery.list();
        long total = taskQuery.count();
        Long firstResult = (currentPage-1)*pageSize+1;
        Long firstResult = (currentPage-1)*pageSize;
        List<Task> tasks = taskQuery.listPage(Func.toInt(firstResult), Func.toInt(pageSize));
        tasks.forEach(task -> {
            FlowVO flow = new FlowVO();
@@ -499,7 +499,7 @@
        query.orderByProcessInstanceEndTime().desc(); // æŒ‰ç»“束时间降序排列
        page.setTotal(query.count());
        long firstResult = (page.getCurrent()-1) * page.getSize() + 1;
        long firstResult = (page.getCurrent()-1) * page.getSize();
        List<HistoricProcessInstance> processes = query
            .listPage((int)firstResult, (int)page.getSize());
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/ProgramUploadVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.springblade.mdm.flow.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.springframework.web.multipart.MultipartFile;
/**
 * æµç¨‹ä¸­NC程序上传VO
 */
@Setter
@Getter
public class ProgramUploadVO {
    @Schema(description = "流程实例id")
    private String processInstanceId;
    @Schema(description = "文件集合")
    private MultipartFile[] files;
}
blade-service/blade-qinzhesync/pom.xml
@@ -18,12 +18,7 @@
        <dependency>
            <groupId>org.springblade</groupId>
            <artifactId>blade-core-boot</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springblade</groupId>
                    <artifactId>blade-starter-mybatis</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
@@ -34,17 +29,6 @@
        <dependency>
            <groupId>org.springblade</groupId>
            <artifactId>blade-system-api</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springblade</groupId>
                    <artifactId>blade-starter-tenant</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springblade</groupId>
                    <artifactId>blade-starter-mybatis</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
@@ -69,8 +53,32 @@
            <artifactId>blade-core-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.jtds</groupId>
            <artifactId>jtds</artifactId>
            <version>1.3.1</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>org.springblade.qinzhesync.QinzheSyncApplication</mainClass>
                    <layout>ZIP</layout>
                    <includes>
                        <include>
                            <groupId>nothing</groupId>
                            <artifactId>nothing</artifactId>
                        </include>
                    </includes>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/QinzheSyncApplication.java
@@ -3,8 +3,6 @@
import org.springblade.core.cloud.client.BladeCloudApplication;
import org.springblade.core.launch.BladeApplication;
import org.springblade.core.mp.config.MybatisPlusConfiguration;
//import org.springblade.core.launch.constant.AppConstant;
/**
 * å‹¤å“²æ•°æ®åŒæ­¥æ¨¡å—启动器
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/config/DataSourceConfig.java
@@ -1,5 +1,7 @@
package org.springblade.qinzhesync.config;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
@@ -13,9 +15,12 @@
    @Primary
    @ConfigurationProperties(prefix="spring.datasource")
    @Bean("dataSource")
    public DataSource dataSource() {
        return DataSourceBuilder.create().build();
        return DruidDataSourceBuilder.create().build();
        //return DataSourceBuilder.create().build();
    }
    @Bean("mdmDdataSource")
    @ConfigurationProperties(prefix="spring.datasource.mdm")
    public DataSource preDataSource() {
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/config/JdbcTemplateConfig.java
@@ -14,6 +14,7 @@
@Configuration
public class JdbcTemplateConfig {
    private String mapper = "classpath:org/springblade/qinzhesync/mapper/*Mapper.xml";   //xml扫描路径
    //private String mapper = "org/springblade/qinzhesync/mapper/*Mapper.xml";   //xml扫描路径
    @Primary
    @Bean
    public JdbcTemplate primaryJdbcTemplate(@Qualifier("mdmDdataSource") DataSource dataSource) {//
@@ -26,9 +27,10 @@
    }
    @Bean
    public SqlSessionFactory sqlSessionFactory(@Qualifier("mdmDdataSource") DataSource dataSource) throws Exception {
    public SqlSessionFactory sqlSessionFactory(@Qualifier("dataSource") DataSource dataSource) throws Exception {
        final SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource);
        sqlSessionFactoryBean.setTypeAliasesPackage("org.springblade.qinzhesync.entity");
        //sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapper));
        return sqlSessionFactoryBean.getObject();
    }
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/config/SnowConfig.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package org.springblade.qinzhesync.config;
import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceBuilder;
import org.springblade.qinzhesync.utils.SnowflakeIdGenerator;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import javax.sql.DataSource;
@Configuration
public class SnowConfig {
    @Bean
    public SnowflakeIdGenerator snowflakeIdGenerator() {
        return new SnowflakeIdGenerator(1,1);
    }
}
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/controller/SyncController.java
@@ -32,4 +32,15 @@
        return R.<Boolean>status(true);
    }
    @GetMapping("/exists")
    @Operation(summary = "图号存在判断", description = "图号存在判断")
    public R<Boolean> exists(String drawingNo) {
        try {
            return R.data(service.drawingNoExists(drawingNo));
        }catch (Exception e) {
            log.error("exist失败", e);;
            return R.fail(e.getMessage());
        }
    }
}
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/entity/ProduceDivision.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
package org.springblade.qinzhesync.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import org.springblade.core.mp.base.BizEntity;
/**
 * ä¸»åˆ¶åˆ†å·¥è¡¨
 */
@Setter
@Getter
@TableName("mdm_produce_division")
public class ProduceDivision extends BizEntity {
    /**
     * é›¶ç»„件编号
     */
    private String drawingNo;
    /**
     * ä¸“业组长id
     */
    private Long teamLeaderId;
    /**
     * ç¼–制工艺员id
     */
    private Long programmerId;
    /**
     * æ ¡å¯¹å·¥è‰ºå‘˜id
     */
    private Long checkerId;
    /**
     * é«˜å¸ˆid
     */
    private Long seniorId;
}
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/service/QinzheSyncService.java
@@ -2,9 +2,12 @@
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;
@@ -34,6 +37,10 @@
    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";
@@ -50,33 +57,36 @@
        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
@@ -97,14 +107,57 @@
        });
        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");
    }
    /**
blade-service/blade-qinzhesync/src/main/java/org/springblade/qinzhesync/utils/SnowflakeIdGenerator.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
package org.springblade.qinzhesync.utils;
public class SnowflakeIdGenerator {
    private final long workerId;
    private final long datacenterId;
    private long sequence = 0L;
    private long lastTimestamp = -1L;
    public SnowflakeIdGenerator(long workerId, long datacenterId) {
        this.workerId = workerId;
        this.datacenterId = datacenterId;
    }
    public synchronized long nextId() {
        long timestamp = System.currentTimeMillis();
        if (timestamp < lastTimestamp) {
            throw new RuntimeException("Clock moved backwards!");
        }
        if (lastTimestamp == timestamp) {
            sequence = (sequence + 1) & 0xFFF;
            if (sequence == 0) {
                timestamp = tilNextMillis(lastTimestamp);
            }
        } else {
            sequence = 0L;
        }
        lastTimestamp = timestamp;
        return ((timestamp - 1288834974657L) << 22) |
            (datacenterId << 17) |
            (workerId << 12) |
            sequence;
    }
    private long tilNextMillis(long lastTimestamp) {
        long timestamp = System.currentTimeMillis();
        while (timestamp <= lastTimestamp) {
            timestamp = System.currentTimeMillis();
        }
        return timestamp;
    }
}
blade-service/blade-qinzhesync/src/main/resources/application-dev.yml
@@ -2,6 +2,28 @@
server:
  port: 8109
wfg:
  # è¯·ä¸€å®šæ³¨æ„ï¼ WorkerIdBitLength + SeqBitLength + DataCenterIdBitLength <= 22
  # 1表示雪花漂移算法,2表示传统雪花算法
  method: 1
  # åŸºç¡€æ—¶é—´ï¼Œä¸º2023-07-01 00:00:00 id>0
  baseTime: 1688140800000
  # æ•°æ®ä¸­å¿ƒid
  dataCenterId: 0
  # æ•°æ®ä¸­å¿ƒid位长,默认为0表示不开启数据中心id功能
  dataCenterIdBitLength: 0
  # æœºå™¨ç ï¼ˆå½“前系统的机器码)
  workerId: 0
  # æœºå™¨ç ä½é•¿ï¼ˆèƒ½è¡¨ç¤ºæœºå™¨ç çš„æœ€å¤§å€¼ï¼‰
  workerIdBitLength: 1
  # åºåˆ—数位长(能表示机器码的最大序列数)
  seqBitLength: 6
  # æœ€å¤§åºåˆ—数(含)
  maxSeqNumber: 0
  # æœ€å°åºåˆ—数(含)
  minSeqNumber: 5
  # æœ€å¤§æ¼‚移次数,与计算能力有关
  topOverCostCount: 2000
#数据源配置
spring:
  datasource:
doc/sql/mdm/mdm.mysql.all.create.sql
@@ -59,7 +59,7 @@
DROP TABLE IF EXISTS `mdm_qinzhe_fgb`;
CREATE TABLE `mdm_qinzhe_fgb` (
   `cph` varchar(40) NULL COMMENT '产品号',
   `cph` varchar(80) NULL COMMENT '产品号',
   `ljh` varchar(80) NULL COMMENT '零件号',
   `ljmc` varchar(100) NULL COMMENT '零件名称',
   `zz` varchar(40) NULL COMMENT '主制',
@@ -96,12 +96,11 @@
DROP TABLE IF EXISTS `mdm_produce_division`;
CREATE TABLE `mdm_produce_division` (
    `id` bigint NOT NULL,
    `drawing_no` varchar(100) NULL COMMENT '图号,零组件号',
    `team_leader_id` bigint NOT NULL COMMENT '专业组长账号',
    `programmer_id` bigint NOT NULL COMMENT '编制员账号',
    `checker_id` bigint NOT NULL COMMENT '校对员账号(工艺员角色)',
    `senior_id` bigint NOT NULL COMMENT '审批高师账号',
    `drawing_no` varchar(100) Not NULL COMMENT '图号,零组件号',
    `team_leader_id` bigint  COMMENT '专业组长账号',
    `programmer_id` bigint  COMMENT '编制员账号',
    `checker_id` bigint COMMENT '校对员账号(工艺员角色)',
    `senior_id` bigint  COMMENT '审批高师账号',
    `tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户ID',
    `status` int DEFAULT NULL COMMENT '业务状态',
    `create_dept` bigint DEFAULT NULL COMMENT '创建单位',
@@ -110,8 +109,7 @@
    `create_user` bigint DEFAULT NULL COMMENT '创建人',
    `update_time` datetime DEFAULT NULL COMMENT '更新时间',
    `update_user` bigint DEFAULT NULL COMMENT '更新人',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE KEY `uniqueCheckIndex` (`team_leader_id`,`programmer_id`,`checker_id`,`senior_id`,`is_deleted`) USING BTREE
    PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci  ROW_FORMAT=DYNAMIC COMMENT='主制分工表';