yangys
2025-06-30 532611ebe6ccecd6d17930c33a24ddfd5b1c2610
增加程序文件列表
已修改17个文件
已删除1个文件
234 ■■■■■ 文件已修改
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/CureFlowService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/dispatch/ProgramEmptyUpgradeProcessEdtionTask.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskAssignVO.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeProgramVO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramUploadVO.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramVO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
doc/sql/mdm/mdm.mysql.all.create.sql 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java
@@ -36,7 +36,7 @@
     */
    @PostMapping("/start")
    @Operation(summary = "任务计划(派工流程)", description = "启动派工流程")
    public R<Boolean> save(@RequestBody TaskAssignVO startVO) {
    public R<Boolean> start(@RequestBody TaskAssignVO startVO) {
        dispatcher.start(startVO);
        return R.status(true);
    }
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java
@@ -16,6 +16,7 @@
import org.springframework.stereotype.Service;
import org.flowable.engine.RuntimeService;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service("startDispatcher")
@@ -46,19 +47,19 @@
        vars.put("craftEdition",startVO.getCraftEdition());
        vars.put("planStartTime",startVO.getPlanStartTime());
        vars.put("drawingNo",startVO.getDrawingNo());
        vars.put("drawingNoEdition",startVO.getDrawingNoEdition());
        vars.put("partNo",startVO.getPartNo());
        vars.put("partNoEdition",startVO.getPartNoEdition());
        vars.put("planLockDays",startVO.getPlanLockDays());
        //零组件代码
        String partNo = generatePartNo(startVO);
        vars.put("partNo",partNo);
        NcProgram curedNcProgram = ncProgramService.getCuredNcProgram(partNo,startVO.getMachineCode());
        vars.put("curedNcProgram",curedNcProgram);
        List<NcProgram> curedNcProgram = ncProgramService.getCuredNcProgram(partNo,startVO.getMachineCode());
        //vars.put("curedNcProgram",curedNcProgram);
        //设置是否有固化程序标记
        vars.put("hasCuredProgram",curedNcProgram != null ? "Y":"N");
        vars.put("hasCuredProgram",!curedNcProgram.isEmpty() ? "Y":"N");
        String businessKey = "0";//业务表key
@@ -78,8 +79,8 @@
    String generatePartNo(TaskAssignVO startVO){
        //TODO è¿™ä¸ªæ ¼å¼æœªç¡®å®šï¼Œéœ€è¦ç¡®è®¤
        return String.format("%s-%s-%s-%s-%s-%s",
            startVO.getDrawingNo(),
            startVO.getDrawingNoEdition(),
            startVO.getPartNo(),
            startVO.getPartNoEdition(),
            startVO.getProcessNo(),
            startVO.getProcessName(),
            startVO.getCraftEdition(),
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/CureFlowService.java
@@ -67,20 +67,4 @@
        //log.info()
    }
    /**
     * ç”Ÿæˆé›¶ç»„件编号
     * å›¾å·ã€å›¾å·ç‰ˆæ¬¡ã€å·¥åºå·ã€å·¥åºåç§°ã€å·¥è‰ºç‰ˆæ¬¡ã€å·¥åºç‰ˆæ¬¡ ç»„合起来获得零组件号
     * @param startVO
     * @return
     */
    String generatePartNo(TaskAssignVO startVO){
        //TODO è¿™ä¸ªæ ¼å¼æœªç¡®å®šï¼Œéœ€è¦ç¡®è®¤
        return String.format("%s-%s-%s-%s-%s-%s",
            startVO.getDrawingNo(),
            startVO.getDrawingNoEdition(),
            startVO.getProcessNo(),
            startVO.getProcessName(),
            startVO.getCraftEdition(),
            startVO.getProcessEdition());
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/task/dispatch/ProgramEmptyUpgradeProcessEdtionTask.java
ÎļþÒÑɾ³ý
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskAssignVO.java
@@ -9,10 +9,10 @@
@Data
@Schema(description = "任务计划")
public class TaskAssignVO {
    @Schema(description = "图号")
    private String drawingNo;
    @Schema(description = "图号版次")
    private String drawingNoEdition;
    @Schema(description = "零组件/图号")
    private String partNo;
    @Schema(description = "图号版次/设计版次")
    private String partNoEdition;
    @Schema(description = "工序号")
    private String processNo;
    @Schema(description = "工序名称")
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java
@@ -78,4 +78,6 @@
        IPage<NcNodeProgramVO> pages = ncNodeService.programPageQuery(query);
        return R.data(pages);
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramController.java
@@ -69,4 +69,11 @@
    public R<List<NcProgramVO>> listByNode(@Parameter(description="所属节点ID")@RequestParam Long nodeId) {
        return R.data(ncProgramService.listByNode(nodeId));
    }
    @PostMapping("/upgrade-process-edition")
    @Operation(summary = "升版", description = "升级工序版次")
    public R<Boolean> upgradeProcessEdition(Long id,String newProcessEdition ) {
        ncProgramService.upgradeProcessEdition(id,newProcessEdition);
        return R.<Boolean>status(true);
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java
@@ -23,14 +23,8 @@
     * è®¾å¤‡ç¼–号
     */
    private String machineCode;
    /**
     * å›¾å·
     */
    private String drawingNo;
    /**
     * å›¾å·ç‰ˆæ¬¡
     */
    private String drawingNoEdition;
    /**
     * å·¥åºï¼Œå¦‚“精铣”
@@ -47,9 +41,13 @@
     */
    private String craftEdition;
    /**
     * é›¶ç»„件号
     * é›¶ç»„件号/图号
     */
    private String partNo;
    /**
     * å›¾å·ç‰ˆæ¬¡
     */
    private String partNoEdition;
    /**
     * æ˜¯å¦å›ºåŒ–
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java
@@ -25,10 +25,7 @@
     * æ‰€å±žèŠ‚ç‚¹id,必须未“程序包名"的节点
     */
    private long ncNodeId;
    /**
     * ç¨‹åºåŒ…名
      */
    //private String packageName;
    /**
     * æ–‡ä»¶åœ°å€
     */
@@ -42,10 +39,7 @@
     * æ˜¯å¦ä¸ºæ–‡æœ¬ç±»åž‹
     */
    private Boolean isTextFile;
    /**
     * å›¾å·
     */
    private String drawingNo;
    /**
     * å·¥åºï¼Œå¦‚“精铣”
     */
@@ -59,9 +53,9 @@
     */
    private String machineCode;
    /**
     * é›¶ç»„件号
     * é›¶ç»„件号/图号
     */
    //private String partNo;
    private String partNo;
    /**
     * æ˜¯å¦å›ºåŒ–
@@ -74,11 +68,11 @@
    /**
     * å·¥åºç‰ˆæ¬¡
     */
    //private String processEdition;
    private String processEdition;
    /**
     * æ˜¯å¦æœ€æ–°ç‰ˆæ¬¡ï¼Œ1:最新版次;0:历史版次
     */
    //private Integer isLastEdition;
    private Integer isLastEdition;
    /**
     * æ˜¯å¦é”å®š
     */
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramMapper.java
@@ -9,6 +9,8 @@
import org.springblade.mdm.basesetting.machine.vo.MachineVO;
import org.springblade.mdm.program.entity.NcProgram;
import java.util.List;
public interface NcProgramMapper extends BladeMapper<NcProgram> {
    /**
@@ -17,7 +19,7 @@
     * @param machineGroupCode æœºåºŠç»„代码
     * @return
     */
    NcProgram getCuredNcProgram(@Param("partNo")String partNo,@Param("machineGroupCode")String machineGroupCode);
    List<NcProgram> getCuredNcProgram( @Param("partNo")String partNo,@Param("machineGroupCode")String machineGroupCode);
    /**
     * æ ¹æ®ç¨‹åºåç§°ï¼ŒèŽ·å–æœ€æ–°çš„ç¨‹åºå®žä½“
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramMapper.xml
@@ -41,7 +41,6 @@
        where is_deleted=0 and is_cured=1 and part_no=#{partNo} and is_last_edition=1
        and machine_code in (select code from mdm_machine where machine_group_code=#{machineGroupCode})
        order by create_time desc
        limit 1
    </select>
    <!--
    <select id="getLastNcProgram" resultType="org.springblade.mdm.program.entity.NcProgram">
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
@@ -100,4 +100,6 @@
    public NcNode getLastProgramNode(String name) {
        return this.getBaseMapper().getLastProgramNode(name);
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
@@ -73,7 +73,7 @@
     * @param machineCode
     * @return
     */
    public NcProgram getCuredNcProgram(String partNo,String machineCode) {
    public List<NcProgram> getCuredNcProgram(String partNo,String machineCode) {
        Machine machine = machineService.getByCode(machineCode);
        return this.getBaseMapper().getCuredNcProgram(partNo,machine.getMachineGroupCode());
    }
@@ -81,9 +81,7 @@
    /**
     * ä¸Šä¼ ç¨‹åºæ–‡ä»¶åˆ°æŒ‡å®šèŠ‚ç‚¹
     * @param file
     * @param nodeId
     * @param category æ–‡ä»¶åˆ†ç±»ï¼ˆç¨‹åºæ–‡ä»¶/其他文件)
     * @param uploadVO ä¸Šä¼ æ–‡ä»¶è¡¨å•数据
     */
    public void uploadProgramFile(NcProgramUploadVO uploadVO) {
        MultipartFile file = uploadVO.getFile();
@@ -94,7 +92,8 @@
        prog.setName(file.getOriginalFilename());
        prog.setNcNodeId(uploadVO.getNodeId());
        prog.setOssName(bfile.getName());
        prog.setDrawingNo(uploadVO.getDrawingNo());
        prog.setPartNo(uploadVO.getPartNo());
        prog.setProcessEdition(uploadVO.getProcessEdition());
        boolean isTextFile = false;
        try {
            isTextFile = FileContentUtil.isTextFile(file.getInputStream());
@@ -136,7 +135,7 @@
    public List<NcProgramVO> listByNode(Long nodeId) {
        NcNode node = nodeService.getById(nodeId);
        List<NcProgram> pList = this.list(Wrappers.lambdaQuery(NcProgram.class).eq(NcProgram::getNcNodeId, nodeId).orderByDesc(NcProgram::getCreateTime));
        List<NcProgram> pList = this.list(Wrappers.lambdaQuery(NcProgram.class).eq(NcProgram::getNcNodeId, nodeId).eq(NcProgram::getIsLastEdition,1).orderByDesc(NcProgram::getCreateTime));
        List<NcProgramVO> result = new ArrayList<>();
@@ -149,4 +148,23 @@
        return result;
    }
    /**
     * å‡ç‰ˆ(升级工序版次),升级工序版本(包括程序和其他附件)
     * @param id ç¨‹åºæ–‡ä»¶id
     * @param newProcessEdition æ–°ç‰ˆæ¬¡
     */
    public void upgradeProcessEdition(long id,String newProcessEdition) {
        NcProgram prog = this.getById(id);
        //将现有程序更新为非最新版本
        this.update(Wrappers.lambdaUpdate(NcProgram.class).eq(NcProgram::getId,id).set(NcProgram::getIsLastEdition,0));
        NcProgram newVerProg = new NcProgram();
        BeanUtils.copyProperties(prog, newVerProg);
        newVerProg.setId(null);
        newVerProg.setIsLastEdition(1);
        newVerProg.setProcessEdition(newProcessEdition);
        this.save(newVerProg);
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeProgramVO.java
@@ -24,10 +24,6 @@
    @Schema(description = "备注")
    private String remark;
    @Schema(description = "图号")
    private String drawingNo;
    @Schema(description = "图号版次")
    private String drawingNoEdition;
@@ -37,6 +33,6 @@
    @Schema(description = "工艺版次")
    private String craftEdition;
    @Schema(description = "零组件号")
    @Schema(description = "零组件号/图号")
    private String partNo;
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramUploadVO.java
@@ -20,13 +20,15 @@
    @Schema(description = "设备编号")
    private MultipartFile file;
    @Schema(description = "图号")
    private String drawingNo;
    @Schema(description = "零组件号/图号")
    private String partNo;
    @Schema(description = "工序,如“精铣”")
    private String processName;
    @Schema(description = "文件分类,使用字典(node_file_type)")
    private String category;
    @Schema(description = "工序版本")
    private String processEdition;
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramVO.java
@@ -21,8 +21,6 @@
    @Schema(description = "备注")
    private String remark;
    @Schema(description = "图号")
    private String drawingNo;
    @Schema(description = "图号版次")
    private String drawingNoEdition;
@@ -33,6 +31,6 @@
    @Schema(description = "工艺版次")
    private String craftEdition;
    @Schema(description = "零组件号")
    @Schema(description = "零组件号/图号")
    private String partNo;
}
blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml
@@ -32,24 +32,15 @@
      <conditionExpression xsi:type="tFormalExpression">${approve=='Y' &amp;&amp; hasCuredProgram=='Y'}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="sid-353381d5-35c7-47b0-bf5b-2bafe865ab5e" sourceRef="cureCheckServiceTask" targetRef="confirmIsUseableTask"/>
    <sequenceFlow id="sid-d144dad0-dc94-4a2b-96d6-9d8451b05ec1" sourceRef="confirmIsUseableTask" targetRef="sid-82237034-5cb2-45c7-9a74-e2d5abb3b398" name="固化程序可用">
    <sequenceFlow id="sid-d144dad0-dc94-4a2b-96d6-9d8451b05ec1" sourceRef="confirmIsUseableTask" targetRef="check" name="固化程序可用">
      <conditionExpression>${approve=='Y'}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="sid-d4133565-1a45-4bb6-b603-9b9e4db1cdbb" sourceRef="approveTask" targetRef="check">
      <conditionExpression>${approve=='N'}</conditionExpression>
    </sequenceFlow>
    <exclusiveGateway id="sid-82237034-5cb2-45c7-9a74-e2d5abb3b398" name="可用程序流转网关"/>
    <sequenceFlow id="sid-b15dcf6a-a48c-4e01-b6bc-5c2a74ca817e" sourceRef="sid-82237034-5cb2-45c7-9a74-e2d5abb3b398" targetRef="check" name="工序版次一致并且可用">
      <conditionExpression xsi:type="tFormalExpression">${processEditionEqual=='Y'}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="sid-6249886b-7c4a-4904-9b0b-cf743932be9f" sourceRef="sid-82237034-5cb2-45c7-9a74-e2d5abb3b398" targetRef="emptyUpgradeProcessEdtionServiceTask">
      <conditionExpression xsi:type="tFormalExpression">${processEditionEqual=='N'}</conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="sid-598e1dbe-85b3-40d0-89c8-bd2580ecbfc5" sourceRef="emptyUpgradeProcessEdtionServiceTask" targetRef="check"/>
    <sequenceFlow id="sid-80b50f96-7601-4ba2-8c32-968923170d25" sourceRef="confirmIsUseableTask" targetRef="programmingTask">
      <conditionExpression>${approve=='N'}</conditionExpression>
    </sequenceFlow>
    <serviceTask id="emptyUpgradeProcessEdtionServiceTask" flowable:exclusive="true" name="空升版" flowable:expression="programEmptyUpgradeProcessEdtionTask.execute(execution)"/>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_dispatch">
    <bpmndi:BPMNPlane bpmnElement="dispatch" id="BPMNPlane_dispatch">
@@ -70,10 +61,10 @@
        <omgdc:Bounds x="130.0" y="-135.0" width="60.0" height="55.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="shape-a42e90ff-9c82-4d5b-8f5b-0804754e89a6" bpmnElement="approveTask">
        <omgdc:Bounds x="220.0" y="-14.0" width="50.0" height="45.0"/>
        <omgdc:Bounds x="130.0" y="-4.0" width="50.0" height="45.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="shape-f14acaf6-9747-4d52-87a1-d4c5b8f3d166" bpmnElement="approveEnd">
        <omgdc:Bounds x="245.0" y="51.0" width="30.0" height="30.0"/>
        <omgdc:Bounds x="295.0" y="-6.5" width="30.0" height="30.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="edge-6f05f47f-7804-4dd0-b6d2-e435b9efaa3c" bpmnElement="programingToCheck">
        <omgdi:waypoint x="12.5" y="-92.5"/>
@@ -89,20 +80,21 @@
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-d05b5f9f-9108-4a41-9e48-4db1e1b1e325" bpmnElement="flowToSeriorTask">
        <omgdi:waypoint x="190.0" y="-93.75"/>
        <omgdi:waypoint x="270.0" y="-2.75"/>
        <omgdi:waypoint x="180.0" y="7.25"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-715efa53-6c03-407b-87ec-640f99c481a0" bpmnElement="sid-c0b195e7-17e5-44bf-8115-8b7126cb3ab3">
        <omgdi:waypoint x="270.0" y="19.749996"/>
        <omgdi:waypoint x="245.0" y="58.5"/>
        <omgdi:waypoint x="180.0" y="29.749996"/>
        <omgdi:waypoint x="295.0" y="1.0"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="shape-8455618d-c1b9-4e6a-bca4-de965cc81633" bpmnElement="cureCheckServiceTask">
        <omgdc:Bounds x="-275.0" y="37.500004" width="65.0" height="39.999996"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="shape-8f7064fc-4838-44cc-bf6d-ca15932a1e2e" bpmnElement="confirmIsUseableTask">
        <omgdc:Bounds x="-165.0" y="37.5" width="55.0" height="40.0"/>
        <omgdc:Bounds x="-135.0" y="37.5" width="55.0" height="40.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="edge-0408fc3c-c133-40e3-9006-c315b12e9790" bpmnElement="sid-46ccac64-2d48-4933-88a6-f2941ae131dd">
        <omgdi:waypoint x="-192.5" y="-92.500015"/>
        <omgdi:waypoint x="-132.5" y="-100.0"/>
        <omgdi:waypoint x="-72.49999" y="-107.50001"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-d8883eca-269a-42cd-b2d4-134da6596afb" bpmnElement="sid-af92e6ab-bc80-43ed-8b09-1d3ec54cc9e7">
@@ -111,38 +103,20 @@
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-44016aa6-bf48-4c73-8aaa-4cedf795d68b" bpmnElement="sid-353381d5-35c7-47b0-bf5b-2bafe865ab5e">
        <omgdi:waypoint x="-210.0" y="57.5"/>
        <omgdi:waypoint x="-165.0" y="57.5"/>
        <omgdi:waypoint x="-135.0" y="57.5"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-64e64024-1ffd-4cdf-be8f-4c5e4911a5bb" bpmnElement="sid-d144dad0-dc94-4a2b-96d6-9d8451b05ec1">
        <omgdi:waypoint x="-110.0" y="47.5"/>
        <omgdi:waypoint x="-60.0" y="0.0"/>
        <omgdi:waypoint x="-80.0" y="47.5"/>
        <omgdi:waypoint x="145.0" y="-80.00001"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-7a5135fe-5eb1-425c-b920-3e2b5bf18454" bpmnElement="sid-d4133565-1a45-4bb6-b603-9b9e4db1cdbb">
        <omgdi:waypoint x="257.5" y="-14.0"/>
        <omgdi:waypoint x="167.5" y="-4.0"/>
        <omgdi:waypoint x="175.0" y="-80.0"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="shape-50f64465-52e3-4ba9-b36d-ebac41ab8b22" bpmnElement="sid-82237034-5cb2-45c7-9a74-e2d5abb3b398">
        <omgdc:Bounds x="-60.0" y="-20.0" width="40.0" height="40.0"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="edge-4b95c6df-601d-48e8-a9a4-98499ae5ddf3" bpmnElement="sid-b15dcf6a-a48c-4e01-b6bc-5c2a74ca817e">
        <omgdi:waypoint x="-20.0" y="0.0"/>
        <omgdi:waypoint x="130.0" y="-93.75"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-dbb7a807-e493-42fe-b229-b9f2ec25b5ee" bpmnElement="sid-6249886b-7c4a-4904-9b0b-cf743932be9f">
        <omgdi:waypoint x="-40.0" y="20.0"/>
        <omgdi:waypoint x="30.0" y="57.5"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-092f7d8d-2467-4794-af93-fdc9ad503923" bpmnElement="sid-598e1dbe-85b3-40d0-89c8-bd2580ecbfc5">
        <omgdi:waypoint x="86.25" y="30.0"/>
        <omgdi:waypoint x="145.0" y="-79.99999"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge-223da197-47f2-44ef-847e-40d1fae1009b" bpmnElement="sid-80b50f96-7601-4ba2-8c32-968923170d25">
        <omgdi:waypoint x="-123.75" y="37.5"/>
        <omgdi:waypoint x="-93.75" y="37.5"/>
        <omgdi:waypoint x="-51.25" y="-77.5"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="shape-0fe942f6-dea9-427c-aef6-0db9c3e3707b" bpmnElement="emptyUpgradeProcessEdtionServiceTask">
        <omgdc:Bounds x="30.0" y="30.0" width="75.0" height="55.0"/>
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>
doc/sql/mdm/mdm.mysql.all.create.sql
@@ -65,10 +65,9 @@
   `id` bigint NOT NULL,
   `tenant_id` varchar(6) DEFAULT NULL COMMENT '所属租户',
   `name` varchar(100) NOT NULL COMMENT '节点名称',
   `drawing_no` varchar(40) NULL COMMENT '图号',
   `process_name` varchar(20) NULL COMMENT '工序名称',
   `machine_code` varchar(100) DEFAULT NULL COMMENT '设备编号/机床编号',
   `part_no` varchar(100) NULL COMMENT '零组件编号',
   `part_no` varchar(100) NULL COMMENT '零组件编号/图号',
   `is_cured` int DEFAULT NULL COMMENT '是否固化,1是;0否',
   `expire_date` date DEFAULT NULL COMMENT '到期时间,根据有效期时长计算而来',
   `process_edition` varchar(40) DEFAULT NULL COMMENT '工序版次,升版就是变更改该字段,需要保留历史记录',
@@ -104,8 +103,6 @@
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='流程实例与节点关联表';
DROP TABLE IF EXISTS `mdm_nc_program`;
CREATE TABLE `mdm_nc_program` (
  `id` bigint NOT NULL,
@@ -115,14 +112,12 @@
  `name` varchar(100) NOT NULL COMMENT '程序名称',
  `oss_name` varchar(100) NULL COMMENT 'oss中的文件名',
  `category` varchar(2) NULL COMMENT '文件分类',
  `drawing_no` varchar(40) NULL COMMENT '图号',
  `process_name` varchar(20) NULL COMMENT '工序名称',
  `remark` varchar(100) NULL COMMENT '备注',
  `is_text_file` int DEFAULT NULL COMMENT '是否文本文件',
  `url` varchar(400) NOT NULL COMMENT '文件地址',
  `machine_code` varchar(100) DEFAULT NULL COMMENT '设备编号/机床编号',
  `part_no` varchar(100) NULL COMMENT '零组件编号',
  `part_no` varchar(100) NULL COMMENT '零组件编号/图号',
  `is_cured` int DEFAULT NULL COMMENT '是否固化,1是;0否',
  `expire_date` date DEFAULT NULL COMMENT '到期时间,根据有效期时长计算而来',
  `process_edition` varchar(40) DEFAULT NULL COMMENT '工序版次,升版就是变更改该字段,需要保留历史记录',