Browse Source

测试开票

zhongwei
段飞宇 2 years ago
parent
commit
5db9ab6d4c
  1. 2
      hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/feign/IAccessTaskClient.java
  2. 7
      hzims-service-api/inspect-api/pom.xml
  3. 6
      hzims-service-api/pom.xml
  4. 1
      hzims-service-api/weather-api/src/main/java/com/hnac/hzims/hzimsweather/vo/RainFallCountByMonthVo.java
  5. 3
      hzims-service/assets/src/main/resources/application.yml
  6. 2
      hzims-service/ticket/pom.xml
  7. 3
      hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/redisConsume/WorkTicketMsgConsume.java
  8. 25
      hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/standardTicket/consumer/StandardWorkTicketConsumer.java
  9. 5
      hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/standardTicket/controller/StandardTicketInfoController.java
  10. 52
      hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/standardTicket/controller/StandardWorkTicketController.java
  11. 83
      hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/standardTicket/enums/StandWorkTicketConstants.java
  12. 17
      hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/standardTicket/service/StandardWorkTicketService.java
  13. 25
      hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/standardTicket/service/impl/StandardWorkTicketServiceImpl.java
  14. 30
      hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/FirstWorkTicketServiceImpl.java
  15. 209
      hzims-service/ticket/src/main/resources/file/新工作票.bpmn20.xml
  16. 1
      hzims-service/topvision/src/test/java/BladeDemoTest.java
  17. 2
      pom.xml

2
hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/feign/IAccessTaskClient.java

@ -6,6 +6,7 @@ import com.hnac.hzims.operational.access.entity.OperAccessTaskEntity;
import com.hnac.hzims.feign.ITaskClient; import com.hnac.hzims.feign.ITaskClient;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Repository;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestParam;
/** /**
* @author hx * @author hx
*/ */
@Repository
@FeignClient( @FeignClient(
value = OperationalConstants.APP_NAME value = OperationalConstants.APP_NAME
) )

7
hzims-service-api/inspect-api/pom.xml

@ -23,6 +23,12 @@
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<artifactId>blade-starter-mybatis</artifactId> <artifactId>blade-starter-mybatis</artifactId>
<version>${bladex.project.version}</version> <version>${bladex.project.version}</version>
<exclusions>
<exclusion>
<artifactId>lettuce-core</artifactId>
<groupId>io.lettuce</groupId>
</exclusion>
</exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
@ -57,6 +63,7 @@
<artifactId>common-api</artifactId> <artifactId>common-api</artifactId>
<version>4.0.0-SNAPSHOT</version> <version>4.0.0-SNAPSHOT</version>
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>

6
hzims-service-api/pom.xml

@ -32,6 +32,12 @@
<dependency> <dependency>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>
<artifactId>blade-starter-mybatis</artifactId> <artifactId>blade-starter-mybatis</artifactId>
<exclusions>
<exclusion>
<artifactId>lettuce-core</artifactId>
<groupId>io.lettuce</groupId>
</exclusion>
</exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springblade</groupId> <groupId>org.springblade</groupId>

1
hzims-service-api/weather-api/src/main/java/com/hnac/hzims/hzimsweather/vo/RainFallCountByMonthVo.java

@ -1,5 +1,6 @@
package com.hnac.hzims.hzimsweather.vo; package com.hnac.hzims.hzimsweather.vo;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;

3
hzims-service/assets/src/main/resources/application.yml

@ -19,3 +19,6 @@ oss:
access-key: D99KGE6ZTQXSATTJWU24 access-key: D99KGE6ZTQXSATTJWU24
secret-key: QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ secret-key: QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ
bucket-name: bladex bucket-name: bladex

2
hzims-service/ticket/pom.xml

@ -217,6 +217,8 @@
<groupId>com.hnac.hzims</groupId> <groupId>com.hnac.hzims</groupId>
<artifactId>equipment-api</artifactId> <artifactId>equipment-api</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
<repositories> <repositories>

3
hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/redisConsume/WorkTicketMsgConsume.java

@ -44,4 +44,7 @@ public class WorkTicketMsgConsume {
log.info("接收工作票流程,接收消息为:{}",message); log.info("接收工作票流程,接收消息为:{}",message);
} }
} }

25
hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/standardTicket/consumer/StandardWorkTicketConsumer.java

@ -0,0 +1,25 @@
package com.hnac.hzims.ticket.standardTicket.consumer;
import lombok.extern.slf4j.Slf4j;
import org.springblade.queue.annotation.RedisQueue;
import org.springblade.queue.consume.IQueueConsume;
import org.springframework.stereotype.Service;
/**
* 监听数据的
* @Author WL
* @Version v1.0
* @Serial 1.0
* @Date 2023/3/24 9:46
*/
@Service
@RedisQueue(topicName = "blade:queue:flow")
@Slf4j
public class StandardWorkTicketConsumer implements IQueueConsume {
@Override
public void handlerMessage(String message) {
log.info("监听到数据:{}", message);
}
}

