| | |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-flow-api</artifactId> |
| | | </dependency> |
| | | <!-- 工使µ --> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-starter-flowable</artifactId> |
| | | </dependency> |
| | | <!--Oss--> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | |
| | | <groupId>com.qiniu</groupId> |
| | | <artifactId>qiniu-java-sdk</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-flow-api</artifactId> |
| | | </dependency> |
| | | |
| | | <!--<dependency> |
| | | <groupId>org.springblade</groupId> |
| | | <artifactId>blade-starter-transaction</artifactId> |
| | |
| | | package org.springblade.mdm.basesetting.machine.vo; |
| | | |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import org.springblade.mdm.commons.vo.BaseVO; |
| | |
| | | */ |
| | | private String progSendDir; |
| | | /** |
| | | * ç¨åºåä¼ ç®å½', |
| | | * ', |
| | | */ |
| | | @Schema(description = "ç¨åºåä¼ ç®å½") |
| | | private String progReceiveDir; |
| | | @Schema(description = "夿³¨") |
| | | private String remark; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.springblade.mdm.basesetting.produceplan.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | | import io.swagger.v3.oas.annotations.tags.Tag; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.mdm.basesetting.machine.MachineService; |
| | | import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO; |
| | | import org.springblade.mdm.basesetting.machine.vo.MachineSaveVO; |
| | | import org.springblade.mdm.basesetting.machine.vo.MachineVO; |
| | | import org.springblade.mdm.basesetting.produceplan.service.ProducePlanService; |
| | | import org.springblade.mdm.basesetting.produceplan.vo.ProducePlanVO; |
| | | import org.springblade.mdm.basesetting.produceplan.vo.ProducePlanViewVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping("/produceplan") |
| | | @Tag(name = "主å¶è®¡å表", description = "主å¶è®¡å表") |
| | | public class ProducePlanController { |
| | | |
| | | @Autowired |
| | | private ProducePlanService service; |
| | | |
| | | /** |
| | | * æ°å¢ |
| | | */ |
| | | @PostMapping("/save") |
| | | @Operation(summary = "æ°å¢", description = "主å¶è®¡å表") |
| | | public R<Boolean> save(@RequestBody ProducePlanVO vo) { |
| | | |
| | | service.savePlan(vo); |
| | | return R.<Boolean>status(true); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ |
| | | */ |
| | | @Operation(summary = "ä¿®æ¹", description = "主å¶è®¡å表") |
| | | @PostMapping("/update") |
| | | public R<Boolean> update(@RequestBody ProducePlanVO vo) { |
| | | |
| | | return R.<Boolean>status(service.updatePlan(vo)); |
| | | } |
| | | |
| | | /** |
| | | * å é¤ |
| | | */ |
| | | @Operation(summary = "å é¤", description = "å é¤") |
| | | @PostMapping("/remove") |
| | | public R<Void> remove(@RequestParam String ids) { |
| | | try { |
| | | return R.status(service.removeBatchByIds(Func.toLongList(ids))); |
| | | } catch (Exception e) { |
| | | log.error("å é¤å¼å¸¸",e); |
| | | return R.fail(e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * å页 |
| | | */ |
| | | @Operation(summary = "å页æ¥è¯¢", description = "å§å") |
| | | @GetMapping("/page") |
| | | public R<IPage<ProducePlanViewVO>> page(String name, Query query) { |
| | | |
| | | |
| | | IPage<ProducePlanViewVO> pages = service.pageQuery(name,query); |
| | | return R.data(pages); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.springblade.mdm.basesetting.produceplan.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_plan") |
| | | public class ProducePlan extends BizEntity { |
| | | /** |
| | | * ä¸ä¸ç»é¿id |
| | | */ |
| | | private Long teamLeaderId; |
| | | /** |
| | | * ç¼å¶å·¥èºåid |
| | | */ |
| | | private Long programmerId; |
| | | /** |
| | | * æ ¡å¯¹å·¥èºåid |
| | | */ |
| | | private Long checkerId; |
| | | |
| | | /** |
| | | * é«å¸id |
| | | */ |
| | | private Long seniorId; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.springblade.mdm.basesetting.produceplan.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Constants; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.springblade.core.mp.mapper.BladeMapper; |
| | | import org.springblade.mdm.basesetting.produceplan.entity.ProducePlan; |
| | | import org.springblade.mdm.basesetting.produceplan.vo.ProducePlanVO; |
| | | import org.springblade.mdm.basesetting.produceplan.vo.ProducePlanViewVO; |
| | | |
| | | public interface ProducePlanMapper extends BladeMapper<ProducePlan> { |
| | | |
| | | IPage<ProducePlanViewVO> pageQuery(@Param("page")IPage<ProducePlan> page,@Param("name")String name); |
| | | //pageMachine |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="org.springblade.mdm.basesetting.produceplan.mapper.ProducePlanMapper"> |
| | | <!-- |
| | | <!– éç¨æ¥è¯¢æ å°ç»æ –> |
| | | <resultMap id="BaseResultMap" type="org.springblade.mdm.basesetting.machine.entity.Machine"> |
| | | <id column="id" property="id"/> |
| | | <result column="code" property="code"/> |
| | | <result column="name" property="name"/> |
| | | |
| | | <result column="status" property="status"/> |
| | | <result column="createTime" property="create_time"/> |
| | | <result column="updateTime" property="update_time"/> |
| | | <result column="is_deleted" property="isDeleted"/> |
| | | </resultMap>--> |
| | | <select id="pageQuery" resultType="org.springblade.mdm.basesetting.produceplan.vo.ProducePlanViewVO"> |
| | | select p.id,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_plan 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 |
| | | <if test="name != null and name != ''"> |
| | | AND (l.account like concat('%',#{name,jdbcType=VARCHAR},'%') or l.name like |
| | | concat('%',#{name,jdbcType=VARCHAR},'%') |
| | | or pro.account like concat('%',#{name,jdbcType=VARCHAR},'%') or pro.name like |
| | | concat('%',#{name,jdbcType=VARCHAR},'%') |
| | | or c.account like concat('%',#{name,jdbcType=VARCHAR},'%') or c.name like |
| | | concat('%',#{name,jdbcType=VARCHAR},'%') |
| | | or s.account like concat('%',#{name,jdbcType=VARCHAR},'%') or s.name like |
| | | concat('%',#{name,jdbcType=VARCHAR},'%') |
| | | ) |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.springblade.mdm.basesetting.produceplan.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springblade.core.mp.base.BizServiceImpl; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.utils.BeanUtil; |
| | | import org.springblade.mdm.basesetting.machine.entity.Machine; |
| | | import org.springblade.mdm.basesetting.machine.entity.MachineSpec; |
| | | import org.springblade.mdm.basesetting.machine.mapper.MachineMapper; |
| | | import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO; |
| | | import org.springblade.mdm.basesetting.machine.vo.MachineSaveVO; |
| | | import org.springblade.mdm.basesetting.machine.vo.MachineVO; |
| | | import org.springblade.mdm.basesetting.produceplan.entity.ProducePlan; |
| | | import org.springblade.mdm.basesetting.produceplan.mapper.ProducePlanMapper; |
| | | import org.springblade.mdm.basesetting.produceplan.vo.ProducePlanVO; |
| | | import org.springblade.mdm.basesetting.produceplan.vo.ProducePlanViewVO; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | @Service |
| | | public class ProducePlanService extends BizServiceImpl<ProducePlanMapper, ProducePlan> { |
| | | |
| | | @Transactional |
| | | public void savePlan(ProducePlanVO vo){ |
| | | //TODO |
| | | ProducePlan plan = new ProducePlan(); |
| | | BeanUtil.copyProperties(vo, plan); |
| | | this.save(plan); |
| | | } |
| | | |
| | | public boolean updatePlan(ProducePlanVO vo) { |
| | | ProducePlan plan = this.getById(vo.getId()); |
| | | |
| | | plan.setTeamLeaderId(vo.getTeamLeaderId()); |
| | | plan.setProgrammerId(vo.getProgrammerId()); |
| | | plan.setCheckerId(vo.getCheckerId()); |
| | | plan.setSeniorId(vo.getSeniorId()); |
| | | return this.updateById(plan); |
| | | } |
| | | /** |
| | | * æ¥è¯¢å页 |
| | | * @param query æ¥è¯¢åæ° |
| | | * @return åé¡µæ°æ® |
| | | */ |
| | | public IPage<ProducePlanViewVO> pageQuery(String name, Query query) { |
| | | |
| | | LambdaQueryWrapper<ProducePlan> queryWrapper = new LambdaQueryWrapper<>(); |
| | | |
| | | /* queryWrapper.or(StringUtils.isNotEmpty(name),qw ->{ |
| | | qw.like(ProducePlan::getTeamLeaderId,name).or().like(ProducePlan::getProgrammer,name).or().like(ProducePlan::getChecker,name); |
| | | });*/ |
| | | //queryWrapper.eq(StringUtils.isNotEmpty(name), ProducePlan::getTeamLeader, query.getMachineGroupId()); |
| | | return this.getBaseMapper().pageQuery(Condition.getPage(query),name); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.springblade.mdm.basesetting.produceplan.vo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import org.springblade.core.mp.base.BizEntity; |
| | | import org.springblade.mdm.commons.vo.BaseVO; |
| | | |
| | | /** |
| | | * 主å¶è®¡å表 |
| | | */ |
| | | @Setter |
| | | @Getter |
| | | public class ProducePlanVO extends BaseVO { |
| | | /** |
| | | * ä¸ä¸ç»é¿id |
| | | */ |
| | | private Long teamLeaderId; |
| | | /** |
| | | * ç¼å¶å·¥èºåid |
| | | */ |
| | | private Long programmerId; |
| | | /** |
| | | * æ ¡å¯¹å·¥èºåid |
| | | */ |
| | | private Long checkerId; |
| | | /** |
| | | * é«å¸id |
| | | */ |
| | | private Long seniorId; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.springblade.mdm.basesetting.produceplan.vo; |
| | | |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import org.springblade.mdm.commons.vo.BaseVO; |
| | | |
| | | /** |
| | | * 主å¶è®¡å表 |
| | | */ |
| | | @Setter |
| | | @Getter |
| | | public class ProducePlanViewVO extends BaseVO { |
| | | |
| | | @Schema(description = "ä¸ä¸ç»é¿id") |
| | | private Long teamLeaderId; |
| | | private String teamLeaderName; |
| | | |
| | | @Schema(description = "ç¼å¶å·¥èºåid") |
| | | private Long programmerId; |
| | | |
| | | /** |
| | | * æ ¡å¯¹å·¥èºåè´¦å· |
| | | */ |
| | | @Schema(description = "æ ¡å¯¹å·¥èºåid") |
| | | private Long checkerId; |
| | | @Schema(description = "æ ¡å¯¹å·¥èºåå§å") |
| | | private String checkerName; |
| | | |
| | | /** |
| | | * é«å¸id |
| | | */ |
| | | private String seniorId; |
| | | @Schema(description = "é«å¸å§å") |
| | | private String seniorName; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.springblade.mdm.flow.controller; |
| | | |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | | import io.swagger.v3.oas.annotations.tags.Tag; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.flowable.engine.TaskService; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.support.Kv; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | import org.springblade.mdm.basesetting.machine.vo.MachineSaveVO; |
| | | import org.springblade.mdm.flow.excution.StartDispatcher; |
| | | import org.springblade.mdm.flow.vo.TaskAssignVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.Map; |
| | | |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping("/flow/dispatch") |
| | | @Tag(name = "派工æµç¨", description = "派工æµç¨") |
| | | public class DispatchController { |
| | | |
| | | @Autowired |
| | | private StartDispatcher dispatcher; |
| | | @Autowired |
| | | private TaskService taskService; |
| | | /** |
| | | * æ°å¢ |
| | | */ |
| | | @PostMapping("/start") |
| | | @Operation(summary = "å¯å¨æ´¾å·¥æµç¨", description = "å¯å¨æ´¾å·¥æµç¨") |
| | | public R<Boolean> save(@RequestBody TaskAssignVO startVO) { |
| | | dispatcher.start(startVO); |
| | | return R.<Boolean>status(true); |
| | | } |
| | | |
| | | @PostMapping("completeTask") |
| | | public R<Void> completeTask(String taskId, 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.complete(taskId, variables); |
| | | return R.success("æµç¨æäº¤æå"); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.springblade.mdm.flow.excution; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * è·åèªå¨å¹é
çä¸ä¸ç»é¿ï¼ç¼å¶äººåï¼æç åï¼åé«å¸ |
| | | */ |
| | | @Service |
| | | public class AutoAssignUsersService { |
| | | |
| | | public Map<String,Object> autoAssignUsers(long productPlanId){ |
| | | Map<String,Object> result = new HashMap<String,Object>(); |
| | | result.put("teamLeader","zuzhang1"); |
| | | result.put("programmer","gongyiyuan1"); |
| | | result.put("checker","gongyiyuan2"); |
| | | result.put("senior","gaoshi1"); |
| | | return result; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.springblade.mdm.flow.excution; |
| | | |
| | | import org.flowable.common.engine.impl.identity.Authentication; |
| | | import org.flowable.engine.IdentityService; |
| | | import org.flowable.engine.runtime.ProcessInstance; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.flow.core.feign.IFlowClient; |
| | | import org.springblade.flow.core.pojo.entity.BladeFlow; |
| | | import org.springblade.flow.core.utils.TaskUtil; |
| | | import org.springblade.mdm.flow.vo.TaskAssignVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.flowable.engine.RuntimeService; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | @Service("startDispatcher") |
| | | public class StartDispatcher { |
| | | @Autowired |
| | | private IFlowClient flowClient; |
| | | @Autowired |
| | | private RuntimeService runtimeService; |
| | | @Autowired |
| | | private AutoAssignUsersService autoAssignUsersService; |
| | | @Autowired |
| | | private IdentityService identityService; |
| | | private static final String PROCESS_KEY = "dispatch"; |
| | | |
| | | public void start(TaskAssignVO startVO){ |
| | | |
| | | Map<String,Object> preAssignee = autoAssignUsersService.autoAssignUsers(startVO.getProducePlanId()); |
| | | Map<String, Object> vars = new HashMap<>(preAssignee); |
| | | |
| | | String businessKey = "0";//ä¸å¡è¡¨key |
| | | |
| | | identityService.setAuthenticatedUserId(String.valueOf(AuthUtil.getUserId()));//设置æµç¨å起人 |
| | | ProcessInstance pinst = runtimeService.startProcessInstanceByKey(PROCESS_KEY,businessKey,vars); |
| | | //R<BladeFlow> flowR = flowClient.startProcessInstanceByKey(PROCESS_KEY,businessKey,vars); |
| | | //R<BladeFlow> flowR = flowClient.startProcessInstanceById(PROCESS_KEY,businessKey,vars); |
| | | |
| | | int a=1; |
| | | a =2; |
| | | //log.info() |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.springblade.mdm.flow.vo; |
| | | |
| | | import io.swagger.v3.oas.annotations.media.Schema; |
| | | import lombok.Data; |
| | | |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | @Schema(description = "任塿´¾å·¥") |
| | | public class TaskAssignVO { |
| | | @Schema(description = "å·¥åºå·") |
| | | private String processNo; |
| | | @Schema(description = "å·¥åºåç§°") |
| | | private String processName; |
| | | |
| | | @Schema(description = "å·¥åºç次") |
| | | private String processEdition; |
| | | |
| | | @Schema(description = "å·¥èºç次") |
| | | private String craftEdition; |
| | | |
| | | @Schema(description = "设å¤ç¼å·") |
| | | private String machineCode; |
| | | |
| | | @Schema(description = "设å¤åå·") |
| | | private String machineMode; |
| | | |
| | | @Schema(description = "计åå¼å·¥æ¶é´") |
| | | private LocalDateTime planStartTime; |
| | | @Schema(description = "主å¶è®¡å表ID") |
| | | private long producePlanId; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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="dispatch" name="任塿´¾å·¥" isExecutable="true"> |
| | | <startEvent id="start" name="å¼å§"/> |
| | | <sequenceFlow id="sid-c1619263-d1ff-4106-9315-f9ab9a3bee71" sourceRef="start" targetRef="teamLeaderTask"/> |
| | | <userTask id="teamLeaderTask" name="ä¸ä¸ç»é¿" flowable:assignee="${teamLeader}"/> |
| | | <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"/> |
| | | <endEvent id="approveEnd" name="审æ¹å®æ"/> |
| | | <sequenceFlow id="sid-1a414739-a80f-4436-8d7a-e7b65fae8233" sourceRef="approveTask" targetRef="approveEnd"/> |
| | | </process> |
| | | <bpmndi:BPMNDiagram id="BPMNDiagram_dispatch"> |
| | | <bpmndi:BPMNPlane bpmnElement="dispatch" id="BPMNPlane_dispatch"> |
| | | <bpmndi:BPMNShape id="shape-bb4d1b10-12af-4d57-851f-308a54aca93c" bpmnElement="start"> |
| | | <omgdc:Bounds x="-320.0" y="-100.0" width="30.0" height="30.0"/> |
| | | </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"/> |
| | | </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"/> |
| | | </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"/> |
| | | </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"/> |
| | | </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"/> |
| | | </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"/> |
| | | </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"/> |
| | | </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> |
| | | <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"/> |
| | | </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"/> |
| | | </bpmndi:BPMNEdge> |
| | | </bpmndi:BPMNPlane> |
| | | </bpmndi:BPMNDiagram> |
| | | </definitions> |
| | |
| | | COMMIT; |
| | | |
| | | -- ---------------------------- |
| | | -- Table structure for act_re_model |
| | | -- Table structure for ACT_RE_MODEL |
| | | -- ---------------------------- |
| | | DROP TABLE IF EXISTS `ACT_RE_MODEL`; |
| | | CREATE TABLE `act_re_model` ( |
| | | CREATE TABLE `ACT_RE_MODEL` ( |
| | | `ID_` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, |
| | | `REV_` int NULL DEFAULT NULL, |
| | | `NAME_` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL, |
| | |
| | | ) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_bin; |
| | | |
| | | -- ---------------------------- |
| | | -- Records of act_re_model |
| | | -- Records of ACT_RE_MODEL |
| | | -- ---------------------------- |
| | | BEGIN; |
| | | COMMIT; |