From 80a641659a361c9f55c57936daca0a1790f777d5 Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期四, 12 六月 2025 22:55:06 +0800 Subject: [PATCH] 机床组改为字典 --- blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineQueryVO.java | 4 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java | 5 blade-service/blade-mdm/src/main/resources/processesbpmn/program-cure.bpmn20.xml | 45 +++++++++ blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machinegroup/controller/MachineGroupController.java | 2 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/entity/Machine.java | 4 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineSaveVO.java | 4 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java | 35 ++++++ blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml | 92 ++++++++++++++--- doc/sql/mdm/mdm.all.create.sql | 50 ++++++++- blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java | 40 +++++++ blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/mapper/MachineMapper.xml | 4 11 files changed, 246 insertions(+), 39 deletions(-) diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/entity/Machine.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/entity/Machine.java index c768300..1a9f05f 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/entity/Machine.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/entity/Machine.java @@ -13,9 +13,9 @@ private String name; private String code; /** - * 鎵�灞炴満搴婄粍ID + * 鎵�灞炴満搴婄粍code锛屽瓧鍏竚achine_group */ - private Long machineGroupId; + private String machineGroupCode; /** * 鏈哄櫒瑙勬牸:01杞﹀簥/02閾e簥,鍦ㄤ笟鍔″瓧鍏搁厤缃紙key=machine_spec锛� */ diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/mapper/MachineMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/mapper/MachineMapper.xml index c3836a5..5a5c097 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/mapper/MachineMapper.xml +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/mapper/MachineMapper.xml @@ -14,8 +14,8 @@ <result column="is_deleted" property="isDeleted"/> </resultMap> <select id="pageQuery" resultType="org.springblade.mdm.basesetting.machine.vo.MachineVO"> - select m.id,m.name,m.code,g.name group_name,m.machine_spec,m.manufacturer,m.operator - from mdm_machine m join mdm_machine_group g on m.machine_group_id=g.id + select m.id,m.name,m.code,g.dict_value group_name,m.machine_spec,m.manufacturer,m.operator + from mdm_machine m join blade_dict_biz g on m.machine_group_code=g.dict_key and g.code='machine_group' and g.is_deleted=0 ${ew.customSqlSegment} </select> diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineQueryVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineQueryVO.java index 654c29f..08979db 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineQueryVO.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineQueryVO.java @@ -15,7 +15,7 @@ public class MachineQueryVO extends Query { @Schema(description = "鍚嶇О鎴栫紪鐮�") private String keyword; - @Schema(description = "鏈哄簥缁刬d") - private Long machineGroupId; + @Schema(description = "鏈哄簥缁刢ode") + private Long machineGroupCode; } diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineSaveVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineSaveVO.java index 647cf0d..0a776e0 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineSaveVO.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/vo/MachineSaveVO.java @@ -12,9 +12,9 @@ private String code; private String name; /** - * 鎵�灞炴満搴婄粍ID + * 鎵�灞炴満搴婄粍code,瀛楀吀machine_group */ - private Long machineGroupId; + private String machineGroupCode; /** * 鏈哄櫒瑙勬牸:01杞﹀簥/02閾e簥,鍦ㄤ笟鍔″瓧鍏搁厤缃紙key=machine_spec锛� */ diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machinegroup/controller/MachineGroupController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machinegroup/controller/MachineGroupController.java index fb3b7ba..272cbbd 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machinegroup/controller/MachineGroupController.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machinegroup/controller/MachineGroupController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; @@ -20,6 +21,7 @@ @RestController @RequestMapping("/machinegroup") @Tag(name = "鏈哄簥缁�", description = "鏈哄簥缁�") +@Hidden public class MachineGroupController { @Autowired diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java index 80e0881..b141fa6 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java @@ -1,6 +1,7 @@ package org.springblade.mdm.flow.controller; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.TaskService; @@ -38,9 +39,9 @@ dispatcher.start(startVO); return R.<Boolean>status(true); } - + @Operation(summary = "瀹屾垚浠诲姟", description = "娴佸悜涓嬩竴涓妭鐐�") @PostMapping("completeTask") - public R<Void> completeTask(String taskId, String processInstanceId, String comment, @RequestBody Map<String, Object> variables) { + public R<Void> completeTask(String taskId, String processInstanceId, String comment,@Parameter(name="variables",description = "浠诲姟鍙橀噺")@RequestBody Map<String, Object> variables) { // 澧炲姞璇勮 if (StringUtil.isNoneBlank(processInstanceId, comment)) { taskService.addComment(taskId, processInstanceId, comment); diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java index ea3ebd6..2166277 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java @@ -27,18 +27,47 @@ @RequestMapping("/flow/") @Tag(name = "娲惧伐娴佺▼", description = "娲惧伐娴佺▼") public class MyFlowController { - + @Autowired + private TaskService taskService; @Autowired private FlowBusinessService businessService; /** - * 寰呭姙浜嬪姟鍒楄〃椤� + * 寰呭姙浠诲姟鍒楄〃椤� */ @GetMapping("todo-list") @ApiOperationSupport(order = 3) - @Operation(summary = "鎴戠殑娴佺▼", description = "浼犲叆娴佺▼淇℃伅") + @Operation(summary = "寰呭姙浠诲姟", description = "浼犲叆娴佺▼淇℃伅") public R<IPage<BladeFlow>> todoList(@Parameter(description = "鍏抽敭瀛�") String keyword, Query query) { IPage<BladeFlow> pages = businessService.selectTodoPage(Condition.getPage(query), keyword); return R.data(pages); } + + /** + * 寰呭姙浠诲姟鍒楄〃椤� + */ + @GetMapping("alltask-list") + @ApiOperationSupport(order = 3) + @Operation(summary = "鎵�鏈変换鍔★紙fortest锛�", description = "浼犲叆娴佺▼淇℃伅") + public R<IPage<BladeFlow>> alltaskList(@Parameter(description = "鍏抽敭瀛�") String keyword, Query query) { + IPage<BladeFlow> pages = businessService.selectAllTaskPage(Condition.getPage(query), keyword); + return R.data(pages); + } + + @Operation(summary = "杞淳浠诲姟", description = "") + @PostMapping("transferTask") + public R<Void> transferTask(String taskId,String newAssigneeId, String processInstanceId, String comment, @RequestBody Map<String, Object> variables) { + // 澧炲姞璇勮 + if (StringUtil.isNoneBlank(processInstanceId, comment)) { + taskService.addComment(taskId, processInstanceId, comment); + } + // 闈炵┖鍒ゆ柇 + if (Func.isEmpty(variables)) { + variables = Kv.create(); + } + // 瀹屾垚浠诲姟 + taskService.setAssignee(taskId, newAssigneeId); + return R.success("娴佺▼杞淳鎴愬姛"); + } + } diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java index 529e9e8..0ab7275 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java @@ -70,7 +70,7 @@ String userId = ""+AuthUtil.getUserId(); List<BladeFlow> flowList = new LinkedList<>(); - TaskQuery todoQuery = taskService.createTaskQuery().taskAssignee("1930600500876619777").active().includeProcessVariables(); + TaskQuery todoQuery = taskService.createTaskQuery().taskAssignee(userId).active().includeProcessVariables(); if(Func.isNotEmpty(keyword)){ todoQuery.or(); @@ -344,4 +344,42 @@ return historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); } + public IPage<BladeFlow> selectAllTaskPage(IPage<BladeFlow> page, String keyword) { + + List<BladeFlow> flowList = new LinkedList<>(); + + TaskQuery todoQuery = taskService.createTaskQuery().active().includeProcessVariables(); + + if(Func.isNotEmpty(keyword)){ + todoQuery.or(); + + todoQuery.processVariableValueLike("processNo",keyword); + todoQuery.processVariableValueLike("machineCode",keyword); + todoQuery.processVariableValueLike("machineMode",keyword); + + todoQuery.processVariableValueLike("processName",keyword); + todoQuery.processVariableValueLike("processEdition",keyword); + + todoQuery.processVariableValueLike("craftEdition",keyword); + //TODO 澶氫釜瀛楁閮借鍖归厤 + + todoQuery.endOr(); + } + + todoQuery.orderByTaskCreateTime().desc(); + + // 鏋勫缓鍒楄〃鏁版嵁 + BladeFlow bladeFlow = new BladeFlow(); + buildFlowTaskList(bladeFlow, flowList, todoQuery, "todo");//FlowEngineConstant.STATUS_TODO + + // 璁$畻鎬绘暟 + long count = todoQuery.count(); + // 璁剧疆椤垫暟 + page.setSize(count); + // 璁剧疆鎬绘暟 + page.setTotal(count); + // 璁剧疆鏁版嵁 + page.setRecords(flowList); + return page; + } } diff --git a/blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml b/blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml index 109f35d..549a53d 100644 --- a/blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml +++ b/blade-service/blade-mdm/src/main/resources/processesbpmn/dispatch.bpmn20.xml @@ -7,11 +7,32 @@ <userTask id="programmingTask" name="缂栧埗" flowable:assignee="${programmer}"/> <sequenceFlow id="sid-ac678e85-9f7b-4e8d-903f-2591ea7721ab" sourceRef="teamLeaderTask" targetRef="programmingTask"/> <userTask id="check" name="鏍″" flowable:assignee="${checker}"/> - <sequenceFlow id="sid-6c33a84d-d03e-47f6-87c1-8e676b25e572" sourceRef="programmingTask" targetRef="check"/> - <userTask id="approveTask" name="楂樺笀瀹℃壒"/> - <sequenceFlow id="sid-2e73fc3f-6802-4a94-984c-e1b9a50f8489" sourceRef="check" targetRef="approveTask"/> + <sequenceFlow id="sid-6c33a84d-d03e-47f6-87c1-8e676b25e572" sourceRef="programmingTask" targetRef="programGateway"/> + <userTask id="approveTask" name="楂樺笀瀹℃壒" flowable:assignee="${senior}"/> + <sequenceFlow id="toCheckApproveGateway" sourceRef="check" targetRef="checkApproveGateway" name="鏍″瀹℃壒鍒ゆ柇缃戝叧"/> <endEvent id="approveEnd" name="瀹℃壒瀹屾垚"/> - <sequenceFlow id="sid-1a414739-a80f-4436-8d7a-e7b65fae8233" sourceRef="approveTask" targetRef="approveEnd"/> + <sequenceFlow id="sid-1a414739-a80f-4436-8d7a-e7b65fae8233" sourceRef="approveTask" targetRef="seriorApproveGateway"/> + <exclusiveGateway id="programGateway" name="缂栧埗瀹屾垚鍒ゆ柇缃戝叧"/> + <sequenceFlow id="programingToCheck" sourceRef="programGateway" targetRef="check" name="缂栧埗瀹屾垚缁欐牎瀵�"> + <conditionExpression xsi:type="tFormalExpression">${approve=='Y'}</conditionExpression> + </sequenceFlow> + <sequenceFlow id="programingBackToLeader" sourceRef="programGateway" targetRef="teamLeaderTask" name="缂栧埗椹冲洖"> + <conditionExpression xsi:type="tFormalExpression">${approve=='N'}</conditionExpression> + </sequenceFlow> + <exclusiveGateway id="checkApproveGateway" name="鏍″瀹℃壒鍒ゆ柇缃戝叧"/> + <sequenceFlow id="flowCheckToPrograming" sourceRef="checkApproveGateway" targetRef="programmingTask" name="flow鏍″椹冲洖鍒扮紪鍒�"> + <conditionExpression xsi:type="tFormalExpression">${approve=='N'}</conditionExpression> + </sequenceFlow> + <sequenceFlow id="flowToSeriorTask" sourceRef="checkApproveGateway" targetRef="approveTask" name="鍒伴珮甯堝鎵�"> + <conditionExpression xsi:type="tFormalExpression">${approve=='Y'}</conditionExpression> + </sequenceFlow> + <exclusiveGateway id="seriorApproveGateway" name="楂樺笀鍒ゆ柇缃戝叧"/> + <sequenceFlow id="sid-c0b195e7-17e5-44bf-8115-8b7126cb3ab3" sourceRef="seriorApproveGateway" targetRef="approveEnd"> + <conditionExpression xsi:type="tFormalExpression">${approve=='Y'}</conditionExpression> + </sequenceFlow> + <sequenceFlow id="sid-03430665-d042-46b3-ab65-5ecde104ce8e" sourceRef="seriorApproveGateway" targetRef="check"> + <conditionExpression xsi:type="tFormalExpression"/> + </sequenceFlow> </process> <bpmndi:BPMNDiagram id="BPMNDiagram_dispatch"> <bpmndi:BPMNPlane bpmnElement="dispatch" id="BPMNPlane_dispatch"> @@ -20,38 +41,71 @@ </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="edge-5783eb04-78a8-4bde-b8bb-c12d28f07609" bpmnElement="sid-c1619263-d1ff-4106-9315-f9ab9a3bee71"> <omgdi:waypoint x="-290.0" y="-92.5"/> - <omgdi:waypoint x="-185.0" y="-75.0"/> + <omgdi:waypoint x="-240.0" y="-92.5"/> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="shape-720b1ec1-043e-4a8a-bc4d-c50cf01678d7" bpmnElement="teamLeaderTask"> - <omgdc:Bounds x="-185.0" y="-115.0" width="100.0" height="80.0"/> + <omgdc:Bounds x="-240.0" y="-125.0" width="70.0" height="65.0"/> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="shape-b1baea86-1882-4c5c-886f-44e3d9be3746" bpmnElement="programmingTask"> - <omgdc:Bounds x="-20.0" y="-115.0" width="100.0" height="80.0"/> + <omgdc:Bounds x="-115.0" y="-122.5" width="85.0" height="60.0"/> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="edge-0079d499-1c0d-4745-9886-40df39794833" bpmnElement="sid-ac678e85-9f7b-4e8d-903f-2591ea7721ab"> - <omgdi:waypoint x="-85.0" y="-75.0"/> - <omgdi:waypoint x="-20.0" y="-75.0"/> + <omgdi:waypoint x="-170.0" y="-92.5"/> + <omgdi:waypoint x="-115.0" y="-92.5"/> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="shape-9237838e-5de2-4db7-8d46-3f4a69de7e6e" bpmnElement="check"> - <omgdc:Bounds x="105.0" y="-115.0" width="100.0" height="80.0"/> + <omgdc:Bounds x="85.0" y="-120.0" width="60.0" height="55.0"/> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="edge-72007fd8-6ed8-402f-8bbc-81bd6c856fa7" bpmnElement="sid-6c33a84d-d03e-47f6-87c1-8e676b25e572"> - <omgdi:waypoint x="80.0" y="-55.0"/> - <omgdi:waypoint x="105.0" y="-95.0"/> + <omgdi:waypoint x="-30.0" y="-77.5"/> + <omgdi:waypoint x="-30.0" y="-15.0"/> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="shape-a42e90ff-9c82-4d5b-8f5b-0804754e89a6" bpmnElement="approveTask"> - <omgdc:Bounds x="15.0" y="16.0" width="100.0" height="80.0"/> + <omgdc:Bounds x="130.0" y="1.0" width="50.0" height="45.0"/> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="edge-7fe1281a-3bbf-4308-90a5-cbf70aa019dd" bpmnElement="sid-2e73fc3f-6802-4a94-984c-e1b9a50f8489"> - <omgdi:waypoint x="130.0" y="-35.0"/> - <omgdi:waypoint x="90.0" y="16.0"/> + <bpmndi:BPMNEdge id="edge-7fe1281a-3bbf-4308-90a5-cbf70aa019dd" bpmnElement="toCheckApproveGateway"> + <omgdi:waypoint x="145.0" y="-92.5"/> + <omgdi:waypoint x="240.0" y="-30.0"/> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="shape-f14acaf6-9747-4d52-87a1-d4c5b8f3d166" bpmnElement="approveEnd"> - <omgdc:Bounds x="205.0" y="41.0" width="30.0" height="30.0"/> + <omgdc:Bounds x="245.0" y="51.0" width="30.0" height="30.0"/> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="edge-9cb8c108-2b94-4e39-b7ed-93ff0d86fe73" bpmnElement="sid-1a414739-a80f-4436-8d7a-e7b65fae8233"> - <omgdi:waypoint x="115.0" y="56.0"/> - <omgdi:waypoint x="205.0" y="56.0"/> + <omgdi:waypoint x="130.0" y="34.75"/> + <omgdi:waypoint x="55.0" y="70.0"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="shape-b505d942-4475-416a-aec6-c02164e6ee05" bpmnElement="programGateway"> + <omgdc:Bounds x="-50.0" y="-15.0" width="40.0" height="40.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="edge-6f05f47f-7804-4dd0-b6d2-e435b9efaa3c" bpmnElement="programingToCheck"> + <omgdi:waypoint x="-10.0" y="5.0"/> + <omgdi:waypoint x="85.0" y="-78.75"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="edge-b38a8021-a54d-4671-aaf2-408bdbbbd374" bpmnElement="programingBackToLeader"> + <omgdi:waypoint x="-50.0" y="5.0"/> + <omgdi:waypoint x="-170.0" y="-76.25"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="shape-b113f604-a178-455b-9518-9f4953322948" bpmnElement="checkApproveGateway"> + <omgdc:Bounds x="220.0" y="-30.0" width="40.0" height="40.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="edge-c2232174-4a73-4c39-ac85-fc3854f0f18c" bpmnElement="flowCheckToPrograming"> + <omgdi:waypoint x="220.0" y="-10.0"/> + <omgdi:waypoint x="-30.0" y="-92.5"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="edge-d05b5f9f-9108-4a41-9e48-4db1e1b1e325" bpmnElement="flowToSeriorTask"> + <omgdi:waypoint x="240.0" y="10.0"/> + <omgdi:waypoint x="180.0" y="12.25"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="shape-6be62567-0538-4a4f-b3ce-e819d7182666" bpmnElement="seriorApproveGateway"> + <omgdc:Bounds x="35.0" y="70.0" width="40.0" height="40.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="edge-715efa53-6c03-407b-87ec-640f99c481a0" bpmnElement="sid-c0b195e7-17e5-44bf-8115-8b7126cb3ab3"> + <omgdi:waypoint x="75.0" y="90.0"/> + <omgdi:waypoint x="245.0" y="73.5"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="edge-782277fd-866f-44d5-9046-af7c34c4b85c" bpmnElement="sid-03430665-d042-46b3-ab65-5ecde104ce8e"> + <omgdi:waypoint x="35.0" y="90.0"/> + <omgdi:waypoint x="100.0" y="-65.0"/> </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> diff --git a/blade-service/blade-mdm/src/main/resources/processesbpmn/program-cure.bpmn20.xml b/blade-service/blade-mdm/src/main/resources/processesbpmn/program-cure.bpmn20.xml new file mode 100644 index 0000000..2e88c8f --- /dev/null +++ b/blade-service/blade-mdm/src/main/resources/processesbpmn/program-cure.bpmn20.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef"> + <process id="program-cure" name="鍥哄寲娴佺▼" isExecutable="true"> + <startEvent id="sid-abe970b9-1bee-49a1-91b4-1184c47c10b7"/> + <userTask id="sid-e9be5408-2827-4ee7-bee5-fda38a8f23e6"/> + <sequenceFlow id="sid-910649a5-8dac-48a2-b42d-9f1132d61b26" sourceRef="sid-e9be5408-2827-4ee7-bee5-fda38a8f23e6" targetRef="sid-e9be5408-2827-4ee7-bee5-fda38a8f23e6"/> + <sequenceFlow id="sid-09c7cf44-bb1a-40f4-b231-919afae5c02f" sourceRef="sid-abe970b9-1bee-49a1-91b4-1184c47c10b7" targetRef="sid-e9be5408-2827-4ee7-bee5-fda38a8f23e6"/> + <endEvent id="end" name="鍥哄寲缁撴潫"/> + <userTask id="seniorApproveTask" name="楂樺笀瀹℃牳"/> + <sequenceFlow id="sid-8dd21f02-ac10-4318-b897-19b4cdc558c7" sourceRef="sid-e9be5408-2827-4ee7-bee5-fda38a8f23e6" targetRef="seniorApproveTask"/> + <sequenceFlow id="sid-504610fe-2b87-4df4-8f42-f10c8bf3ce01" sourceRef="seniorApproveTask" targetRef="end"/> + </process> + <bpmndi:BPMNDiagram id="BPMNDiagram_program-cure"> + <bpmndi:BPMNPlane bpmnElement="program-cure" id="BPMNPlane_program-cure"> + <bpmndi:BPMNShape id="shape-7fe43876-cd89-402e-aada-b7fe7d89e64a" bpmnElement="sid-abe970b9-1bee-49a1-91b4-1184c47c10b7"> + <omgdc:Bounds x="-215.0" y="-85.0" width="30.0" height="30.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="shape-702fceb1-2073-4a25-a94d-86c2392dfc6f" bpmnElement="sid-e9be5408-2827-4ee7-bee5-fda38a8f23e6"> + <omgdc:Bounds x="-110.0" y="-95.0" width="75.0" height="55.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="edge-fbb946ca-a477-4237-b78f-72cf4e0b8479" bpmnElement="sid-910649a5-8dac-48a2-b42d-9f1132d61b26"> + <omgdi:waypoint x="-110.0" y="-67.5"/> + <omgdi:waypoint x="-110.0" y="-67.5"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="edge-53030742-9070-4825-949f-edc502019050" bpmnElement="sid-09c7cf44-bb1a-40f4-b231-919afae5c02f"> + <omgdi:waypoint x="-185.0" y="-77.5"/> + <omgdi:waypoint x="-110.0" y="-81.25"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="shape-99ebb425-cb2f-45f3-93e2-4ca390bc8099" bpmnElement="end"> + <omgdc:Bounds x="190.0" y="-82.5" width="30.0" height="30.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="shape-b464ad8c-9ec6-4e35-bfa5-c062c91b646a" bpmnElement="seniorApproveTask"> + <omgdc:Bounds x="25.0" y="-95.0" width="65.0" height="35.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="edge-94601323-c6bd-48f8-94fd-f61c6b550126" bpmnElement="sid-8dd21f02-ac10-4318-b897-19b4cdc558c7"> + <omgdi:waypoint x="-35.0" y="-67.5"/> + <omgdi:waypoint x="25.0" y="-68.75"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="edge-b93559c6-90f6-46e1-a6e6-4b0a2a5bc33b" bpmnElement="sid-504610fe-2b87-4df4-8f42-f10c8bf3ce01"> + <omgdi:waypoint x="90.0" y="-68.75"/> + <omgdi:waypoint x="190.0" y="-67.5"/> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</definitions> diff --git a/doc/sql/mdm/mdm.all.create.sql b/doc/sql/mdm/mdm.all.create.sql index 27fbbd2..d4e995c 100644 --- a/doc/sql/mdm/mdm.all.create.sql +++ b/doc/sql/mdm/mdm.all.create.sql @@ -20,7 +20,7 @@ `code` varchar(100) NOT NULL COMMENT '鏈哄簥缂栧彿', `name` varchar(100) NOT NULL COMMENT '鏈哄簥鎻忚堪/鍨嬪彿', `avatar` varchar(400) DEFAULT NULL COMMENT '鍥剧墖鍦板潃', - `machine_group_id` bigint NOT NULL COMMENT '鎵�灞炴満搴婄粍ID', + `machine_group_code` varchar(255) NOT NULL COMMENT '鎵�灞炴満搴婄粍浠g爜锛�,鍦ㄤ笟鍔″瓧鍏搁厤缃紙key=machine_group锛�', `machine_spec` varchar(20) DEFAULT NULL COMMENT '鏈哄櫒瑙勬牸:01杞﹀簥/02閾e簥,鍦ㄤ笟鍔″瓧鍏搁厤缃紙key=machine_spec锛�', `operator` varchar(100) COMMENT '鎿嶄綔鍛橈紝鏂囨湰褰曞叆', `owner_dept` bigint DEFAULT NULL COMMENT '鎵�灞炲崟浣�/缁勭粐', @@ -60,25 +60,63 @@ UNIQUE KEY `uniqueCheckIndex` (`team_leader_id`,`programmer_id`,`checker_id`,`senior_id`,`is_deleted`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='涓诲埗璁″垝琛�'; + +CREATE TABLE `mdm_nc_node` ( + `id` bigint NOT NULL, + `tenant_id` varchar(6) DEFAULT NULL COMMENT '鎵�灞炵鎴�', + `name` varchar(100) NOT NULL COMMENT '鑺傜偣鍚嶇О', + `parent_id` bigint DEFAULT NULL COMMENT '鎵�灞炴満搴婄粍ID', + `node_type` varchar(20) DEFAULT NULL COMMENT '鑺傜偣绫诲瀷锛歅RODUCT_MODEL(浜у搧鍨嬪彿)/PARTS_NO(闆剁粍浠跺彿)/CRAFT_EDITION(宸ヨ壓鐗堟)/PROCESS_NO(宸ュ簭鍙�)/MACHINE(鏈哄簥)/PACKAGE(绋嬪簭鍖呭悕)/PROGRAME(绋嬪簭鏂囦欢)', + `status` int DEFAULT NULL COMMENT '涓氬姟鐘舵��', + `create_dept` bigint DEFAULT NULL COMMENT '鍒涘缓鍗曚綅', + `is_deleted` int DEFAULT NULL, + `create_time` datetime DEFAULT NULL COMMENT '鍒涘缓鏃堕棿', + `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 `uniqueCodeIndex` (`code`,`is_deleted`) USING BTREE, +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='绋嬪簭鑺傜偣鐩綍'; + CREATE TABLE `mdm_nc_program` ( `id` bigint NOT NULL, `tenant_id` varchar(6) DEFAULT NULL COMMENT '鎵�灞炵鎴�', + `nc_node_id` bigint DEFAULT NULL COMMENT '鎵�灞炶妭鐐筰d', `code` varchar(100) NOT NULL COMMENT '绋嬪簭缂栧彿', `name` varchar(100) NOT NULL COMMENT '绋嬪簭鍚嶇О', - `machine_group_id` bigint DEFAULT NULL COMMENT '鎵�灞炴満搴婄粍ID', - `flow_task_id` bigint DEFAULT NULL COMMENT '浠诲姟ID锛屾帴鏀朵笅鍙戜换鍔℃椂纭畾鐨勪换鍔d锛岄潪娴佺▼绀轰緥id', + `package_name` varchar(100) NOT NULL COMMENT '绋嬪簭鍖呭悕', + `machine_code` bigint DEFAULT NULL COMMENT '璁惧缂栧彿/鏈哄簥缂栧彿', `is_cured` int DEFAULT NULL COMMENT '鏄惁鍥哄寲,1鏄�;0鍚�', + `expire_date` date DEFAULT NULL COMMENT '鍒版湡鏃堕棿,鏍规嵁鏈夋晥鏈熸椂闀胯绠楄�屾潵', + `process_edition` varchar(40) DEFAULT NULL COMMENT '宸ュ簭鐗堟锛屽崌鐗堝氨鏄彉鏇存敼璇ュ瓧娈碉紝闇�瑕佷繚鐣欏巻鍙茶褰�', + `is_last_edition` int NOT NULL COMMENT '鏄惁鏈�鏂扮増娆★紝1锛氭渶鏂扮増娆★紱0:鍘嗗彶鐗堟锛屼富瑕佸彇璇ュ瓧娈�=1鐨勬暟鎹紝0鏄巻鍙茬増娆�', + `is_locked` int DEFAULT NULL COMMENT '閿佸畾鐘舵�侊紝1锛氶攣瀹氾紱0:姝e父', `status` int DEFAULT NULL COMMENT '涓氬姟鐘舵��', `create_dept` bigint DEFAULT NULL COMMENT '鍒涘缓鍗曚綅', `is_deleted` int DEFAULT NULL, `create_time` datetime DEFAULT NULL COMMENT '鍒涘缓鏃堕棿', `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 `uniqueCodeIndex` (`code`,`is_deleted`) USING BTREE, + `update_user` bigint DEFAULT NULL COMMENT '鏇存柊浜�', + PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='鏁版帶绋嬪簭'; +CREATE TABLE `mdm_nc_program_file` ( + `id` bigint NOT NULL, + `tenant_id` varchar(6) DEFAULT NULL COMMENT '鎵�灞炵鎴�', + `program_id` varchar(100) NOT NULL COMMENT '鎵�灞炵▼搴廼d', + `name` varchar(100) NOT NULL COMMENT '鏂囦欢鍚嶇О', + `url` varchar(100) NOT NULL COMMENT '鏂囦欢鍦板潃', + `status` int DEFAULT NULL COMMENT '涓氬姟鐘舵��', + `create_dept` bigint DEFAULT NULL COMMENT '鍒涘缓鍗曚綅', + `is_deleted` int DEFAULT NULL, + `create_time` datetime DEFAULT NULL COMMENT '鍒涘缓鏃堕棿', + `create_user` bigint DEFAULT NULL COMMENT '鍒涘缓浜�', + `update_time` datetime DEFAULT NULL COMMENT '鏇存柊鏃堕棿', + `update_user` bigint DEFAULT NULL COMMENT '鏇存柊浜�', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='鏁版帶绋嬪簭鏂囦欢'; + CREATE TABLE `mdm_task_receive` ( `id` bigint NOT NULL, -- Gitblit v1.9.3