5
hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/standardTicket/controller/StandardTicketInfoController.java

@ -4,23 +4,18 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.hnac.hzims.ticket.standardTicket.dto.StandardTicketInfoDto; import com.hnac.hzims.ticket.standardTicket.dto.StandardTicketInfoDto;
import com.hnac.hzims.ticket.standardTicket.entity.StandardTicketInfoEntity;
import com.hnac.hzims.ticket.standardTicket.service.IStandardTicketInfoService; import com.hnac.hzims.ticket.standardTicket.service.IStandardTicketInfoService;
import com.hnac.hzims.ticket.standardTicket.vo.StandardTicketInfoVO; import com.hnac.hzims.ticket.standardTicket.vo.StandardTicketInfoVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.CollectionUtil; import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.ObjectUtil; import org.springblade.core.tool.utils.ObjectUtil;
import org.springblade.flow.core.vo.ComleteTask; import org.springblade.flow.core.vo.ComleteTask;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.ISysClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;

52
hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/standardTicket/controller/StandardWorkTicketController.java

@ -0,0 +1,52 @@
package com.hnac.hzims.ticket.standardTicket.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.hnac.hzims.ticket.response.WorkTicketMessageResponse;
import com.hnac.hzims.ticket.standardTicket.service.StandardWorkTicketService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 工作票管理
*
* @Author WL
* @Version v1.0
* @Serial 1.0
* @Date 2023/3/23 16:07
*/
@Api(tags = "工作票管理")
@Slf4j
@RequiredArgsConstructor
@RestController
@RequestMapping("/standard/wordTicket")
public class StandardWorkTicketController {
private final StandardWorkTicketService standardWorkTicketService;
@Autowired
private RedisTemplate redisTemplate;
@ApiOperation("测试开票")
@PostMapping("/createTicket")
public R createTicket() {
WorkTicketMessageResponse workTicketMessageResponse = new WorkTicketMessageResponse();
workTicketMessageResponse.setTaskId(IdWorker.get32UUID());
workTicketMessageResponse.setTaskName("工作流");
String jsonString = JSON.toJSONString(workTicketMessageResponse);
redisTemplate.convertAndSend("blade:queue:flow", jsonString);
standardWorkTicketService.createTicket();
return R.success("成功");
}
}

83
hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/standardTicket/enums/StandWorkTicketConstants.java

@ -0,0 +1,83 @@
package com.hnac.hzims.ticket.standardTicket.enums;
import lombok.Getter;
/**
* @Author WL
* @Version v1.0
* @Serial 1.0
* @Date 2023/3/24 11:34
*/
public enum StandWorkTicketConstants {
/**
* 开票
*/
START("1", "startEvent1", "开票"),
/**
* 签发人签发
*/
SIGN("1", "sid-5E7013A9-385A-4EE4-91B6-FD5328D05E2A", "签发人签发"),
/**
* 运行人员接收
*/
RECEIVE("2", "sid-355DB6EC-7D54-4537-B80F-C26CD716ADA1", "运行人员接收"),
/**
* 运行人员布置安全措施
*/
FIX_UP("3", "sid-F35C4A79-53AF-40B8-AFBD-AF7283CC5708", "运行人员布置安全措施"),
/**
* 工作负责人确认安全措施
*/
PRINCIPAL_CONFIRM_MEASURE("4", "sid-0CB1456A-D85C-4473-A032-FAEF62EFBF22", "工作负责人确认安全措施"),
/**
* 工作负责人确认工作内容执行
*/
PRINCIPAL_CONFIRM_CONTENT("5", "sid-5476EB52-438F-4C74-94FB-88A6EA6625EA", "工作负责人确认工作内容执行"),
/**
* 许可人确认工作票结束终结
*/
LICENCE_LICENSOR("6", "sid-72E8C993-D426-476F-BF7F-F7EC3B783022", "许可人确认工作票结束、终结"),
/**
* 工作负责人确认工作票结束
*/
PRINCIPAL_CONFIRM_END("7", "sid-308606FE-820A-4A23-AF2A-4B1E9BBD267C", "工作负责人确认工作票结束、终结"),
/**
* 工作负责人确认工作票结束
*/
LICENSE_CONFIRM_END("8", "sid-72E8C993-D426-476F-BF7F-F7EC3B783022", "许可人确认工作票结束、终结"),
/**
* 签发人审核
*/
SIGN_CONFIRM_DELAY("9", "sid-DABC1AF3-EB78-4913-8BFE-EA44C887B418", "签发人审核"),
/**
* 许可人许可
*/
LICENCE("10", "sid-48995D69-1E09-4ED2-8C81-5D1A6D015FA5", "许可人许可"),
/**
* 工作票转移
*/
PROCESS_COURSE("11", "sid-FB7BF0B3-5189-437F-B29D-B87E22A81460", "工作票转移"),
/**
* 工作票转移
*/
PROCESS_POSTPONE("12", "sid-6358A80D-F592-4875-B281-A5B14A0EA39E", "工作票延期");
private String status;
@Getter
private String flowId;
@Getter
private String segment;
StandWorkTicketConstants(String status, String flowId, String segment) {
this.status = status;
this.flowId = flowId;
this.segment = segment;
}
}

17
hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/standardTicket/service/StandardWorkTicketService.java

@ -0,0 +1,17 @@
package com.hnac.hzims.ticket.standardTicket.service;
/**
* @Author WL
* @Version v1.0
* @Serial 1.0
* @Date 2023/3/23 16:21
*/
public interface StandardWorkTicketService {
/**
* 开票
*/
void createTicket();
}

25
hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/standardTicket/service/impl/StandardWorkTicketServiceImpl.java

@ -0,0 +1,25 @@
package com.hnac.hzims.ticket.standardTicket.service.impl;
import com.hnac.hzims.ticket.standardTicket.service.StandardWorkTicketService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @Author WL
* @Version v1.0
* @Serial 1.0
* @Date 2023/3/23 16:21
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class StandardWorkTicketServiceImpl implements StandardWorkTicketService {
/**
* 开票
*/
@Override
public void createTicket() {
}
}

30
hzims-service/ticket/src/main/java/com/hnac/hzims/ticket/twoTicket/service/impl/FirstWorkTicketServiceImpl.java

@ -119,7 +119,10 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
@Override @Override
public R billing(WorkTicketInfoDto dto) { public R billing(WorkTicketInfoDto dto) {
dto.setCode(this.generateCode()); dto.setCode(this.generateCode());
dto.setStatus(Func.isEmpty(dto.getPrincipal()) || Func.isEmpty(dto.getClassGroupMembers()) ? WorkTicketConstants.FirstWorkTicketStatusEnum.OFFLINE_OPERATE.getStatus() : WorkTicketConstants.FirstWorkTicketStatusEnum.SIGN.getStatus()); dto.setStatus(Func.isEmpty(dto.getPrincipal())
|| Func.isEmpty(dto.getClassGroupMembers()) ?
WorkTicketConstants.FirstWorkTicketStatusEnum.OFFLINE_OPERATE.getStatus() :
WorkTicketConstants.FirstWorkTicketStatusEnum.SIGN.getStatus());
if(this.save(dto)) { if(this.save(dto)) {
//保存详情表 //保存详情表
this.saveDetail(dto); this.saveDetail(dto);
@ -150,7 +153,8 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
completeTask.setFlag("ok"); completeTask.setFlag("ok");
completeTask.setProcessInstanceId(dto.getProcessInstanceId()); completeTask.setProcessInstanceId(dto.getProcessInstanceId());
//获取工作流任务 //获取工作流任务
String taskId = flowClient.getTaskByProcessInstanceIdAndUserId(dto.getProcessInstanceId(),userId).getData().getTaskId(); String taskId = flowClient.getTaskByProcessInstanceIdAndUserId(
dto.getProcessInstanceId(),userId).getData().getTaskId();
completeTask.setTaskId(taskId); completeTask.setTaskId(taskId);
completeTask.setComment("签发人签发通过"); completeTask.setComment("签发人签发通过");
Map<String,Object> variables = new HashMap<>(3); Map<String,Object> variables = new HashMap<>(3);
@ -170,7 +174,9 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
//若为线下工作票 则无需开启工作流 //若为线下工作票 则无需开启工作流
if(WorkTicketConstants.FirstWorkTicketStatusEnum.SIGN.getStatus().equals(dto.getStatus())) { if(WorkTicketConstants.FirstWorkTicketStatusEnum.SIGN.getStatus().equals(dto.getStatus())) {
//获取签发人角色下的人员 //获取签发人角色下的人员
R<List<User>> listR = userClient.relationUserListByRoleAlias(AuthUtil.getTenantId(),Long.parseLong(AuthUtil.getUser().getDeptId()),TicketConstants.SIGNER_ROLE); R<List<User>> listR = userClient.relationUserListByRoleAlias(
AuthUtil.getTenantId(),Long.parseLong(AuthUtil.getUser().getDeptId()),
TicketConstants.SIGNER_ROLE);
if(!listR.isSuccess() || CollectionUtil.isEmpty(listR.getData())){ if(!listR.isSuccess() || CollectionUtil.isEmpty(listR.getData())){
throw new ServiceException("工作票签发人角色下未查询到相关人员"); throw new ServiceException("工作票签发人角色下未查询到相关人员");
} }
@ -178,7 +184,10 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
put("taskId", dto.getId()); put("taskId", dto.getId());
put("signUserIds", AuthUtil.getUserId()); put("signUserIds", AuthUtil.getUserId());
}}; }};
R<BladeFlow> result = flowClient.startProcessInstanceContainNameByKey(newFirstWorkTicketFlowKey,"workTicket:task:" + dto.getId(),dto.getWorkContent(), params); R<BladeFlow> result = flowClient
.startProcessInstanceContainNameByKey(newFirstWorkTicketFlowKey,"workTicket:task:" + dto.getId(),
dto.getWorkContent(),
params);
Assert.isTrue(result.isSuccess(),()-> { Assert.isTrue(result.isSuccess(),()-> {
throw new ServiceException("开启工作票工作流失败!"); throw new ServiceException("开启工作票工作流失败!");
}); });
@ -197,8 +206,10 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
private void saveDetail(WorkTicketInfoDto dto) { private void saveDetail(WorkTicketInfoDto dto) {
//保存安全措施 //保存安全措施
if(CollectionUtil.isNotEmpty(dto.getWorkTicketSafetyMeasureDtoList())) { if(CollectionUtil.isNotEmpty(dto.getWorkTicketSafetyMeasureDtoList())) {
List<WorkTicketSafetyMeasureEntity> measureEntityList = dto.getWorkTicketSafetyMeasureDtoList().stream().map(measure -> { List<WorkTicketSafetyMeasureEntity> measureEntityList =
WorkTicketSafetyMeasureEntity measureEntity = BeanUtil.copy(measure, WorkTicketSafetyMeasureEntity.class); dto.getWorkTicketSafetyMeasureDtoList().stream().map(measure -> {
WorkTicketSafetyMeasureEntity measureEntity =
BeanUtil.copy(measure, WorkTicketSafetyMeasureEntity.class);
measureEntity.setTicketId(dto.getId()); measureEntity.setTicketId(dto.getId());
return measureEntity; return measureEntity;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
@ -206,8 +217,11 @@ public class FirstWorkTicketServiceImpl extends BaseServiceImpl<WorkTicketInfoMa
} }
//保存工作任务 //保存工作任务
if(CollectionUtil.isNotEmpty(dto.getWorkTicketContentDtoList())) { if(CollectionUtil.isNotEmpty(dto.getWorkTicketContentDtoList())) {
List<WorkTicketContentEntity> contentEntities = dto.getWorkTicketContentDtoList().stream().map(contentDto -> { List<WorkTicketContentEntity> contentEntities = dto.getWorkTicketContentDtoList()
WorkTicketContentEntity contentEntity = BeanUtil.copy(contentDto, WorkTicketContentEntity.class); .stream()
.map(contentDto -> {
WorkTicketContentEntity contentEntity =
BeanUtil.copy(contentDto, WorkTicketContentEntity.class);
contentEntity.setTicketId(dto.getId()); contentEntity.setTicketId(dto.getId());
return contentEntity; return contentEntity;
}).collect(Collectors.toList()); }).collect(Collectors.toList());

209
hzims-service/ticket/src/main/resources/file/新工作票.bpmn20.xml

@ -0,0 +1,209 @@
<?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="workTicket" name="工作票" isExecutable="true">
<startEvent id="startEvent1" name="工作负责人开票" flowable:formFieldValidation="true"></startEvent>
<userTask id="sid-5E7013A9-385A-4EE4-91B6-FD5328D05E2A" name="签发人签发" flowable:assignee="${signer}" flowable:formFieldValidation="true">
<extensionElements>
<modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements>
</userTask>
<sequenceFlow id="sid-9139C410-EEF1-426B-80DE-CE61E405D476" sourceRef="startEvent1" targetRef="sid-5E7013A9-385A-4EE4-91B6-FD5328D05E2A"></sequenceFlow>
<exclusiveGateway id="sid-AE1F1B34-40E2-49A0-AF63-D7F46152C68B"></exclusiveGateway>
<sequenceFlow id="sid-4B0EAA53-D3FE-4EF0-97D2-9F849E47C2DC" sourceRef="sid-5E7013A9-385A-4EE4-91B6-FD5328D05E2A" targetRef="sid-AE1F1B34-40E2-49A0-AF63-D7F46152C68B"></sequenceFlow>
<endEvent id="sid-F6E6B8A6-D73D-4DF5-99A1-609660DCC4F8"></endEvent>
<userTask id="sid-355DB6EC-7D54-4537-B80F-C26CD716ADA1" name="运行人员接收" flowable:assignee="${operator}" flowable:formFieldValidation="true">
<extensionElements>
<modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements>
</userTask>
<exclusiveGateway id="sid-21B346B8-4672-429C-95D7-FDAC0F364136"></exclusiveGateway>
<sequenceFlow id="sid-3970686C-5839-4ABA-8FEB-B68941C36CC2" sourceRef="sid-355DB6EC-7D54-4537-B80F-C26CD716ADA1" targetRef="sid-21B346B8-4672-429C-95D7-FDAC0F364136"></sequenceFlow>
<userTask id="sid-F35C4A79-53AF-40B8-AFBD-AF7283CC5708" name="运行人员布置安全措施" flowable:assignee="${operator}" flowable:formFieldValidation="true">
<extensionElements>
<modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements>
</userTask>
<userTask id="sid-0CB1456A-D85C-4473-A032-FAEF62EFBF22" name="工作负责人确认安全措施" flowable:assignee="${licensor}" flowable:formFieldValidation="true">
<extensionElements>
<modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements>
</userTask>
<sequenceFlow id="sid-8FA8740A-093B-4756-B489-299A6FFD6C95" sourceRef="sid-F35C4A79-53AF-40B8-AFBD-AF7283CC5708" targetRef="sid-0CB1456A-D85C-4473-A032-FAEF62EFBF22"></sequenceFlow>
<userTask id="sid-5476EB52-438F-4C74-94FB-88A6EA6625EA" name="工作负责人确认工作内容执行" flowable:assignee="${principal}" flowable:formFieldValidation="true">
<extensionElements>
<modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements>
</userTask>
<exclusiveGateway id="sid-FBFCD5F6-FD6E-46C7-882C-EB53C8ADD2EA"></exclusiveGateway>
<userTask id="sid-308606FE-820A-4A23-AF2A-4B1E9BBD267C" name="工作负责人确认工作票结束、终结" flowable:assignee="${principal}" flowable:formFieldValidation="true">
<extensionElements>
<modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements>
</userTask>
<userTask id="sid-72E8C993-D426-476F-BF7F-F7EC3B783022" name="许可人确认工作票结束、终结" flowable:assignee="${licensor}" flowable:formFieldValidation="true">
<extensionElements>
<modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements>
</userTask>
<sequenceFlow id="sid-7CA973D4-40DF-49AB-9822-959508274656" sourceRef="sid-308606FE-820A-4A23-AF2A-4B1E9BBD267C" targetRef="sid-72E8C993-D426-476F-BF7F-F7EC3B783022"></sequenceFlow>
<endEvent id="sid-F5C6B054-72BA-4531-BF1E-BF9757B2AFDD" name="结束"></endEvent>
<sequenceFlow id="sid-44567028-AC19-441E-ACB1-A3CFAADF1DDD" sourceRef="sid-72E8C993-D426-476F-BF7F-F7EC3B783022" targetRef="sid-F5C6B054-72BA-4531-BF1E-BF9757B2AFDD"></sequenceFlow>
<sequenceFlow id="sid-9DC6746E-6FCC-4006-B68A-98F280A5263D" sourceRef="sid-5476EB52-438F-4C74-94FB-88A6EA6625EA" targetRef="sid-FBFCD5F6-FD6E-46C7-882C-EB53C8ADD2EA"></sequenceFlow>
<userTask id="sid-DABC1AF3-EB78-4913-8BFE-EA44C887B418" name="签发人审核" flowable:assignee="${signer}" flowable:formFieldValidation="true">
<extensionElements>
<modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements>
</userTask>
<userTask id="sid-48995D69-1E09-4ED2-8C81-5D1A6D015FA5" name="许可人许可" flowable:assignee="${licensor}" flowable:formFieldValidation="true">
<extensionElements>
<modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements>
</userTask>
<sequenceFlow id="sid-FB7BF0B3-5189-437F-B29D-B87E22A81460" name="工作票转移" sourceRef="sid-FBFCD5F6-FD6E-46C7-882C-EB53C8ADD2EA" targetRef="sid-DABC1AF3-EB78-4913-8BFE-EA44C887B418">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${flag==delay}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="sid-C0864800-3575-4EA5-BDB2-53CB0064185D" name="通过间断" sourceRef="sid-FBFCD5F6-FD6E-46C7-882C-EB53C8ADD2EA" targetRef="sid-308606FE-820A-4A23-AF2A-4B1E9BBD267C">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${flag==true}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="sid-68BB74A5-8B6B-41CE-A158-66C6E9233012" name="通过" sourceRef="sid-AE1F1B34-40E2-49A0-AF63-D7F46152C68B" targetRef="sid-355DB6EC-7D54-4537-B80F-C26CD716ADA1">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${signFlag==true}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="sid-4219D0D3-DDBC-49E1-B40C-1B54C33B5B46" name="作废" sourceRef="sid-AE1F1B34-40E2-49A0-AF63-D7F46152C68B" targetRef="sid-F6E6B8A6-D73D-4DF5-99A1-609660DCC4F8">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${signFlag==false}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="sid-01DEF90D-6E6D-4E1C-9DB2-BCF57F997914" name="作废" sourceRef="sid-21B346B8-4672-429C-95D7-FDAC0F364136" targetRef="sid-F6E6B8A6-D73D-4DF5-99A1-609660DCC4F8">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${recieveFlag==false}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="sid-2551F3F7-0B18-46ED-A0FA-F1521C3F44E7" name="通过" sourceRef="sid-21B346B8-4672-429C-95D7-FDAC0F364136" targetRef="sid-F35C4A79-53AF-40B8-AFBD-AF7283CC5708">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${recieveFlag==true}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="sid-6358A80D-F592-4875-B281-A5B14A0EA39E" name="工作票延期" sourceRef="sid-FBFCD5F6-FD6E-46C7-882C-EB53C8ADD2EA" targetRef="sid-48995D69-1E09-4ED2-8C81-5D1A6D015FA5">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${delay==true}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="sid-03099AE3-D7AD-40EB-9D5E-F148124C2B06" sourceRef="sid-0CB1456A-D85C-4473-A032-FAEF62EFBF22" targetRef="sid-48995D69-1E09-4ED2-8C81-5D1A6D015FA5"></sequenceFlow>
<sequenceFlow id="sid-58A4E292-9777-4D8D-8494-0ABFA1BFD3A6" sourceRef="sid-48995D69-1E09-4ED2-8C81-5D1A6D015FA5" targetRef="sid-5476EB52-438F-4C74-94FB-88A6EA6625EA"></sequenceFlow>
<sequenceFlow id="sid-3299B7B1-1FB5-4F4B-A440-A6DE86D93530" sourceRef="sid-DABC1AF3-EB78-4913-8BFE-EA44C887B418" targetRef="sid-48995D69-1E09-4ED2-8C81-5D1A6D015FA5"></sequenceFlow>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_workTicket">
<bpmndi:BPMNPlane bpmnElement="workTicket" id="BPMNPlane_workTicket">
<bpmndi:BPMNShape bpmnElement="startEvent1" id="BPMNShape_startEvent1">
<omgdc:Bounds height="30.0" width="30.0" x="100.0" y="163.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-5E7013A9-385A-4EE4-91B6-FD5328D05E2A" id="BPMNShape_sid-5E7013A9-385A-4EE4-91B6-FD5328D05E2A">
<omgdc:Bounds height="80.0" width="100.0" x="225.0" y="138.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-AE1F1B34-40E2-49A0-AF63-D7F46152C68B" id="BPMNShape_sid-AE1F1B34-40E2-49A0-AF63-D7F46152C68B">
<omgdc:Bounds height="40.0" width="40.0" x="390.0" y="158.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-F6E6B8A6-D73D-4DF5-99A1-609660DCC4F8" id="BPMNShape_sid-F6E6B8A6-D73D-4DF5-99A1-609660DCC4F8">
<omgdc:Bounds height="28.0" width="28.0" x="396.0" y="60.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-355DB6EC-7D54-4537-B80F-C26CD716ADA1" id="BPMNShape_sid-355DB6EC-7D54-4537-B80F-C26CD716ADA1">
<omgdc:Bounds height="80.0" width="100.0" x="495.0" y="138.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-21B346B8-4672-429C-95D7-FDAC0F364136" id="BPMNShape_sid-21B346B8-4672-429C-95D7-FDAC0F364136">
<omgdc:Bounds height="40.0" width="40.0" x="640.0" y="158.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-F35C4A79-53AF-40B8-AFBD-AF7283CC5708" id="BPMNShape_sid-F35C4A79-53AF-40B8-AFBD-AF7283CC5708">
<omgdc:Bounds height="80.0" width="100.0" x="795.0" y="138.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-0CB1456A-D85C-4473-A032-FAEF62EFBF22" id="BPMNShape_sid-0CB1456A-D85C-4473-A032-FAEF62EFBF22">
<omgdc:Bounds height="80.0" width="100.0" x="960.0" y="138.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-5476EB52-438F-4C74-94FB-88A6EA6625EA" id="BPMNShape_sid-5476EB52-438F-4C74-94FB-88A6EA6625EA">
<omgdc:Bounds height="80.0" width="100.0" x="794.9999763071544" y="269.9999919533732"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-FBFCD5F6-FD6E-46C7-882C-EB53C8ADD2EA" id="BPMNShape_sid-FBFCD5F6-FD6E-46C7-882C-EB53C8ADD2EA">
<omgdc:Bounds height="40.0" width="40.0" x="660.0" y="290.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-308606FE-820A-4A23-AF2A-4B1E9BBD267C" id="BPMNShape_sid-308606FE-820A-4A23-AF2A-4B1E9BBD267C">
<omgdc:Bounds height="80.0" width="100.0" x="450.0" y="270.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-72E8C993-D426-476F-BF7F-F7EC3B783022" id="BPMNShape_sid-72E8C993-D426-476F-BF7F-F7EC3B783022">
<omgdc:Bounds height="80.0" width="100.0" x="270.0" y="270.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-F5C6B054-72BA-4531-BF1E-BF9757B2AFDD" id="BPMNShape_sid-F5C6B054-72BA-4531-BF1E-BF9757B2AFDD">
<omgdc:Bounds height="28.0" width="28.0" x="101.0" y="296.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-DABC1AF3-EB78-4913-8BFE-EA44C887B418" id="BPMNShape_sid-DABC1AF3-EB78-4913-8BFE-EA44C887B418">
<omgdc:Bounds height="80.0" width="100.0" x="795.0" y="378.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="sid-48995D69-1E09-4ED2-8C81-5D1A6D015FA5" id="BPMNShape_sid-48995D69-1E09-4ED2-8C81-5D1A6D015FA5">
<omgdc:Bounds height="80.0" width="100.0" x="960.0" y="270.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="sid-C0864800-3575-4EA5-BDB2-53CB0064185D" id="BPMNEdge_sid-C0864800-3575-4EA5-BDB2-53CB0064185D">
<omgdi:waypoint x="660.4444444444445" y="310.44444444444446"></omgdi:waypoint>
<omgdi:waypoint x="549.95" y="310.13836565096955"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-9DC6746E-6FCC-4006-B68A-98F280A5263D" id="BPMNEdge_sid-9DC6746E-6FCC-4006-B68A-98F280A5263D">
<omgdi:waypoint x="794.9999763071544" y="310.1518181267848"></omgdi:waypoint>
<omgdi:waypoint x="699.4632559712379" y="310.4420722272896"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-44567028-AC19-441E-ACB1-A3CFAADF1DDD" id="BPMNEdge_sid-44567028-AC19-441E-ACB1-A3CFAADF1DDD">
<omgdi:waypoint x="269.9999999999384" y="310.0"></omgdi:waypoint>
<omgdi:waypoint x="128.9499230927493" y="310.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-9139C410-EEF1-426B-80DE-CE61E405D476" id="BPMNEdge_sid-9139C410-EEF1-426B-80DE-CE61E405D476">
<omgdi:waypoint x="129.94999928606217" y="178.0"></omgdi:waypoint>
<omgdi:waypoint x="224.99999999995185" y="178.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-3299B7B1-1FB5-4F4B-A440-A6DE86D93530" id="BPMNEdge_sid-3299B7B1-1FB5-4F4B-A440-A6DE86D93530">
<omgdi:waypoint x="894.9499999998898" y="418.0"></omgdi:waypoint>
<omgdi:waypoint x="1010.0" y="418.0"></omgdi:waypoint>
<omgdi:waypoint x="1010.0" y="349.95000000000005"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-03099AE3-D7AD-40EB-9D5E-F148124C2B06" id="BPMNEdge_sid-03099AE3-D7AD-40EB-9D5E-F148124C2B06">
<omgdi:waypoint x="1010.0" y="217.95000000000002"></omgdi:waypoint>
<omgdi:waypoint x="1010.0" y="270.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-01DEF90D-6E6D-4E1C-9DB2-BCF57F997914" id="BPMNEdge_sid-01DEF90D-6E6D-4E1C-9DB2-BCF57F997914">
<omgdi:waypoint x="660.5" y="158.5"></omgdi:waypoint>
<omgdi:waypoint x="660.5" y="74.0"></omgdi:waypoint>
<omgdi:waypoint x="423.94992119126084" y="74.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-2551F3F7-0B18-46ED-A0FA-F1521C3F44E7" id="BPMNEdge_sid-2551F3F7-0B18-46ED-A0FA-F1521C3F44E7">
<omgdi:waypoint x="679.4963199348169" y="178.4483695652174"></omgdi:waypoint>
<omgdi:waypoint x="794.9999999999956" y="178.13536585365856"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-4B0EAA53-D3FE-4EF0-97D2-9F849E47C2DC" id="BPMNEdge_sid-4B0EAA53-D3FE-4EF0-97D2-9F849E47C2DC">
<omgdi:waypoint x="324.9499999999993" y="178.18431734317343"></omgdi:waypoint>
<omgdi:waypoint x="390.42592592592536" y="178.42592592592592"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-7CA973D4-40DF-49AB-9822-959508274656" id="BPMNEdge_sid-7CA973D4-40DF-49AB-9822-959508274656">
<omgdi:waypoint x="450.0" y="310.0"></omgdi:waypoint>
<omgdi:waypoint x="369.94999999987647" y="310.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-58A4E292-9777-4D8D-8494-0ABFA1BFD3A6" id="BPMNEdge_sid-58A4E292-9777-4D8D-8494-0ABFA1BFD3A6">
<omgdi:waypoint x="960.0" y="309.9999975616286"></omgdi:waypoint>
<omgdi:waypoint x="894.9499760112941" y="309.9999943893062"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-4219D0D3-DDBC-49E1-B40C-1B54C33B5B46" id="BPMNEdge_sid-4219D0D3-DDBC-49E1-B40C-1B54C33B5B46">
<omgdi:waypoint x="410.40384615384613" y="158.40384615384616"></omgdi:waypoint>
<omgdi:waypoint x="410.0667456225906" y="87.94957625753017"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-6358A80D-F592-4875-B281-A5B14A0EA39E" id="BPMNEdge_sid-6358A80D-F592-4875-B281-A5B14A0EA39E">
<omgdi:waypoint x="680.5" y="290.5"></omgdi:waypoint>
<omgdi:waypoint x="680.5" y="243.90908813476562"></omgdi:waypoint>
<omgdi:waypoint x="1010.0" y="243.90908813476562"></omgdi:waypoint>
<omgdi:waypoint x="1010.0" y="270.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-3970686C-5839-4ABA-8FEB-B68941C36CC2" id="BPMNEdge_sid-3970686C-5839-4ABA-8FEB-B68941C36CC2">
<omgdi:waypoint x="594.9499999999977" y="178.21623376623376"></omgdi:waypoint>
<omgdi:waypoint x="640.4130434782554" y="178.41304347826085"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-8FA8740A-093B-4756-B489-299A6FFD6C95" id="BPMNEdge_sid-8FA8740A-093B-4756-B489-299A6FFD6C95">
<omgdi:waypoint x="894.9499999998898" y="178.0"></omgdi:waypoint>
<omgdi:waypoint x="959.9999999999847" y="178.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-68BB74A5-8B6B-41CE-A158-66C6E9233012" id="BPMNEdge_sid-68BB74A5-8B6B-41CE-A158-66C6E9233012">
<omgdi:waypoint x="429.51359060401785" y="178.42910447761193"></omgdi:waypoint>
<omgdi:waypoint x="494.9999999999888" y="178.185687732342"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="sid-FB7BF0B3-5189-437F-B29D-B87E22A81460" id="BPMNEdge_sid-FB7BF0B3-5189-437F-B29D-B87E22A81460">
<omgdi:waypoint x="680.5" y="329.44119423791824"></omgdi:waypoint>
<omgdi:waypoint x="680.5" y="418.0"></omgdi:waypoint>
<omgdi:waypoint x="794.9999999998903" y="418.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>

1
hzims-service/topvision/src/test/java/BladeDemoTest.java

@ -26,4 +26,5 @@ public class BladeDemoTest {
System.out.println("notice数量:[] 个"); System.out.println("notice数量:[] 个");
} }
} }

2
pom.xml

@ -13,7 +13,7 @@
<bladex.project.snapshot.version>4.5.8-SNAPSHOT</bladex.project.snapshot.version> <bladex.project.snapshot.version>4.5.8-SNAPSHOT</bladex.project.snapshot.version>
<!-- 4.5.8-SNAPSHOT--> <!-- 4.5.8-SNAPSHOT-->
<hzims.project.version>4.0.0-SNAPSHOT</hzims.project.version> <hzims.project.version>4.0.0-SNAPSHOT</hzims.project.version>
<bladex.projet.common.version>4.5.6.RELEASE</bladex.projet.common.version> <bladex.projet.common.version>4.5.8-SNAPSHOT</bladex.projet.common.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>1.8</java.version>
<maven.plugin.version>3.8.1</maven.plugin.version> <maven.plugin.version>3.8.1</maven.plugin.version>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

Loading…
Cancel
Save