Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
Jz-Rc-Workflow
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
java
Jz-Rc-Workflow
Commits
81ef1538
提交
81ef1538
authored
11月 12, 2019
作者:
wangkr
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
显示空白字符变更
内嵌
并排
正在显示
137 个修改的文件
包含
10213 行增加
和
0 行删除
+10213
-0
pom.xml
pom.xml
+178
-0
TaskApplication.java
src/main/java/com/zgiot/zx/workflow/TaskApplication.java
+29
-0
BizCommonCheckException.java
...a/com/zgiot/zx/workflow/base/BizCommonCheckException.java
+21
-0
BizCommonException.java
...n/java/com/zgiot/zx/workflow/base/BizCommonException.java
+47
-0
ErrCode.java
src/main/java/com/zgiot/zx/workflow/base/ErrCode.java
+93
-0
ErrCodeBean.java
src/main/java/com/zgiot/zx/workflow/base/ErrCodeBean.java
+17
-0
ErrInfo.java
src/main/java/com/zgiot/zx/workflow/base/ErrInfo.java
+38
-0
IBizException.java
src/main/java/com/zgiot/zx/workflow/base/IBizException.java
+2
-0
RequestContext.java
src/main/java/com/zgiot/zx/workflow/base/RequestContext.java
+51
-0
RequestInfo.java
src/main/java/com/zgiot/zx/workflow/base/RequestInfo.java
+17
-0
ResponseMessage.java
...main/java/com/zgiot/zx/workflow/base/ResponseMessage.java
+64
-0
ResponseMessageCodeEnum.java
...a/com/zgiot/zx/workflow/base/ResponseMessageCodeEnum.java
+28
-0
Result.java
src/main/java/com/zgiot/zx/workflow/base/Result.java
+48
-0
ResultMoreThanOneException.java
...om/zgiot/zx/workflow/base/ResultMoreThanOneException.java
+18
-0
Ret.java
src/main/java/com/zgiot/zx/workflow/base/Ret.java
+129
-0
CorsConfig.java
src/main/java/com/zgiot/zx/workflow/config/CorsConfig.java
+49
-0
MybatisPlusConfig.java
.../java/com/zgiot/zx/workflow/config/MybatisPlusConfig.java
+21
-0
OkHttpConfig.java
src/main/java/com/zgiot/zx/workflow/config/OkHttpConfig.java
+74
-0
SwaggerConfiguration.java
...va/com/zgiot/zx/workflow/config/SwaggerConfiguration.java
+40
-0
RoleController.java
...java/com/zgiot/zx/workflow/controller/RoleController.java
+69
-0
UserController.java
...java/com/zgiot/zx/workflow/controller/UserController.java
+95
-0
WorkTemplateController.java
.../zgiot/zx/workflow/controller/WorkTemplateController.java
+260
-0
WorkflowTaskControl.java
...com/zgiot/zx/workflow/controller/WorkflowTaskControl.java
+33
-0
ActivitiResDTO.java
src/main/java/com/zgiot/zx/workflow/dto/ActivitiResDTO.java
+19
-0
MTDeptTreeUserInfoRspDTO.java
...a/com/zgiot/zx/workflow/dto/MTDeptTreeUserInfoRspDTO.java
+111
-0
MTEquipmentInfoRspDTO.java
...java/com/zgiot/zx/workflow/dto/MTEquipmentInfoRspDTO.java
+429
-0
MTLogReqDTO.java
src/main/java/com/zgiot/zx/workflow/dto/MTLogReqDTO.java
+34
-0
MTNotificationSendReqDTO.java
...a/com/zgiot/zx/workflow/dto/MTNotificationSendReqDTO.java
+62
-0
MTOssRspDTO.java
src/main/java/com/zgiot/zx/workflow/dto/MTOssRspDTO.java
+29
-0
MTRoleGroupInfoRspDTO.java
...java/com/zgiot/zx/workflow/dto/MTRoleGroupInfoRspDTO.java
+148
-0
MTUserInfoRspDTO.java
...main/java/com/zgiot/zx/workflow/dto/MTUserInfoRspDTO.java
+909
-0
TemplateTypeResDTO.java
...in/java/com/zgiot/zx/workflow/dto/TemplateTypeResDTO.java
+21
-0
WorkPermissionInfoResDTO.java
...a/com/zgiot/zx/workflow/dto/WorkPermissionInfoResDTO.java
+19
-0
WorkPermissionResDTO.java
.../java/com/zgiot/zx/workflow/dto/WorkPermissionResDTO.java
+100
-0
WorkTemplateResDTO.java
...in/java/com/zgiot/zx/workflow/dto/WorkTemplateResDTO.java
+69
-0
SDept.java
src/main/java/com/zgiot/zx/workflow/entity/SDept.java
+67
-0
SRole.java
src/main/java/com/zgiot/zx/workflow/entity/SRole.java
+58
-0
SUser.java
src/main/java/com/zgiot/zx/workflow/entity/SUser.java
+69
-0
TbRole.java
src/main/java/com/zgiot/zx/workflow/entity/TbRole.java
+33
-0
TbUser.java
src/main/java/com/zgiot/zx/workflow/entity/TbUser.java
+34
-0
TemplateApproveDO.java
.../java/com/zgiot/zx/workflow/entity/TemplateApproveDO.java
+101
-0
TemplateApproveHi.java
.../java/com/zgiot/zx/workflow/entity/TemplateApproveHi.java
+101
-0
TemplateDO.java
src/main/java/com/zgiot/zx/workflow/entity/TemplateDO.java
+109
-0
TemplateFormFieldDO.java
...ava/com/zgiot/zx/workflow/entity/TemplateFormFieldDO.java
+96
-0
TemplateGatewayDO.java
.../java/com/zgiot/zx/workflow/entity/TemplateGatewayDO.java
+67
-0
TemplateGatewayHi.java
.../java/com/zgiot/zx/workflow/entity/TemplateGatewayHi.java
+67
-0
TemplateOtherSettingsDO.java
...com/zgiot/zx/workflow/entity/TemplateOtherSettingsDO.java
+52
-0
TemplatePermissionDO.java
...va/com/zgiot/zx/workflow/entity/TemplatePermissionDO.java
+65
-0
TemplatePermissionHi.java
...va/com/zgiot/zx/workflow/entity/TemplatePermissionHi.java
+65
-0
TemplateProcessFileDO.java
...a/com/zgiot/zx/workflow/entity/TemplateProcessFileDO.java
+60
-0
TemplateTypeDO.java
...ain/java/com/zgiot/zx/workflow/entity/TemplateTypeDO.java
+46
-0
WorkflowTask.java
src/main/java/com/zgiot/zx/workflow/entity/WorkflowTask.java
+143
-0
WorkflowTaskHi.java
...ain/java/com/zgiot/zx/workflow/entity/WorkflowTaskHi.java
+147
-0
WorkflowTemplateFormFieldHi.java
...zgiot/zx/workflow/entity/WorkflowTemplateFormFieldHi.java
+89
-0
WorkflowTemplateHi.java
...java/com/zgiot/zx/workflow/entity/WorkflowTemplateHi.java
+116
-0
ApproveFlag.java
src/main/java/com/zgiot/zx/workflow/enums/ApproveFlag.java
+30
-0
MessageType.java
src/main/java/com/zgiot/zx/workflow/enums/MessageType.java
+34
-0
TaskRecordType.java
...main/java/com/zgiot/zx/workflow/enums/TaskRecordType.java
+36
-0
TaskStatus.java
src/main/java/com/zgiot/zx/workflow/enums/TaskStatus.java
+39
-0
TemplateApproveType.java
...java/com/zgiot/zx/workflow/enums/TemplateApproveType.java
+34
-0
Filter.java
src/main/java/com/zgiot/zx/workflow/filters/Filter.java
+64
-0
ProcessFileMapper.java
.../java/com/zgiot/zx/workflow/mapper/ProcessFileMapper.java
+33
-0
ProcessGatewayHiMapper.java
.../com/zgiot/zx/workflow/mapper/ProcessGatewayHiMapper.java
+27
-0
ProcessGatewayMapper.java
...va/com/zgiot/zx/workflow/mapper/ProcessGatewayMapper.java
+25
-0
SDeptMapper.java
src/main/java/com/zgiot/zx/workflow/mapper/SDeptMapper.java
+36
-0
SRoleMapper.java
src/main/java/com/zgiot/zx/workflow/mapper/SRoleMapper.java
+25
-0
SUserMapper.java
src/main/java/com/zgiot/zx/workflow/mapper/SUserMapper.java
+45
-0
TbRoleMapper.java
src/main/java/com/zgiot/zx/workflow/mapper/TbRoleMapper.java
+16
-0
TbUserMapper.java
src/main/java/com/zgiot/zx/workflow/mapper/TbUserMapper.java
+25
-0
WorkApproveHiMapper.java
...ava/com/zgiot/zx/workflow/mapper/WorkApproveHiMapper.java
+30
-0
WorkApproveMapper.java
.../java/com/zgiot/zx/workflow/mapper/WorkApproveMapper.java
+44
-0
WorkPermissionHiMapper.java
.../com/zgiot/zx/workflow/mapper/WorkPermissionHiMapper.java
+33
-0
WorkPermissionMapper.java
...va/com/zgiot/zx/workflow/mapper/WorkPermissionMapper.java
+50
-0
WorkTemplateFieldMapper.java
...com/zgiot/zx/workflow/mapper/WorkTemplateFieldMapper.java
+21
-0
WorkTemplateMapper.java
...java/com/zgiot/zx/workflow/mapper/WorkTemplateMapper.java
+23
-0
WorkTemplateOtherSettingsMapper.java
...t/zx/workflow/mapper/WorkTemplateOtherSettingsMapper.java
+16
-0
WorkTypeMapper.java
...ain/java/com/zgiot/zx/workflow/mapper/WorkTypeMapper.java
+16
-0
WorkflowTaskHiRepository.java
...om/zgiot/zx/workflow/mapper/WorkflowTaskHiRepository.java
+23
-0
WorkflowTaskRepository.java
.../com/zgiot/zx/workflow/mapper/WorkflowTaskRepository.java
+24
-0
WorkflowTemplateFormFieldHiRepository.java
...orkflow/mapper/WorkflowTemplateFormFieldHiRepository.java
+29
-0
WorkflowTemplateHiRepository.java
...giot/zx/workflow/mapper/WorkflowTemplateHiRepository.java
+31
-0
IProcessFileService.java
...va/com/zgiot/zx/workflow/service/IProcessFileService.java
+50
-0
IProcessGatewayService.java
...com/zgiot/zx/workflow/service/IProcessGatewayService.java
+16
-0
IWorkApproveService.java
...va/com/zgiot/zx/workflow/service/IWorkApproveService.java
+30
-0
IWorkPermissionService.java
...com/zgiot/zx/workflow/service/IWorkPermissionService.java
+26
-0
IWorkTemplateFieldService.java
.../zgiot/zx/workflow/service/IWorkTemplateFieldService.java
+24
-0
IWorkTemplateOtherSettingsService.java
...x/workflow/service/IWorkTemplateOtherSettingsService.java
+16
-0
IWorkTemplateService.java
...a/com/zgiot/zx/workflow/service/IWorkTemplateService.java
+61
-0
WorkflowTaskHiService.java
.../com/zgiot/zx/workflow/service/WorkflowTaskHiService.java
+20
-0
WorkflowTaskService.java
...va/com/zgiot/zx/workflow/service/WorkflowTaskService.java
+29
-0
ProcessFileServiceImpl.java
...giot/zx/workflow/service/impl/ProcessFileServiceImpl.java
+714
-0
ProcessGatewayServiceImpl.java
...t/zx/workflow/service/impl/ProcessGatewayServiceImpl.java
+20
-0
ReadBpmn.java
...ain/java/com/zgiot/zx/workflow/service/impl/ReadBpmn.java
+246
-0
WorkApproveServiceImpl.java
...giot/zx/workflow/service/impl/WorkApproveServiceImpl.java
+168
-0
WorkPermissionServiceImpl.java
...t/zx/workflow/service/impl/WorkPermissionServiceImpl.java
+187
-0
WorkTemplateFieldServiceImpl.java
...x/workflow/service/impl/WorkTemplateFieldServiceImpl.java
+108
-0
WorkTemplateOtherSettingsServiceImpl.java
...ow/service/impl/WorkTemplateOtherSettingsServiceImpl.java
+20
-0
WorkTemplateServiceImpl.java
...iot/zx/workflow/service/impl/WorkTemplateServiceImpl.java
+960
-0
WorkflowTaskHiServiceImpl.java
...t/zx/workflow/service/impl/WorkflowTaskHiServiceImpl.java
+35
-0
WorkflowTaskServiceImpl.java
...iot/zx/workflow/service/impl/WorkflowTaskServiceImpl.java
+72
-0
BpmnXmlUtils.java
src/main/java/com/zgiot/zx/workflow/utils/BpmnXmlUtils.java
+106
-0
ChineseCharToEn.java
...ain/java/com/zgiot/zx/workflow/utils/ChineseCharToEn.java
+88
-0
DateUtil.java
src/main/java/com/zgiot/zx/workflow/utils/DateUtil.java
+40
-0
GatewayUtil.java
src/main/java/com/zgiot/zx/workflow/utils/GatewayUtil.java
+49
-0
ImageWatermarkUtils.java
...java/com/zgiot/zx/workflow/utils/ImageWatermarkUtils.java
+74
-0
JDJumpTaskCmd.java
src/main/java/com/zgiot/zx/workflow/utils/JDJumpTaskCmd.java
+68
-0
MTCotactApiRequestClient.java
...com/zgiot/zx/workflow/utils/MTCotactApiRequestClient.java
+286
-0
MTEquipmentApiRequestClient.java
.../zgiot/zx/workflow/utils/MTEquipmentApiRequestClient.java
+81
-0
MTLogApiRequestClient.java
...va/com/zgiot/zx/workflow/utils/MTLogApiRequestClient.java
+42
-0
MTNotificationApiRequestClient.java
...iot/zx/workflow/utils/MTNotificationApiRequestClient.java
+42
-0
MTOSSApiRequestClient.java
...va/com/zgiot/zx/workflow/utils/MTOSSApiRequestClient.java
+54
-0
MTOauthApiRequestClient.java
.../com/zgiot/zx/workflow/utils/MTOauthApiRequestClient.java
+62
-0
MultipartFileUtils.java
.../java/com/zgiot/zx/workflow/utils/MultipartFileUtils.java
+63
-0
OkHttpUtil.java
src/main/java/com/zgiot/zx/workflow/utils/OkHttpUtil.java
+191
-0
PinYinUtils.java
src/main/java/com/zgiot/zx/workflow/utils/PinYinUtils.java
+91
-0
StringUtil.java
src/main/java/com/zgiot/zx/workflow/utils/StringUtil.java
+18
-0
application-dev.properties
src/main/resources/application-dev.properties
+37
-0
application-prod.properties
src/main/resources/application-prod.properties
+36
-0
application-test.properties
src/main/resources/application-test.properties
+36
-0
application.properties
src/main/resources/application.properties
+2
-0
SDeptMapper.xml
src/main/resources/mapper/task/SDeptMapper.xml
+5
-0
SRoleMapper.xml
src/main/resources/mapper/task/SRoleMapper.xml
+5
-0
SUserMapper.xml
src/main/resources/mapper/task/SUserMapper.xml
+5
-0
TbRoleMapper.xml
src/main/resources/mapper/task/TbRoleMapper.xml
+5
-0
TbUserMapper.xml
src/main/resources/mapper/task/TbUserMapper.xml
+14
-0
WorkApproveHiMapper.xml
src/main/resources/mapper/task/WorkApproveHiMapper.xml
+5
-0
WorkApproveMapper.xml
src/main/resources/mapper/task/WorkApproveMapper.xml
+21
-0
WorkPermissionHiMapper.xml
src/main/resources/mapper/task/WorkPermissionHiMapper.xml
+5
-0
WorkPermissionMapper.xml
src/main/resources/mapper/task/WorkPermissionMapper.xml
+15
-0
WorkTemplateMapper.xml
src/main/resources/mapper/task/WorkTemplateMapper.xml
+22
-0
WorkflowGateWayHiMapper.xml
src/main/resources/mapper/task/WorkflowGateWayHiMapper.xml
+5
-0
WorkflowGateWayMapper.xml
src/main/resources/mapper/task/WorkflowGateWayMapper.xml
+5
-0
WorkflowTaskMapper.xml
src/main/resources/mapper/task/WorkflowTaskMapper.xml
+9
-0
WorkflowTemplateFormFieldHiMapper.xml
...sources/mapper/task/WorkflowTemplateFormFieldHiMapper.xml
+20
-0
WorkflowTemplateFormFieldMapper.xml
...resources/mapper/task/WorkflowTemplateFormFieldMapper.xml
+8
-0
WorkflowTemplateHiMapper.xml
src/main/resources/mapper/task/WorkflowTemplateHiMapper.xml
+23
-0
WorkflowTemplateMapper.xml
src/main/resources/mapper/task/WorkflowTemplateMapper.xml
+8
-0
没有找到文件。
pom.xml
0 → 100644
浏览文件 @
81ef1538
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
org.91isoft
</groupId>
<artifactId>
rc_workflow
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<parent>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-parent
</artifactId>
<version>
2.0.4.RELEASE
</version>
<relativePath/>
<!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<project.reporting.outputEncoding>
UTF-8
</project.reporting.outputEncoding>
<java.version>
1.8
</java.version>
</properties>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-boot-starter
</artifactId>
<version>
3.1.1
</version>
</dependency>
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
<scope>
runtime
</scope>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<optional>
true
</optional>
</dependency>
<dependency>
<groupId>
com.google.guava
</groupId>
<artifactId>
guava
</artifactId>
<version>
27.1-jre
</version>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
fastjson
</artifactId>
<version>
1.2.9
</version>
</dependency>
<dependency>
<groupId>
org.activiti
</groupId>
<artifactId>
activiti-spring-boot-starter-basic
</artifactId>
<version>
5.22.0
</version>
<exclusions>
<exclusion>
<groupId>
org.mybatis
</groupId>
<artifactId>
mybatis
</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
io.springfox
</groupId>
<artifactId>
springfox-swagger2
</artifactId>
<version>
2.9.2
</version>
</dependency>
<dependency>
<groupId>
com.github.xiaoymin
</groupId>
<artifactId>
swagger-bootstrap-ui
</artifactId>
<version>
1.9.4
</version>
</dependency>
<dependency>
<groupId>
cn.hutool
</groupId>
<artifactId>
hutool-all
</artifactId>
<version>
4.5.8
</version>
</dependency>
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-generator
</artifactId>
<version>
3.1.1
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-freemarker
</artifactId>
</dependency>
<dependency>
<groupId>
commons-io
</groupId>
<artifactId>
commons-io
</artifactId>
<version>
2.6
</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 -->
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-collections4
</artifactId>
<version>
4.3
</version>
</dependency>
<dependency>
<groupId>
org.dom4j
</groupId>
<artifactId>
dom4j
</artifactId>
<version>
2.1.1
</version>
</dependency>
<dependency>
<groupId>
jaxen
</groupId>
<artifactId>
jaxen
</artifactId>
<version>
1.2.0
</version>
</dependency>
<dependency>
<groupId>
com.squareup.okhttp3
</groupId>
<artifactId>
okhttp
</artifactId>
<version>
3.6.0
</version>
</dependency>
<dependency>
<groupId>
com.belerweb
</groupId>
<artifactId>
pinyin4j
</artifactId>
<version>
2.5.0
</version>
</dependency>
<dependency>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-test
</artifactId>
<version>
5.1.6.RELEASE
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>
spring-milestones
</id>
<name>
Spring Milestones
</name>
<url>
https://repo.spring.io/milestone
</url>
<snapshots>
<enabled>
false
</enabled>
</snapshots>
</repository>
</repositories>
<build>
<finalName>
jz_workflow
</finalName>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-surefire-plugin
</artifactId>
<version>
2.21.0
</version>
<configuration>
<skipTests>
true
</skipTests>
</configuration>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
src/main/java/com/zgiot/zx/workflow/TaskApplication.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
;
import
org.activiti.spring.boot.SecurityAutoConfiguration
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.web.servlet.ServletComponentScan
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.transaction.annotation.EnableTransactionManagement
;
/**
* 项目启动类
* 开启Eureka客户端
* @author David
*/
//@EnableEurekaClient
@EnableScheduling
@EnableTransactionManagement
(
proxyTargetClass
=
true
)
@SpringBootApplication
(
exclude
=
SecurityAutoConfiguration
.
class
)
@MapperScan
(
"com.zgiot.zx.workflow.mapper"
)
//@ServletComponentScan(basePackages = "com.zgiot.zx.workflow.filters")
public
class
TaskApplication
{
public
static
void
main
(
String
[]
args
)
{
// TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
SpringApplication
.
run
(
TaskApplication
.
class
,
args
);
}
}
src/main/java/com/zgiot/zx/workflow/base/BizCommonCheckException.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
base
;
/**
* 通用check异常
* 一般是由于数据出现问题, api调用方式不对导致
* 不需要为rest api调用方返回特定错误
* 只需要记录好日志即可
*/
public
class
BizCommonCheckException
extends
BizCommonException
{
public
BizCommonCheckException
()
{
}
public
BizCommonCheckException
(
String
message
)
{
super
(
message
);
}
public
BizCommonCheckException
(
String
message
,
Throwable
cause
)
{
super
(
message
,
cause
);
}
}
src/main/java/com/zgiot/zx/workflow/base/BizCommonException.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
base
;
/**
* 通用业务异常基类
*/
public
class
BizCommonException
extends
RuntimeException
implements
IBizException
{
/**
* 展示给前端看的错误消息参数
*/
protected
String
[]
restErrMsgArgs
;
/**
* 错误详情对象, 包含各类错误对象
*/
protected
transient
ErrInfo
errInfo
;
public
BizCommonException
()
{
super
();
}
public
BizCommonException
(
String
message
)
{
super
(
message
);
}
public
BizCommonException
(
String
message
,
Throwable
cause
)
{
super
(
message
,
cause
);
}
public
BizCommonException
setRestErrMsgArgs
(
String
[]
restErrMsgArgs
)
{
this
.
restErrMsgArgs
=
restErrMsgArgs
;
return
this
;
}
public
BizCommonException
setErrInfo
(
ErrInfo
errInfo
)
{
this
.
errInfo
=
errInfo
;
return
this
;
}
public
String
[]
getRestErrMsgArgs
()
{
return
restErrMsgArgs
;
}
public
ErrInfo
getErrInfo
()
{
return
errInfo
;
}
}
src/main/java/com/zgiot/zx/workflow/base/ErrCode.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
base
;
import
org.apache.commons.collections4.CollectionUtils
;
import
java.util.List
;
/**
* 所有错误消息编码
* 某一个异常可以对应一个错误编码
* 对应消息参考/config/i18n/messages*.properties
*/
public
enum
ErrCode
{
///////////////////////////////////////////
/////////// 通用错误 ////////////////////
///////////////////////////////////////////
M0000
(
"M0000"
),
//成功
M0001
(
"M0001"
),
//不完全成功
M0005
(
"M0005"
),
//无权限访问
///////////////////////////////////////////
/////////// 客户端错误 ///////////////////
///////////////////////////////////////////
M4000
(
"M4000"
),
M4001
(
"M4001"
),
///////////////////////////////////////////
/////////// 服务端错误 ///////////////////
///////////////////////////////////////////
M5000
(
"M5000"
),
//服务器出现其他RuntimeException, 代码问题
M5001
(
"M5001"
),
//service级别的Validation错误
M5002
(
"M5002"
),
//抛出的继承了 IBizException 的异常, 但是没有对应的 errcode 做对应
M5004
(
"M5004"
,
ResultMoreThanOneException
.
class
),
//数据异常
;
////////////////////////////////////////////////////////////////
private
String
code
;
//错误编码
private
Class
<?
extends
IBizException
>
ex
;
public
static
List
<
ErrCodeBean
>
customErrCodeList
;
ErrCode
(
String
code
)
{
this
.
code
=
code
;
}
ErrCode
(
String
code
,
Class
<?
extends
IBizException
>
ex
)
{
this
.
code
=
code
;
this
.
ex
=
ex
;
}
/**
* 根据异常来获取当前ErrCode
*
* @param exception
* @return
*/
public
static
ErrCodeBean
get
(
IBizException
exception
)
{
Class
<?
extends
IBizException
>
clazz
=
exception
.
getClass
();
ErrCodeBean
ret
=
null
;
// 1. 先找 ErrCode 内部声明的错误信息
for
(
ErrCode
ec
:
values
())
{
if
(
ec
.
ex
==
clazz
)
{
ret
=
new
ErrCodeBean
(
ec
.
getCode
(),
ec
.
ex
);
break
;
}
}
// 2. 找 customErrCodeList 中声明的错误, 这是每个微服务启动时注入进来的
if
(
ret
==
null
&&
CollectionUtils
.
isNotEmpty
(
customErrCodeList
))
{
for
(
ErrCodeBean
customErrCode
:
customErrCodeList
)
{
if
(
customErrCode
.
getEx
()
==
clazz
){
ret
=
new
ErrCodeBean
(
customErrCode
.
getCode
(),
customErrCode
.
getEx
());
break
;
}
}
}
//3. 如果最终没找到, 则用 M5002 代替
if
(
ret
==
null
)
{
ret
=
new
ErrCodeBean
(
ErrCode
.
M5002
.
code
,
ErrCode
.
M5002
.
ex
);
}
return
ret
;
}
public
String
getCode
()
{
return
code
;
}
}
src/main/java/com/zgiot/zx/workflow/base/ErrCodeBean.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
base
;
import
lombok.Getter
;
import
lombok.Setter
;
@Getter
@Setter
public
class
ErrCodeBean
{
private
String
code
;
private
Class
<?
extends
IBizException
>
ex
;
public
ErrCodeBean
(
String
code
,
Class
<?
extends
IBizException
>
ex
)
{
this
.
code
=
code
;
this
.
ex
=
ex
;
}
}
src/main/java/com/zgiot/zx/workflow/base/ErrInfo.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
base
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* @author David
*/
@Getter
@Setter
public
class
ErrInfo
{
/**
* 发生错误时的对象
* 可以是一个String 如: id, 也可以是一个对象, 即一组参数
*/
protected
Object
errObj
;
/**
* 造成错误的对象
* 如: 文件名已存在, 那么需要告诉用户是哪个文件id造成的重名
*/
protected
Object
causeErrObj
;
public
ErrInfo
(
Object
errObj
,
Object
causeErrObj
)
{
this
.
errObj
=
errObj
;
this
.
causeErrObj
=
causeErrObj
;
}
public
ErrInfo
setErrObj
(
Object
errObj
)
{
this
.
errObj
=
errObj
;
return
this
;
}
public
ErrInfo
setCauseErrObj
(
Object
causeErrObj
)
{
this
.
causeErrObj
=
causeErrObj
;
return
this
;
}
}
src/main/java/com/zgiot/zx/workflow/base/IBizException.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
base
;
/** * 所有自定义异常都实现这个接口 * 方便统一处理异常程序知道哪些是自定义业务异常 */
public
interface
IBizException
{
}
\ No newline at end of file
src/main/java/com/zgiot/zx/workflow/base/RequestContext.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
base
;
import
com.baomidou.mybatisplus.core.toolkit.IdWorker
;
/**
* 请求上下文
* 主要用来生成/获取请求id等信息
* <p>
* 访问controller时生成
* controller在return时候获取
* Created by yc on 2017/3/28.
*/
public
class
RequestContext
{
private
static
ThreadLocal
<
RequestInfo
>
requestInfoTheadLocal
=
new
ThreadLocal
<>();
private
RequestContext
(){}
/**
* 生成并设置
*
* @return
*/
public
static
void
setRequestInfo
(
RequestInfo
requestInfo
)
{
if
(
requestInfo
==
null
){
throw
new
BizCommonCheckException
(
"requestInfo is null"
);
}
requestInfoTheadLocal
.
remove
();
long
requestId
=
IdWorker
.
getId
();
requestInfo
.
setRequestId
(
requestId
);
requestInfoTheadLocal
.
set
(
requestInfo
);
}
/**
* 获取
*
* @return
*/
public
static
RequestInfo
getRequestInfo
()
{
return
requestInfoTheadLocal
.
get
();
}
/**
* 清除
*/
public
static
void
clear
()
{
requestInfoTheadLocal
.
remove
();
}
}
src/main/java/com/zgiot/zx/workflow/base/RequestInfo.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
base
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
java.io.Serializable
;
@Getter
@Setter
@NoArgsConstructor
public
class
RequestInfo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
long
requestId
;
}
src/main/java/com/zgiot/zx/workflow/base/ResponseMessage.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
base
;
/**
* 返回信息
*
* @author David
*/
public
class
ResponseMessage
<
T
>
{
private
String
respCode
;
private
String
respMsg
;
private
T
data
;
private
boolean
ok
;
public
ResponseMessage
()
{
}
public
ResponseMessage
(
String
respCode
,
String
message
)
{
this
.
respCode
=
respCode
;
this
.
respMsg
=
message
;
this
.
ok
=
true
;
}
public
ResponseMessage
(
String
respCode
,
String
message
,
boolean
ok
)
{
this
.
respCode
=
respCode
;
this
.
respMsg
=
message
;
this
.
ok
=
ok
;
}
public
ResponseMessage
(
String
respCode
,
String
message
,
boolean
ok
,
T
data
)
{
this
.
respCode
=
respCode
;
this
.
respMsg
=
message
;
this
.
ok
=
ok
;
this
.
data
=
data
;
}
public
String
getRespCode
()
{
return
this
.
respCode
;
}
public
void
setRespCode
(
String
respCode
)
{
this
.
respCode
=
respCode
;
}
public
String
getMessage
()
{
return
this
.
respMsg
;
}
public
void
setMessage
(
String
message
)
{
this
.
respMsg
=
message
;
}
public
T
getData
()
{
return
this
.
data
;
}
public
void
setData
(
T
data
)
{
this
.
data
=
data
;
}
public
boolean
isOk
()
{
return
this
.
ok
;
}
}
src/main/java/com/zgiot/zx/workflow/base/ResponseMessageCodeEnum.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
base
;
/**
* 返回状态
*
* @author David
*/
public
enum
ResponseMessageCodeEnum
{
/**
* 成功
*/
SUCCESS
(
"0"
),
/**
* 失败
*/
ERROR
(
"-1"
);
private
String
code
;
ResponseMessageCodeEnum
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getCode
()
{
return
this
.
code
;
}
}
src/main/java/com/zgiot/zx/workflow/base/Result.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
base
;
/**
* 返回信息
*
* @author David
*/
public
class
Result
{
private
Result
()
{
}
public
static
ResponseMessage
success
()
{
return
new
ResponseMessage
(
ResponseMessageCodeEnum
.
SUCCESS
.
getCode
(),
""
,
true
);
}
public
static
<
T
>
ResponseMessage
<
T
>
success
(
String
code
,
T
t
)
{
return
new
ResponseMessage
(
code
,
""
,
true
,
t
);
}
public
static
<
T
>
ResponseMessage
<
T
>
success
(
String
code
,
String
message
)
{
return
new
ResponseMessage
(
code
,
message
);
}
public
static
<
T
>
ResponseMessage
<
T
>
success
(
String
code
,
String
message
,
T
t
)
{
return
new
ResponseMessage
(
code
,
message
,
true
,
t
);
}
public
static
<
T
>
ResponseMessage
<
T
>
success
(
T
t
)
{
return
new
ResponseMessage
(
ResponseMessageCodeEnum
.
SUCCESS
.
getCode
(),
""
,
true
,
t
);
}
public
static
ResponseMessage
error
()
{
return
error
(
""
);
}
public
static
ResponseMessage
error
(
String
message
)
{
return
error
(
ResponseMessageCodeEnum
.
ERROR
.
getCode
(),
message
);
}
public
static
ResponseMessage
error
(
String
code
,
String
message
)
{
return
error
(
code
,
message
,
(
Object
)
null
);
}
public
static
<
T
>
ResponseMessage
<
T
>
error
(
String
code
,
String
message
,
T
t
)
{
return
new
ResponseMessage
(
code
,
message
,
false
,
t
);
}
}
src/main/java/com/zgiot/zx/workflow/base/ResultMoreThanOneException.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
base
;
/**
* 查询到的结果应该是一条, 实际多条
* 请查看表数据异常
*/
public
class
ResultMoreThanOneException
extends
BizCommonException
{
public
ResultMoreThanOneException
()
{
}
public
ResultMoreThanOneException
(
String
message
)
{
super
(
message
);
}
public
ResultMoreThanOneException
(
String
message
,
Throwable
cause
)
{
super
(
message
,
cause
);
}
}
src/main/java/com/zgiot/zx/workflow/base/Ret.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
base
;
import
com.google.common.base.MoreObjects
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
org.springframework.core.annotation.Order
;
import
java.io.Serializable
;
/**
* 返回信息
*
* @author David
*/
@ApiModel
(
value
=
"请求响应"
)
public
class
Ret
<
T
>
implements
Serializable
{
@Order
(
1
)
@ApiModelProperty
(
value
=
"错误码"
)
private
String
code
;
@Order
(
2
)
@ApiModelProperty
(
value
=
"错误描述"
)
private
String
msg
;
@Order
(
3
)
@ApiModelProperty
(
value
=
"请求时间"
)
private
Long
ctime
;
@Order
(
4
)
@ApiModelProperty
(
value
=
"请求编号"
)
private
String
requestID
;
@Order
(
5
)
@ApiModelProperty
(
value
=
"响应数据"
)
private
T
data
;
public
Ret
()
{
this
.
ctime
=
System
.
currentTimeMillis
();
if
(
RequestContext
.
getRequestInfo
()
!=
null
)
{
this
.
requestID
=
String
.
valueOf
(
RequestContext
.
getRequestInfo
().
getRequestId
());
}
}
public
Ret
(
String
code
)
{
this
.
code
=
code
;
this
.
ctime
=
System
.
currentTimeMillis
();
if
(
RequestContext
.
getRequestInfo
()
!=
null
)
{
this
.
requestID
=
String
.
valueOf
(
RequestContext
.
getRequestInfo
().
getRequestId
());
}
}
public
Ret
(
String
code
,
String
msg
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
this
.
ctime
=
System
.
currentTimeMillis
();
if
(
RequestContext
.
getRequestInfo
()
!=
null
)
{
this
.
requestID
=
String
.
valueOf
(
RequestContext
.
getRequestInfo
().
getRequestId
());
}
}
//构建成功返回
public
static
Ret
ok
()
{
return
new
Ret
(
ErrCode
.
M0000
.
getCode
(),
"ok"
);
}
//构建系统异常返回
public
static
Ret
error
()
{
return
new
Ret
();
}
public
String
getCode
()
{
return
code
;
}
public
Ret
<
T
>
setCode
(
String
code
)
{
this
.
code
=
code
;
return
this
;
}
public
String
getMsg
()
{
return
msg
;
}
public
Ret
<
T
>
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
return
this
;
}
public
Long
getCtime
()
{
return
ctime
;
}
public
Ret
<
T
>
setCtime
(
Long
ctime
)
{
this
.
ctime
=
ctime
;
return
this
;
}
public
String
getRequestID
()
{
return
requestID
;
}
public
Ret
<
T
>
setRequestID
(
String
requestID
)
{
this
.
requestID
=
requestID
;
return
this
;
}
public
T
getData
()
{
return
data
;
}
public
Ret
<
T
>
setData
(
T
data
)
{
this
.
data
=
data
;
return
this
;
}
@Override
public
String
toString
()
{
return
MoreObjects
.
toStringHelper
(
this
)
.
add
(
"\ncode"
,
code
)
.
add
(
"\nmsg"
,
msg
)
.
add
(
"\nctime"
,
ctime
)
.
add
(
"\nrequestID"
,
requestID
)
.
add
(
"\ndata"
,
data
)
.
toString
();
}
}
src/main/java/com/zgiot/zx/workflow/config/CorsConfig.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
config
;
import
org.springframework.boot.web.servlet.FilterRegistrationBean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.cors.CorsConfiguration
;
import
org.springframework.web.cors.UrlBasedCorsConfigurationSource
;
import
org.springframework.web.filter.CorsFilter
;
import
org.springframework.web.servlet.config.annotation.CorsRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
;
/**
* 跨域配置
* @author David
*/
@Configuration
public
class
CorsConfig
{
@Bean
public
FilterRegistrationBean
corsFilter
()
{
UrlBasedCorsConfigurationSource
source
=
new
UrlBasedCorsConfigurationSource
();
CorsConfiguration
config
=
new
CorsConfiguration
();
config
.
setAllowCredentials
(
true
);
config
.
addAllowedOrigin
(
"*"
);
config
.
addAllowedHeader
(
"*"
);
config
.
addAllowedMethod
(
"OPTION"
);
config
.
addAllowedMethod
(
"GET"
);
config
.
addAllowedMethod
(
"POST"
);
config
.
addAllowedMethod
(
"PUT"
);
config
.
addAllowedMethod
(
"HEAD"
);
config
.
addAllowedMethod
(
"DELETE"
);
source
.
registerCorsConfiguration
(
"/**"
,
config
);
FilterRegistrationBean
bean
=
new
FilterRegistrationBean
(
new
CorsFilter
(
source
));
bean
.
setOrder
(
0
);
return
bean
;
}
@Bean
public
WebMvcConfigurer
mvcConfigurer
()
{
return
new
WebMvcConfigurerAdapter
()
{
@Override
public
void
addCorsMappings
(
CorsRegistry
registry
)
{
registry
.
addMapping
(
"/**"
).
allowedMethods
(
"GET"
,
"PUT"
,
"POST"
,
"GET"
,
"OPTIONS"
);
}
};
}
}
\ No newline at end of file
src/main/java/com/zgiot/zx/workflow/config/MybatisPlusConfig.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
config
;
import
com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
/**
* MybatisPlus配置
* @author David
*/
@Configuration
public
class
MybatisPlusConfig
{
/**
* 分页插件
*/
@Bean
public
PaginationInterceptor
paginationInterceptor
()
{
return
new
PaginationInterceptor
();
}
}
src/main/java/com/zgiot/zx/workflow/config/OkHttpConfig.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
config
;
import
okhttp3.ConnectionPool
;
import
okhttp3.OkHttpClient
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
javax.net.ssl.SSLContext
;
import
javax.net.ssl.SSLSocketFactory
;
import
javax.net.ssl.TrustManager
;
import
javax.net.ssl.X509TrustManager
;
import
java.security.KeyManagementException
;
import
java.security.NoSuchAlgorithmException
;
import
java.security.SecureRandom
;
import
java.security.cert.CertificateException
;
import
java.security.cert.X509Certificate
;
import
java.util.concurrent.TimeUnit
;
/**
* OkHttp 配置
*
* @author David
* */
@Configuration
public
class
OkHttpConfig
{
@Bean
public
X509TrustManager
x509TrustManager
()
{
return
new
X509TrustManager
()
{
@Override
public
void
checkClientTrusted
(
X509Certificate
[]
x509Certificates
,
String
s
)
throws
CertificateException
{
}
@Override
public
void
checkServerTrusted
(
X509Certificate
[]
x509Certificates
,
String
s
)
throws
CertificateException
{
}
@Override
public
X509Certificate
[]
getAcceptedIssuers
()
{
return
new
X509Certificate
[
0
];
}
};
}
@Bean
public
SSLSocketFactory
sslSocketFactory
()
{
try
{
//信任任何链接
SSLContext
sslContext
=
SSLContext
.
getInstance
(
"TLS"
);
sslContext
.
init
(
null
,
new
TrustManager
[]{
x509TrustManager
()},
new
SecureRandom
());
return
sslContext
.
getSocketFactory
();
}
catch
(
NoSuchAlgorithmException
e
)
{
e
.
printStackTrace
();
}
catch
(
KeyManagementException
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
/**
* Create a new connection pool with tuning parameters appropriate for a single-user application.
* The tuning parameters in this pool are subject to change in future OkHttp releases. Currently
*/
@Bean
public
ConnectionPool
pool
()
{
return
new
ConnectionPool
(
200
,
5
,
TimeUnit
.
MINUTES
);
}
@Bean
public
OkHttpClient
okHttpClient
()
{
return
new
OkHttpClient
.
Builder
()
.
sslSocketFactory
(
sslSocketFactory
(),
x509TrustManager
())
.
retryOnConnectionFailure
(
false
)
//是否开启缓存
.
connectionPool
(
pool
())
//连接池
.
connectTimeout
(
10L
,
TimeUnit
.
SECONDS
)
.
readTimeout
(
10L
,
TimeUnit
.
SECONDS
)
.
build
();
}
}
src/main/java/com/zgiot/zx/workflow/config/SwaggerConfiguration.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
springfox.documentation.builders.ApiInfoBuilder
;
import
springfox.documentation.builders.PathSelectors
;
import
springfox.documentation.builders.RequestHandlerSelectors
;
import
springfox.documentation.service.ApiInfo
;
import
springfox.documentation.spi.DocumentationType
;
import
springfox.documentation.spring.web.plugins.Docket
;
import
springfox.documentation.swagger2.annotations.EnableSwagger2
;
/**
* Swagger2配置类
* @author David
*/
@Configuration
@EnableSwagger2
public
class
SwaggerConfiguration
{
@Bean
public
Docket
createRestApi
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
apiInfo
(
apiInfo
())
.
select
()
.
apis
(
RequestHandlerSelectors
.
basePackage
(
"com.zgiot.zx.workflow"
))
.
paths
(
PathSelectors
.
any
())
.
build
();
}
private
ApiInfo
apiInfo
()
{
return
new
ApiInfoBuilder
()
.
title
(
"任务模块 RESTful APIs"
)
.
description
(
"任务模块接口API文档"
)
.
termsOfServiceUrl
(
"http://localhost:8080/"
)
.
version
(
"1.0"
)
.
build
();
}
}
src/main/java/com/zgiot/zx/workflow/controller/RoleController.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
controller
;
import
com.zgiot.zx.workflow.base.Ret
;
import
com.zgiot.zx.workflow.dto.MTRoleGroupInfoRspDTO
;
import
com.zgiot.zx.workflow.utils.MTCotactApiRequestClient
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* <p>
* 前端控制器
* </p>
*
* @author jobob
* @since 2019-05-22
*/
@RestController
@RequestMapping
(
"/task/tb-role"
)
public
class
RoleController
{
/* @Autowired
ITbRoleService tbRoleService;
@Autowired
IWorkTemplateService workTemplateService;*/
@Autowired
private
MTCotactApiRequestClient
cotactApiRequestClient
;
/**
*
* 查询角色
*/
@GetMapping
(
"/getRoleAll"
)
@ApiOperation
(
value
=
"查询角色"
)
public
Ret
<
List
<
MTRoleGroupInfoRspDTO
>>
getRoleAll
(){
return
Ret
.
ok
().
setData
(
cotactApiRequestClient
.
roleListRoleGroup
(
"6"
,
""
));
}
/**
*
* 通过模板查询角色
*//*
@GetMapping("/getRoleByTempId")
@ApiOperation(value="通过模板查询角色")
public ResponseMessage getRoleByTempId(String templateId){
List<TbRole> rolesList = tbRoleService.list();
QueryWrapper qw = new QueryWrapper();
qw.eq("id",templateId);
TemplateDO templateDO = workTemplateService.getById(templateId);
Map<String,Object> map = new HashMap();
if(templateDO !=null && StrUtil.isNotEmpty(templateDO.getCreateRoles())){
map.put("list", templateDO.getCreateRoles());
}else {
map.put("list", "");
}
map.put("allList",rolesList);
return Result.success(map);
}*/
}
src/main/java/com/zgiot/zx/workflow/controller/UserController.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
controller
;
import
com.zgiot.zx.workflow.base.ResponseMessage
;
import
com.zgiot.zx.workflow.base.Result
;
import
com.zgiot.zx.workflow.base.Ret
;
import
com.zgiot.zx.workflow.utils.MTCotactApiRequestClient
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* <p>
* 前端控制器
* </p>
*
* @author jobob
* @since 2019-05-22
*/
@RestController
@RequestMapping
(
"/task/tb-user"
)
public
class
UserController
{
/* @Autowired
private ITbUserService userService;*/
@Autowired
private
MTCotactApiRequestClient
mtCotactApiRequestClient
;
/* *//**
* 查询用户
*//*
@GetMapping("/getUserAll")
@ApiOperation(value = "查询用户")
public ResponseMessage getUserAll() {
List<TbUser> usersList = userService.list();
return Result.success(usersList);
}
*/
/**
* 根据公司id获取部门tree
*/
@GetMapping
(
"/getDeptTree"
)
@ApiOperation
(
value
=
"根据公司id获取部门tree"
)
public
Ret
<
Map
<
String
,
Object
>>
getDeptTree
(
String
corpId
)
{
return
Ret
.
ok
().
setData
(
mtCotactApiRequestClient
.
deptGetTreeByCorpId
(
""
,
""
));
}
/* *//**
* 根据部门id和公司id查询用户
*//*
@GetMapping("/getUserByDeptId")
@ApiOperation(value = "根据部门id和公司id查询用户")
public Ret<List<MTGetUserByDeptIdsRspDTO>> getDeptTree(String corpId, String deptId) {
List<String> deptIds = new ArrayList<>();
deptIds.add(deptId);
return Ret.ok().setData(mtCotactApiRequestClient.userGetUserByDeptIds(corpId, deptIds, ""));
}
*//**
* 根据部门id和公司id查询用户
*//*
@GetMapping("/deptSubDeptUserPageList")
@ApiOperation(value = "根据部门id和公司id查询下级部门")
public Ret<Map<String, Object>> deptSubDeptUserPageList(String corpId, String pid, String accessToken) {
Map<String, Object> resultMap = new HashMap<>(2);
MTDeptSubDeptUserPagelistRspDTO mtDeptSubDeptUserPagelistRspDTO = mtCotactApiRequestClient.deptSubDeptUserPagelist(corpId, pid, "");
if(mtDeptSubDeptUserPagelistRspDTO != null && mtDeptSubDeptUserPagelistRspDTO.getList() != null) {
List<String> deptIds = new ArrayList<>();
for(MTDeptSubDeptUserPagelistRspDTO.Dept dept : mtDeptSubDeptUserPagelistRspDTO.getList()) {
deptIds.add(dept.getId());
}
List<MTGetUserByDeptIdsRspDTO> mtGetUserByDeptIdsRspDTO = mtCotactApiRequestClient.userGetUserByDeptIds(corpId, deptIds, "");
resultMap.put("deptList", mtDeptSubDeptUserPagelistRspDTO.getList());
resultMap.put("userList", mtGetUserByDeptIdsRspDTO);
} else {
resultMap.put("deptList", new ArrayList<>());
resultMap.put("userList", new ArrayList<>());
}
return Ret.ok().setData(resultMap);
}
*/
}
src/main/java/com/zgiot/zx/workflow/controller/WorkTemplateController.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
controller
;
import
com.zgiot.zx.workflow.base.Ret
;
import
com.zgiot.zx.workflow.dto.WorkTemplateResDTO
;
import
com.zgiot.zx.workflow.entity.TemplateDO
;
import
com.zgiot.zx.workflow.service.IWorkTemplateService
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Date
;
/**
* <p>
* 前端控制器
* </p>
*
* @author jobob
* @since 2019-05-08
*/
@Slf4j
@RestController
@RequestMapping
(
"/task/work-template"
)
public
class
WorkTemplateController
{
@Autowired
private
IWorkTemplateService
workTemplateService
;
/*
@Autowired
private IWorkTemplateFieldService workTemplateFieldService;
@Autowired
private RepositoryService repositoryService;
@Autowired
private IProcessFileService iProcessFileService;
@Autowired
private IWorkPermissionService workPermissionService;
@Autowired
private IWorkApproveService workApproveService;
@Autowired
private IWorkTemplateOtherSettingsService workTemplateOtherSettingsService;
@Autowired
private IProcessGatewayService processGatewayService;*/
/* @Value("${template.processfile.path}")
private String processPath;
Logger logger = LoggerFactory.getLogger(ProcessFileServiceImpl.class);
private static final String TEMPLATE_ID = "TEMPLATE_ID";*/
/* *//**
* 按id查询
*//*
@GetMapping("/getTemplateById")
@ApiOperation(value = "按id查询一条数据")
public Ret<TemplateDO> getTemplateById(@RequestParam String id) {
return Ret.ok().setData(workTemplateService.getById(id));
}*/
/* *//**
* 插入一条数据
*//*
@PostMapping("/insertOne")
@ApiOperation(value = "新建模板生成id")
public Ret insertOne(@RequestBody TemplateDO templateDO) {
if (workTemplateService.saveTemplateService(templateDO)) {
return Ret.ok().setData(templateDO);
} else {
return Ret.error().setMsg("插入异常");
}
}*/
/* *//**
* 按id删除一条数据
*//*
@DeleteMapping("/deleteOne/{id}")
@ApiOperation(value = "按id删除一条数据")
public Ret deleteOne(@PathVariable Integer id) {
if (workTemplateService.removeById(id)) {
return Ret.ok().setMsg("删除成功");
}
return Ret.error().setMsg("删除失败");
}*/
/* *//**
* 修改一条数据
*//*
@PutMapping("/updateOne")
@ApiOperation(value = "修改一条数据")
public Ret updateOne(@RequestBody TemplateDO templateDO) {
if (templateDO.getId() != null) {
templateDO.setUpdateTime(new Date());
if (workTemplateService.updateById(templateDO)) {
return Ret.ok().setMsg("修改成功");
}
return Ret.error().setMsg("修改失败");
}
return Ret.error().setMsg("缺少id");
}*/
/*
* 发布数据
* */
@PostMapping
(
"/publish"
)
@ApiOperation
(
value
=
"发布数据"
)
public
Ret
publishOne
(
@RequestBody
TemplateDO
templateDo
)
{
//System.out.println("模板id:"+templateDo.getId());
if
(
templateDo
.
getId
()
!=
null
)
{
if
(
workTemplateService
.
publishBytemplate
(
templateDo
))
{
return
Ret
.
ok
().
setMsg
(
"发布成功"
);
}
return
Ret
.
error
().
setMsg
(
"发布失败"
);
}
return
Ret
.
error
().
setMsg
(
"缺少id"
);
}
/* *//**
* 条件查询多条数据
*//*
@GetMapping("/")
@ApiOperation(value = "条件查询多条数据")
public Ret<List<TemplateDO>> searchSelective(TemplateDO templateDO) {
return Ret.ok().setData(workTemplateService.getTemplateList(templateDO));
}
*/
/* *//**
* 条件查询多条数据(分页)
*//*
@GetMapping("/page")
@ApiOperation(value = "条件查询多条数据(分页)")
public Ret<IPage<TemplateDO>> searchSelectiveByPage(TemplateDO templateDO, Integer page, Integer size) {
return Ret.ok().setData(workTemplateService.getTemplatePage(templateDO,page,size));
}
*/
@GetMapping
(
"/getAllTemplates"
)
@ApiOperation
(
value
=
"获取所有的模板数据[带分类]"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"ifEnable"
,
value
=
"是否启用(1:是;0:否)"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"ifPhone"
,
value
=
"是否手机端创建(1:是;0:否)"
,
required
=
true
)
})
public
Ret
getAllTemplates
(
String
ifEnable
,
String
ifPhone
)
{
return
Ret
.
ok
().
setData
(
workTemplateService
.
getAllTemplates
(
ifEnable
,
ifPhone
));
}
/*
@GetMapping("/getTemplatesByTp")
@ApiOperation(value = "根据模板分组查询模板")
public Ret getTemplatesByTp(String workTpId) {
QueryWrapper qw = new QueryWrapper();
qw.eq("work_tp_id",workTpId);
qw.eq("if_enable","1");
return Ret.ok().setData(workTemplateService.list(qw));
}*/
/* @GetMapping("/getTemplates")
@ApiOperation(value = "查询已发布模板")
public Ret getTemplates() {
QueryWrapper qw = new QueryWrapper();
qw.eq("if_enable","1");
return Ret.ok().setData(workTemplateService.list(qw));
}
*/
/**
* @param templateId 模板ID
* @return
*//*
@GetMapping("/deployProcess")
@ApiOperation(value = "部署流程文件")
public Ret deployProcess(String templateId) {
return workTemplateService.deployProcess(templateId);
}
*/
/**
* 查询模板所有信息(4个分类)
*/
@GetMapping
(
"/queryTemplateByTemplateId"
)
@ApiOperation
(
value
=
"查询模板所有信息(4个分类)"
)
public
Ret
<
WorkTemplateResDTO
>
queryTemplateByTemplateId
(
String
templateId
)
{
return
Ret
.
ok
().
setData
(
workTemplateService
.
getTemplateByTemplateId
(
templateId
));
}
/**
* 保存模板信息
*/
@PostMapping
(
"/saveTemplate"
)
@ApiOperation
(
value
=
"保存模板所有信息(4个分类)"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"templateId"
,
value
=
"模板Id"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"templateDO"
,
value
=
"模板基础信息"
,
required
=
false
),
@ApiImplicitParam
(
name
=
"fieldJsonStr"
,
value
=
"表单信息json字符串"
,
required
=
false
),
@ApiImplicitParam
(
name
=
"xmlJson"
,
value
=
"工作流文件字符串"
,
required
=
false
),
@ApiImplicitParam
(
name
=
"templateApproveDOList"
,
value
=
"表单人员配置"
,
required
=
false
),
@ApiImplicitParam
(
name
=
"permissionJson"
,
value
=
"表单权限配置json"
,
required
=
false
),
@ApiImplicitParam
(
name
=
"processGatewayList"
,
value
=
"流程表达式"
,
required
=
false
),
@ApiImplicitParam
(
name
=
"templateOtherSettings"
,
value
=
"模板其他设置"
,
required
=
false
)
})
public
Ret
saveTemplate
(
@RequestBody
WorkTemplateResDTO
workTemplateResDTO
)
{
return
workTemplateService
.
saveTemplateAll
(
workTemplateResDTO
);
}
/**
* 删除模板
*//*
@DeleteMapping("/removeTemplate{id}")
@ApiOperation(value = "删除模板")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "模板Id", required = true),
})
public Ret removeTemplate(@PathVariable String id){
if(!workTemplateService.removeTemplate(id)){
return Ret.error().setMsg("删除失败");
}
return Ret.ok().setMsg("删除成功");
}
*//**
* 模板复制
*//*
@PostMapping("/templateCopy")
@ApiOperation(value = "模板复制")
@ApiImplicitParams({
@ApiImplicitParam(name = "templateId", value = "模板Id", required = true),
@ApiImplicitParam(name = "workTpId", value = "分类id", required = true)
})
public Ret templateCopy(String templateId, String workTpId) {
boolean flag = workTemplateService.templateCopy(templateId, workTpId);
if (!flag) {
return Ret.error().setMsg("复制失败");
}
return Ret.ok().setMsg("复制成功");
}
*//**
* 模板移动
*//*
@PostMapping("/templateMove")
@ApiOperation(value = "模板移动")
@ApiImplicitParams({
@ApiImplicitParam(name = "templateId", value = "模板Id", required = true),
@ApiImplicitParam(name = "workTpId", value = "分类id", required = true)
})
public Ret templateMove(String templateId, String workTpId) {
if (!workTemplateService.updateTemplateMove(templateId,workTpId)) {
return Ret.error().setMsg("移动失败");
}
return Ret.ok().setMsg("移动成功");
}
*/
}
src/main/java/com/zgiot/zx/workflow/controller/WorkflowTaskControl.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
controller
;
import
com.zgiot.zx.workflow.base.Ret
;
import
com.zgiot.zx.workflow.dto.WorkTemplateResDTO
;
import
com.zgiot.zx.workflow.service.WorkflowTaskService
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @Author: jiangpengpeng
* @Description:
* @Date: Created in 18:27 2019/7/29
* @Modified By:
*/
@RestController
@RequestMapping
(
"/workflowTask"
)
public
class
WorkflowTaskControl
{
@Autowired
private
WorkflowTaskService
workflowTaskService
;
@GetMapping
(
"/getAllWorkTasks"
)
@ApiOperation
(
value
=
"获取所有的工单带分类"
)
public
Ret
getAllTemplates
()
{
return
Ret
.
ok
().
setData
(
workflowTaskService
.
getAllWorkflowTask
());
}
}
\ No newline at end of file
src/main/java/com/zgiot/zx/workflow/dto/ActivitiResDTO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
dto
;
import
com.zgiot.zx.workflow.entity.TemplateApproveDO
;
import
com.zgiot.zx.workflow.entity.TemplateGatewayDO
;
import
lombok.Data
;
import
java.util.List
;
/**
*
*/
@Data
public
class
ActivitiResDTO
{
private
String
xmlPath
;
private
List
<
WorkPermissionInfoResDTO
>
workPermission
;
private
List
<
TemplateApproveDO
>
workApproveList
;
private
List
<
TemplateGatewayDO
>
processGatewayList
;
}
src/main/java/com/zgiot/zx/workflow/dto/MTDeptTreeUserInfoRspDTO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
dto
;
import
com.zgiot.zx.workflow.entity.SDept
;
import
com.zgiot.zx.workflow.entity.SUser
;
import
java.util.List
;
public
class
MTDeptTreeUserInfoRspDTO
{
private
SDept
sDept
;
/* private List<SUser> sUsers;
public List<SUser> getsUsers() {
return sUsers;
}
public void setsUsers(List<SUser> sUsers) {
this.sUsers = sUsers;
}*/
public
SDept
getsDept
()
{
return
sDept
;
}
public
void
setsDept
(
SDept
sDept
)
{
this
.
sDept
=
sDept
;
}
private
String
deptName
;
private
String
[]
childIds
;
private
List
<
MTDeptTreeUserInfoRspDTO
>
childDeptTreeResDTOS
;
private
List
<
UserInfo
>
userInfoList
;
private
String
deptId
;
private
String
pid
;
public
class
UserInfo
{
private
String
id
;
private
String
name
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
}
public
String
getDeptName
()
{
return
deptName
;
}
public
void
setDeptName
(
String
deptName
)
{
this
.
deptName
=
deptName
;
}
public
String
[]
getChildIds
()
{
return
childIds
;
}
public
void
setChildIds
(
String
[]
childIds
)
{
this
.
childIds
=
childIds
;
}
public
List
<
MTDeptTreeUserInfoRspDTO
>
getChildDeptTreeResDTOS
()
{
return
childDeptTreeResDTOS
;
}
public
void
setChildDeptTreeResDTOS
(
List
<
MTDeptTreeUserInfoRspDTO
>
childDeptTreeResDTOS
)
{
this
.
childDeptTreeResDTOS
=
childDeptTreeResDTOS
;
}
public
List
<
UserInfo
>
getUserInfoList
()
{
return
userInfoList
;
}
public
void
setUserInfoList
(
List
<
UserInfo
>
userInfoList
)
{
this
.
userInfoList
=
userInfoList
;
}
public
String
getDeptId
()
{
return
deptId
;
}
public
void
setDeptId
(
String
deptId
)
{
this
.
deptId
=
deptId
;
}
public
String
getPid
()
{
return
pid
;
}
public
void
setPid
(
String
pid
)
{
this
.
pid
=
pid
;
}
}
src/main/java/com/zgiot/zx/workflow/dto/MTEquipmentInfoRspDTO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
dto
;
import
java.util.List
;
/**
* 模糊查询设备返回实体类
*/
public
class
MTEquipmentInfoRspDTO
{
/**
* corpId : 1115912149559242754
* createTime : 1560128487000
* createUser : 122,1115912149777346561
* equipmentCode : 3123
* equipmentSpatial : {"canDelete":1,"createTime":1559805649000,"createUserUuid":"122,1115912149777346561","equipmentProperties":[{"dimCode":"spatial_position","flag":false,"id":693,"isEnable":1,"propName":"x","propUuid":"xxxx","value":"11"},{"dimCode":"spatial_position","flag":false,"id":694,"isEnable":1,"propName":"y","propUuid":"yyyy","value":"200000"}],"id":41,"isEnable":1,"spaCode":"2343rrfd","spaName":"位置定义-位置类型5月31日","spaUuid":"spatial_position3d115ac1-5188-42e1-b48f-2703b0586d0b20190531151112","updateTime":1559805649000,"updateUserUuid":"122"}
* equipmentName : 6月10日
* equipmentNote : 11
* equipmentUuid : equipmentb5503f61-52bd-439d-9a3b-b63963ac111e20190610090127
* id : 59
* manufacturerUuid : 6acda105-e05c-4804-a97e-ec920e348d0d20190531151029
* organizationCode : 1131501803793387522
* organizationCodeList : ["1131501803793387522"]
* principalsUuid : 1122684757018251265,1122684867965980673
* principalsUuidList : ["1122684757018251265","1122684867965980673"]
* specifications : 434
* status : 1
* tagUid :
* updateTime : 1560128487000
* useTime : 1561564800000
*/
private
String
corpId
;
private
long
createTime
;
private
String
createUser
;
private
String
equipmentCode
;
private
EquipmentSpatialBean
equipmentSpatial
;
private
String
equipmentName
;
private
String
equipmentNote
;
private
String
equipmentUuid
;
private
int
id
;
private
String
manufacturerUuid
;
private
String
organizationCode
;
private
String
principalsUuid
;
private
String
specifications
;
private
int
status
;
private
String
tagUid
;
private
long
updateTime
;
private
long
useTime
;
private
List
<
String
>
organizationCodeList
;
private
List
<
String
>
principalsUuidList
;
public
String
getCorpId
()
{
return
corpId
;
}
public
void
setCorpId
(
String
corpId
)
{
this
.
corpId
=
corpId
;
}
public
long
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
long
createTime
)
{
this
.
createTime
=
createTime
;
}
public
String
getCreateUser
()
{
return
createUser
;
}
public
void
setCreateUser
(
String
createUser
)
{
this
.
createUser
=
createUser
;
}
public
String
getEquipmentCode
()
{
return
equipmentCode
;
}
public
void
setEquipmentCode
(
String
equipmentCode
)
{
this
.
equipmentCode
=
equipmentCode
;
}
public
EquipmentSpatialBean
getEquipmentSpatial
()
{
return
equipmentSpatial
;
}
public
void
setEquipmentSpatial
(
EquipmentSpatialBean
equipmentSpatial
)
{
this
.
equipmentSpatial
=
equipmentSpatial
;
}
public
String
getEquipmentName
()
{
return
equipmentName
;
}
public
void
setEquipmentName
(
String
equipmentName
)
{
this
.
equipmentName
=
equipmentName
;
}
public
String
getEquipmentNote
()
{
return
equipmentNote
;
}
public
void
setEquipmentNote
(
String
equipmentNote
)
{
this
.
equipmentNote
=
equipmentNote
;
}
public
String
getEquipmentUuid
()
{
return
equipmentUuid
;
}
public
void
setEquipmentUuid
(
String
equipmentUuid
)
{
this
.
equipmentUuid
=
equipmentUuid
;
}
public
int
getId
()
{
return
id
;
}
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
}
public
String
getManufacturerUuid
()
{
return
manufacturerUuid
;
}
public
void
setManufacturerUuid
(
String
manufacturerUuid
)
{
this
.
manufacturerUuid
=
manufacturerUuid
;
}
public
String
getOrganizationCode
()
{
return
organizationCode
;
}
public
void
setOrganizationCode
(
String
organizationCode
)
{
this
.
organizationCode
=
organizationCode
;
}
public
String
getPrincipalsUuid
()
{
return
principalsUuid
;
}
public
void
setPrincipalsUuid
(
String
principalsUuid
)
{
this
.
principalsUuid
=
principalsUuid
;
}
public
String
getSpecifications
()
{
return
specifications
;
}
public
void
setSpecifications
(
String
specifications
)
{
this
.
specifications
=
specifications
;
}
public
int
getStatus
()
{
return
status
;
}
public
void
setStatus
(
int
status
)
{
this
.
status
=
status
;
}
public
String
getTagUid
()
{
return
tagUid
;
}
public
void
setTagUid
(
String
tagUid
)
{
this
.
tagUid
=
tagUid
;
}
public
long
getUpdateTime
()
{
return
updateTime
;
}
public
void
setUpdateTime
(
long
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
long
getUseTime
()
{
return
useTime
;
}
public
void
setUseTime
(
long
useTime
)
{
this
.
useTime
=
useTime
;
}
public
List
<
String
>
getOrganizationCodeList
()
{
return
organizationCodeList
;
}
public
void
setOrganizationCodeList
(
List
<
String
>
organizationCodeList
)
{
this
.
organizationCodeList
=
organizationCodeList
;
}
public
List
<
String
>
getPrincipalsUuidList
()
{
return
principalsUuidList
;
}
public
void
setPrincipalsUuidList
(
List
<
String
>
principalsUuidList
)
{
this
.
principalsUuidList
=
principalsUuidList
;
}
public
static
class
EquipmentSpatialBean
{
/**
* canDelete : 1
* createTime : 1559805649000
* createUserUuid : 122,1115912149777346561
* equipmentProperties : [{"dimCode":"spatial_position","flag":false,"id":693,"isEnable":1,"propName":"x","propUuid":"xxxx","value":"11"},{"dimCode":"spatial_position","flag":false,"id":694,"isEnable":1,"propName":"y","propUuid":"yyyy","value":"200000"}]
* id : 41
* isEnable : 1
* spaCode : 2343rrfd
* spaName : 位置定义-位置类型5月31日
* spaUuid : spatial_position3d115ac1-5188-42e1-b48f-2703b0586d0b20190531151112
* updateTime : 1559805649000
* updateUserUuid : 122
*/
private
int
canDelete
;
private
long
createTime
;
private
String
createUserUuid
;
private
int
id
;
private
int
isEnable
;
private
String
spaCode
;
private
String
spaName
;
private
String
spaUuid
;
private
long
updateTime
;
private
String
updateUserUuid
;
private
List
<
EquipmentPropertiesBean
>
equipmentProperties
;
public
int
getCanDelete
()
{
return
canDelete
;
}
public
void
setCanDelete
(
int
canDelete
)
{
this
.
canDelete
=
canDelete
;
}
public
long
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
long
createTime
)
{
this
.
createTime
=
createTime
;
}
public
String
getCreateUserUuid
()
{
return
createUserUuid
;
}
public
void
setCreateUserUuid
(
String
createUserUuid
)
{
this
.
createUserUuid
=
createUserUuid
;
}
public
int
getId
()
{
return
id
;
}
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
}
public
int
getIsEnable
()
{
return
isEnable
;
}
public
void
setIsEnable
(
int
isEnable
)
{
this
.
isEnable
=
isEnable
;
}
public
String
getSpaCode
()
{
return
spaCode
;
}
public
void
setSpaCode
(
String
spaCode
)
{
this
.
spaCode
=
spaCode
;
}
public
String
getSpaName
()
{
return
spaName
;
}
public
void
setSpaName
(
String
spaName
)
{
this
.
spaName
=
spaName
;
}
public
String
getSpaUuid
()
{
return
spaUuid
;
}
public
void
setSpaUuid
(
String
spaUuid
)
{
this
.
spaUuid
=
spaUuid
;
}
public
long
getUpdateTime
()
{
return
updateTime
;
}
public
void
setUpdateTime
(
long
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
public
String
getUpdateUserUuid
()
{
return
updateUserUuid
;
}
public
void
setUpdateUserUuid
(
String
updateUserUuid
)
{
this
.
updateUserUuid
=
updateUserUuid
;
}
public
List
<
EquipmentPropertiesBean
>
getEquipmentProperties
()
{
return
equipmentProperties
;
}
public
void
setEquipmentProperties
(
List
<
EquipmentPropertiesBean
>
equipmentProperties
)
{
this
.
equipmentProperties
=
equipmentProperties
;
}
public
static
class
EquipmentPropertiesBean
{
/**
* dimCode : spatial_position
* flag : false
* id : 693
* isEnable : 1
* propName : x
* propUuid : xxxx
* value : 11
*/
private
String
dimCode
;
private
boolean
flag
;
private
int
id
;
private
int
isEnable
;
private
String
propName
;
private
String
propUuid
;
private
String
value
;
public
String
getDimCode
()
{
return
dimCode
;
}
public
void
setDimCode
(
String
dimCode
)
{
this
.
dimCode
=
dimCode
;
}
public
boolean
isFlag
()
{
return
flag
;
}
public
void
setFlag
(
boolean
flag
)
{
this
.
flag
=
flag
;
}
public
int
getId
()
{
return
id
;
}
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
}
public
int
getIsEnable
()
{
return
isEnable
;
}
public
void
setIsEnable
(
int
isEnable
)
{
this
.
isEnable
=
isEnable
;
}
public
String
getPropName
()
{
return
propName
;
}
public
void
setPropName
(
String
propName
)
{
this
.
propName
=
propName
;
}
public
String
getPropUuid
()
{
return
propUuid
;
}
public
void
setPropUuid
(
String
propUuid
)
{
this
.
propUuid
=
propUuid
;
}
public
String
getValue
()
{
return
value
;
}
public
void
setValue
(
String
value
)
{
this
.
value
=
value
;
}
}
}
}
src/main/java/com/zgiot/zx/workflow/dto/MTLogReqDTO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
dto
;
import
lombok.Data
;
import
java.util.Map
;
@Data
public
class
MTLogReqDTO
{
private
String
content
;
private
String
cropId
;
private
String
eventCode
;
private
String
eventName
;
private
String
moduleCode
;
private
String
moduleName
;
private
Integer
optDuration
;
private
String
platform
;
private
String
properties
;
private
Map
<
String
,
Object
>
propertyMap
;
private
String
userUuid
;
private
String
userZxId
;
}
src/main/java/com/zgiot/zx/workflow/dto/MTNotificationSendReqDTO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
dto
;
import
lombok.Builder
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.Map
;
/**
* 通知实体类
* @author David
*/
@Data
@Builder
public
class
MTNotificationSendReqDTO
{
/**
* 通知标题
*/
private
String
title
;
/**
* 通知内容
*/
private
String
content
;
/**
* 发送通道,全部通道为ALL, 这个分类应该是一个固定值,暂时写成ALL
*/
private
String
channels
;
/**
* 发送人id,非必须
*/
private
String
senderId
;
/**
* 发送人名称
*/
private
String
senderName
;
/**
* 外部id,对应各自服务中的id,需要保证同一个通知分类下的唯一性,可以用来统计和修改已读状态
* 用来存咱自己的发送id
*/
private
String
targetId
;
/**
* 通知分类列表,这个值应该是一个固定值 TASK
*/
private
List
<
String
>
categoryCodes
;
/**
* receiverIds
*/
private
List
<
String
>
receiverIds
;
/**
* 自定义属性map,key和value都是字符串类型
*/
private
Map
<
String
,
String
>
properties
;
}
src/main/java/com/zgiot/zx/workflow/dto/MTOssRspDTO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
dto
;
import
lombok.Data
;
@Data
public
class
MTOssRspDTO
{
/**
* id : 1139435917065326594
* md5 : 7431DFB4AA154BAF6D1F980BEF751C94
* url : https://zx-zgiot-002.oss-cn-qingdao.aliyuncs.com/image/37ec5b2b8ae840f1bf74d0b9fe3af2fa.png
* fileSize : 21917
* fileType : png
* originalName : 005DKY27gy6JnNcf3qVf9&.png
*/
private
String
id
;
private
String
md5
;
private
String
url
;
private
Integer
fileSize
;
private
String
fileType
;
private
String
originalName
;
}
src/main/java/com/zgiot/zx/workflow/dto/MTRoleGroupInfoRspDTO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
dto
;
import
com.zgiot.zx.workflow.entity.SRole
;
import
java.util.List
;
public
class
MTRoleGroupInfoRspDTO
{
/**
* id : 1128488217616879618
* name : 拜拜
* corpId : 6
* roles : [{"id":"1128488267411656706","name":"部长","corpId":6,"creator":null,"createAt":null,"updator":null,"updateAt":null,"rgid":"1128488267466182657"},{"id":"1128488322302513154","name":"事业部总经理","corpId":6,"creator":null,"createAt":null,"updator":null,"updateAt":null,"rgid":"1128488322373816322"},{"id":"1130685864499691521","name":"角色1","corpId":6,"creator":null,"createAt":null,"updator":null,"updateAt":null,"rgid":"1130685864529051650"},{"id":"1130685903745794049","name":"角色2","corpId":6,"creator":null,"createAt":null,"updator":null,"updateAt":null,"rgid":"1130685903749988354"},{"id":"1130685935211462657","name":"角色3","corpId":6,"creator":null,"createAt":null,"updator":null,"updateAt":null,"rgid":"1130685935219851265"},{"id":"1130685961195175937","name":"角色4","corpId":6,"creator":null,"createAt":null,"updator":null,"updateAt":null,"rgid":"1130685961203564546"},{"id":"1133639571700965377","name":"角色5","corpId":6,"creator":null,"createAt":null,"updator":null,"updateAt":null,"rgid":"1133639571705159681"}]
*/
private
String
id
;
private
String
name
;
private
String
corpId
;
private
List
<
RolesBean
>
roles
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getCorpId
()
{
return
corpId
;
}
public
void
setCorpId
(
String
corpId
)
{
this
.
corpId
=
corpId
;
}
public
List
<
RolesBean
>
getRoles
()
{
return
roles
;
}
public
void
setSRole
(
List
<
RolesBean
>
roles
)
{
this
.
roles
=
roles
;
}
public
static
class
RolesBean
{
/**
* id : 1128488267411656706
* name : 部长
* corpId : 6
* creator : null
* createAt : null
* updator : null
* updateAt : null
* rgid : 1128488267466182657
*/
private
String
id
;
private
String
name
;
private
int
corpId
;
private
String
creator
;
private
String
createAt
;
private
String
updator
;
private
String
updateAt
;
private
String
rgid
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
int
getCorpId
()
{
return
corpId
;
}
public
void
setCorpId
(
int
corpId
)
{
this
.
corpId
=
corpId
;
}
public
Object
getCreator
()
{
return
creator
;
}
public
void
setCreator
(
String
creator
)
{
this
.
creator
=
creator
;
}
public
String
getCreateAt
()
{
return
createAt
;
}
public
void
setCreateAt
(
String
createAt
)
{
this
.
createAt
=
createAt
;
}
public
String
getUpdator
()
{
return
updator
;
}
public
void
setUpdator
(
String
updator
)
{
this
.
updator
=
updator
;
}
public
String
getUpdateAt
()
{
return
updateAt
;
}
public
void
setUpdateAt
(
String
updateAt
)
{
this
.
updateAt
=
updateAt
;
}
public
String
getRgid
()
{
return
rgid
;
}
public
void
setRgid
(
String
rgid
)
{
this
.
rgid
=
rgid
;
}
}
}
src/main/java/com/zgiot/zx/workflow/dto/MTUserInfoRspDTO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
dto
;
import
java.util.List
;
public
class
MTUserInfoRspDTO
{
/**
* id : 1042237494349766657
* corpId : 6
* outerId : null
* accountId : 290
* name : 任少龙
* mobile : 17694804822
* tel :
* email :
* status : 1
* jobNumber :
* workPlace :
* hiredDate : 1537286400000
* leaveDate : 1537286400000
* isHideMobile : 0
* remark :
* depts : [{"id":"197","corpId":"6","outerId":"张淑强","name":"美腾智冠信息事业部","pid":"1042237414280511489","pids":"0,1042237414280511489","isCreateImgroup":1,"sort":95,"isBiz":0,"path":[{"id":"1042237414280511489","corpId":"6","outerId":null,"name":"天津美腾科技有限公司","pid":"0","pids":"0","isCreateImgroup":0,"sort":0,"isBiz":0,"path":null,"managers":null,"userCnt":0,"creator":"1","createAt":1559009944000,"updator":"123","updateAt":1559009928000,"position":null,"flag":null,"group":null,"owner":null,"groupMembers":null},{"id":"197","corpId":"6","outerId":"张淑强","name":"美腾智冠信息事业部","pid":"1042237414280511489","pids":"0,1042237414280511489","isCreateImgroup":1,"sort":95,"isBiz":0,"path":null,"managers":null,"userCnt":0,"creator":"1","createAt":1559714861000,"updator":"123","updateAt":1559714413000,"position":null,"flag":null,"group":null,"owner":null,"groupMembers":null}],"managers":null,"userCnt":0,"creator":"1","createAt":1559714861000,"updator":"123","updateAt":1559714413000,"position":null,"flag":null,"group":null,"owner":null,"groupMembers":null}]
* imAccount : renshaolong_test
* creator : 1
* createAt : 1537323691000
* updator : 123
* updateAt : 1558325453000
* avatar : http://zx-zgiot-002.oss-cn-qingdao.aliyuncs.com/image/72d601089a1e41cba5cb87ad0c53eeb0.png
* roles : [{"id":"1128488322302513154","name":"事业部总经理","corpId":null,"creator":null,"createAt":null,"updator":null,"updateAt":null}]
* userSuperiorsInfo : {"id":"1042237477954232321","name":"李太友","mobile":"18802239698","tel":"","email":"","accountId":"133","status":1}
*/
private
String
id
;
private
int
corpId
;
private
Object
outerId
;
private
String
accountId
;
private
String
name
;
private
String
mobile
;
private
String
tel
;
private
String
email
;
private
int
status
;
private
String
jobNumber
;
private
String
workPlace
;
private
String
hiredDate
;
private
long
leaveDate
;
private
int
isHideMobile
;
private
String
remark
;
private
String
imAccount
;
private
int
creator
;
private
long
createAt
;
private
int
updator
;
private
long
updateAt
;
private
String
avatar
;
private
UserSuperiorsInfoBean
userSuperiorsInfo
;
private
List
<
DeptsBean
>
depts
;
private
List
<
RolesBean
>
roles
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
int
getCorpId
()
{
return
corpId
;
}
public
void
setCorpId
(
int
corpId
)
{
this
.
corpId
=
corpId
;
}
public
Object
getOuterId
()
{
return
outerId
;
}
public
void
setOuterId
(
Object
outerId
)
{
this
.
outerId
=
outerId
;
}
public
String
getAccountId
()
{
return
accountId
;
}
public
void
setAccountId
(
String
accountId
)
{
this
.
accountId
=
accountId
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getMobile
()
{
return
mobile
;
}
public
void
setMobile
(
String
mobile
)
{
this
.
mobile
=
mobile
;
}
public
String
getTel
()
{
return
tel
;
}
public
void
setTel
(
String
tel
)
{
this
.
tel
=
tel
;
}
public
String
getEmail
()
{
return
email
;
}
public
void
setEmail
(
String
email
)
{
this
.
email
=
email
;
}
public
int
getStatus
()
{
return
status
;
}
public
void
setStatus
(
int
status
)
{
this
.
status
=
status
;
}
public
String
getJobNumber
()
{
return
jobNumber
;
}
public
void
setJobNumber
(
String
jobNumber
)
{
this
.
jobNumber
=
jobNumber
;
}
public
String
getWorkPlace
()
{
return
workPlace
;
}
public
void
setWorkPlace
(
String
workPlace
)
{
this
.
workPlace
=
workPlace
;
}
public
String
getHiredDate
()
{
return
hiredDate
;
}
public
void
setHiredDate
(
String
hiredDate
)
{
this
.
hiredDate
=
hiredDate
;
}
public
long
getLeaveDate
()
{
return
leaveDate
;
}
public
void
setLeaveDate
(
long
leaveDate
)
{
this
.
leaveDate
=
leaveDate
;
}
public
int
getIsHideMobile
()
{
return
isHideMobile
;
}
public
void
setIsHideMobile
(
int
isHideMobile
)
{
this
.
isHideMobile
=
isHideMobile
;
}
public
String
getRemark
()
{
return
remark
;
}
public
void
setRemark
(
String
remark
)
{
this
.
remark
=
remark
;
}
public
String
getImAccount
()
{
return
imAccount
;
}
public
void
setImAccount
(
String
imAccount
)
{
this
.
imAccount
=
imAccount
;
}
public
int
getCreator
()
{
return
creator
;
}
public
void
setCreator
(
int
creator
)
{
this
.
creator
=
creator
;
}
public
long
getCreateAt
()
{
return
createAt
;
}
public
void
setCreateAt
(
long
createAt
)
{
this
.
createAt
=
createAt
;
}
public
int
getUpdator
()
{
return
updator
;
}
public
void
setUpdator
(
int
updator
)
{
this
.
updator
=
updator
;
}
public
long
getUpdateAt
()
{
return
updateAt
;
}
public
void
setUpdateAt
(
long
updateAt
)
{
this
.
updateAt
=
updateAt
;
}
public
String
getAvatar
()
{
return
avatar
;
}
public
void
setAvatar
(
String
avatar
)
{
this
.
avatar
=
avatar
;
}
public
UserSuperiorsInfoBean
getUserSuperiorsInfo
()
{
return
userSuperiorsInfo
;
}
public
void
setUserSuperiorsInfo
(
UserSuperiorsInfoBean
userSuperiorsInfo
)
{
this
.
userSuperiorsInfo
=
userSuperiorsInfo
;
}
public
List
<
DeptsBean
>
getDepts
()
{
return
depts
;
}
public
void
setDepts
(
List
<
DeptsBean
>
depts
)
{
this
.
depts
=
depts
;
}
public
List
<
RolesBean
>
getRoles
()
{
return
roles
;
}
public
void
setRoles
(
List
<
RolesBean
>
roles
)
{
this
.
roles
=
roles
;
}
public
static
class
UserSuperiorsInfoBean
{
/**
* id : 1042237477954232321
* name : 李太友
* mobile : 18802239698
* tel :
* email :
* accountId : 133
* status : 1
*/
private
String
id
;
private
String
name
;
private
String
mobile
;
private
String
tel
;
private
String
email
;
private
String
accountId
;
private
int
status
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getMobile
()
{
return
mobile
;
}
public
void
setMobile
(
String
mobile
)
{
this
.
mobile
=
mobile
;
}
public
String
getTel
()
{
return
tel
;
}
public
void
setTel
(
String
tel
)
{
this
.
tel
=
tel
;
}
public
String
getEmail
()
{
return
email
;
}
public
void
setEmail
(
String
email
)
{
this
.
email
=
email
;
}
public
String
getAccountId
()
{
return
accountId
;
}
public
void
setAccountId
(
String
accountId
)
{
this
.
accountId
=
accountId
;
}
public
int
getStatus
()
{
return
status
;
}
public
void
setStatus
(
int
status
)
{
this
.
status
=
status
;
}
}
public
static
class
DeptsBean
{
/**
* id : 197
* corpId : 6
* outerId : 张淑强
* name : 美腾智冠信息事业部
* pid : 1042237414280511489
* pids : 0,1042237414280511489
* isCreateImgroup : 1
* sort : 95
* isBiz : 0
* path : [{"id":"1042237414280511489","corpId":"6","outerId":null,"name":"天津美腾科技有限公司","pid":"0","pids":"0","isCreateImgroup":0,"sort":0,"isBiz":0,"path":null,"managers":null,"userCnt":0,"creator":"1","createAt":1559009944000,"updator":"123","updateAt":1559009928000,"position":null,"flag":null,"group":null,"owner":null,"groupMembers":null},{"id":"197","corpId":"6","outerId":"张淑强","name":"美腾智冠信息事业部","pid":"1042237414280511489","pids":"0,1042237414280511489","isCreateImgroup":1,"sort":95,"isBiz":0,"path":null,"managers":null,"userCnt":0,"creator":"1","createAt":1559714861000,"updator":"123","updateAt":1559714413000,"position":null,"flag":null,"group":null,"owner":null,"groupMembers":null}]
* managers : null
* userCnt : 0
* creator : 1
* createAt : 1559714861000
* updator : 123
* updateAt : 1559714413000
* position : null
* flag : null
* group : null
* owner : null
* groupMembers : null
*/
private
String
id
;
private
String
corpId
;
private
String
outerId
;
private
String
name
;
private
String
pid
;
private
String
pids
;
private
int
isCreateImgroup
;
private
int
sort
;
private
int
isBiz
;
private
Object
managers
;
private
int
userCnt
;
private
String
creator
;
private
long
createAt
;
private
String
updator
;
private
long
updateAt
;
private
Object
position
;
private
Object
flag
;
private
Object
group
;
private
Object
owner
;
private
Object
groupMembers
;
private
List
<
PathBean
>
path
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getCorpId
()
{
return
corpId
;
}
public
void
setCorpId
(
String
corpId
)
{
this
.
corpId
=
corpId
;
}
public
String
getOuterId
()
{
return
outerId
;
}
public
void
setOuterId
(
String
outerId
)
{
this
.
outerId
=
outerId
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getPid
()
{
return
pid
;
}
public
void
setPid
(
String
pid
)
{
this
.
pid
=
pid
;
}
public
String
getPids
()
{
return
pids
;
}
public
void
setPids
(
String
pids
)
{
this
.
pids
=
pids
;
}
public
int
getIsCreateImgroup
()
{
return
isCreateImgroup
;
}
public
void
setIsCreateImgroup
(
int
isCreateImgroup
)
{
this
.
isCreateImgroup
=
isCreateImgroup
;
}
public
int
getSort
()
{
return
sort
;
}
public
void
setSort
(
int
sort
)
{
this
.
sort
=
sort
;
}
public
int
getIsBiz
()
{
return
isBiz
;
}
public
void
setIsBiz
(
int
isBiz
)
{
this
.
isBiz
=
isBiz
;
}
public
Object
getManagers
()
{
return
managers
;
}
public
void
setManagers
(
Object
managers
)
{
this
.
managers
=
managers
;
}
public
int
getUserCnt
()
{
return
userCnt
;
}
public
void
setUserCnt
(
int
userCnt
)
{
this
.
userCnt
=
userCnt
;
}
public
String
getCreator
()
{
return
creator
;
}
public
void
setCreator
(
String
creator
)
{
this
.
creator
=
creator
;
}
public
long
getCreateAt
()
{
return
createAt
;
}
public
void
setCreateAt
(
long
createAt
)
{
this
.
createAt
=
createAt
;
}
public
String
getUpdator
()
{
return
updator
;
}
public
void
setUpdator
(
String
updator
)
{
this
.
updator
=
updator
;
}
public
long
getUpdateAt
()
{
return
updateAt
;
}
public
void
setUpdateAt
(
long
updateAt
)
{
this
.
updateAt
=
updateAt
;
}
public
Object
getPosition
()
{
return
position
;
}
public
void
setPosition
(
Object
position
)
{
this
.
position
=
position
;
}
public
Object
getFlag
()
{
return
flag
;
}
public
void
setFlag
(
Object
flag
)
{
this
.
flag
=
flag
;
}
public
Object
getGroup
()
{
return
group
;
}
public
void
setGroup
(
Object
group
)
{
this
.
group
=
group
;
}
public
Object
getOwner
()
{
return
owner
;
}
public
void
setOwner
(
Object
owner
)
{
this
.
owner
=
owner
;
}
public
Object
getGroupMembers
()
{
return
groupMembers
;
}
public
void
setGroupMembers
(
Object
groupMembers
)
{
this
.
groupMembers
=
groupMembers
;
}
public
List
<
PathBean
>
getPath
()
{
return
path
;
}
public
void
setPath
(
List
<
PathBean
>
path
)
{
this
.
path
=
path
;
}
public
static
class
PathBean
{
/**
* id : 1042237414280511489
* corpId : 6
* outerId : null
* name : 天津美腾科技有限公司
* pid : 0
* pids : 0
* isCreateImgroup : 0
* sort : 0
* isBiz : 0
* path : null
* managers : null
* userCnt : 0
* creator : 1
* createAt : 1559009944000
* updator : 123
* updateAt : 1559009928000
* position : null
* flag : null
* group : null
* owner : null
* groupMembers : null
*/
private
String
id
;
private
String
corpId
;
private
Object
outerId
;
private
String
name
;
private
String
pid
;
private
String
pids
;
private
int
isCreateImgroup
;
private
int
sort
;
private
int
isBiz
;
private
Object
path
;
private
Object
managers
;
private
int
userCnt
;
private
String
creator
;
private
long
createAt
;
private
String
updator
;
private
long
updateAt
;
private
Object
position
;
private
Object
flag
;
private
Object
group
;
private
Object
owner
;
private
Object
groupMembers
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getCorpId
()
{
return
corpId
;
}
public
void
setCorpId
(
String
corpId
)
{
this
.
corpId
=
corpId
;
}
public
Object
getOuterId
()
{
return
outerId
;
}
public
void
setOuterId
(
Object
outerId
)
{
this
.
outerId
=
outerId
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getPid
()
{
return
pid
;
}
public
void
setPid
(
String
pid
)
{
this
.
pid
=
pid
;
}
public
String
getPids
()
{
return
pids
;
}
public
void
setPids
(
String
pids
)
{
this
.
pids
=
pids
;
}
public
int
getIsCreateImgroup
()
{
return
isCreateImgroup
;
}
public
void
setIsCreateImgroup
(
int
isCreateImgroup
)
{
this
.
isCreateImgroup
=
isCreateImgroup
;
}
public
int
getSort
()
{
return
sort
;
}
public
void
setSort
(
int
sort
)
{
this
.
sort
=
sort
;
}
public
int
getIsBiz
()
{
return
isBiz
;
}
public
void
setIsBiz
(
int
isBiz
)
{
this
.
isBiz
=
isBiz
;
}
public
Object
getPath
()
{
return
path
;
}
public
void
setPath
(
Object
path
)
{
this
.
path
=
path
;
}
public
Object
getManagers
()
{
return
managers
;
}
public
void
setManagers
(
Object
managers
)
{
this
.
managers
=
managers
;
}
public
int
getUserCnt
()
{
return
userCnt
;
}
public
void
setUserCnt
(
int
userCnt
)
{
this
.
userCnt
=
userCnt
;
}
public
String
getCreator
()
{
return
creator
;
}
public
void
setCreator
(
String
creator
)
{
this
.
creator
=
creator
;
}
public
long
getCreateAt
()
{
return
createAt
;
}
public
void
setCreateAt
(
long
createAt
)
{
this
.
createAt
=
createAt
;
}
public
String
getUpdator
()
{
return
updator
;
}
public
void
setUpdator
(
String
updator
)
{
this
.
updator
=
updator
;
}
public
long
getUpdateAt
()
{
return
updateAt
;
}
public
void
setUpdateAt
(
long
updateAt
)
{
this
.
updateAt
=
updateAt
;
}
public
Object
getPosition
()
{
return
position
;
}
public
void
setPosition
(
Object
position
)
{
this
.
position
=
position
;
}
public
Object
getFlag
()
{
return
flag
;
}
public
void
setFlag
(
Object
flag
)
{
this
.
flag
=
flag
;
}
public
Object
getGroup
()
{
return
group
;
}
public
void
setGroup
(
Object
group
)
{
this
.
group
=
group
;
}
public
Object
getOwner
()
{
return
owner
;
}
public
void
setOwner
(
Object
owner
)
{
this
.
owner
=
owner
;
}
public
Object
getGroupMembers
()
{
return
groupMembers
;
}
public
void
setGroupMembers
(
Object
groupMembers
)
{
this
.
groupMembers
=
groupMembers
;
}
}
}
public
static
class
RolesBean
{
/**
* id : 1128488322302513154
* name : 事业部总经理
* corpId : null
* creator : null
* createAt : null
* updator : null
* updateAt : null
*/
private
String
id
;
private
String
name
;
private
Object
corpId
;
private
Object
creator
;
private
Object
createAt
;
private
Object
updator
;
private
Object
updateAt
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
Object
getCorpId
()
{
return
corpId
;
}
public
void
setCorpId
(
Object
corpId
)
{
this
.
corpId
=
corpId
;
}
public
Object
getCreator
()
{
return
creator
;
}
public
void
setCreator
(
Object
creator
)
{
this
.
creator
=
creator
;
}
public
Object
getCreateAt
()
{
return
createAt
;
}
public
void
setCreateAt
(
Object
createAt
)
{
this
.
createAt
=
createAt
;
}
public
Object
getUpdator
()
{
return
updator
;
}
public
void
setUpdator
(
Object
updator
)
{
this
.
updator
=
updator
;
}
public
Object
getUpdateAt
()
{
return
updateAt
;
}
public
void
setUpdateAt
(
Object
updateAt
)
{
this
.
updateAt
=
updateAt
;
}
}
}
src/main/java/com/zgiot/zx/workflow/dto/TemplateTypeResDTO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
dto
;
import
com.zgiot.zx.workflow.entity.TemplateDO
;
import
com.zgiot.zx.workflow.entity.WorkflowTask
;
import
lombok.Data
;
import
java.util.List
;
/**
*
*/
@Data
public
class
TemplateTypeResDTO
{
private
List
<
TemplateDO
>
templateList
;
private
List
<
WorkflowTask
>
workflowTaskList
;
private
String
id
;
private
String
name
;
private
String
ifEnable
;
}
src/main/java/com/zgiot/zx/workflow/dto/WorkPermissionInfoResDTO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
dto
;
import
lombok.Data
;
import
java.util.List
;
/**
* //TODO 添加类/接口功能描述
*
* @author 作者信息
* date 2019-06-03
*/
@Data
public
class
WorkPermissionInfoResDTO
{
private
String
activityId
;
private
String
templateId
;
private
List
<
WorkPermissionResDTO
>
form
;
}
src/main/java/com/zgiot/zx/workflow/dto/WorkPermissionResDTO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
/**
*
* date 2019-05-16
*/
@Data
public
class
WorkPermissionResDTO
{
/**
* 主键
*/
@TableId
(
"id"
)
private
String
id
;
/**
* 模板ID
*/
@TableField
(
"template_id"
)
private
String
templateId
;
/**
* 流程节点ID
*/
@TableField
(
"activity_id"
)
private
String
activityId
;
/**
* 工单模板字段主键
*/
@TableField
(
"field_id"
)
private
String
fieldId
;
/**
* 权限设置(编辑/只读/隐藏)
*/
@TableField
(
"permission"
)
private
String
permission
;
/**
* 字段类型
*/
@TableField
(
"field_tp"
)
private
String
fieldTp
;
/**
* 字段名称
*/
@TableField
(
"field_nm"
)
private
String
fieldNm
;
/**
* 顺序
*/
@TableField
(
"field_order"
)
private
Integer
fieldOrder
;
/**
* 提示语
*/
@TableField
(
"field_hint"
)
private
String
fieldHint
;
/**
* 是否必填
*/
@TableField
(
"required"
)
private
String
required
;
/**
* 是否参与打印
*/
@TableField
(
"print"
)
private
String
print
;
/**
* 是否关键信息
*/
@TableField
(
"major"
)
private
String
major
;
/**
* 拓展
*/
@TableField
(
"EXPAND"
)
private
String
expand
;
/**
*
*/
@TableField
(
"if_write"
)
private
String
ifWrite
;
}
src/main/java/com/zgiot/zx/workflow/dto/WorkTemplateResDTO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
dto
;
import
com.zgiot.zx.workflow.entity.*
;
import
lombok.Data
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.List
;
/**
*
*/
@Data
public
class
WorkTemplateResDTO
{
/**
* 模板基础信息
*/
private
TemplateDO
workTemplate
;
/**
* 表单信息
*/
private
List
<
TemplateFormFieldDO
>
templateFormFieldList
;
/**
* 工作流xml
*/
private
ActivitiResDTO
activitiml
;
/**
* 工作流文件字符串
*/
private
String
xmlJson
;
/**
* 模板其他设置
*/
private
TemplateOtherSettingsDO
workTemplateOtherSettings
;
/**
* 流程文件
*/
private
MultipartFile
file
;
/**
* 表单信息json字符串
*/
private
String
fieldJsonStr
;
/**
* 审批人员配置
*/
private
List
<
TemplateApproveDO
>
workApproveList
;
/**
* 表达式
*/
private
List
<
TemplateGatewayDO
>
processGatewayList
;
/**
* 表单权限配置
*/
private
String
permissionJson
;
/**
* 模板id
*/
private
String
templateId
;
}
src/main/java/com/zgiot/zx/workflow/entity/SDept.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* <p>
* <p>
* </p>
*
* @author jobob
* @since 2019-05-22
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"s_dept"
)
public
class
SDept
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableField
(
"BUSINESS_ID"
)
private
String
businessId
;
@TableField
(
"CODE"
)
private
String
code
;
@TableField
(
"PARENT_ID"
)
private
String
parentId
;
@TableField
(
"NAME"
)
private
String
name
;
@TableField
(
"CASE_COUNT"
)
private
int
caseCount
;
@TableField
(
"SORT"
)
private
int
sort
;
@TableField
(
"CREATE_BY"
)
private
String
createBy
;
@TableField
(
"CREATE_DATE"
)
private
Date
createDate
;
@TableField
(
"UPDATE_BY"
)
private
String
updateBy
;
@TableField
(
"UPDATE_DATE"
)
private
Date
updateDate
;
@TableField
(
"DEL_FLAG"
)
private
String
delFlag
;
@TableField
(
"FLAG"
)
private
String
flag
;
@TableField
(
"REMARKS"
)
private
String
remarks
;
}
src/main/java/com/zgiot/zx/workflow/entity/SRole.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* <p>
* <p>
* </p>
*
* @author jobob
* @since 2019-05-22
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"s_role"
)
public
class
SRole
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
"BUSINESS_ID"
)
private
String
businessId
;
@TableField
(
"ROLE_NAME"
)
private
String
roleName
;
@TableField
(
"CREATE_BY"
)
private
String
createBy
;
@TableField
(
"CREATE_DATE"
)
private
Date
createDate
;
@TableField
(
"UPDATE_BY"
)
private
String
updateBy
;
@TableField
(
"UPDATE_DATE"
)
private
Date
updateDate
;
@TableField
(
"DEL_FLAG"
)
private
String
delFlag
;
@TableField
(
"FLAG"
)
private
String
flag
;
@TableField
(
"REMARKS"
)
private
String
remarks
;
@TableField
(
"CODE"
)
private
String
code
;
}
src/main/java/com/zgiot/zx/workflow/entity/SUser.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* <p>
* <p>
* </p>
*
* @author jobob
* @since 2019-05-22
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"s_user"
)
public
class
SUser
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
"BUSINESS_ID"
)
private
String
businessId
;
@TableField
(
"LOGIN_NAME"
)
private
String
loginName
;
@TableField
(
"PASSWORD"
)
private
String
password
;
@TableField
(
"NAME"
)
private
String
name
;
@TableField
(
"SEX"
)
private
String
sex
;
@TableField
(
"PHONE"
)
private
String
phone
;
@TableField
(
"DEPT_ID"
)
private
String
deptId
;
@TableField
(
"EMAIL"
)
private
String
email
;
@TableField
(
"CREATE_BY"
)
private
String
create_By
;
@TableField
(
"CREATE_DATE"
)
private
String
createDate
;
@TableField
(
"UPDATE_BY"
)
private
String
updateBy
;
@TableField
(
"DEL_FLAG"
)
private
String
delFlag
;
@TableField
(
"FLAG"
)
private
String
flag
;
@TableField
(
"REMARKS"
)
private
String
remarks
;
}
src/main/java/com/zgiot/zx/workflow/entity/TbRole.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* <p>
* <p>
* </p>
*
* @author jobob
* @since 2019-05-22
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"tb_role"
)
public
class
TbRole
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableField
(
"id"
)
private
String
id
;
@TableField
(
"name"
)
private
String
name
;
}
src/main/java/com/zgiot/zx/workflow/entity/TbUser.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* <p>
* <p>
* </p>
*
* @author jobob
* @since 2019-05-22
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"tb_user"
)
public
class
TbUser
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableField
(
"id"
)
private
String
id
;
@TableField
(
"name"
)
private
String
name
;
}
src/main/java/com/zgiot/zx/workflow/entity/TemplateApproveDO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.zgiot.zx.workflow.dto.MTUserInfoRspDTO
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* <p>
* <p>
* </p>
*
* @author jobob
* @since 2019-05-16
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"workflow_template_approve"
)
public
class
TemplateApproveDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@TableId
(
"id"
)
private
String
id
;
/**
* 模板主键
*/
@TableField
(
"template_id"
)
private
String
templateId
;
/**
* 流程节点主键
*/
@TableField
(
"activity_id"
)
private
String
activityId
;
/**
* 流程节点名称
*/
@TableField
(
"activity_nm"
)
private
String
activityNm
;
/**
* 审批人员类型(1:指定人员2:指定角色3.创建人自选4.由上级指定)
*/
@TableField
(
"person_type"
)
private
String
personType
;
/**
* 审批人员数据
*/
@TableField
(
"person_data"
)
private
String
personData
;
/**
* 审批方式(1:依次2:会签3:或签)
*/
@TableField
(
"approve_type"
)
private
String
approveType
;
/**
* 审批人员为空时处理方式(1:自动通过 2:转交管理员)
*/
@TableField
(
"person_null"
)
private
String
personNull
;
/**
* 是否是审批节点(1:是 0:否)
*/
@TableField
(
"if_approve_node"
)
private
String
ifApproveNode
;
/**
* 是否抄送
*/
@TableField
(
"if_copy"
)
private
String
ifCopy
;
/**
* 节点配置按钮项
*/
@TableField
(
"buttons"
)
private
String
buttons
;
@TableField
(
exist
=
false
)
private
String
workId
;
@TableField
(
exist
=
false
)
private
MTUserInfoRspDTO
mtUserInfoRspDTO
;
}
src/main/java/com/zgiot/zx/workflow/entity/TemplateApproveHi.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.zgiot.zx.workflow.dto.MTUserInfoRspDTO
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* <p>
* <p>
* </p>
*
* @author jobob
* @since 2019-05-16
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"workflow_template_approve_hi"
)
public
class
TemplateApproveHi
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@TableId
(
"id"
)
private
String
id
;
/**
* 模板主键
*/
@TableField
(
"template_id"
)
private
String
templateId
;
/**
* 流程节点主键
*/
@TableField
(
"activity_id"
)
private
String
activityId
;
/**
* 流程节点名称
*/
@TableField
(
"activity_nm"
)
private
String
activityNm
;
/**
* 审批人员类型(1:指定人员2:指定角色3.创建人自选4.由上级指定)
*/
@TableField
(
"person_type"
)
private
String
personType
;
/**
* 审批人员数据
*/
@TableField
(
"person_data"
)
private
String
personData
;
/**
* 审批方式(1:依次2:会签3:或签)
*/
@TableField
(
"approve_type"
)
private
String
approveType
;
/**
* 审批人员为空时处理方式(1:自动通过 2:转交管理员)
*/
@TableField
(
"person_null"
)
private
String
personNull
;
/**
* 是否是审批节点(1:是 0:否)
*/
@TableField
(
"if_approve_node"
)
private
String
ifApproveNode
;
/**
* 是否抄送
*/
@TableField
(
"if_copy"
)
private
String
ifCopy
;
/**
* 节点配置按钮项
*/
@TableField
(
"buttons"
)
private
String
buttons
;
@TableField
(
exist
=
false
)
private
String
workId
;
@TableField
(
exist
=
false
)
private
MTUserInfoRspDTO
mtUserInfoRspDTO
;
}
src/main/java/com/zgiot/zx/workflow/entity/TemplateDO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* <p>
* <p>
* </p>
*
* @author jobob
* @since 2019-05-08
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"workflow_template"
)
public
class
TemplateDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 工单模板主键
*/
@TableId
(
"id"
)
private
String
id
;
/**
* 模板名称
*/
@TableField
(
"template_nm"
)
private
String
templateNm
;
/**
* 模板类型
*/
@TableField
(
"type_template"
)
private
String
typeTemplate
;
/**
* 工单类型主键
*/
@TableField
(
"work_tp_id"
)
private
String
workTpId
;
/**
* 是否允许手机创建(1:是;0:否)
*/
@TableField
(
"phone"
)
private
String
phone
;
/**
* 可创建工单的角色(多个)
*/
@TableField
(
"create_roles"
)
private
String
createRoles
;
/**
* 可管理导出模板的角色(多个)
*/
@TableField
(
"manager_roles"
)
private
String
managerRoles
;
/**
*模板说明
*/
@TableField
(
"template_explain"
)
private
String
templateExplain
;
/**
* 是否启用 1:启动 0:停用
*/
@TableField
(
"if_enable"
)
private
String
ifEnable
;
/**
* icon
*/
@TableField
(
"icon_image"
)
private
String
iconImage
;
@TableField
(
"status"
)
private
String
status
;
/**
* 创建时间
*/
@TableField
(
"create_time"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
/**
* 更新时间
*/
@TableField
(
"update_time"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
updateTime
;
}
src/main/java/com/zgiot/zx/workflow/entity/TemplateFormFieldDO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* <p>
* <p>
* </p>
*
* @author jobob
* @since 2019-05-08
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"workflow_template_form_field"
)
@Builder
public
class
TemplateFormFieldDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 字段主键
*/
@TableId
(
"id"
)
private
String
id
;
//private String fieldId;
public
String
getFieldId
(){
return
this
.
id
;
}
/**
* 工单模板主键
*/
@TableField
(
"template_id"
)
private
String
templateId
;
/**
* 字段类型
*/
@TableField
(
"field_tp"
)
private
String
fieldTp
;
/**
* 字段名称
*/
@TableField
(
"field_nm"
)
private
String
fieldNm
;
/**
* 顺序
*/
@TableField
(
"field_order"
)
private
Integer
fieldOrder
;
/**
* 提示语
*/
@TableField
(
"field_hint"
)
private
String
fieldHint
;
/**
* 是否必填
*/
@TableField
(
"required"
)
private
String
required
;
/**
* 是否参与打印
*/
@TableField
(
"print"
)
private
String
print
;
/**
* 是否关键信息
*/
@TableField
(
"major"
)
private
String
major
;
/**
* 拓展
*/
@TableField
(
"expand"
)
private
String
expand
;
}
src/main/java/com/zgiot/zx/workflow/entity/TemplateGatewayDO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* <p>
* <p>
* </p>
*
* @author wangxiahui
* @since 2019-05-28
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"workflow_template_gateway"
)
public
class
TemplateGatewayDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* ID
*/
@TableId
(
"id"
)
private
String
id
;
/**
* 模板ID
*/
@TableField
(
"template_id"
)
private
String
templateId
;
/**
* 流程节点ID
*/
@TableField
(
"activity_id"
)
private
String
activityId
;
/**
* 表单字段ID
*/
@TableField
(
"field_id"
)
private
String
fieldId
;
/**
* 表达式
*/
@TableField
(
"conditions"
)
private
String
conditions
;
/**
* 类型(1:表单验证 2:审批验证)
*/
@TableField
(
"type"
)
private
String
type
;
@TableField
(
exist
=
false
)
private
TemplateFormFieldDO
templateFormFieldDO
;
}
src/main/java/com/zgiot/zx/workflow/entity/TemplateGatewayHi.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* <p>
* <p>
* </p>
*
* @author wangxiahui
* @since 2019-05-28
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"workflow_template_gateway_hi"
)
public
class
TemplateGatewayHi
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* ID
*/
@TableId
(
"id"
)
private
String
id
;
/**
* 模板ID
*/
@TableField
(
"template_id"
)
private
String
templateId
;
/**
* 流程节点ID
*/
@TableField
(
"activity_id"
)
private
String
activityId
;
/**
* 表单字段ID
*/
@TableField
(
"field_id"
)
private
String
fieldId
;
/**
* 表达式
*/
@TableField
(
"conditions"
)
private
String
conditions
;
/**
* 类型(1:表单验证 2:审批验证)
*/
@TableField
(
"type"
)
private
String
type
;
@TableField
(
exist
=
false
)
private
TemplateFormFieldDO
templateFormFieldDO
;
}
src/main/java/com/zgiot/zx/workflow/entity/TemplateOtherSettingsDO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2019-05-21
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"workflow_template_other_settings"
)
public
class
TemplateOtherSettingsDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@TableId
(
"template_id"
)
private
String
templateId
;
/**
* 审批重复 1:是 2:否
*/
@TableField
(
"approve_repeat"
)
private
String
approveRepeat
;
/**
* 审批提示语
*/
@TableField
(
"approve_tips"
)
private
String
approveTips
;
/**
* 是否必填 1:是 0:否
*/
@TableField
(
"is_required"
)
private
String
isRequired
;
}
src/main/java/com/zgiot/zx/workflow/entity/TemplatePermissionDO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* <p>
* <p>
* </p>
*
* @author jobob
* @since 2019-05-08
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"workflow_template_permission"
)
@Builder
public
class
TemplatePermissionDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@TableId
(
"id"
)
private
String
id
;
/**
* 模板ID
*/
@TableField
(
"template_id"
)
private
String
templateId
;
/**
* 流程节点ID
*/
@TableField
(
"activity_id"
)
private
String
activityId
;
/**
* 工单模板字段主键
*/
@TableField
(
"field_id"
)
private
String
fieldId
;
/**
* 权限设置(编辑/只读/隐藏)
*/
@TableField
(
"permission"
)
private
String
permission
;
@TableField
(
exist
=
false
)
private
String
fieldNm
;
@TableField
(
"if_write"
)
private
String
ifWrite
;
}
src/main/java/com/zgiot/zx/workflow/entity/TemplatePermissionHi.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* <p>
* <p>
* </p>
*
* @author jobob
* @since 2019-05-08
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"workflow_template_permission_hi"
)
@Builder
public
class
TemplatePermissionHi
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@TableId
(
"id"
)
private
String
id
;
/**
* 模板ID
*/
@TableField
(
"template_id"
)
private
String
templateId
;
/**
* 流程节点ID
*/
@TableField
(
"activity_id"
)
private
String
activityId
;
/**
* 工单模板字段主键
*/
@TableField
(
"field_id"
)
private
String
fieldId
;
/**
* 权限设置(编辑/只读/隐藏)
*/
@TableField
(
"permission"
)
private
String
permission
;
@TableField
(
exist
=
false
)
private
String
fieldNm
;
@TableField
(
"if_write"
)
private
String
ifWrite
;
}
src/main/java/com/zgiot/zx/workflow/entity/TemplateProcessFileDO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* <p>
* <p>
* </p>
*
* @author jobob
* @since 2019-05-08
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"workflow_template_process_file"
)
public
class
TemplateProcessFileDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@TableId
(
"id"
)
private
String
id
;
/**
* 工单模板主键
*/
@TableField
(
"template_id"
)
private
String
templateId
;
/**
* 流程文件存放路径
*/
@TableField
(
"process_file"
)
private
String
processFilePath
;
/**
* 流程文件名称
*/
@TableField
(
"process_file_nm"
)
private
String
processFileNm
;
/**
* 流程文件是否部署
*/
@TableField
(
"if_deploy"
)
private
String
ifDeploy
;
@TableField
(
"new_process_file"
)
private
String
newProcessFile
;
}
src/main/java/com/zgiot/zx/workflow/entity/TemplateTypeDO.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* <p>
* <p>
* </p>
*
* @author jobob
* @since 2019-05-08
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"workflow_task_type"
)
public
class
TemplateTypeDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 工单类型主键
*/
@TableId
(
"id"
)
private
String
id
;
/**
* 工单类型名称
*/
@TableField
(
"name"
)
private
String
name
;
/**
* 是否启用
*/
@TableField
(
"if_enable"
)
private
String
ifEnable
;
}
src/main/java/com/zgiot/zx/workflow/entity/WorkflowTask.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.*
;
import
lombok.experimental.Accessors
;
import
java.beans.Transient
;
import
java.util.Date
;
/**
* Created with cy on 2019-7-26 16:12:11.
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"workflow_task"
)
public
class
WorkflowTask
{
/**
* @desc 工单主键
* @column work_id
* @default
*/
@TableId
(
"work_id"
)
private
String
workId
;
/**
* @desc 工单号
* @column work_no
* @default
*/
@TableField
(
"work_no"
)
private
String
workNo
;
/**
* @desc 状态(0:已修改 1 已发布)
* @column work_no
* @default
*/
@TableField
(
"status"
)
private
String
status
;
/**
* @desc 工单模板主键
* @column template_id
* @default
*/
@TableField
(
"template_id"
)
private
String
templateId
;
/**
* @desc 工单主题
* @column work_subject
* @default
*/
@TableField
(
"work_subject"
)
private
String
workSubject
;
/**
* @desc 工单描述内容
* @column work_content
* @default
*/
@TableField
(
"work_content"
)
private
String
workContent
;
/**
* @desc 优先级
* @column priority
* @default
*/
@TableField
(
"priority"
)
private
String
priority
;
/**
* @desc 时效
* @column aging
* @default
*/
@TableField
(
"aging"
)
private
Integer
aging
;
/**
* @desc 创建时间
* @column create_time
* @default
*/
@TableField
(
"create_time"
)
private
Date
createTime
;
/**
* @desc 更新时间
* @column update_time
* @default
*/
@TableField
(
"update_time"
)
private
Date
updateTime
;
/**
* @desc
* @column cutoff_time
* @default
*/
@TableField
(
"cutoff_time"
)
private
Date
cutoffTime
;
/**
* @desc 工单进度
* @column schedule
* @default
*/
@TableField
(
"schedule"
)
private
String
schedule
;
/**
* @desc 工单状态(0:草稿 1:执行中 2:审批中 3:已完成 4:中止)
* @column work_status
* @default
*/
@TableField
(
"work_status"
)
private
String
workStatus
;
/**
* @desc
* @column create_person
* @default
*/
@TableField
(
"create_person"
)
private
String
createPerson
;
/**
* @desc
* @column apply_dept
* @default
*/
@TableField
(
"apply_dept"
)
private
String
applyDept
;
/**
* @desc 是否发送消息
* @column if_send
* @default
*/
@TableField
(
"if_send"
)
private
String
ifSend
;
/*
* @desc 类型
* @column work_type_id
* */
@TableField
(
"work_tp_id"
)
private
String
workTpId
;
}
src/main/java/com/zgiot/zx/workflow/entity/WorkflowTaskHi.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
/**
* Created with cy on 2019-7-26 16:12:11.
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"workflow_task_hi"
)
public
class
WorkflowTaskHi
{
public
WorkflowTaskHi
()
{
}
/**
* @desc 工单主键
* @column work_id
* @default
*/
@TableId
(
"work_id"
)
private
String
workId
;
/**
* @desc 工单号
* @column work_no
* @default
*/
@TableField
(
"work_no"
)
private
String
workNo
;
/**
* @desc 状态(0:已修改 1 已发布)
* @column work_no
* @default
*/
@TableField
(
"status"
)
private
String
status
;
/**
* @desc 工单模板主键
* @column template_id
* @default
*/
@TableField
(
"template_id"
)
private
String
templateId
;
/**
* @desc 工单主题
* @column work_subject
* @default
*/
@TableField
(
"work_subject"
)
private
String
workSubject
;
/**
* @desc 工单描述内容
* @column work_content
* @default
*/
@TableField
(
"work_content"
)
private
String
workContent
;
/**
* @desc 优先级
* @column priority
* @default
*/
@TableField
(
"priority"
)
private
String
priority
;
/**
* @desc 时效
* @column aging
* @default
*/
@TableField
(
"aging"
)
private
Integer
aging
;
/**
* @desc 创建时间
* @column create_time
* @default
*/
@TableField
(
"create_time"
)
private
Date
createTime
;
/**
* @desc 更新时间
* @column update_time
* @default
*/
@TableField
(
"update_time"
)
private
Date
updateTime
;
/**
* @desc
* @column cutoff_time
* @default
*/
@TableField
(
"cutoff_time"
)
private
Date
cutoffTime
;
/**
* @desc 工单进度
* @column schedule
* @default
*/
@TableField
(
"schedule"
)
private
String
schedule
;
/**
* @desc 工单状态(0:草稿 1:执行中 2:审批中 3:已完成 4:中止)
* @column work_status
* @default
*/
@TableField
(
"work_status"
)
private
String
workStatus
;
/**
* @desc
* @column create_person
* @default
*/
@TableField
(
"create_person"
)
private
String
createPerson
;
/**
* @desc
* @column apply_dept
* @default
*/
@TableField
(
"apply_dept"
)
private
String
applyDept
;
/**
* @desc 是否发送消息
* @column if_send
* @default
*/
@TableField
(
"if_send"
)
private
String
ifSend
;
/*
* @desc 类型
* @column work_type_id
* */
@TableField
(
"work_tp_id"
)
private
String
workTpId
;
}
src/main/java/com/zgiot/zx/workflow/entity/WorkflowTemplateFormFieldHi.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.*
;
import
lombok.experimental.Accessors
;
import
java.math.BigDecimal
;
import
java.math.BigInteger
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* Created with cy on 2019-7-26 16:12:11.
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"workflow_template_form_field_hi"
)
@Builder
public
class
WorkflowTemplateFormFieldHi
implements
Serializable
{
/**
* 字段主键
*/
@TableId
(
"id"
)
private
String
id
;
/**
* 工单模板主键
*/
@TableField
(
"template_id"
)
private
String
templateId
;
/**
* 字段类型
*/
@TableField
(
"field_tp"
)
private
String
fieldTp
;
/**
* 字段名称
*/
@TableField
(
"field_nm"
)
private
String
fieldNm
;
/**
* 顺序
*/
@TableField
(
"field_order"
)
private
Integer
fieldOrder
;
/**
* 提示语
*/
@TableField
(
"field_hint"
)
private
String
fieldHint
;
/**
* 是否必填
*/
@TableField
(
"required"
)
private
String
required
;
/**
* 是否参与打印
*/
@TableField
(
"print"
)
private
String
print
;
/**
* 是否关键信息
*/
@TableField
(
"major"
)
private
String
major
;
/**
* 拓展
*/
@TableField
(
"expand"
)
private
String
expand
;
}
src/main/java/com/zgiot/zx/workflow/entity/WorkflowTemplateHi.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.*
;
import
lombok.experimental.Accessors
;
import
java.math.BigDecimal
;
import
java.math.BigInteger
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* Created with cy on 2019-7-26 16:12:11.
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"workflow_template_hi"
)
public
class
WorkflowTemplateHi
implements
Serializable
{
/**
* @desc 工单模板主键
* @column id
* @default
*/
@TableId
(
"id"
)
private
String
id
;
/**
* @desc 模板名称
* @column template_nm
* @default
*/
@TableField
(
"template_no"
)
private
String
templateNm
;
/**
* @desc 工单类型主键
* @column work_tp_id
* @default
*/
@TableField
(
"work_tp_id"
)
private
String
workTpId
;
/**
* @desc 是否允许手机创建
* @column phone
* @default
*/
@TableField
(
"phone"
)
private
String
phone
;
/**
* @desc
* @column create_roles
* @default
*/
@TableField
(
"create_roles"
)
private
String
createRoles
;
/**
* @desc
* @column manager_roles
* @default
*/
@TableField
(
"manager_roles"
)
private
String
managerRoles
;
/**
* @desc
* @column template_explain
* @default
*/
@TableField
(
"template_explatin"
)
private
String
templateExplain
;
/**
* @desc 是否启用
* @column if_enable
* @default
*/
@TableField
(
"if_enable"
)
private
String
ifEnable
;
/**
* @desc 图标
* @column icon_image
* @default
*/
@TableField
(
"icon_image"
)
private
String
iconImage
;
/**
* @desc
* @column create_time
* @default
*/
@TableField
(
"create_time"
)
private
Date
createTime
;
/**
* @desc
* @column update_time
* @default
*/
@TableField
(
"update_time"
)
private
Date
updateTime
;
/**
* @desc
* @column version
* @default
*/
@TableField
(
"version"
)
private
String
version
;
/**
* @desc
* @column version
* @default
*/
@TableField
(
"type_template"
)
private
String
typeTemplate
;
}
src/main/java/com/zgiot/zx/workflow/enums/ApproveFlag.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
enums
;
public
enum
ApproveFlag
{
PASS
(
1
,
"通过"
),
REFUSE
(
0
,
"拒绝"
),
APPLY
(
2
,
"申请"
),
CLAIM
(
3
,
"认领"
);
//防止字段值被修改,增加的字段也统一final表示常量
private
final
int
key
;
private
final
String
value
;
private
ApproveFlag
(
int
key
,
String
value
){
this
.
key
=
key
;
this
.
value
=
value
;
}
//根据key获取枚举
public
static
ApproveFlag
getEnumByKey
(
int
key
){
for
(
ApproveFlag
temp:
ApproveFlag
.
values
()){
if
(
temp
.
getKey
()
==
key
){
return
temp
;
}
}
return
null
;
}
public
int
getKey
()
{
return
key
;
}
public
String
getValue
()
{
return
value
;
}
}
src/main/java/com/zgiot/zx/workflow/enums/MessageType.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
enums
;
/**
* @ClassName MessageType
* @Descroption TODO
* @Author 王夏晖
* @Date 2019/6/17 0017 16:45
**/
public
enum
MessageType
{
URGE
(
"1"
,
"催促"
),
COPY
(
"2"
,
"抄送"
),
STOP
(
"3"
,
"终止"
),
DELY
(
"4"
,
"延期"
),
TRANSFER
(
"5"
,
"转交"
),
NEWTASK
(
"6"
,
"新任务"
);
private
final
String
key
;
private
final
String
value
;
private
MessageType
(
String
key
,
String
value
){
this
.
key
=
key
;
this
.
value
=
value
;
}
public
String
getKey
()
{
return
key
;
}
public
String
getValue
()
{
return
value
;
}
}
src/main/java/com/zgiot/zx/workflow/enums/TaskRecordType.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
enums
;
/**
* @ClassName TaskRecordType
* @Descroption TODO
* @Author 王夏晖
* @Date 2019/6/12 0012 9:44
**/
public
enum
TaskRecordType
{
CREATE
(
"1"
,
"发起任务"
),
EXECUTE
(
"2"
,
"执行任务"
),
APPROVE
(
"3"
,
"审批任务"
),
COPY
(
"4"
,
"抄送任务"
),
DELY
(
"5"
,
"延期任务"
),
TRANSFER
(
"6"
,
"转交任务"
),
STOP
(
"7"
,
"中止任务"
),
FINSH
(
"8"
,
"任务结束"
),
RETRACT
(
"9"
,
"任务撤回"
);
private
final
String
key
;
private
final
String
value
;
private
TaskRecordType
(
String
key
,
String
value
){
this
.
key
=
key
;
this
.
value
=
value
;
}
public
String
getKey
()
{
return
key
;
}
public
String
getValue
()
{
return
value
;
}
}
src/main/java/com/zgiot/zx/workflow/enums/TaskStatus.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
enums
;
/**
* 工单状态枚举类
*/
public
enum
TaskStatus
{
/**
* 0、1、2、3 、7、8、9为工单整体状态
* 4、5、6 为工单进度状态
*/
DRAFT
(
"0"
,
"草稿"
),
EXECUTE
(
"1"
,
"执行中"
),
APPROVE
(
"2"
,
"审批中"
),
COMPLETE
(
"3"
,
"已完成"
),
QUICKLY
(
"4"
,
"尽快完成"
),
DELAY
(
"5"
,
"延期"
),
OVERDUE
(
"6"
,
"逾期"
),
ARCHIVE
(
"7"
,
"归档"
),
STOP
(
"8"
,
"中止"
),
DELETE
(
"9"
,
"删除"
);
private
final
String
key
;
private
final
String
value
;
private
TaskStatus
(
String
key
,
String
value
){
this
.
key
=
key
;
this
.
value
=
value
;
}
public
String
getKey
()
{
return
key
;
}
public
String
getValue
()
{
return
value
;
}
}
src/main/java/com/zgiot/zx/workflow/enums/TemplateApproveType.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
enums
;
/**
* @ClassName TemplateApproveType
* @Descroption TODO
* @Author 王夏晖
* @Date 2019/6/11 0011 10:59
**/
public
enum
TemplateApproveType
{
PERSON
(
"1"
,
"指定人员"
),
ROLE
(
"2"
,
"指定角色"
),
CREATESELECT
(
"3"
,
"创建人自选"
),
SUPERSELECT
(
"4"
,
"由上级指定"
),
SAMEBEFOR
(
"5"
,
"同上个节点一致"
),
CREATESELF
(
"6"
,
"创建人自己"
);
private
final
String
key
;
private
final
String
value
;
private
TemplateApproveType
(
String
key
,
String
value
){
this
.
key
=
key
;
this
.
value
=
value
;
}
public
String
getKey
()
{
return
key
;
}
public
String
getValue
()
{
return
value
;
}
}
src/main/java/com/zgiot/zx/workflow/filters/Filter.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
filters
;
import
com.zgiot.zx.workflow.mapper.SUserMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
javax.servlet.*
;
import
javax.servlet.annotation.WebFilter
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
@WebFilter
(
filterName
=
"adminFilter"
,
urlPatterns
=
"/*"
/*通配符(*)表示对所有的web资源进行拦截*/
)
public
class
Filter
implements
javax
.
servlet
.
Filter
{
@Autowired
SUserMapper
sUserMapper
;
public
void
destroy
()
{
}
public
void
doFilter
(
ServletRequest
req
,
ServletResponse
resp
,
FilterChain
chain
)
throws
ServletException
,
java
.
io
.
IOException
{
HttpServletRequest
request
=
(
HttpServletRequest
)
req
;
HttpServletResponse
response
=
(
HttpServletResponse
)
resp
;
//获取token后拼接的用户id
String
token
=
request
.
getHeader
(
"Authorization"
);
if
(
token
!=
null
&&
!
""
.
equals
(
token
)){
String
userId
=
token
.
substring
(
token
.
indexOf
(
"KL92HAQ"
)
+
7
,
token
.
lastIndexOf
(
"KL92HAQ"
));
if
(
""
.
equals
(
userId
)){
response
.
getWriter
().
write
(
"{\"code\":400,\"message\":\"未登陆\"}"
);
}
//获取管理员code
String
adminCode
=
sUserMapper
.
getAdminCode
();
//获取当前登陆用户的code
List
<
String
>
userCode
=
sUserMapper
.
getUserCode
(
userId
);
if
(
userCode
.
contains
(
adminCode
)){
//当前登陆用户的code和管理员相同,不进行拦截
chain
.
doFilter
(
req
,
resp
);
}
else
{
if
(
"XMLHttpRequest"
.
equalsIgnoreCase
(
request
.
getHeader
(
"X-Requested-With"
))){
response
.
getWriter
().
write
(
"{\"code\":401,\"message\":\"当前登陆用户无权限\"}"
);
}
else
{
response
.
getWriter
().
write
(
"{\"code\":401,\"message\":\"当前登陆用户无权限\"}"
);
}
//当前登陆用户的code和管理员不相同,进行拦截并返回首页
}
}
else
{
response
.
getWriter
().
write
(
"{\"code\":400,\"message\":\"未登录\"}"
);
}
}
public
void
init
(
FilterConfig
config
)
throws
ServletException
{
}
}
src/main/java/com/zgiot/zx/workflow/mapper/ProcessFileMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.TemplateProcessFileDO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
org.apache.ibatis.annotations.Update
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author jobob
* @since 2019-05-08
*/
public
interface
ProcessFileMapper
extends
BaseMapper
<
TemplateProcessFileDO
>
{
@Update
(
"<script>UPDATE workflow_template_process_file "
+
"SET "
+
" new_process_file = #{fileName}, "
+
" start_usertask = #{activitiId} "
+
"WHERE "
+
"template_id = #{templateId}</script>"
)
boolean
updateNewProcessFile
(
@Param
(
"fileName"
)
String
fileName
,
@Param
(
"templateId"
)
String
templateId
,
@Param
(
"activitiId"
)
String
activitId
);
@Select
(
"<script>SELECT "
+
"process_file_nm "
+
"From workflow_template_process_file "
+
"WHERE template_id = #{templateId}</script>"
)
String
fileNameBytemplateId
(
@Param
(
"templateId"
)
String
templateId
);
}
src/main/java/com/zgiot/zx/workflow/mapper/ProcessGatewayHiMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.TemplateGatewayDO
;
import
com.zgiot.zx.workflow.entity.TemplateGatewayHi
;
import
org.apache.ibatis.annotations.Insert
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author jobob
* @since 2019-05-08
*/
public
interface
ProcessGatewayHiMapper
extends
BaseMapper
<
TemplateGatewayHi
>
{
@Insert
(
"<script>insert into workflow_template_gateway_hi(id,template_id,activity_id,field_id,conditions,type)"
+
"values "
+
"<foreach collection=\"listTemGatewayHi\" item=\"items\" separator=\",\" >"
+
"( #{items.id},#{items.templateId},#{items.activityId},#{items.fieldId},#{items.conditions},"
+
"#{items.type})</foreach></script>"
)
boolean
insertGatewayHi
(
@Param
(
"listTemGatewayHi"
)
List
<
TemplateGatewayDO
>
templateGatewayHis
);
}
src/main/java/com/zgiot/zx/workflow/mapper/ProcessGatewayMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.TemplateFormFieldDO
;
import
com.zgiot.zx.workflow.entity.TemplateGatewayDO
;
import
org.apache.ibatis.annotations.Select
;
import
org.springframework.stereotype.Repository
;
import
java.time.temporal.TemporalField
;
import
java.util.List
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author wangxiahui
* @since 2019-05-28
*/
@Repository
public
interface
ProcessGatewayMapper
extends
BaseMapper
<
TemplateGatewayDO
>
{
@Select
(
"<script>SELECT * FROM workflow_template_gateway where workflow_template_gateway.template_id = #{templateId}</script>"
)
List
<
TemplateGatewayDO
>
gatewayByTemplateFormFieldDO
(
TemplateFormFieldDO
templateFormFieldDO
);
}
src/main/java/com/zgiot/zx/workflow/mapper/SDeptMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.SDept
;
import
com.zgiot.zx.workflow.entity.SRole
;
import
org.apache.ibatis.annotations.ResultMap
;
import
org.apache.ibatis.annotations.Select
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author jobob
* @since 2019-05-22
*/
@Repository
public
interface
SDeptMapper
extends
BaseMapper
<
SDept
>
{
@Select
(
"<script>select * from s_dept where 1=1 "
+
"<if test=\"delFlag !=null and delFlag != '' \">and del_flag = 0 </if> "
+
"<if test=\"flag !=null and flag != '' \">and flag = 1 </if>"
+
"and PARENT_ID = '0' "
+
"</script>"
)
List
<
SDept
>
querySDepts
();
@Select
(
"<script>select * from s_dept where 1=1 "
+
"<if test=\"delFlag !=null and delFlag != '' \">and del_flag = 0 </if> "
+
"<if test=\"flag !=null and flag != '' \">and flag = 1 </if>"
+
"and PARENT_ID = #{businessId}"
+
"</script>"
)
List
<
SDept
>
childdept
(
SDept
sDept
);
}
src/main/java/com/zgiot/zx/workflow/mapper/SRoleMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.SRole
;
import
com.zgiot.zx.workflow.entity.TbRole
;
import
org.apache.ibatis.annotations.Select
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author jobob
* @since 2019-05-22
*/
@Repository
public
interface
SRoleMapper
extends
BaseMapper
<
SRole
>
{
@Select
(
"<script>select * from s_role where 1=1 and del_flag = 0 and flag = 1"
+
"</script>"
)
List
<
SRole
>
querySRoles
();
}
src/main/java/com/zgiot/zx/workflow/mapper/SUserMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.SDept
;
import
com.zgiot.zx.workflow.entity.SUser
;
import
com.zgiot.zx.workflow.entity.TbUser
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.ResultMap
;
import
org.apache.ibatis.annotations.Select
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author jobob
* @since 2019-05-22
*/
@Repository
public
interface
SUserMapper
extends
BaseMapper
<
SUser
>
{
@Select
(
"<script>select * from s_user where 1=1 "
+
"<if test=\"delFlag !=null and delFlag != '' \">and del_flag = 0 </if> "
+
"<if test=\"flag !=null and flag != '' \">and flag = 1 </if>"
+
"and DEPT_ID = #{businessId}"
+
"</script>"
)
List
<
SUser
>
querySUsers
(
SDept
sDept
);
@Select
(
"<script>select code from s_user su "
+
"left join s_user_role sur on su.business_id = sur.user_id "
+
"left join s_role sr on sr.business_id = sur.role_id "
+
"where su.del_flag = '0' "
+
"and su.flag = '1' "
+
"and sr.del_flag = '0' "
+
"and sr.flag = '1' "
+
"and su.business_id = #{userId} "
+
"</script>"
)
List
<
String
>
getUserCode
(
@Param
(
"userId"
)
String
userId
);
@Select
(
"select value from s_dictionary where type = 'ADMIN'"
)
String
getAdminCode
();
}
src/main/java/com/zgiot/zx/workflow/mapper/TbRoleMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.TbRole
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author jobob
* @since 2019-05-22
*/
public
interface
TbRoleMapper
extends
BaseMapper
<
TbRole
>
{
}
src/main/java/com/zgiot/zx/workflow/mapper/TbUserMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.TbUser
;
import
java.util.List
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author jobob
* @since 2019-05-22
*/
public
interface
TbUserMapper
extends
BaseMapper
<
TbUser
>
{
/**
* 通过角色查询用户
* @param roleId
* @return
*/
List
<
String
>
queryUserByRoleId
(
String
[]
roleId
);
}
src/main/java/com/zgiot/zx/workflow/mapper/WorkApproveHiMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.TemplateApproveDO
;
import
com.zgiot.zx.workflow.entity.TemplateApproveHi
;
import
com.zgiot.zx.workflow.entity.TemplateFormFieldDO
;
import
org.apache.ibatis.annotations.Insert
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.List
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author jobob
* @since 2019-05-16
*/
public
interface
WorkApproveHiMapper
extends
BaseMapper
<
TemplateApproveHi
>
{
@Insert
(
"<script>insert into workflow_template_approve_hi(id,template_id,activity_id,activity_nm,person_type,person_data,approve_type,person_null,if_approve_node,if_copy,buttons)"
+
"values "
+
"<foreach collection=\"listTemAprHi\" item=\"items\" separator=\",\" >"
+
"( #{items.id},#{items.templateId},#{items.activityId},#{items.activityNm},#{items.personType},"
+
"#{items.personData},#{items.approveType},#{items.personNull},#{items.ifApproveNode}"
+
",#{items.ifCopy},#{items.buttons})</foreach></script>"
)
boolean
insertApproveHi
(
@Param
(
"listTemAprHi"
)
List
<
TemplateApproveDO
>
templateApproveHiList
);
}
src/main/java/com/zgiot/zx/workflow/mapper/WorkApproveMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.TemplateApproveDO
;
import
com.zgiot.zx.workflow.entity.TemplateFormFieldDO
;
import
org.apache.ibatis.annotations.Delete
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.List
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author jobob
* @since 2019-05-16
*/
public
interface
WorkApproveMapper
extends
BaseMapper
<
TemplateApproveDO
>
{
/**
* 根据模版id和节点id查询角色名称(该方法只用于停送电)
* @param templateId
* @param activityId
* @return
*/
String
getRoleNameByTemplateIdAndActivityId
(
String
templateId
,
String
activityId
);
List
<
TemplateApproveDO
>
selectApproveData
(
TemplateApproveDO
templateApproveDO
);
@Delete
(
"<script>delete "
+
"from "
+
"workflow_template_approve "
+
"where activity_id not In("
+
"<foreach collection =\"activitis\" item=\"item\" separator=\",\">"
+
"#{item}"
+
"</foreach>"
+
") AND template_id = #{templateId} "
+
"</script>"
)
boolean
deleteByActivitiId
(
@Param
(
"activitis"
)
List
<
String
>
activitis
,
@Param
(
"templateId"
)
String
templateId
);
}
src/main/java/com/zgiot/zx/workflow/mapper/WorkPermissionHiMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.dto.WorkPermissionResDTO
;
import
com.zgiot.zx.workflow.entity.TemplatePermissionDO
;
import
com.zgiot.zx.workflow.entity.TemplatePermissionHi
;
import
org.apache.ibatis.annotations.Insert
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author jobob
* @since 2019-05-08
*/
@Repository
public
interface
WorkPermissionHiMapper
extends
BaseMapper
<
TemplatePermissionHi
>
{
@Insert
(
"<script>insert into workflow_template_permission_hi(id,template_id,activity_id,field_id,permission,if_write)"
+
"values "
+
"<foreach collection=\"listTemPerHi\" item=\"items\" separator=\",\" >"
+
"( #{items.id},#{items.templateId},#{items.activityId},#{items.fieldId},"
+
"#{items.permission},#{items.ifWrite}"
+
")</foreach></script>"
)
boolean
insertPermissionHi
(
@Param
(
"listTemPerHi"
)
List
<
TemplatePermissionDO
>
templatePermissionHiList
);
}
src/main/java/com/zgiot/zx/workflow/mapper/WorkPermissionMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.dto.WorkPermissionResDTO
;
import
com.zgiot.zx.workflow.entity.TemplateFormFieldDO
;
import
com.zgiot.zx.workflow.entity.TemplatePermissionDO
;
import
org.activiti.bpmn.model.UserTask
;
import
org.apache.ibatis.annotations.Delete
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.List
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author jobob
* @since 2019-05-08
*/
public
interface
WorkPermissionMapper
extends
BaseMapper
<
TemplatePermissionDO
>
{
@Select
(
""
+
"select * from workflow_template_permission a "
+
"left join workflow_template_form_field b on a.field_id = b.id "
+
"where a.permission ='0' and a.activity_id =#{activityId} and a.template_id =#{templateId}"
+
"order by b.field_order asc"
)
List
<
WorkPermissionResDTO
>
queryPermissionAndFieldByNode
(
@Param
(
"activityId"
)
String
activityId
,
@Param
(
"templateId"
)
String
templateId
);
List
<
WorkPermissionResDTO
>
selectListByTemplateId
(
String
templateId
);
@Select
(
"<script>select * from workflow_template_permission "
+
"where template_id=#{templateId} "
+
"and field_id=#{id} "
+
"</script>"
)
List
<
TemplatePermissionDO
>
workPermissionByTemplateFormFieldDO
(
TemplateFormFieldDO
templateFormFieldDO
);
@Delete
(
"<script>delete "
+
"from "
+
"workflow_template_permission "
+
"where activity_id not In("
+
"<foreach collection =\"activits\" item=\"item\" separator=\",\">"
+
"#{item}"
+
"</foreach>"
+
") AND template_id = #{templateId}"
+
"</script>"
)
boolean
deleteByActivitiId
(
@Param
(
"activits"
)
List
<
String
>
activitis
,
@Param
(
"templateId"
)
String
template
);
}
src/main/java/com/zgiot/zx/workflow/mapper/WorkTemplateFieldMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.TemplateFormFieldDO
;
import
org.apache.ibatis.annotations.Insert
;
import
org.springframework.stereotype.Repository
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author jobob
* @since 2019-05-08
*/
@Repository
public
interface
WorkTemplateFieldMapper
extends
BaseMapper
<
TemplateFormFieldDO
>
{
@Insert
(
""
)
int
insertField
(
TemplateFormFieldDO
templateFormFieldDO
);
}
src/main/java/com/zgiot/zx/workflow/mapper/WorkTemplateMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.TemplateDO
;
import
org.apache.ibatis.annotations.Select
;
import
org.apache.ibatis.annotations.Update
;
import
org.springframework.stereotype.Repository
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author jobob
* @since 2019-05-08
*/
@Repository
public
interface
WorkTemplateMapper
extends
BaseMapper
<
TemplateDO
>
{
@Update
(
"<script>update workflow_template set status = 1"
+
" where id=#{id}</script>"
)
boolean
updateStatus
(
TemplateDO
templateDO
);
}
src/main/java/com/zgiot/zx/workflow/mapper/WorkTemplateOtherSettingsMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.TemplateOtherSettingsDO
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author jobob
* @since 2019-05-21
*/
public
interface
WorkTemplateOtherSettingsMapper
extends
BaseMapper
<
TemplateOtherSettingsDO
>
{
}
src/main/java/com/zgiot/zx/workflow/mapper/WorkTypeMapper.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.TemplateTypeDO
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author jobob
* @since 2019-05-08
*/
public
interface
WorkTypeMapper
extends
BaseMapper
<
TemplateTypeDO
>
{
}
src/main/java/com/zgiot/zx/workflow/mapper/WorkflowTaskHiRepository.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.WorkflowTask
;
import
com.zgiot.zx.workflow.entity.WorkflowTaskHi
;
import
org.apache.ibatis.annotations.Insert
;
import
org.springframework.stereotype.Repository
;
/**
* Created with cy on 2019-7-26 16:12:11.
*/
@Repository
public
interface
WorkflowTaskHiRepository
extends
BaseMapper
<
WorkflowTaskHi
>
{
@Insert
(
"<script>INSERT INTO workflow_task_hi "
+
"VALUES("
+
"#{workId},#{workNo},#{templateId},#{workSubject},#{workContent},"
+
"#{priority},#{aging},#{createTime},#{updateTime},#{cutoffTime},"
+
"#{schedule},#{workStatus},#{createPerson},#{applyDept},#{ifSend},"
+
"#{workTpId})</script>"
)
Boolean
insertWorkflowTaskHi
(
WorkflowTask
workflowTask
);
}
src/main/java/com/zgiot/zx/workflow/mapper/WorkflowTaskRepository.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.TemplateDO
;
import
com.zgiot.zx.workflow.entity.WorkflowTask
;
import
org.apache.ibatis.annotations.ResultMap
;
import
org.apache.ibatis.annotations.Select
;
import
org.apache.ibatis.annotations.Update
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* Created with cy on 2019-7-26 16:12:11.
*/
@Repository
public
interface
WorkflowTaskRepository
extends
BaseMapper
<
WorkflowTask
>
{
@Update
(
"<script>update workflow_task set status=1"
+
" where template_id = #{id}</script>"
)
boolean
updateStatus
(
TemplateDO
templateDO
);
}
src/main/java/com/zgiot/zx/workflow/mapper/WorkflowTemplateFormFieldHiRepository.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.TemplateFormFieldDO
;
import
com.zgiot.zx.workflow.entity.WorkflowTemplateFormFieldHi
;
import
org.apache.ibatis.annotations.Insert
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.ResultMap
;
import
org.apache.ibatis.annotations.Select
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* Created with cy on 2019-7-26 16:12:11.
*/
@Repository
public
interface
WorkflowTemplateFormFieldHiRepository
extends
BaseMapper
<
WorkflowTemplateFormFieldHi
>{
@Insert
(
"<script>insert into workflow_template_form_field_hi(id,template_id,field_tp,field_nm,field_order,field_hint,required,print,major,expand)"
+
"values "
+
"<foreach collection=\"listFormField\" item=\"items\" separator=\",\" >"
+
"( #{items.id},#{items.templateId},#{items.fieldTp},#{items.fieldNm},#{items.fieldOrder},"
+
"#{items.fieldHint},#{items.required},#{items.print},#{items.major}"
+
",#{items.expand})</foreach></script>"
)
boolean
insertFormFieldHi
(
@Param
(
"listFormField"
)
List
<
TemplateFormFieldDO
>
templateFormFieldDOS
);
}
src/main/java/com/zgiot/zx/workflow/mapper/WorkflowTemplateHiRepository.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zgiot.zx.workflow.entity.TemplateDO
;
import
com.zgiot.zx.workflow.entity.WorkflowTemplateHi
;
import
org.apache.ibatis.annotations.Insert
;
import
org.apache.ibatis.annotations.ResultMap
;
import
org.apache.ibatis.annotations.Select
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* Created with cy on 2019-7-26 16:12:11.
*/
@Repository
public
interface
WorkflowTemplateHiRepository
extends
BaseMapper
<
WorkflowTemplateHi
>
{
@Select
(
"<script>SELECT Max(cast(version as UNSIGNED INTEGER)) FROM workflow_template_hi "
+
"where type_template = #{typeTemplate} order by create_time Desc</script>"
)
List
<
String
>
temVersionHiByTptem
(
TemplateDO
templateDO
);
@Insert
(
"<script>INSERT into workflow_template_hi(id,template_nm,work_tp_id,phone,"
+
"create_roles,manager_roles,template_explain,"
+
"if_enable,icon_image,create_time,update_time,version,type_template) "
+
"VALUES(#{id},#{templateNm},#{workTpId},#{phone},#{createRoles},#{managerRoles},"
+
"#{templateExplain},#{ifEnable},#{iconImage},NOW(),NOW(),#{version},#{typeTemplate})</script>"
)
boolean
insertTemplateHi
(
WorkflowTemplateHi
workflowTemplateHi
);
}
src/main/java/com/zgiot/zx/workflow/service/IProcessFileService.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.zgiot.zx.workflow.entity.TemplateProcessFileDO
;
import
org.activiti.bpmn.model.FlowNode
;
import
org.activiti.engine.task.Task
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.InputStream
;
import
java.util.List
;
import
java.util.Map
;
/**
* <p>
* 服务类
* </p>
*
* @author jobob
* @since 2019-05-08
*/
public
interface
IProcessFileService
extends
IService
<
TemplateProcessFileDO
>
{
/* boolean uploadProcessFile(MultipartFile file, String tempId, String savePath);*/
boolean
uploadProcessFileByFileName
(
String
fileName
,
String
tempId
,
String
savePath
);
/* String queryBPMNkey(String bpmnName);
String startProcess(String key, String bussinessKey, String formjson, Map variablesjson, String userId, String userName, String templateId);
List<TaskResDTO> getTasks(String assignee);
List<TaskResDTO> getHistoryTasks(String assignee);
Task getSingleTask(String assignee, String processId);
TaskResDTO getTaskbyId(String taskid, String userId, String taskStatus);
TaskResDTO getCurrentTask(String processInstanceId);
boolean retract(String taskId);
boolean stopProcess(String processId);
boolean transferTask(String taskId, String userId, String transferUserIds);
Map<String, FlowNode> findNextTask(String taskId, String workId);
InputStream getActivitiProccessImage(String processId);*/
}
src/main/java/com/zgiot/zx/workflow/service/IProcessGatewayService.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.zgiot.zx.workflow.entity.TemplateGatewayDO
;
/**
* <p>
* 服务类
* </p>
*
* @author wangxiahui
* @since 2019-05-28
*/
public
interface
IProcessGatewayService
extends
IService
<
TemplateGatewayDO
>
{
}
src/main/java/com/zgiot/zx/workflow/service/IWorkApproveService.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.zgiot.zx.workflow.entity.TemplateApproveDO
;
import
java.util.List
;
/**
* <p>
* 服务类
* </p>
*
* @author jobob
* @since 2019-05-16
*/
public
interface
IWorkApproveService
extends
IService
<
TemplateApproveDO
>
{
/* Boolean saveWorkApprove(TemplateApproveDO templateApproveDO);*/
Boolean
saveWorkApproveBatch
(
List
<
TemplateApproveDO
>
templateApproveDOList
);
List
<
TemplateApproveDO
>
getWorkApprove
(
String
templateId
);
/*
TemplateApproveDO getApproveByTempIdAndactivityId(String templateId, String acticitiId);
List<TemplateApproveDO> getCreatorSelectApprove(String templateId, String workId);
void updateCreateSelectApprove(String workApproveData, String workId)throws Exception;*/
}
src/main/java/com/zgiot/zx/workflow/service/IWorkPermissionService.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.zgiot.zx.workflow.dto.WorkPermissionInfoResDTO
;
import
com.zgiot.zx.workflow.entity.TemplatePermissionDO
;
import
java.util.List
;
/**
* <p>
* 服务类
* </p>
*
* @author jobob
* @since 2019-05-08
*/
public
interface
IWorkPermissionService
extends
IService
<
TemplatePermissionDO
>
{
/* boolean saveWorkPermission(String jsonObject);*/
boolean
saveWorkPermissionBatch
(
String
jsonObject
);
List
<
WorkPermissionInfoResDTO
>
getWorkPermissionByTemplateId
(
String
templateId
);
/* List<WorkPermissionResDTO> queryPermissionAndField(String templateId);*/
}
src/main/java/com/zgiot/zx/workflow/service/IWorkTemplateFieldService.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.zgiot.zx.workflow.entity.TemplateFormFieldDO
;
import
java.util.List
;
/**
* <p>
* 服务类
* </p>
*
* @author jobob
* @since 2019-05-08
*/
public
interface
IWorkTemplateFieldService
extends
IService
<
TemplateFormFieldDO
>
{
boolean
saveOrUpdateWorkTempldateField
(
String
templateId
,
String
jsonStr
);
boolean
deleteWorkTempldateField
(
String
templateId
);
List
<
TemplateFormFieldDO
>
selectWorkTempldateField
(
String
templateId
);
}
src/main/java/com/zgiot/zx/workflow/service/IWorkTemplateOtherSettingsService.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.zgiot.zx.workflow.entity.TemplateOtherSettingsDO
;
/**
* <p>
* 服务类
* </p>
*
* @author jobob
* @since 2019-05-21
*/
public
interface
IWorkTemplateOtherSettingsService
extends
IService
<
TemplateOtherSettingsDO
>
{
}
src/main/java/com/zgiot/zx/workflow/service/IWorkTemplateService.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.zgiot.zx.workflow.base.Ret
;
import
com.zgiot.zx.workflow.dto.TemplateTypeResDTO
;
import
com.zgiot.zx.workflow.dto.WorkTemplateResDTO
;
import
com.zgiot.zx.workflow.entity.TemplateDO
;
import
org.activiti.engine.task.Task
;
import
java.util.List
;
/**
* <p>
* 服务类
* </p>
*
* @author jobob
* @since 2019-05-08
*/
public
interface
IWorkTemplateService
extends
IService
<
TemplateDO
>
{
/* Ret deployProcess(String templateId);*/
List
<
TemplateTypeResDTO
>
getAllTemplates
(
String
ifEnable
,
String
ifPhone
);
Boolean
publishBytemplate
(
TemplateDO
templateDO
);
/* boolean tsakAssignee(String templateId, List<Task> task2List, String workId, String userId);
Boolean templateCopy(String templateId, String workTpId);*/
Ret
saveTemplateAll
(
WorkTemplateResDTO
workTemplateResDTO
);
/* Boolean saveTemplateService(TemplateDO templateDO);
List<TemplateDO> getTemplateList(TemplateDO templateDO);
IPage<TemplateDO> getTemplatePage(TemplateDO templateDO, Integer page, Integer size) ;*/
WorkTemplateResDTO
getTemplateByTemplateId
(
String
templateId
);
/* Boolean updateTemplateMove(String templateId, String workTpId);
*//**
* 办理任务
*//*
boolean completTeask(TaskInfoRDTO taskInfoRDTO);
boolean completTaskBatch(List<TaskInfoRDTO> taskInfoRDTOList);
*//**
* 撤回
*//*
boolean recall(String processId, String activityId);
*//**
* 删除模板
*//*
boolean removeTemplate(String id);*/
}
src/main/java/com/zgiot/zx/workflow/service/WorkflowTaskHiService.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.zgiot.zx.workflow.dto.TemplateTypeResDTO
;
import
com.zgiot.zx.workflow.dto.WorkTemplateResDTO
;
import
com.zgiot.zx.workflow.entity.TemplateDO
;
import
com.zgiot.zx.workflow.entity.WorkflowTask
;
import
com.zgiot.zx.workflow.entity.WorkflowTaskHi
;
import
java.util.List
;
/**
* @Author: jiangpengpeng
* @Description:
* @Date: Created in 15:50 2019/7/29
* @Modified By:
*/
public
interface
WorkflowTaskHiService
extends
IService
<
WorkflowTaskHi
>
{
}
src/main/java/com/zgiot/zx/workflow/service/WorkflowTaskService.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.zgiot.zx.workflow.dto.TemplateTypeResDTO
;
import
com.zgiot.zx.workflow.dto.WorkTemplateResDTO
;
import
com.zgiot.zx.workflow.entity.TemplateDO
;
import
com.zgiot.zx.workflow.entity.WorkflowTask
;
import
java.util.List
;
/**
* @Author: jiangpengpeng
* @Description:
* @Date: Created in 15:50 2019/7/29
* @Modified By:
*/
public
interface
WorkflowTaskService
extends
IService
<
WorkflowTask
>
{
//查看全部工单信息带分类
List
<
TemplateTypeResDTO
>
getAllWorkflowTask
();
//修改工单提交
WorkflowTask
updateWorkflowTask
(
WorkTemplateResDTO
workTemplateResDTO
);
//根据模板id查询工单数据
WorkflowTask
selectBytemplate
(
TemplateDO
templateDO
);
}
src/main/java/com/zgiot/zx/workflow/service/impl/ProcessFileServiceImpl.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
.
impl
;
import
cn.hutool.core.util.IdUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.zgiot.zx.workflow.entity.TemplateProcessFileDO
;
import
com.zgiot.zx.workflow.mapper.ProcessFileMapper
;
import
com.zgiot.zx.workflow.mapper.WorkApproveMapper
;
import
com.zgiot.zx.workflow.service.IProcessFileService
;
import
org.activiti.bpmn.converter.BpmnXMLConverter
;
import
org.activiti.bpmn.model.BpmnModel
;
import
org.activiti.bpmn.model.FlowNode
;
import
org.activiti.bpmn.model.Process
;
import
org.activiti.bpmn.model.SequenceFlow
;
import
org.activiti.engine.*
;
import
org.activiti.engine.history.HistoricActivityInstance
;
import
org.activiti.engine.history.HistoricProcessInstance
;
import
org.activiti.engine.history.HistoricTaskInstance
;
import
org.activiti.engine.history.HistoricVariableInstance
;
import
org.activiti.engine.impl.RepositoryServiceImpl
;
import
org.activiti.engine.impl.javax.el.ExpressionFactory
;
import
org.activiti.engine.impl.javax.el.ValueExpression
;
import
org.activiti.engine.impl.juel.ExpressionFactoryImpl
;
import
org.activiti.engine.impl.juel.SimpleContext
;
import
org.activiti.engine.impl.persistence.entity.ExecutionEntity
;
import
org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity
;
import
org.activiti.engine.runtime.ProcessInstance
;
import
org.activiti.engine.task.IdentityLink
;
import
org.activiti.engine.task.Task
;
import
org.activiti.image.ProcessDiagramGenerator
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.xml.stream.XMLInputFactory
;
import
javax.xml.stream.XMLStreamReader
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.InputStream
;
import
java.io.InputStreamReader
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* <p>
* 服务实现类
* </p>
*
* @author jobob
* @since 2019-05-08
*/
@Service
public
class
ProcessFileServiceImpl
extends
ServiceImpl
<
ProcessFileMapper
,
TemplateProcessFileDO
>
implements
IProcessFileService
{
/* @Autowired
private RuntimeService runtimeService;
@Autowired
private TaskService taskService;
@Autowired
private HistoryService historyService;
@Autowired
private RepositoryService repositoryService;
@Autowired
IdentityService identityService;
@Autowired
ProcessEngineConfiguration processEngineConfiguration;
@Autowired
ProcessEngine processEngineFactory;
@Autowired
private ProcessEngine processEngine;
@Autowired
private WorkApproveMapper workApproveMapper;
@Autowired
TbUserMapper tbUserMapper;
@Autowired
private ITaskDataService taskDataService;
@Autowired
private WorkBaseMapper workBaseMapper;
@Autowired
private ITaskInfoService taskInfoService;
@Autowired
private IWorkBaseService workBaseService;*/
@Value
(
"${template.processfile.path}"
)
private
String
processPath
;
Logger
logger
=
LoggerFactory
.
getLogger
(
ProcessFileServiceImpl
.
class
);
/* *//**
* 上传流程文件并与模板建立关联(一个模板对应一个唯一的流程文件)
*
* @param file
* @param tempId
* @param savePath
* @return
*//*
@Override
@Transactional
public boolean uploadProcessFile(MultipartFile file, String tempId, String savePath) {
try {
//先清除之前与模板关联的流程文件
QueryWrapper qw = new QueryWrapper();
qw.eq("TEMPLATE_ID", tempId);
List<TemplateProcessFileDO> list = baseMapper.selectList(qw);
if (list != null && !list.isEmpty()) {
for (TemplateProcessFileDO pf : list) {
baseMapper.deleteById(pf.getId());
}
}
//保存上传文件路劲
TemplateProcessFileDO templateProcessFileDO = new TemplateProcessFileDO();
templateProcessFileDO.setId(IdUtil.randomUUID());
templateProcessFileDO.setProcessFilePath(savePath + file.getOriginalFilename());
templateProcessFileDO.setTemplateId(tempId);
templateProcessFileDO.setProcessFileNm(file.getOriginalFilename());
//默认“未部署”
templateProcessFileDO.setIfDeploy("0");
baseMapper.insert(templateProcessFileDO);
return true;
} catch (Exception e) {
logger.error(e.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return false;
}*/
/**
* 上传流程文件并与模板建立关联(一个模板对应一个唯一的流程文件)
*
* @param fileName
* @param tempId
* @param savePath
* @return
*/
@Override
@Transactional
public
boolean
uploadProcessFileByFileName
(
String
fileName
,
String
tempId
,
String
savePath
)
{
try
{
//先清除之前与模板关联的流程文件
QueryWrapper
qw
=
new
QueryWrapper
();
qw
.
eq
(
"TEMPLATE_ID"
,
tempId
);
List
<
TemplateProcessFileDO
>
list
=
baseMapper
.
selectList
(
qw
);
if
(
list
!=
null
&&
!
list
.
isEmpty
())
{
for
(
TemplateProcessFileDO
pf
:
list
)
{
baseMapper
.
deleteById
(
pf
.
getId
());
}
}
//保存上传文件路劲
TemplateProcessFileDO
templateProcessFileDO
=
new
TemplateProcessFileDO
();
templateProcessFileDO
.
setId
(
IdUtil
.
randomUUID
());
templateProcessFileDO
.
setProcessFilePath
(
fileName
);
templateProcessFileDO
.
setTemplateId
(
tempId
);
templateProcessFileDO
.
setProcessFileNm
(
fileName
);
//默认“未部署”
templateProcessFileDO
.
setIfDeploy
(
"0"
);
int
insert
=
baseMapper
.
insert
(
templateProcessFileDO
);
return
true
;
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
}
return
false
;
}
/* *//**
* 根据流程文件获取流程文件的唯一ID
*
* @param bpmnName
* @return
*//*
@Override
public String queryBPMNkey(String bpmnName) {
File processFile = new File(processPath + bpmnName);
XMLInputFactory xif = XMLInputFactory.newInstance();
InputStreamReader in;
XMLStreamReader xtr;
String bpmnKey = "";
try {
in = new InputStreamReader(new FileInputStream(processFile));
xtr = xif.createXMLStreamReader(in);
BpmnModel model = new BpmnXMLConverter().convertToBpmnModel(xtr);
if (model != null) {
List<Process> process = model.getProcesses();
bpmnKey = process.get(0).getId();
}
} catch (Exception e) {
logger.error("文件读取错误");
}
return bpmnKey;
}*/
/*
*/
/**
* 发起流程
*
* @param key 流程key
* @param bussinessKey 业务key,可为null
* @param formjson 表单数据
* @param variablesjson 其他变量数据
* @param userId 发起人id
* @param userName 发起人姓名
* @return 流程实例id
*//*
@Override
public String startProcess(String key, String bussinessKey, String formjson, Map variablesjson, String userId, String userName,
String templateId) {
//设置流程变量
Map<String, Object> variables = new HashMap<>();
//查询表单所有变量
QueryWrapper qw = new QueryWrapper();
qw.eq("WORK_ID", bussinessKey);
List<TaskDataDO> taskDataDOList = taskDataService.list(qw);
for (TaskDataDO taskDataDO : taskDataDOList) {
variables.put(taskDataDO.getFieldId(), taskDataDO.getFieldValue());
}
variables.put("flag","1");
MTMyInfoRspDTO.CorpUsersBean.CorpBean.DeptsBean dept = workBaseService.getUserDept();
variables.put("deptId",dept.getId());
try {
identityService.setAuthenticatedUserId(userId);
ExecutionEntity instance = (ExecutionEntity) runtimeService.startProcessInstanceByKey(key, bussinessKey, variables);
List<Task> nextTaskList = taskService
.createTaskQuery()
.processInstanceId(instance.getProcessInstanceId())
.list();
//启动流程回调
taskInfoService.startProcessCallback(nextTaskList,bussinessKey,userId);
return instance.getProcessInstanceId();
} catch (Exception e) {
logger.error("发起流程失败");
}
return null;
}
*/
/* *//**
* 此方法描述的是: 查看我的任务列表
*
* @param assignee
* @return List<Task>
*//*
@Override
public List<TaskResDTO> getTasks(String assignee) {
List<Task> tasks = taskService.createTaskQuery().taskCandidateOrAssigned(assignee).orderByTaskCreateTime().desc().list();
List<TaskResDTO> vos = new ArrayList<>();
for (Task task : tasks) {
TaskResDTO vo = new TaskResDTO();
Object formdata = taskService.getVariable(task.getId(), "formData");
vo.setTaskId(task.getId());
vo.setTaskName(task.getName());
vo.setTaskDefinitionKey(task.getTaskDefinitionKey());
vo.setProcDefId(task.getProcessDefinitionId());
vo.setProInsId(task.getProcessInstanceId());
if (formdata != null) {
Map maps = (Map) JSON.parse(formdata.toString());
vo.setFormdata(maps);
}
vos.add(vo);
}
return vos;
}
*/
/* @Override
public List<TaskResDTO> getHistoryTasks(String assignee) {
List<HistoricTaskInstance> hisTaskList = historyService.createHistoricTaskInstanceQuery().taskCandidateUser(assignee).orderByTaskId().desc()
.list();
List<HistoricTaskInstance> hisTaskList2 = historyService.createHistoricTaskInstanceQuery().taskAssignee(assignee).orderByTaskId().desc()
.list();
hisTaskList.addAll(hisTaskList2);
List<TaskResDTO> vos = new ArrayList<>();
for (HistoricTaskInstance task : hisTaskList) {
TaskResDTO vo = new TaskResDTO();
vo.setTaskId(task.getId());
vo.setTaskName(task.getName());
vo.setTaskDefinitionKey(task.getTaskDefinitionKey());
vo.setProcDefId(task.getProcessDefinitionId());
vo.setProInsId(task.getProcessInstanceId());
vos.add(vo);
}
return vos;
}
*/
/**
* 获取用户在某流程实例中的待办
*
* @param assignee
* @param processId
* @return
*//*
@Override
public Task getSingleTask(String assignee, String processId) {
List<Task> tasks = taskService.createTaskQuery().taskCandidateOrAssigned(assignee).orderByTaskCreateTime().desc().list();
if (tasks != null) {
for (Task task : tasks) {
if (processId.equals(task.getProcessInstanceId())) {
return task;
}
}
}
return null;
}
*/
/* *//**
* 通过任务id获取任务信息
*
* @param taskid
* @return
*//*
@Override
public TaskResDTO getTaskbyId(String taskid,String userId,String taskStatus) {
TaskResDTO vo = new TaskResDTO();
if("0".equals(taskStatus)){
Task tasks = taskService.createTaskQuery().taskId(taskid).singleResult();
vo.setTaskId(tasks.getId());
vo.setTaskName(tasks.getName());
vo.setTaskDefinitionKey(tasks.getTaskDefinitionKey());
vo.setProcDefId(tasks.getProcessDefinitionId());
vo.setProInsId(tasks.getProcessInstanceId());
vo.setActivityId(tasks.getTaskDefinitionKey());
}else{
List<HistoricTaskInstance> hisTaskList = historyService.createHistoricTaskInstanceQuery().taskCandidateUser(userId).orderByTaskId().desc()
.list();
for (HistoricTaskInstance task : hisTaskList) {
if(taskid.equals(task.getId())){
vo.setTaskId(task.getId());
vo.setTaskName(task.getName());
vo.setTaskDefinitionKey(task.getTaskDefinitionKey());
vo.setProcDefId(task.getProcessDefinitionId());
vo.setProInsId(task.getProcessInstanceId());
vo.setActivityId(task.getTaskDefinitionKey());
TaskResDTO taskResDTO = getCurrentTask(task.getProcessInstanceId());
vo.setCandidates(taskResDTO.getCandidates());
}
}
}
return vo;
}*/
/* *//**
* 方法描述:获取流程当前任务节点
*
* @param processInstanceId
* @return
*//*
@Override
public TaskResDTO getCurrentTask(String processInstanceId) {
List<Task> tasks = taskService.createTaskQuery().processInstanceId(processInstanceId).orderByTaskCreateTime().desc().list();
TaskResDTO vo = new TaskResDTO();
// 已经完结
if (tasks == null || tasks.isEmpty()) {
List<HistoricVariableInstance> list = historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstanceId).list();
for (HistoricVariableInstance hi : list) {
if (hi.getVariableName().equalsIgnoreCase("formData")) {
vo.setProInsId(processInstanceId);
Object formdata = hi.getValue();
if (formdata != null) {
Map maps = (Map) JSON.parse(formdata.toString());
vo.setFormdata(maps);
}
}
if (hi.getVariableName().equalsIgnoreCase("protitle")) {
vo.setProTitle(hi.getValue().toString());
}
}
HistoricActivityInstance instances =
historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId).listPage(1, 1).get(0);
vo.setProcDefId(instances.getProcessDefinitionId());
vo.setCandidates(null);
vo.setTaskId("-1");
vo.setTaskName("已完结");
} else {
Task task = tasks.get(0);
Object formdata = taskService.getVariable(task.getId(), "formData");
vo.setTaskId(task.getId());
vo.setTaskName(task.getName());
vo.setTaskDefinitionKey(task.getTaskDefinitionKey());
vo.setProcDefId(task.getProcessDefinitionId());
vo.setProInsId(task.getProcessInstanceId());
vo.setCreateTime(task.getCreateTime());
if (formdata != null) {
Map maps = (Map) JSON.parse(formdata.toString());
vo.setFormdata(maps);
}
List<String> peoples = new ArrayList<>();
for (Task tt : tasks) {
List<IdentityLink> lt = taskService.getIdentityLinksForTask(tt.getId());
for (IdentityLink identityLink : lt) {
String tempUserId = identityLink.getUserId();
peoples.add(tempUserId);
}
}
vo.setCandidates(peoples);
}
return vo;
}
*/
/* *//**
* 流程撤回
*
* @param taskId
* @return
*//*
@Override
public boolean retract(String taskId) {
return true;
}
*//**
* 中止流程
* @param processId 流程实例id
* @return
*//*
@Override
public boolean stopProcess(String processId) {
try{
runtimeService.deleteProcessInstance(processId,"中止流程");
return true;
}catch(Exception e){
e.printStackTrace();
logger.error(e.getMessage());
}
return false;
}
*/
/**
* 任务转交
* 1.删除原任务候选人
* 2.增加新的任务候选人
* @param taskId
* @param userId
* @param transferUserIds
* @return
*//*
@Override
public boolean transferTask(String taskId, String userId, String transferUserIds) {
try{
String[] transferUserIdArr = transferUserIds.split(",");
if(transferUserIdArr != null && transferUserIdArr.length > 0){
taskService.deleteCandidateUser(taskId,userId);
for(String transferUserId : transferUserIdArr){
taskService.addCandidateUser(taskId,transferUserId);
}
return true;
}
}catch(Exception e){
e.printStackTrace();
logger.error(e.getMessage());
}
return false;
}
*/
/**
* 查询流程当前节点的下一步节点。用于流程提示时的提示。
* @param taskId
* @return
* @throws Exception
*//*
public Map<String, FlowNode> findNextTask(String taskId,String workId){
try{
Map<String, FlowNode> nodeMap = new HashMap<String, FlowNode>();
ProcessInstance processInstance = findProcessInstanceByTaskId(taskId);
//查询流程定义 。
BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId());
List<Process> listp = bpmnModel.getProcesses();
Process process = listp.get(0);
//当前节点流定义
Task task=taskService.createTaskQuery() // 创建任务查询
.taskId(taskId) // 根据任务id查询
.singleResult();
FlowNode sourceFlowElement = ( FlowNode) process.getFlowElement(task.getTaskDefinitionKey());
// 找到当前任务的流程变量
List<HistoricVariableInstance> listVar=historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstance.getId()).list() ;
iteratorNextNodes(process, sourceFlowElement, nodeMap,listVar,workId);
return nodeMap;
}catch(Exception e){
e.printStackTrace();
}
return null;
}
*/
/* private ProcessInstance findProcessInstanceByTaskId(String taskId){
Task task=taskService.createTaskQuery() // 创建任务查询
.taskId(taskId) // 根据任务id查询
.singleResult();
String processInstanceId=task.getProcessInstanceId(); // 获取流程实例id
ProcessInstance pi = runtimeService.createProcessInstanceQuery() // 根据流程实例id获取流程实例
.processInstanceId(processInstanceId)
.singleResult();
return pi;
}
*/
/* *//**
* 查询流程当前节点的下一步节点。用于流程提示时的提示。
* @param process
* @param sourceFlowElement
* @param nodeMap
* @param listVar
* @throws Exception
*//*
private void iteratorNextNodes(Process process, FlowNode sourceFlowElement, Map<String, FlowNode> nodeMap,List<HistoricVariableInstance> listVar,String workId)
throws Exception {
List<SequenceFlow> list = sourceFlowElement.getOutgoingFlows();
for (SequenceFlow sf : list) {
sourceFlowElement = ( FlowNode) process.getFlowElement( sf.getTargetRef());
if(StringUtils.isNotEmpty(sf.getConditionExpression() )){
ExpressionFactory factory = new ExpressionFactoryImpl();
SimpleContext context = new SimpleContext();
for(HistoricVariableInstance var :listVar){
context.setVariable(var.getVariableName(), factory.createValueExpression(var.getValue(), var.getValue().getClass()));
}
QueryWrapper qw = new QueryWrapper();
qw.eq("WORK_ID", workId);
List<TaskDataDO> taskDataDOList = taskDataService.list(qw);
for (TaskDataDO taskDataDO : taskDataDOList) {
context.setVariable(taskDataDO.getFieldId(), factory.createValueExpression(taskDataDO.getFieldValue(),String.class));
}
MTMyInfoRspDTO.CorpUsersBean.CorpBean.DeptsBean dept = workBaseService.getUserDept();
if(dept != null){
context.setVariable("deptId",factory.createValueExpression(dept.getId(),String.class));
}
context.setVariable("flag",factory.createValueExpression("1",String.class));
ValueExpression e = factory.createValueExpression(context, sf.getConditionExpression(), boolean.class);
if((Boolean)e.getValue(context)){
nodeMap.put(sourceFlowElement.getId(), sourceFlowElement);
break;
}
}
logger.info(String.valueOf(sourceFlowElement.isNotExclusive()));
if (sourceFlowElement instanceof org.activiti.bpmn.model.UserTask) {
nodeMap.put(sourceFlowElement.getId(), sourceFlowElement);
}else if (sourceFlowElement instanceof org.activiti.bpmn.model.ExclusiveGateway || !sourceFlowElement.isNotExclusive()) {
iteratorNextNodes(process, sourceFlowElement, nodeMap,listVar,workId);
}
}
}
*/
/*
*/
/**
* 获取流程图像,已执行节点和流程线高亮显示
*//*
public InputStream getActivitiProccessImage(String pProcessInstanceId) {
//logger.info("[开始]-获取流程图图像");
try {
// 获取历史流程实例
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
.processInstanceId(pProcessInstanceId).singleResult();
if (historicProcessInstance == null) {
//throw new BusinessException("获取流程实例ID[" + pProcessInstanceId + "]对应的历史流程实例失败!");
}
else
{
// 获取流程定义
ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService)
.getDeployedProcessDefinition(historicProcessInstance.getProcessDefinitionId());
// 获取流程历史中已执行节点,并按照节点在流程中执行先后顺序排序
List<HistoricActivityInstance> historicActivityInstanceList = historyService.createHistoricActivityInstanceQuery()
.processInstanceId(pProcessInstanceId).orderByHistoricActivityInstanceId().asc().list();
// 已执行的节点ID集合
List<String> executedActivityIdList = new ArrayList<String>();
int index = 1;
//logger.info("获取已经执行的节点ID");
for (HistoricActivityInstance activityInstance : historicActivityInstanceList) {
executedActivityIdList.add(activityInstance.getActivityId());
//logger.info("第[" + index + "]个已执行节点=" + activityInstance.getActivityId() + " : " +activityInstance.getActivityName());
index++;
}
BpmnModel bpmnModel = repositoryService.getBpmnModel(historicProcessInstance.getProcessDefinitionId());
// 已执行的线集合
List<String> flowIds = new ArrayList<String>();
// 获取流程走过的线 (getHighLightedFlows是下面的方法)
flowIds = getHighLightedFlows(bpmnModel,processDefinition, historicActivityInstanceList);
// 获取流程图图像字符流
ProcessDiagramGenerator pec = processEngineFactory.getProcessEngineConfiguration().getProcessDiagramGenerator();
//配置字体
InputStream imageStream = pec.generateDiagram(bpmnModel, "png", executedActivityIdList, flowIds,"宋体","微软雅黑","黑体",null,2.0);
return imageStream;
}
//logger.info("[完成]-获取流程图图像");
} catch (Exception e) {
System.out.println(e.getMessage());
//logger.error("【异常】-获取流程图失败!" + e.getMessage());
//throw new BusinessException("获取流程图失败!" + e.getMessage());
}
return null;
}
*/
/* public List<String> getHighLightedFlows(BpmnModel bpmnModel,ProcessDefinitionEntity processDefinitionEntity,List<HistoricActivityInstance> historicActivityInstances)
{
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //24小时制
List<String> highFlows = new ArrayList<String>();// 用以保存高亮的线flowId
for (int i = 0; i < historicActivityInstances.size() - 1; i++)
{
// 对历史流程节点进行遍历
// 得到节点定义的详细信息
FlowNode activityImpl = (FlowNode)bpmnModel.getMainProcess().getFlowElement(historicActivityInstances.get(i).getActivityId());
List<FlowNode> sameStartTimeNodes = new ArrayList<FlowNode>();// 用以保存后续开始时间相同的节点
FlowNode sameActivityImpl1 = null;
HistoricActivityInstance activityImpl_ = historicActivityInstances.get(i);// 第一个节点
HistoricActivityInstance activityImp2_ ;
for(int k = i + 1 ; k <= historicActivityInstances.size() - 1; k++)
{
activityImp2_ = historicActivityInstances.get(k);// 后续第1个节点
if ( activityImpl_.getActivityType().equals("userTask") && activityImp2_.getActivityType().equals("userTask") &&
df.format(activityImpl_.getStartTime()).equals(df.format(activityImp2_.getStartTime())) ) //都是usertask,且主节点与后续节点的开始时间相同,说明不是真实的后继节点
{
}
else
{
sameActivityImpl1 = (FlowNode)bpmnModel.getMainProcess().getFlowElement(historicActivityInstances.get(k).getActivityId());//找到紧跟在后面的一个节点
break;
}
}
sameStartTimeNodes.add(sameActivityImpl1); // 将后面第一个节点放在时间相同节点的集合里
for (int j = i + 1; j < historicActivityInstances.size() - 1; j++)
{
HistoricActivityInstance activityImpl1 = historicActivityInstances.get(j);// 后续第一个节点
HistoricActivityInstance activityImpl2 = historicActivityInstances.get(j + 1);// 后续第二个节点
if (df.format(activityImpl1.getStartTime()).equals(df.format(activityImpl2.getStartTime())) )
{// 如果第一个节点和第二个节点开始时间相同保存
FlowNode sameActivityImpl2 = (FlowNode)bpmnModel.getMainProcess().getFlowElement(activityImpl2.getActivityId());
sameStartTimeNodes.add(sameActivityImpl2);
}
else
{// 有不相同跳出循环
break;
}
}
List<SequenceFlow> pvmTransitions = activityImpl.getOutgoingFlows() ; // 取出节点的所有出去的线
for (SequenceFlow pvmTransition : pvmTransitions)
{// 对所有的线进行遍历
FlowNode pvmActivityImpl = (FlowNode)bpmnModel.getMainProcess().getFlowElement( pvmTransition.getTargetRef());// 如果取出的线的目标节点存在时间相同的节点里,保存该线的id,进行高亮显示
if (sameStartTimeNodes.contains(pvmActivityImpl)) {
highFlows.add(pvmTransition.getId());
}
}
}
return highFlows;
}
*/
}
src/main/java/com/zgiot/zx/workflow/service/impl/ProcessGatewayServiceImpl.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.zgiot.zx.workflow.entity.TemplateGatewayDO
;
import
com.zgiot.zx.workflow.mapper.ProcessGatewayMapper
;
import
com.zgiot.zx.workflow.service.IProcessGatewayService
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 服务实现类
* </p>
*
* @author wangxiahui
* @since 2019-05-28
*/
@Service
public
class
ProcessGatewayServiceImpl
extends
ServiceImpl
<
ProcessGatewayMapper
,
TemplateGatewayDO
>
implements
IProcessGatewayService
{
}
src/main/java/com/zgiot/zx/workflow/service/impl/ReadBpmn.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.generator.config.IFileCreate
;
import
com.zgiot.zx.workflow.entity.*
;
import
com.zgiot.zx.workflow.mapper.*
;
import
lombok.extern.slf4j.Slf4j
;
import
org.activiti.bpmn.converter.BpmnXMLConverter
;
import
org.activiti.bpmn.model.Process
;
import
org.activiti.bpmn.model.*
;
import
org.activiti.engine.RepositoryService
;
import
org.activiti.engine.repository.Deployment
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.xml.stream.XMLInputFactory
;
import
javax.xml.stream.XMLStreamException
;
import
java.io.FileInputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.nio.file.Files
;
import
java.nio.file.Paths
;
import
java.util.*
;
//activiti动态读取xml文件
@Slf4j
@Component
public
class
ReadBpmn
{
@Value
(
"${template.processfile.path}"
)
private
String
processPath
;
private
static
final
String
REJECT
=
"驳回"
;
private
static
final
String
PASS
=
"通过"
;
private
static
final
String
ASSIGNEE
=
"#{START_USER}"
;
@Autowired
private
WorkApproveMapper
workApproveMapper
;
@Autowired
private
SUserMapper
sUserMapper
;
@Autowired
private
SRoleMapper
sRoleMapper
;
@Autowired
private
ProcessFileMapper
processFileMapper
;
@Autowired
RepositoryService
repositoryService
;
@Autowired
private
ProcessGatewayMapper
processGatewayMapper
;
public
List
<
String
>
newProcessFile
(
String
filePath
,
String
templateId
)
throws
IOException
,
XMLStreamException
{
String
fileNamePath
=
processPath
;
InputStream
inputStream
=
new
FileInputStream
(
fileNamePath
+
filePath
);
//通过模板id查询approve表信息;
QueryWrapper
<
TemplateApproveDO
>
qw
=
new
QueryWrapper
<>();
qw
.
eq
(
"template_id"
,
templateId
);
//根据模板id查询网关表信息;
QueryWrapper
<
TemplateGatewayDO
>
qw1
=
new
QueryWrapper
<>();
qw1
.
eq
(
"template_id"
,
templateId
);
List
<
TemplateGatewayDO
>
templateGatewayDOS
=
processGatewayMapper
.
selectList
(
qw1
);
List
<
TemplateApproveDO
>
list
=
workApproveMapper
.
selectList
(
qw
);
//设置角色
List
<
Map
<
String
,
List
<
String
>>>
assignees
=
new
ArrayList
<>();
Map
<
String
,
List
<
String
>>
assigneeMap
=
new
HashMap
<>();
List
<
String
>
names
=
null
;
//设置角色
List
<
Map
<
String
,
List
<
String
>>>
candidateGroups
=
new
ArrayList
<>();
Map
<
String
,
List
<
String
>>
candidateMap
=
new
HashMap
<>();
for
(
TemplateApproveDO
templateApproveDO
:
list
)
{
names
=
new
ArrayList
<>();
if
(
"1"
.
equals
(
templateApproveDO
.
getPersonType
()))
{
String
personData
=
templateApproveDO
.
getPersonData
();
String
[]
split
=
personData
.
split
(
","
);
for
(
int
i
=
0
;
i
<
split
.
length
;
i
++)
{
SUser
sUser
=
sUserMapper
.
selectById
(
split
[
i
]);
if
(
sUser
!=
null
)
{
names
.
add
(
sUser
.
getName
());
}
}
assigneeMap
.
put
(
templateApproveDO
.
getActivityId
(),
names
);
assignees
.
add
(
assigneeMap
);
}
else
{
String
personData
=
templateApproveDO
.
getPersonData
();
String
[]
split
=
personData
.
split
(
","
);
for
(
int
i
=
0
;
i
<
split
.
length
;
i
++)
{
SRole
sRole
=
sRoleMapper
.
selectById
(
split
[
i
]);
if
(
sRole
!=
null
)
{
log
.
debug
(
"---------------"
+
sRole
.
getCode
());
names
.
add
(
sRole
.
getCode
());
}
}
candidateMap
.
put
(
templateApproveDO
.
getActivityId
(),
names
);
candidateGroups
.
add
(
candidateMap
);
}
}
/* List<Map<String, List<String>>> candidateGroups = new ArrayList<>();
Map<String, List<String>> candidateMap = new HashMap<>();
List<String> tasklist1 = new ArrayList<>();
tasklist1.add("业务部门一");
tasklist1.add("业务部门三");
candidateMap.put("userTask1", tasklist1);
List<String> tasklist2 = new ArrayList<>();
tasklist2.add("业务部门二");
tasklist2.add("业务部门三");
candidateMap.put("userTask2", tasklist2);
candidateGroups.add(candidateMap);
//设置活动id和与之对应的角色
List<Map<String, List<String>>> assignees = new ArrayList<>();
Map<String, List<String>> assigneeMap = new HashMap<>();
List<String> names = new ArrayList<>();
names.add("张三");
names.add("李四");
assigneeMap.put("userTask1", names);
List<String> names1 = new ArrayList<>();
names1.add("王二");
names1.add("麻子");
assigneeMap.put("userTask2", names1);
assignees.add(assigneeMap);*/
//创建bpmnxml解析对象
BpmnXMLConverter
converter
=
new
BpmnXMLConverter
();
XMLInputFactory
factory
=
XMLInputFactory
.
newInstance
();
BpmnModel
bpmnModel
=
converter
.
convertToBpmnModel
(
factory
.
createXMLStreamReader
(
inputStream
));
Process
process
=
bpmnModel
.
getMainProcess
();
//取出所有元素
Collection
<
FlowElement
>
userTaskList
=
process
.
getFlowElements
();
//把经过的任务节点保存到list中
List
<
UserTask
>
userTasks
=
new
ArrayList
<>();
//遍历查询其中为userTask类型的元素
process
.
findFlowElementsOfType
(
UserTask
.
class
).
forEach
(
userTask
->
{
userTasks
.
add
(
userTask
);
List
<
SequenceFlow
>
sequenceFlows
=
userTask
.
getOutgoingFlows
();
//2.设置线的判断条件
//获取为userTask类型的节点,并获取其向外发出去的线
//任务连接大于2条,则说明其有驳回和通过处理
for
(
SequenceFlow
flow
:
sequenceFlows
)
{
if
(
StringUtils
.
isNotEmpty
(
flow
.
getName
()))
{
flow
.
setConditionExpression
(
"#{message=='"
+
flow
.
getName
()
+
"'}"
);
}
/*if (flow.getName().equals(REJECT)) {
//如果此节点指向第一个任务节点,则为驳回(3)
flow.setConditionExpression("#{message==\"3\"}");
} else if (flow.getName().equals(PASS)) {
//反之设为通过
flow.setConditionExpression("#{message==\"2\"}");
}*/
}
});
//获取所有排他网关
process
.
findFlowElementsOfType
(
Gateway
.
class
).
forEach
(
gateway
->
{
List
<
SequenceFlow
>
outgoingFlows
=
gateway
.
getOutgoingFlows
();
//设置线的判断条件
for
(
SequenceFlow
sequenceFlow:
outgoingFlows
)
{
//遍历模板对应的全部网关
for
(
TemplateGatewayDO
templateGatewayDO:
templateGatewayDOS
)
{
if
(
templateGatewayDO
.
getActivityId
().
equals
(
sequenceFlow
.
getId
())){
String
Condition
=
templateGatewayDO
.
getConditions
().
substring
(
8
);
sequenceFlow
.
setConditionExpression
(
Condition
);
break
;
}
}
}
});
//对所有活动节点进行遍历,找到节点类型为endEvent的
FlowElement
startElement
=
null
;
for
(
FlowElement
flowElement
:
userTaskList
)
{
//添加监听
if
(
flowElement
.
getClass
().
equals
(
EndEvent
.
class
)&&
flowElement
.
getClass
()!=
null
)
{
//如果元素名称为 endEvent就添加监听
List
<
ActivitiListener
>
listeners
=
new
ArrayList
<>();
ActivitiListener
activitiListener
=
new
ActivitiListener
();
activitiListener
.
setEvent
(
"end"
);
activitiListener
.
setImplementationType
(
"class"
);
activitiListener
.
setImplementation
(
"org.rcisoft.common.ProcessStatusListener"
);
listeners
.
add
(
activitiListener
);
flowElement
.
setExecutionListeners
(
listeners
);
}
else
if
(
flowElement
.
getClass
().
equals
(
StartEvent
.
class
))
{
startElement
=
flowElement
;
}
}
List
<
String
>
activitIds
=
new
ArrayList
<>();
String
activitId1
=
""
;
for
(
UserTask
userTask
:
userTasks
)
{
if
(
userTask
.
getIncomingFlows
().
size
()>
0
){
activitId1
=
userTask
.
getId
();
activitIds
.
add
(
activitId1
);
}
}
String
activitId
=
""
;
for
(
UserTask
userTask
:
userTasks
)
{
if
(
userTask
.
getIncomingFlows
().
size
()>
0
&&
userTask
.
getIncomingFlows
().
get
(
0
).
getSourceRef
().
equals
(
startElement
.
getId
())){
activitId
=
userTask
.
getId
();
}
}
for
(
UserTask
userTask
:
userTasks
)
{
if
(
startElement
.
getId
().
equals
(
userTask
.
getIncomingFlows
().
get
(
0
).
getSourceRef
()))
{
userTask
.
setAssignee
(
ASSIGNEE
);
}
else
{
if
(
candidateGroups
!=
null
){
for
(
Map
<
String
,
List
<
String
>>
candidateGroup
:
candidateGroups
)
{
if
(
candidateGroup
.
containsKey
(
userTask
.
getId
()))
{
//设置角色
userTask
.
setCandidateGroups
(
candidateGroup
.
get
(
userTask
.
getId
()));
}
}
}
if
(
assignees
!=
null
){
for
(
Map
<
String
,
List
<
String
>>
assignee
:
assignees
)
{
if
(
assignee
.
containsKey
(
userTask
.
getId
()))
{
//设置组任务,任务办理人
userTask
.
setCandidateUsers
(
assignee
.
get
(
userTask
.
getId
()));
}
}
}
}
}
/* if (userTask.getOutgoingFlows().size()<2) {
System.out.println("首节点:"+userTasks.get(0));
userTasks.get(0).setAssignee(ASSIGNEE);
} else if (userTask.getOutgoingFlows().size()>1){
//1.为其设置任务角色和办理人
System.out.println("UserTask类型ID:" + userTask.getId());*/
// 这行代码是重新布局
// new BpmnAutoLayout(bpmnModel).execute();
String
filename
=
String
.
valueOf
(
UUID
.
randomUUID
());
String
filepath
=
filename
+
".bpmn"
;
processFileMapper
.
updateNewProcessFile
(
filepath
,
templateId
,
activitId
);
Files
.
write
(
Paths
.
get
(
processPath
+
filepath
),
converter
.
convertToXML
(
bpmnModel
));
FileInputStream
fileInputStream
=
new
FileInputStream
(
processPath
+
filepath
);
Deployment
deploy
=
repositoryService
.
createDeployment
().
name
(
filename
).
addInputStream
(
filepath
,
fileInputStream
).
deploy
();
return
activitIds
;
}
}
src/main/java/com/zgiot/zx/workflow/service/impl/WorkApproveServiceImpl.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.zgiot.zx.workflow.dto.MTUserInfoRspDTO
;
import
com.zgiot.zx.workflow.entity.TemplateApproveDO
;
import
com.zgiot.zx.workflow.enums.TemplateApproveType
;
import
com.zgiot.zx.workflow.mapper.WorkApproveMapper
;
import
com.zgiot.zx.workflow.service.IWorkApproveService
;
import
com.zgiot.zx.workflow.utils.MTCotactApiRequestClient
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
java.util.*
;
/**
* <p>
* 服务实现类
* </p>
*
* @author jobob
* @since 2019-05-16
*/
@Service
public
class
WorkApproveServiceImpl
extends
ServiceImpl
<
WorkApproveMapper
,
TemplateApproveDO
>
implements
IWorkApproveService
{
Logger
logger
=
LoggerFactory
.
getLogger
(
WorkApproveServiceImpl
.
class
);
private
static
final
String
TEMPLATE_ID
=
"TEMPLATE_ID"
;
private
static
final
String
ACTIVITY_ID
=
"ACTIVITY_ID"
;
/* @Autowired
private IWorkflowApproveDataService workflowApproveDataService;
@Autowired
private MTCotactApiRequestClient mtCotactApiRequestClient;*/
/* @Override
@Transactional
public Boolean saveWorkApprove(TemplateApproveDO templateApproveDO) {
try {
if (templateApproveDO.getTemplateId() == null || "".equals(templateApproveDO.getTemplateId())) {
return false;
}
if (templateApproveDO.getActivityId() == null || "".equals(templateApproveDO.getActivityId())) {
return false;
}
QueryWrapper deleteQw = new QueryWrapper();
deleteQw.eq(TEMPLATE_ID, templateApproveDO.getTemplateId());
deleteQw.eq(ACTIVITY_ID, templateApproveDO.getActivityId());
//保存前先清除之前的数据
baseMapper.delete(deleteQw);
templateApproveDO.setId(UUID.randomUUID().toString().replace("-", ""));
baseMapper.insert(templateApproveDO);
return true;
} catch (Exception e) {
logger.error(e.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return false;
}*/
@Override
@Transactional
public
Boolean
saveWorkApproveBatch
(
List
<
TemplateApproveDO
>
templateApproveDOList
)
{
Set
<
String
>
activityList
=
new
HashSet
<>();
for
(
TemplateApproveDO
templateApproveDO
:
templateApproveDOList
)
{
if
(
templateApproveDO
.
getTemplateId
()
==
null
||
""
.
equals
(
templateApproveDO
.
getTemplateId
()))
{
return
false
;
}
if
(
templateApproveDO
.
getActivityId
()
==
null
||
""
.
equals
(
templateApproveDO
.
getActivityId
()))
{
return
false
;
}
//数据校验,节点是否重复提交
activityList
.
add
(
templateApproveDO
.
getActivityId
());
QueryWrapper
deleteQw
=
new
QueryWrapper
();
deleteQw
.
eq
(
TEMPLATE_ID
,
templateApproveDO
.
getTemplateId
());
deleteQw
.
eq
(
ACTIVITY_ID
,
templateApproveDO
.
getActivityId
());
//保存前先清除之前的数据
baseMapper
.
delete
(
deleteQw
);
templateApproveDO
.
setId
(
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
));
}
if
(
templateApproveDOList
.
size
()
!=
activityList
.
size
())
{
return
false
;
}
return
this
.
saveBatch
(
templateApproveDOList
);
}
@Override
public
List
<
TemplateApproveDO
>
getWorkApprove
(
String
templateId
)
{
QueryWrapper
qw
=
new
QueryWrapper
();
qw
.
eq
(
TEMPLATE_ID
,
templateId
);
return
baseMapper
.
selectList
(
qw
);
}
/* @Override
public TemplateApproveDO getApproveByTempIdAndactivityId(String templateId, String acticitiId) {
QueryWrapper qw = new QueryWrapper();
qw.eq(TEMPLATE_ID, templateId);
qw.eq(ACTIVITY_ID, acticitiId);
return baseMapper.selectOne(qw);
}*/
/* @Override
public List<TemplateApproveDO> getCreatorSelectApprove(String templateId, String workId) {
TemplateApproveDO templateApproveDO = new TemplateApproveDO();
templateApproveDO.setPersonType(TemplateApproveType.CREATESELECT.getKey());
templateApproveDO.setWorkId(workId);
templateApproveDO.setTemplateId(templateId);
List<TemplateApproveDO> list = baseMapper.selectApproveData(templateApproveDO);
if(StringUtils.isBlank(workId)){
for(TemplateApproveDO templateApproveDO1 : list){
templateApproveDO1.setPersonData("");
}
}else{
List<String> userIdList = new ArrayList<>();
for(TemplateApproveDO t : list){
userIdList.add(t.getPersonData());
}
MTUserGetsReqDTO mtUserGetsReqDTO = new MTUserGetsReqDTO();
mtUserGetsReqDTO.setCorpId("6");
mtUserGetsReqDTO.setIds(userIdList);
List<MTUserInfoRspDTO> userList = mtCotactApiRequestClient.userGets(mtUserGetsReqDTO,null);
Map<String,MTUserInfoRspDTO> userMap = new HashMap();
for(MTUserInfoRspDTO mtUserInfoRspDTO : userList){
userMap.put(String.valueOf(mtUserInfoRspDTO.getId()),mtUserInfoRspDTO);
}
for(TemplateApproveDO t : list){
t.setMtUserInfoRspDTO(userMap.get(t.getPersonData()));
}
}
return list;
}
*/
/* @Override
public void updateCreateSelectApprove(String workApproveData,String workId) throws Exception{
JSONObject json = JSON.parseObject(workApproveData);
JSONArray approveData = json.getJSONArray("approveData");
List<TemplateApproveDataDO> templateApproveDataDOList = new ArrayList<TemplateApproveDataDO>();
if (approveData != null && !approveData.isEmpty()) {
for (Object obj : approveData) {
JSONObject jsonObject = (JSONObject) obj;
TemplateApproveDataDO templateApproveDataDO = new TemplateApproveDataDO();
templateApproveDataDO.setId(UUID.randomUUID().toString());
templateApproveDataDO.setPersonData(jsonObject.get("personData").toString());
templateApproveDataDO.setActivityId(jsonObject.get("activityId").toString());
templateApproveDataDO.setWorkId(workId);
templateApproveDataDOList.add(templateApproveDataDO);
}
if(!templateApproveDataDOList.isEmpty()){
QueryWrapper delQw = new QueryWrapper();
delQw.eq("work_id",workId);
//保存之前先根据工单id清除
workflowApproveDataService.remove(delQw);
workflowApproveDataService.saveBatch(templateApproveDataDOList);
}
}
}*/
}
src/main/java/com/zgiot/zx/workflow/service/impl/WorkPermissionServiceImpl.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.zgiot.zx.workflow.dto.WorkPermissionInfoResDTO
;
import
com.zgiot.zx.workflow.dto.WorkPermissionResDTO
;
import
com.zgiot.zx.workflow.entity.TemplatePermissionDO
;
import
com.zgiot.zx.workflow.mapper.WorkPermissionMapper
;
import
com.zgiot.zx.workflow.mapper.WorkTemplateFieldMapper
;
import
com.zgiot.zx.workflow.service.IWorkPermissionService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.activiti.bpmn.converter.BpmnXMLConverter
;
import
org.activiti.bpmn.model.BpmnModel
;
import
org.activiti.bpmn.model.FlowElement
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
javax.xml.stream.XMLInputFactory
;
import
javax.xml.stream.XMLStreamReader
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.InputStreamReader
;
import
java.util.*
;
/**
* <p>
* 服务实现类
* </p>
*
* @author jobob
* @since 2019-05-08
*/
@Service
@Slf4j
public
class
WorkPermissionServiceImpl
extends
ServiceImpl
<
WorkPermissionMapper
,
TemplatePermissionDO
>
implements
IWorkPermissionService
{
Logger
logger
=
LoggerFactory
.
getLogger
(
WorkPermissionServiceImpl
.
class
);
/*@Autowired
ProcessFileMapper processFileMapper;*/
/* @Autowired
WorkTemplateFieldMapper workTemplateFieldMapper;*/
/*@Override
public boolean saveWorkPermission(String jsonStr) {
try {
JSONObject json = JSON.parseObject(jsonStr);
String templateId = json.getString("templateId");
String activityId = json.getString("activityId");
if (activityId == null || "".equals(activityId)) {
return false;
}
//先通过流程节点ID清除掉之前的表单配置
QueryWrapper qw = new QueryWrapper();
qw.eq("ACTIVITY_ID", activityId);
baseMapper.delete(qw);
JSONArray template = json.getJSONArray("template");
List<TemplatePermissionDO> templatePermissionDOList = new ArrayList<>();
for (Object obj : template) {
JSONObject fieldJson = (JSONObject) obj;
TemplatePermissionDO templatePermissionDO = TemplatePermissionDO.builder().id(UUID.randomUUID().toString().replace("-", ""))
.templateId(templateId)
.activityId(activityId)
.permission(fieldJson.getString("permission"))
.fieldId(fieldJson.getString("fieldId")).build();
templatePermissionDOList.add(templatePermissionDO);
}
this.saveBatch(templatePermissionDOList);
return true;
} catch (Exception e) {
logger.error(e.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return false;
}*/
@Override
public
boolean
saveWorkPermissionBatch
(
String
jsonStr
)
{
try
{
JSONArray
jsonArray
=
JSON
.
parseArray
(
jsonStr
);
jsonArray
.
size
();
for
(
int
i
=
0
;
i
<
jsonArray
.
size
();
i
++)
{
JSONObject
json
=
JSON
.
parseObject
(
jsonArray
.
get
(
i
).
toString
());
String
templateId
=
json
.
getString
(
"templateId"
);
String
activityId
=
json
.
getString
(
"activityId"
);
if
(
activityId
==
null
||
""
.
equals
(
activityId
))
{
return
false
;
}
if
(
templateId
!=
null
&&
!
""
.
equals
(
templateId
))
{
//先通过流程节点ID清除掉之前的表单配置
QueryWrapper
qw
=
new
QueryWrapper
();
qw
.
eq
(
"activity_id"
,
activityId
);
qw
.
eq
(
"template_id"
,
templateId
);
baseMapper
.
delete
(
qw
);
JSONArray
template
=
json
.
getJSONArray
(
"form"
);
List
<
TemplatePermissionDO
>
templatePermissionDOList
=
new
ArrayList
<>();
for
(
Object
obj
:
template
)
{
JSONObject
fieldJson
=
(
JSONObject
)
obj
;
TemplatePermissionDO
templatePermissionDO
=
TemplatePermissionDO
.
builder
().
id
(
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
))
.
templateId
(
templateId
)
.
activityId
(
activityId
)
.
permission
(
fieldJson
.
getString
(
"permission"
))
.
fieldId
(
fieldJson
.
getString
(
"fieldId"
))
.
ifWrite
(
fieldJson
.
getString
(
"ifWrite"
)).
build
();
templatePermissionDOList
.
add
(
templatePermissionDO
);
}
this
.
saveBatch
(
templatePermissionDOList
);
}
}
return
true
;
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
}
return
false
;
}
@Override
public
List
<
WorkPermissionInfoResDTO
>
getWorkPermissionByTemplateId
(
String
templateId
)
{
List
<
WorkPermissionResDTO
>
WorkPermissionResDTOList
=
baseMapper
.
selectListByTemplateId
(
templateId
);
Map
<
String
,
String
>
map
=
new
HashMap
<>();
for
(
WorkPermissionResDTO
workPermissionResDTO
:
WorkPermissionResDTOList
){
map
.
put
(
workPermissionResDTO
.
getActivityId
(),
"1"
);
}
List
<
WorkPermissionInfoResDTO
>
list
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
String
,
String
>
entry
:
map
.
entrySet
())
{
WorkPermissionInfoResDTO
workPermissionInfoResDTO
=
new
WorkPermissionInfoResDTO
();
List
<
WorkPermissionResDTO
>
templatePermission
=
new
ArrayList
<>();
for
(
WorkPermissionResDTO
wp
:
WorkPermissionResDTOList
)
{
if
(
entry
.
getKey
().
equals
(
wp
.
getActivityId
()))
{
templatePermission
.
add
(
wp
);
}
}
workPermissionInfoResDTO
.
setTemplateId
(
templateId
);
workPermissionInfoResDTO
.
setActivityId
(
entry
.
getKey
());
workPermissionInfoResDTO
.
setForm
(
templatePermission
);
list
.
add
(
workPermissionInfoResDTO
);
}
return
list
;
}
/* @Override
public List<WorkPermissionResDTO> queryPermissionAndField(String templateId) {
//通过节点id查询查询表单信息
return baseMapper.queryPermissionAndFieldByNode("StartEvent_1", templateId);
}*/
/**
* 根据流程文件获取流程文件的唯一ID
*
* @param bpmnPath
* @return
*/
public
String
queryBPMNkey
(
String
bpmnPath
)
{
File
processFile
=
new
File
(
bpmnPath
);
XMLInputFactory
xif
=
XMLInputFactory
.
newInstance
();
InputStreamReader
in
;
XMLStreamReader
xtr
;
String
activitiNodeId
=
""
;
try
{
in
=
new
InputStreamReader
(
new
FileInputStream
(
processFile
));
xtr
=
xif
.
createXMLStreamReader
(
in
);
BpmnModel
model
=
new
BpmnXMLConverter
().
convertToBpmnModel
(
xtr
);
if
(
model
!=
null
)
{
List
<
FlowElement
>
flowElements
=
(
List
)
model
.
getMainProcess
().
getFlowElements
();
activitiNodeId
=
flowElements
.
get
(
0
).
getId
();
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"文件读取失败"
);
}
return
activitiNodeId
;
}
}
src/main/java/com/zgiot/zx/workflow/service/impl/WorkTemplateFieldServiceImpl.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.zgiot.zx.workflow.entity.TemplateFormFieldDO
;
import
com.zgiot.zx.workflow.mapper.WorkTemplateFieldMapper
;
import
com.zgiot.zx.workflow.service.IWorkTemplateFieldService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* <p>
* 服务实现类
* </p>
*
* @author jobob
* @since 2019-05-08
*/
@Service
public
class
WorkTemplateFieldServiceImpl
extends
ServiceImpl
<
WorkTemplateFieldMapper
,
TemplateFormFieldDO
>
implements
IWorkTemplateFieldService
{
Logger
logger
=
LoggerFactory
.
getLogger
(
WorkTemplateFieldServiceImpl
.
class
);
@Override
@Transactional
public
boolean
saveOrUpdateWorkTempldateField
(
String
templateId
,
String
jsonStr
)
{
try
{
JSONObject
json
=
JSON
.
parseObject
(
jsonStr
);
//保存前先清除之前的信息
QueryWrapper
qw
=
new
QueryWrapper
();
qw
.
eq
(
"TEMPLATE_ID"
,
templateId
);
baseMapper
.
delete
(
qw
);
JSONArray
array
=
json
.
getJSONArray
(
"template"
);
List
<
TemplateFormFieldDO
>
insertList
=
new
ArrayList
<>();
if
(
array
!=
null
&&
!
array
.
isEmpty
())
{
for
(
Object
obj
:
array
)
{
JSONObject
levelFirst
=
(
JSONObject
)
obj
;
// JSONObject levelecond = levelFirst.getJSONObject("obj");
TemplateFormFieldDO
wtf
=
TemplateFormFieldDO
.
builder
().
id
(
levelFirst
.
getString
(
"id"
))
.
templateId
(
templateId
)
.
fieldNm
(
levelFirst
.
get
(
"fieldNm"
).
toString
())
.
fieldOrder
(
Integer
.
parseInt
(
levelFirst
.
get
(
"fieldOrder"
).
toString
()))
.
fieldTp
(
levelFirst
.
get
(
"fieldTp"
).
toString
())
.
major
(
levelFirst
.
get
(
"major"
).
toString
())
.
print
(
levelFirst
.
get
(
"print"
).
toString
())
.
required
(
levelFirst
.
get
(
"required"
).
toString
())
.
expand
(
levelFirst
.
get
(
"expand"
).
toString
())
.
build
();
insertList
.
add
(
wtf
);
}
this
.
saveBatch
(
insertList
);
return
true
;
}
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
}
return
false
;
}
@Override
public
boolean
deleteWorkTempldateField
(
String
templateId
)
{
try
{
QueryWrapper
qw
=
new
QueryWrapper
();
qw
.
eq
(
"TEMPLATE_ID"
,
templateId
);
baseMapper
.
delete
(
qw
);
return
true
;
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
}
return
false
;
}
@Override
public
List
<
TemplateFormFieldDO
>
selectWorkTempldateField
(
String
templateId
)
{
try
{
QueryWrapper
qw
=
new
QueryWrapper
();
qw
.
eq
(
"TEMPLATE_ID"
,
templateId
);
List
<
TemplateFormFieldDO
>
f
=
baseMapper
.
selectList
(
qw
);
return
f
;
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
}
return
null
;
}
/* @Override
public List<TemplateFormFieldDO> getWorkTempldateFieldList(String templateId) {
QueryWrapper qw = new QueryWrapper();
qw.eq("TEMPLATE_ID", templateId);
qw.orderByAsc("FIELD_ORDER");
return baseMapper.selectList(qw);
}*/
}
src/main/java/com/zgiot/zx/workflow/service/impl/WorkTemplateOtherSettingsServiceImpl.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.zgiot.zx.workflow.entity.TemplateOtherSettingsDO
;
import
com.zgiot.zx.workflow.mapper.WorkTemplateOtherSettingsMapper
;
import
com.zgiot.zx.workflow.service.IWorkTemplateOtherSettingsService
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 服务实现类
* </p>
*
* @author jobob
* @since 2019-05-21
*/
@Service
public
class
WorkTemplateOtherSettingsServiceImpl
extends
ServiceImpl
<
WorkTemplateOtherSettingsMapper
,
TemplateOtherSettingsDO
>
implements
IWorkTemplateOtherSettingsService
{
}
src/main/java/com/zgiot/zx/workflow/service/impl/WorkTemplateServiceImpl.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
.
impl
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.io.file.FileReader
;
import
cn.hutool.core.io.file.FileWriter
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.zgiot.zx.workflow.base.Ret
;
import
com.zgiot.zx.workflow.dto.ActivitiResDTO
;
import
com.zgiot.zx.workflow.dto.TemplateTypeResDTO
;
import
com.zgiot.zx.workflow.dto.WorkPermissionInfoResDTO
;
import
com.zgiot.zx.workflow.dto.WorkTemplateResDTO
;
import
com.zgiot.zx.workflow.entity.*
;
import
com.zgiot.zx.workflow.mapper.*
;
import
com.zgiot.zx.workflow.service.*
;
import
lombok.extern.slf4j.Slf4j
;
import
org.activiti.bpmn.converter.BpmnXMLConverter
;
import
org.activiti.bpmn.model.BpmnModel
;
import
org.activiti.bpmn.model.FlowElement
;
import
org.activiti.bpmn.model.UserTask
;
import
org.activiti.engine.ProcessEngine
;
import
org.activiti.engine.RepositoryService
;
import
org.activiti.engine.impl.RepositoryServiceImpl
;
import
org.activiti.engine.impl.pvm.ReadOnlyProcessDefinition
;
import
org.activiti.engine.impl.pvm.process.ActivityImpl
;
import
org.apache.commons.lang3.StringEscapeUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
javax.xml.stream.XMLInputFactory
;
import
javax.xml.stream.XMLStreamReader
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.InputStreamReader
;
import
java.util.*
;
/**
* <p>
* 服务实现类
* </p>
*
* @author jobob
* @since 2019-05-08
*/
@Service
@Slf4j
public
class
WorkTemplateServiceImpl
extends
ServiceImpl
<
WorkTemplateMapper
,
TemplateDO
>
implements
IWorkTemplateService
{
private
Logger
logger
=
LoggerFactory
.
getLogger
(
WorkTemplateServiceImpl
.
class
);
@Autowired
private
ReadBpmn
readBpmn
;
@Autowired
private
ProcessEngine
processEngine
;
@Autowired
private
ProcessFileMapper
processFileMapper
;
@Autowired
private
WorkTemplateMapper
workTemplateMapper
;
@Autowired
private
ProcessGatewayHiMapper
processGatewayHiMapper
;
@Autowired
private
WorkApproveHiMapper
workApproveHiMapper
;
/* @Autowired
private ProcessFileMapper processFileMapper;
@Autowired
private RepositoryService repositoryService;*/
@Autowired
private
WorkApproveMapper
workApproveMapper
;
@Autowired
private
WorkTypeMapper
workTypeMapper
;
@Autowired
private
ProcessGatewayMapper
processGatewayMapper
;
@Autowired
private
WorkPermissionHiMapper
workPermissionHiMapper
;
/* @Autowired
private TbUserMapper tbUserMapper;*/
@Autowired
private
WorkflowTemplateHiRepository
workflowTemplateHiRepository
;
@Autowired
private
TbRoleMapper
tbRoleMapper
;
@Autowired
private
WorkApproveServiceImpl
workApproveService
;
@Autowired
private
IWorkTemplateService
workTemplateService
;
@Autowired
private
IWorkTemplateFieldService
workTemplateFieldService
;
@Autowired
private
IProcessFileService
iProcessFileService
;
@Autowired
private
IWorkPermissionService
workPermissionService
;
@Autowired
private
IWorkTemplateOtherSettingsService
workTemplateOtherSettingsService
;
@Autowired
private
WorkflowTaskService
workflowTaskService
;
/* @Autowired
private ProcessGatewayMapper processGatewayMapper;
@Autowired
private WorkBaseMapper workBaseMapper;*/
@Autowired
private
IProcessGatewayService
processGatewayService
;
@Autowired
private
WorkflowTaskHiRepository
workflowTaskHiRepository
;
/* @Autowired
private TaskServiceImpl taskServiceImpl;
*/
/* @Autowired
private TaskService taskService;
@Autowired
private ITaskDataService taskDataService;
@Autowired
private ITaskInfoService taskInfoService;
@Autowired
private IWorkRecordsService workRecordsService;
@Autowired
private WorkflowApproveDataMapper workflowApproveDataMapper;
@Autowired
private ITaskReadService taskReadService;*/
@Autowired
private
WorkflowTaskHiService
workflowTaskHiService
;
@Autowired
private
SRoleMapper
sRoleMapper
;
@Autowired
private
WorkflowTemplateFormFieldHiRepository
workflowTemplateFormFieldHiRepository
;
@Autowired
private
WorkflowTaskRepository
workflowTaskRepository
;
@Autowired
private
WorkPermissionMapper
workPermissionMapper
;
@Autowired
private
WorkPermissionMapper
workApproveBytemplateFormFieldDO
;
@Autowired
private
RepositoryService
repositoryService
;
@Value
(
"${template.processfile.path}"
)
private
String
processPath
;
private
static
final
String
TEMPLATE_ID
=
"template_id"
;
private
static
final
String
XML_PATH
=
"xmlPath"
;
/* @Override
public Ret deployProcess(String templateId) {
String checkResult = checkTemplate(templateId);
if(!"SUCCESS".equals(checkResult)){
return Ret.error().setMsg(checkResult);
}
try {
QueryWrapper qw = new QueryWrapper();
qw.eq(TEMPLATE_ID, templateId);
List<TemplateProcessFileDO> list = processFileMapper.selectList(qw);
if (list != null && list.size() == 1) {
String processFile = list.get(0).getProcessFilePath();
String processName = list.get(0).getProcessFileNm();
//部署前把表达式写入到xml文件中
//查询表达式
QueryWrapper gerWayQw = new QueryWrapper<>();
gerWayQw.eq(TEMPLATE_ID, templateId);
List<TemplateGatewayDO> templateGatewayDOList = processGatewayMapper.selectList(gerWayQw);
for (TemplateGatewayDO templateGatewayDO : templateGatewayDOList) {
boolean flagFlowId = addConditionExpression(processFile, templateGatewayDO.getActivityId(), templateGatewayDO.getConditions());
if (!flagFlowId) {
return Ret.error().setMsg("流程部署失败");
}
}
repositoryService.createDeployment()
.name(UUID.randomUUID().toString()).addInputStream(processName, new FileInputStream(new File(processFile))).deploy();
TemplateProcessFileDO pf = new TemplateProcessFileDO();
pf.setIfDeploy("1");
QueryWrapper updateQw = new QueryWrapper();
updateQw.eq(TEMPLATE_ID, templateId);
int a = processFileMapper.update(pf, updateQw);
if (a > 0) {
//启用模板
TemplateDO templateDO = new TemplateDO();
templateDO.setId(templateId);
templateDO.setIfEnable("1");
QueryWrapper<TemplateDO> qw2 = new QueryWrapper<>();
qw2.eq("id", templateId);
workTemplateService.update(templateDO, qw2);
return Ret.ok().setMsg("流程部署成功");
}
}
} catch (Exception e) {
logger.error(e.getMessage());
}
return Ret.error().setMsg("流程部署失败");
}
*/
/**
* 模板校验
* 校验规则:1.开始节点、所有用户任务节点必须配置表单项
* 2.所有用户任务节点必须进行审批设置
*
* @return
*/
private
String
checkTemplate
(
String
templateId
)
{
return
"SUCCESS"
;
}
@Override
public
List
<
TemplateTypeResDTO
>
getAllTemplates
(
String
ifEnable
,
String
ifPhone
)
{
List
<
TemplateTypeResDTO
>
result
=
new
ArrayList
<>();
List
<
TemplateTypeDO
>
templateTypeDOList
=
workTypeMapper
.
selectList
(
null
);
for
(
TemplateTypeDO
templateTypeDO
:
templateTypeDOList
)
{
QueryWrapper
qw
=
new
QueryWrapper
();
qw
.
eq
(
"work_tp_id"
,
templateTypeDO
.
getId
());
if
(
StrUtil
.
isNotEmpty
(
ifPhone
))
{
qw
.
eq
(
"PHONE"
,
ifPhone
);
}
if
(
StrUtil
.
isNotEmpty
(
ifEnable
))
{
qw
.
eq
(
"IF_ENABLE"
,
ifEnable
);
}
qw
.
orderByDesc
(
"CREATE_TIME"
);
List
<
TemplateDO
>
templateList
=
baseMapper
.
selectList
(
qw
);
for
(
TemplateDO
templateDO
:
templateList
)
{
String
[]
strs
=
templateDO
.
getCreateRoles
().
split
(
","
);
List
list
=
Arrays
.
asList
(
strs
);
List
<
SRole
>
tbRoles
=
sRoleMapper
.
selectBatchIds
(
list
);
String
rolesName
=
""
;
for
(
SRole
sRole
:
tbRoles
)
{
if
(
rolesName
.
equals
(
""
))
{
rolesName
+=
sRole
.
getRoleName
();
}
else
{
rolesName
+=
","
+
sRole
.
getRoleName
();
}
}
templateDO
.
setCreateRoles
(
rolesName
);
}
TemplateTypeResDTO
templateTypeResDTO
=
new
TemplateTypeResDTO
();
templateTypeResDTO
.
setTemplateList
(
templateList
);
templateTypeResDTO
.
setId
(
templateTypeDO
.
getId
());
templateTypeResDTO
.
setName
(
templateTypeDO
.
getName
());
templateTypeResDTO
.
setIfEnable
(
templateTypeDO
.
getIfEnable
());
result
.
add
(
templateTypeResDTO
);
}
return
result
;
}
/* */
/**
* 审批指定办理人
* <p>
* //@param templateId 模板id
*//*
@Override
public boolean tsakAssignee(String templateId, List<Task> task2List, String workId,String userId) {
try{
for (Task task2 : task2List) {
String activityId = task2.getTaskDefinitionKey();
String taskId = task2.getId();
//查询节点指定的用户
TemplateApproveDO templateApproveDO = workApproveService.getApproveByTempIdAndactivityId(templateId, activityId);
//设置办理人
if (templateApproveDO != null) {
List<String> reveiverUsers = new ArrayList<>();
String personType = templateApproveDO.getPersonType();
if (TemplateApproveType.PERSON.getKey().equals(personType)) {
if(StrUtil.isEmpty(templateApproveDO.getPersonData())){
System.out.println("没有审批人");
}
String[] users = templateApproveDO.getPersonData().split(",");
for(int i=0;i<users.length;i++){
processEngine.getTaskService()//
.addCandidateUser(taskId, users[i]);
}
reveiverUsers = Arrays.asList(users);
}
if (TemplateApproveType.ROLE.getKey().equals(personType)) {
//查询该角色对应的用户id
List<String> tbUserList = tbUserMapper.queryUserByRoleId(templateApproveDO.getPersonData().split(","));
for (String id : tbUserList) {
processEngine.getTaskService()//
.addCandidateUser(taskId, id);
}
reveiverUsers = tbUserList;
}
if(TemplateApproveType.CREATESELECT.getKey().equals(personType) ||
TemplateApproveType.SUPERSELECT.getKey().equals(personType)){
QueryWrapper approveDataQw = new QueryWrapper();
approveDataQw.eq("work_id",workId);
approveDataQw.eq("activity_id",activityId);
TemplateApproveDataDO templateApproveDataDO = workflowApproveDataMapper.selectOne(approveDataQw);
if(templateApproveDataDO != null && templateApproveDataDO.getPersonData() != null){
processEngine.getTaskService()//
.addCandidateUser(taskId, templateApproveDataDO.getPersonData());
reveiverUsers.add(templateApproveDataDO.getPersonData());
}
}
if(TemplateApproveType.CREATESELF.getKey().equals(personType)){
QueryWrapper qw = new QueryWrapper();
qw.eq("work_id",workId);
qw.eq("task_tp", TaskRecordType.CREATE.getKey());
List<TaskRecordsDO> TaskRecordsDO = workRecordsService.list(qw);
if(TaskRecordsDO != null && TaskRecordsDO.size() == 1){
processEngine.getTaskService()//
.addCandidateUser(taskId, TaskRecordsDO.get(0).getHandlePerson());
}
reveiverUsers.add(TaskRecordsDO.get(0).getHandlePerson());
}
if(TemplateApproveType.SAMEBEFOR.getKey().equals(personType)){
processEngine.getTaskService()//
.addCandidateUser(taskId, userId);
reveiverUsers.add(userId);
}
//标记所有当前用户为任务未读状态
List<TaskReadDO> taskReadDOList = new ArrayList<>();
for(String user : reveiverUsers){
TaskReadDO taskReadDO = TaskReadDO.builder().taskId(taskId).id(UUID.randomUUID().toString())
.userId(user).build();
taskReadDOList.add(taskReadDO);
}
taskReadService.saveBatch(taskReadDOList);
//给任务人发送消息
TaskDO taskDO = workBaseMapper.selectById(workId);
if(taskDO != null && "1".equals(taskDO.getIfSend())){
TaskInfoRDTO taskInfoRDTO = new TaskInfoRDTO();
taskInfoRDTO.setReveiverUsers(reveiverUsers);
taskInfoRDTO.setWorkId(workId);
taskInfoService.sendMessage(MessageType.NEWTASK.getKey(),taskInfoRDTO);
}
}
}
return true;
}catch(Exception e){
e.printStackTrace();
logger.error(e.getMessage());
}
return false;
}*/
/* @Transactional
@Override
public Boolean templateCopy(String templateId, String workTpId) {
String templateIdNew = RandomUtil.randomString(9);
//1.模板基础信息
QueryWrapper<TemplateDO> qw = new QueryWrapper<>();
qw.eq("id", templateId);
TemplateDO templateDO = workTemplateService.getOne(qw);
templateDO.setId(templateIdNew);
templateDO.setTemplateNm(templateDO.getTemplateNm() + StringUtil.getRandomString(5));
templateDO.setWorkTpId(workTpId);
templateDO.setIfEnable("0");
templateDO.setCreateTime(new Date());
//复制模板基础信息
workTemplateService.save(templateDO);
//2.查询表单
QueryWrapper qw1 = new QueryWrapper();
qw1.eq(TEMPLATE_ID, templateId);
qw1.orderByAsc("FIELD_ORDER");
List<TemplateFormFieldDO> templateFormFieldDOList = workTemplateFieldService.list(qw1);
for (TemplateFormFieldDO templateFormFieldDO : templateFormFieldDOList) {
templateFormFieldDO.setId(templateFormFieldDO.getId() + RandomUtil.randomString(3));
templateFormFieldDO.setTemplateId(templateIdNew);
}
workTemplateFieldService.saveBatch(templateFormFieldDOList);
//3.查询流程文件xml
Map<String, Object> activiti = new HashMap<>();
//查询xml文件路径
QueryWrapper qw3 = new QueryWrapper();
qw3.eq(TEMPLATE_ID, templateId);
TemplateProcessFileDO templateProcessFileDO = iProcessFileService.getOne(qw3);
if (templateProcessFileDO != null) {
//读取xml返回字符串
FileReader fileReader = new FileReader(templateProcessFileDO.getProcessFilePath());
String result = fileReader.readString();
//替换processId
result = result.replace("p" + templateId, "p" + templateIdNew);
this.uploadActitytiBpmn(result, templateIdNew);
}
//表单权限配置
QueryWrapper qw4 = new QueryWrapper<>();
qw4.eq(TEMPLATE_ID, templateId);
List<TemplatePermissionDO> templatePermissionDOList = workPermissionService.list(qw4);
for (TemplatePermissionDO templatePermissionDO : templatePermissionDOList) {
templatePermissionDO.setId(IdUtil.randomUUID());
templatePermissionDO.setTemplateId(templateIdNew);
}
workPermissionService.saveBatch(templatePermissionDOList);
// 流程判断
QueryWrapper processGatewayQueryWrapper = new QueryWrapper<>();
processGatewayQueryWrapper.eq(TEMPLATE_ID, templateId);
List<TemplateGatewayDO> templateGatewayDOList = processGatewayService.list(processGatewayQueryWrapper);
for(TemplateGatewayDO templateGatewayDO : templateGatewayDOList) {
templateGatewayDO.setId(IdUtil.randomUUID());
templateGatewayDO.setTemplateId(templateIdNew);
}
processGatewayService.saveBatch(templateGatewayDOList);
//审批人员配置
List<TemplateApproveDO> templateApproveDOList = workApproveService.getWorkApprove(templateId);
for (TemplateApproveDO templateApproveDO : templateApproveDOList) {
templateApproveDO.setTemplateId(templateIdNew);
templateApproveDO.setId(IdUtil.randomUUID());
}
workApproveService.saveBatch(templateApproveDOList);
//4.查询其他设置
QueryWrapper<TemplateOtherSettingsDO> qw5 = new QueryWrapper<>();
qw5.eq(TEMPLATE_ID, templateId);
TemplateOtherSettingsDO templateOtherSettingsDO = workTemplateOtherSettingsService.getOne(qw5);
if (templateOtherSettingsDO != null) {
templateOtherSettingsDO.setTemplateId(templateIdNew);
workTemplateOtherSettingsService.save(templateOtherSettingsDO);
}
return true;
}*/
@Override
@Transactional
public
Boolean
publishBytemplate
(
TemplateDO
templateDO
)
{
try
{
//通过原来template查询file地址
QueryWrapper
<
TemplateProcessFileDO
>
qw1
=
new
QueryWrapper
<>();
qw1
.
eq
(
"template_id"
,
templateDO
.
getId
());
List
<
TemplateProcessFileDO
>
templateProcessFileDOS
=
processFileMapper
.
selectList
(
qw1
);
String
processFilePath
=
templateProcessFileDOS
.
get
(
0
).
getProcessFilePath
();
List
<
String
>
activitiIds
=
new
ArrayList
<>();
if
(
processFilePath
!=
null
)
{
activitiIds
=
readBpmn
.
newProcessFile
(
processFilePath
,
templateDO
.
getId
());
}
//删除activitiIds不存在的审批人和权限
workPermissionMapper
.
deleteByActivitiId
(
activitiIds
,
templateDO
.
getId
());
workApproveMapper
.
deleteByActivitiId
(
activitiIds
,
templateDO
.
getId
());
//根据模板id查询工单表数据
WorkflowTask
workflowTask
=
workflowTaskService
.
selectBytemplate
(
templateDO
);
if
(
workflowTask
!=
null
)
{
//修改工单状态为发布
workflowTaskRepository
.
updateStatus
(
templateDO
);
//重新生成workId
workflowTask
.
setWorkId
(
String
.
valueOf
(
UUID
.
randomUUID
()));
//数据存入工单存贮表
workflowTaskHiRepository
.
insertWorkflowTaskHi
(
workflowTask
);
}
//修改模板状态
workTemplateMapper
.
updateStatus
(
templateDO
);
//根据模板id查出模板数据
QueryWrapper
<
TemplateDO
>
qw
=
new
QueryWrapper
<>();
qw
.
eq
(
"id"
,
templateDO
.
getId
());
TemplateDO
templateDO1
=
workTemplateService
.
getOne
(
qw
);
WorkflowTemplateHi
workflowTemplateHi
=
new
WorkflowTemplateHi
();
//根据模板类型查询历史模板表最大版本
List
<
String
>
versionHiByTptem
=
workflowTemplateHiRepository
.
temVersionHiByTptem
(
templateDO1
);
//判断是否存在
if
(
StringUtils
.
isNotEmpty
(
versionHiByTptem
.
get
(
0
)))
{
//存在版本加1
String
version
=
String
.
valueOf
(
Integer
.
parseInt
(
versionHiByTptem
.
get
(
0
))
+
1
);
workflowTemplateHi
.
setVersion
(
version
);
}
else
{
//不存在默认版本为1
String
version
=
"1"
;
workflowTemplateHi
.
setVersion
(
version
);
}
//重新生成模板
workflowTemplateHi
.
setId
(
String
.
valueOf
(
UUID
.
randomUUID
()));
workflowTemplateHi
.
setCreateRoles
(
templateDO1
.
getCreateRoles
());
workflowTemplateHi
.
setCreateTime
(
templateDO1
.
getCreateTime
());
workflowTemplateHi
.
setIconImage
(
templateDO1
.
getIconImage
());
workflowTemplateHi
.
setIfEnable
(
templateDO1
.
getIfEnable
());
workflowTemplateHi
.
setManagerRoles
(
templateDO1
.
getManagerRoles
());
workflowTemplateHi
.
setPhone
(
templateDO1
.
getPhone
());
workflowTemplateHi
.
setTemplateExplain
(
templateDO1
.
getWorkTpId
());
workflowTemplateHi
.
setTemplateNm
(
templateDO1
.
getTemplateNm
());
workflowTemplateHi
.
setTypeTemplate
(
templateDO1
.
getTypeTemplate
());
workflowTemplateHi
.
setUpdateTime
(
templateDO1
.
getUpdateTime
());
workflowTemplateHi
.
setWorkTpId
(
templateDO1
.
getWorkTpId
());
//保存到模板存贮表
workflowTemplateHiRepository
.
insertTemplateHi
(
workflowTemplateHi
);
//根据当前模板id对应的Field
List
<
TemplateFormFieldDO
>
templateFormFieldDOS
=
workTemplateFieldService
.
selectWorkTempldateField
(
templateDO
.
getId
());
List
<
TemplateFormFieldDO
>
templateFormFieldHiDOS
=
new
ArrayList
<>();
List
<
TemplatePermissionDO
>
templatePermissionDOHis
=
new
ArrayList
<>();
for
(
TemplateFormFieldDO
templateFormFieldDO
:
templateFormFieldDOS
)
{
//根据原来的模板id和原fieldid和活动id找到当前的permission对象
List
<
TemplatePermissionDO
>
templatePermissionDOs
=
workPermissionMapper
.
workPermissionByTemplateFormFieldDO
(
templateFormFieldDO
);
//重新生成Formfield的ID
templateFormFieldDO
.
setId
(
String
.
valueOf
(
UUID
.
randomUUID
()));
//设置模板id为对应的模板存贮表id;
templateFormFieldDO
.
setTemplateId
(
workflowTemplateHi
.
getId
());
for
(
TemplatePermissionDO
templatePermissionDO
:
templatePermissionDOs
)
{
//重新生成权限表id
templatePermissionDO
.
setId
(
String
.
valueOf
(
UUID
.
randomUUID
()));
//设置权限表表单id为表单存贮表当前id
templatePermissionDO
.
setFieldId
(
templateFormFieldDO
.
getId
());
//设置模板id为对应的模板存贮表id;
templatePermissionDO
.
setTemplateId
(
workflowTemplateHi
.
getId
());
//历史权限表数据存入list
templatePermissionDOHis
.
add
(
templatePermissionDO
);
}
//历史表单数据存入list
templateFormFieldHiDOS
.
add
(
templateFormFieldDO
);
}
//查询当前原模板id对应的GateWay
QueryWrapper
wrapper1
=
new
QueryWrapper
();
wrapper1
.
eq
(
"template_id"
,
templateDO
.
getId
());
List
<
TemplateGatewayDO
>
templateGatewayDOs
=
processGatewayMapper
.
selectList
(
wrapper1
);
List
<
TemplateGatewayDO
>
templateGatewayHis
=
new
ArrayList
<>();
for
(
TemplateGatewayDO
templateGatewayDO
:
templateGatewayDOs
)
{
templateGatewayDO
.
setId
(
String
.
valueOf
(
UUID
.
randomUUID
()));
templateGatewayDO
.
setTemplateId
(
workflowTemplateHi
.
getId
());
templateGatewayHis
.
add
(
templateGatewayDO
);
}
//保存到Gateway存贮表
if
(
templateGatewayHis
.
size
()
>
0
)
{
processGatewayHiMapper
.
insertGatewayHi
(
templateGatewayHis
);
}
//保存到Permisstion存贮表
if
(
templatePermissionDOHis
.
size
()
>
0
)
{
workPermissionHiMapper
.
insertPermissionHi
(
templatePermissionDOHis
);
}
//保存到FormField存贮表
if
(
templateFormFieldHiDOS
.
size
()
>
0
)
{
workflowTemplateFormFieldHiRepository
.
insertFormFieldHi
(
templateFormFieldHiDOS
);
}
//查询当前原模板id对应的approve
QueryWrapper
wrapper
=
new
QueryWrapper
();
wrapper
.
eq
(
"template_id"
,
templateDO
.
getId
());
List
<
TemplateApproveDO
>
TemplateApproveDOlist
=
workApproveMapper
.
selectList
(
wrapper
);
List
<
TemplateApproveDO
>
TemplateApproveDOHis
=
new
ArrayList
<>();
for
(
TemplateApproveDO
templateApproveDO
:
TemplateApproveDOlist
)
{
templateApproveDO
.
setId
(
String
.
valueOf
(
UUID
.
randomUUID
()));
templateApproveDO
.
setTemplateId
(
workflowTemplateHi
.
getId
());
TemplateApproveDOHis
.
add
(
templateApproveDO
);
}
//保存当approve存储表
if
(
TemplateApproveDOHis
.
size
()
>
0
)
{
workApproveHiMapper
.
insertApproveHi
(
TemplateApproveDOHis
);
}
//保存到网关历史表
return
true
;
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
}
return
false
;
}
;
//@Transactional
@Override
public
Ret
saveTemplateAll
(
WorkTemplateResDTO
workTemplateResDTO
)
{
if
(
StrUtil
.
isEmpty
(
workTemplateResDTO
.
getTemplateId
()))
{
return
Ret
.
error
().
setMsg
(
"模板id不能为空"
);
}
String
templateId
=
workTemplateResDTO
.
getTemplateId
();
//任务基础设置-----------------------------------------------------------------------
//1保存基础信息
if
(
workTemplateResDTO
.
getWorkTemplate
()
!=
null
)
{
//判断模板id是否存在
TemplateDO
templateDO
=
workTemplateService
.
getById
(
templateId
);
workTemplateResDTO
.
getWorkTemplate
().
setId
(
templateId
);
if
(
templateDO
!=
null
)
{
workTemplateResDTO
.
getWorkTemplate
().
setUpdateTime
(
new
Date
());
workTemplateResDTO
.
getWorkTemplate
().
setStatus
(
"0"
);
workTemplateService
.
updateById
(
workTemplateResDTO
.
getWorkTemplate
());
}
else
{
workTemplateResDTO
.
getWorkTemplate
().
setIfEnable
(
"0"
);
workTemplateResDTO
.
getWorkTemplate
().
setCreateTime
(
new
Date
());
workTemplateService
.
save
(
workTemplateResDTO
.
getWorkTemplate
());
}
}
//任务基础设置-----------------------------------------------------------------------------
//2保存表单信息
if
(
StrUtil
.
isNotEmpty
(
workTemplateResDTO
.
getFieldJsonStr
()))
{
workTemplateFieldService
.
saveOrUpdateWorkTempldateField
(
templateId
,
workTemplateResDTO
.
getFieldJsonStr
());
}
else
if
(
workTemplateResDTO
.
getFieldJsonStr
()
==
""
)
{
workTemplateFieldService
.
deleteWorkTempldateField
(
templateId
);
}
//3保存流程文件
if
(
StrUtil
.
isNotEmpty
(
workTemplateResDTO
.
getXmlJson
()))
{
this
.
uploadActitytiBpmn
(
workTemplateResDTO
.
getXmlJson
(),
templateId
);
}
//任务其他设置----------------------------------------------------------------------
//审批人员配置
if
(
workTemplateResDTO
.
getWorkApproveList
()
!=
null
&&
!
workTemplateResDTO
.
getWorkApproveList
().
isEmpty
())
{
workApproveService
.
saveWorkApproveBatch
(
workTemplateResDTO
.
getWorkApproveList
());
}
//任务其他设置---------------------------------------------------------------------
//表单权限配置
if
(
StrUtil
.
isNotEmpty
(
workTemplateResDTO
.
getPermissionJson
()))
{
workPermissionService
.
saveWorkPermissionBatch
(
workTemplateResDTO
.
getPermissionJson
());
}
//保存表达式
if
(
workTemplateResDTO
.
getProcessGatewayList
()
!=
null
&&
!
workTemplateResDTO
.
getProcessGatewayList
().
isEmpty
())
{
//先进行删除
QueryWrapper
qw
=
new
QueryWrapper
();
qw
.
eq
(
"template_id"
,
templateId
);
processGatewayService
.
remove
(
qw
);
for
(
TemplateGatewayDO
templateGatewayDO
:
workTemplateResDTO
.
getProcessGatewayList
())
{
templateGatewayDO
.
setId
(
IdUtil
.
randomUUID
());
}
processGatewayService
.
saveBatch
(
workTemplateResDTO
.
getProcessGatewayList
());
}
//任务其他设置??----------------------------------------------------------------
//4保存其他设置
/* if (workTemplateResDTO.getWorkTemplateOtherSettings() != null) {
QueryWrapper qw5 = new QueryWrapper();
qw5.eq(TEMPLATE_ID, templateId);
workTemplateOtherSettingsService.remove(qw5);
workTemplateOtherSettingsService.save(workTemplateResDTO.getWorkTemplateOtherSettings());
}*/
//任务其他设置??----------------------------------------------------------------
return
Ret
.
ok
().
setMsg
(
"保存成功"
);
}
/* @Override
public Boolean saveTemplateService(TemplateDO templateDO) {
String tempId = IdUtil.randomUUID();
templateDO.setId(tempId);
templateDO.setIfEnable("0");
return workTemplateService.save(templateDO);
}
@Override
public List<TemplateDO> getTemplateList(TemplateDO templateDO) {
QueryWrapper<TemplateDO> qw = new QueryWrapper<>();
if (StringUtils.isNotEmpty(templateDO.getId())) {
qw.eq("id", templateDO.getId());
}
if (StringUtils.isNotEmpty(templateDO.getIfEnable())) {
qw.eq("IF_ENABLE", templateDO.getIfEnable());
}
if (StringUtils.isNotEmpty(templateDO.getPhone())) {
qw.eq("PHONE", templateDO.getPhone());
}
if (StringUtils.isNotEmpty(templateDO.getTemplateNm())) {
qw.like("TEMPLATE_NM", templateDO.getTemplateNm());
}
if (StringUtils.isNotEmpty(templateDO.getWorkTpId())) {
qw.like("WORK_TP_ID", templateDO.getWorkTpId());
}
return workTemplateService.list(qw);
}
@Override
public IPage<TemplateDO> getTemplatePage(TemplateDO templateDO, Integer page, Integer size) {
QueryWrapper<TemplateDO> qw = new QueryWrapper<>();
if (StringUtils.isNotEmpty(templateDO.getId())) {
qw.eq("id", templateDO.getId());
}
if (StringUtils.isNotEmpty(templateDO.getIfEnable())) {
qw.eq("IF_ENABLE", templateDO.getIfEnable());
}
if (StringUtils.isNotEmpty(templateDO.getPhone())) {
qw.eq("PHONE", templateDO.getPhone());
}
if (StringUtils.isNotEmpty(templateDO.getTemplateNm())) {
qw.like("TEMPLATE_NM", templateDO.getTemplateNm());
}
if (StringUtils.isNotEmpty(templateDO.getWorkTpId())) {
qw.eq("WORK_TP_ID", templateDO.getWorkTpId());
}
return workTemplateService.page(new Page<>(page, size), qw);
}
*/
@Override
public
WorkTemplateResDTO
getTemplateByTemplateId
(
String
templateId
)
{
WorkTemplateResDTO
workTemplateResDTO
=
new
WorkTemplateResDTO
();
//1.模板基础信息
QueryWrapper
<
TemplateDO
>
qw
=
new
QueryWrapper
<>();
qw
.
eq
(
"id"
,
templateId
);
TemplateDO
templateDO
=
workTemplateService
.
getOne
(
qw
);
workTemplateResDTO
.
setWorkTemplate
(
templateDO
);
//2.查询表单
QueryWrapper
qw1
=
new
QueryWrapper
();
qw1
.
eq
(
TEMPLATE_ID
,
templateId
);
qw1
.
orderByAsc
(
"FIELD_ORDER"
);
List
<
TemplateFormFieldDO
>
templateFormFieldDOList
=
workTemplateFieldService
.
list
(
qw1
);
workTemplateResDTO
.
setTemplateFormFieldList
(
templateFormFieldDOList
);
//3.查询流程文件xml
ActivitiResDTO
activiti
=
new
ActivitiResDTO
();
//查询xml文件路径
QueryWrapper
qw2
=
new
QueryWrapper
();
qw2
.
eq
(
TEMPLATE_ID
,
templateId
);
List
<
TemplateProcessFileDO
>
processFile
=
iProcessFileService
.
list
(
qw2
);
if
(
processFile
!=
null
&&
!
processFile
.
isEmpty
())
{
//读取xml返回字符串
FileReader
fileReader
=
new
FileReader
(
processPath
+
processFile
.
get
(
0
).
getProcessFilePath
());
String
result
=
fileReader
.
readString
();
activiti
.
setXmlPath
(
result
);
}
List
<
WorkPermissionInfoResDTO
>
workPermission
=
workPermissionService
.
getWorkPermissionByTemplateId
(
templateId
);
activiti
.
setWorkPermission
(
workPermission
);
List
<
TemplateApproveDO
>
templateApproveDOList
=
workApproveService
.
getWorkApprove
(
templateId
);
activiti
.
setWorkApproveList
(
templateApproveDOList
);
QueryWrapper
qw6
=
new
QueryWrapper
();
qw6
.
eq
(
TEMPLATE_ID
,
templateId
);
List
<
TemplateGatewayDO
>
processGatewayList
=
processGatewayService
.
list
(
qw6
);
Map
<
String
,
TemplateFormFieldDO
>
templateFormFieldDOMap
=
new
HashMap
<>(
templateFormFieldDOList
.
size
());
for
(
TemplateFormFieldDO
templateFormFieldDO
:
templateFormFieldDOList
)
{
templateFormFieldDOMap
.
put
(
templateFormFieldDO
.
getId
(),
templateFormFieldDO
);
}
for
(
TemplateGatewayDO
templateGatewayDO
:
processGatewayList
)
{
templateGatewayDO
.
setTemplateFormFieldDO
(
templateFormFieldDOMap
.
get
(
templateGatewayDO
.
getFieldId
()));
}
activiti
.
setProcessGatewayList
(
processGatewayList
);
workTemplateResDTO
.
setActivitiml
(
activiti
);
/* //4.查询其他设置
QueryWrapper<TemplateOtherSettingsDO> qw3 = new QueryWrapper<>();
qw3.eq(TEMPLATE_ID, templateId);
TemplateOtherSettingsDO templateOtherSettingsDO = workTemplateOtherSettingsService.getOne(qw3);
workTemplateResDTO.setWorkTemplateOtherSettings(templateOtherSettingsDO);*/
return
workTemplateResDTO
;
}
/*
@Override
public Boolean updateTemplateMove(String templateId, String workTpId) {
TemplateDO templateDO = new TemplateDO();
templateDO.setId(templateId);
templateDO.setWorkTpId(workTpId);
return workTemplateService.updateById(templateDO);
}*/
/* @Override
public boolean completTeask(TaskInfoRDTO taskInfoRDTO) {
try{
taskInfoService.completeTaskBefor(taskInfoRDTO);
String taskId = taskInfoRDTO.getTaskId();
String isAgree = taskInfoRDTO.getIsAgree();
String workId = taskInfoRDTO.getWorkId();
TaskEntity task = (TaskEntity) taskService.createTaskQuery().taskId(taskId).singleResult();
//完成任务
this.taskService.addComment(taskId, task.getProcessInstanceId(), isAgree);
//设置流程变量
Map<String, Object> variables = new HashMap<>();
//查询表单所有变量
QueryWrapper qw = new QueryWrapper();
qw.eq("WORK_ID", workId);
List<TaskDataDO> taskDataList = taskDataService.list(qw);
for (TaskDataDO taskData : taskDataList) {
variables.put(taskData.getFieldId(), taskData.getFieldValue());
}
if (StrUtil.isNotEmpty(isAgree)) {
variables.put("flag", isAgree);
}
this.processEngine.getTaskService().complete(taskId, variables);
//创建查询对象
List<Task> task2List = taskService.createTaskQuery()
.processInstanceId(task.getProcessInstanceId()).list();
//任务完成回调
taskInfoService.completeTaskCallback(task2List,workId,taskInfoRDTO);
return true;
}catch(Exception e){
logger.error(e.getMessage());
e.printStackTrace();
}
return false;
}
@Override
public boolean completTaskBatch(List<TaskInfoRDTO> taskInfoRDTOList) {
if(taskInfoRDTOList != null){
for(TaskInfoRDTO taskInfoRDTO : taskInfoRDTOList){
completTeask(taskInfoRDTO);
}
}
return true;
}*/
/* @Override
public boolean recall(String processId, String activityId) {
//不能撤回的情况1.判断是否是自己提交的2.判断流程是否已结束3.下一级是否已审批
//查询当前节点
Task task = taskService.createTaskQuery()
.processInstanceId(processId)
.singleResult();
if (task == null) {
return false;
}
Map<String, Object> vars = new HashMap<>();
// 目标节点
ActivityImpl destinationActivity = queryTargetActivity(activityId, task.getProcessDefinitionId());
// 当前节点实例id
String executionId = task.getExecutionId();
// 当前节点
ActivityImpl currentActivity = queryTargetActivity(task.getTaskDefinitionKey(), task.getProcessDefinitionId());
CommandExecutor commandExecutor = taskServiceImpl
.getCommandExecutor();
commandExecutor.execute(new JDJumpTaskCmd(executionId, destinationActivity, vars, currentActivity));
return true;
}*/
/*@Transactional
@Override
public boolean removeTemplate(String id) {
//1.删除模板表
if(baseMapper.deleteById(id) !=1){
return false;
}
QueryWrapper qw1 = new QueryWrapper();
qw1.eq(TEMPLATE_ID, id);
if(!workTemplateFieldService.remove(qw1)){
return false;
}
if(!iProcessFileService.remove(qw1)){
return false;
}
if(!workPermissionService.remove(qw1)){
return false;
}
if(!workApproveService.remove(qw1)){
return false;
}
if(!processGatewayService.remove(qw1)){
return false;
}
if(!workTemplateOtherSettingsService.remove(qw1)){
return false;
}
return true;
}*/
/**
* 根据ActivityId 查询出来想要活动Activity
*
* @param id
* @return
*/
private
ActivityImpl
queryTargetActivity
(
String
id
,
String
processDefinitionId
)
{
ReadOnlyProcessDefinition
deployedProcessDefinition
=
((
RepositoryServiceImpl
)
processEngine
.
getRepositoryService
())
.
getDeployedProcessDefinition
(
processDefinitionId
);
List
<
ActivityImpl
>
activities
=
(
List
<
ActivityImpl
>)
deployedProcessDefinition
.
getActivities
();
for
(
ActivityImpl
activityImpl
:
activities
)
{
if
(
activityImpl
.
getId
().
equals
(
id
))
{
return
activityImpl
;
}
}
return
null
;
}
/**
* 上传工作流文件base64
*
* @param xmlJson
* @param tempId
* @return
*/
private
Boolean
uploadActitytiBpmn
(
String
xmlJson
,
String
tempId
)
{
String
xml
=
StringEscapeUtils
.
unescapeJava
(
xmlJson
);
xml
=
xml
.
replace
(
"bpmn2:"
,
""
);
xml
=
xml
.
replace
(
":bpmn2"
,
""
);
String
path
=
processPath
;
String
fileName
=
processFileMapper
.
fileNameBytemplateId
(
tempId
);
if
(
fileName
==
null
||
""
.
equals
(
fileName
))
{
fileName
=
IdUtil
.
randomUUID
()
+
".bpmn"
;
}
FileWriter
writer
=
new
FileWriter
(
fileName
);
writer
.
write
(
xml
);
File
file
=
writer
.
getFile
();
if
(!
FileUtil
.
isEmpty
(
file
))
{
try
{
File
filepath
=
new
File
(
path
);
if
(!
filepath
.
exists
())
{
filepath
.
mkdirs
();
}
// 文件保存路径
String
savePath
=
path
+
fileName
;
// 转存文件
FileUtil
.
copy
(
file
,
new
File
(
savePath
),
true
);
return
iProcessFileService
.
uploadProcessFileByFileName
(
fileName
,
tempId
,
processPath
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"文件保存错误"
);
}
}
return
false
;
}
/**
* 根据流程文件获取流程文件的唯一ID
*
* @param processFile
* @return
*/
private
String
queryBPMNkeyByFile
(
File
processFile
)
{
XMLInputFactory
xif
=
XMLInputFactory
.
newInstance
();
//InputStreamReader in;
XMLStreamReader
xtr
;
String
activitiNodeId
=
""
;
try
(
InputStreamReader
in
=
new
InputStreamReader
(
new
FileInputStream
(
processFile
)))
{
xtr
=
xif
.
createXMLStreamReader
(
in
);
BpmnModel
model
=
new
BpmnXMLConverter
().
convertToBpmnModel
(
xtr
);
if
(
model
!=
null
)
{
List
<
FlowElement
>
flowElements
=
(
List
)
model
.
getMainProcess
().
getFlowElements
();
activitiNodeId
=
flowElements
.
get
(
0
).
getId
();
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"文件读取错误"
);
}
return
activitiNodeId
;
}
}
src/main/java/com/zgiot/zx/workflow/service/impl/WorkflowTaskHiServiceImpl.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.zgiot.zx.workflow.dto.TemplateTypeResDTO
;
import
com.zgiot.zx.workflow.dto.WorkTemplateResDTO
;
import
com.zgiot.zx.workflow.entity.TemplateDO
;
import
com.zgiot.zx.workflow.entity.TemplateTypeDO
;
import
com.zgiot.zx.workflow.entity.WorkflowTask
;
import
com.zgiot.zx.workflow.entity.WorkflowTaskHi
;
import
com.zgiot.zx.workflow.mapper.TbRoleMapper
;
import
com.zgiot.zx.workflow.mapper.WorkTypeMapper
;
import
com.zgiot.zx.workflow.mapper.WorkflowTaskHiRepository
;
import
com.zgiot.zx.workflow.mapper.WorkflowTaskRepository
;
import
com.zgiot.zx.workflow.service.WorkflowTaskHiService
;
import
com.zgiot.zx.workflow.service.WorkflowTaskService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Author: jiangpengpeng
* @Description:
* @Date: Created in 15:50 2019/7/29
* @Modified By:
*/
@Service
public
class
WorkflowTaskHiServiceImpl
extends
ServiceImpl
<
WorkflowTaskHiRepository
,
WorkflowTaskHi
>
implements
WorkflowTaskHiService
{
private
Logger
logger
=
LoggerFactory
.
getLogger
(
WorkflowTaskHiServiceImpl
.
class
);
}
src/main/java/com/zgiot/zx/workflow/service/impl/WorkflowTaskServiceImpl.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
service
.
impl
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.zgiot.zx.workflow.dto.TemplateTypeResDTO
;
import
com.zgiot.zx.workflow.dto.WorkTemplateResDTO
;
import
com.zgiot.zx.workflow.entity.*
;
import
com.zgiot.zx.workflow.mapper.*
;
import
com.zgiot.zx.workflow.service.IWorkTemplateFieldService
;
import
com.zgiot.zx.workflow.service.IWorkTemplateService
;
import
com.zgiot.zx.workflow.service.WorkflowTaskService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
/**
* @Author: jiangpengpeng
* @Description:
* @Date: Created in 15:50 2019/7/29
* @Modified By:
*/
@Service
public
class
WorkflowTaskServiceImpl
extends
ServiceImpl
<
WorkflowTaskRepository
,
WorkflowTask
>
implements
WorkflowTaskService
{
private
Logger
logger
=
LoggerFactory
.
getLogger
(
WorkflowTaskServiceImpl
.
class
);
@Autowired
private
WorkTypeMapper
workTypeMapper
;
@Autowired
private
TbRoleMapper
tbRoleMapper
;
public
List
<
TemplateTypeResDTO
>
getAllWorkflowTask
()
{
List
<
TemplateTypeResDTO
>
result
=
new
ArrayList
<>();
List
<
TemplateTypeDO
>
templateTypeDOList
=
workTypeMapper
.
selectList
(
null
);
for
(
TemplateTypeDO
templateTypeDO
:
templateTypeDOList
)
{
QueryWrapper
qw
=
new
QueryWrapper
();
qw
.
eq
(
"work_tp_id"
,
templateTypeDO
.
getId
());
qw
.
orderByDesc
(
"create_time"
);
List
<
WorkflowTask
>
workflowTaskList
=
baseMapper
.
selectList
(
qw
);
TemplateTypeResDTO
templateTypeResDTO
=
new
TemplateTypeResDTO
();
templateTypeResDTO
.
setWorkflowTaskList
(
workflowTaskList
);
templateTypeResDTO
.
setId
(
templateTypeDO
.
getId
());
templateTypeResDTO
.
setName
(
templateTypeDO
.
getName
());
templateTypeResDTO
.
setIfEnable
(
templateTypeDO
.
getIfEnable
());
result
.
add
(
templateTypeResDTO
);
}
return
result
;
}
;
//修改工单状态
@Override
public
WorkflowTask
updateWorkflowTask
(
WorkTemplateResDTO
workTemplateResDTO
)
{
return
null
;
}
@Override
public
WorkflowTask
selectBytemplate
(
TemplateDO
templateDO
)
{
QueryWrapper
qw
=
new
QueryWrapper
();
qw
.
eq
(
"template_id"
,
templateDO
.
getId
());
WorkflowTask
workflowTask
=
baseMapper
.
selectOne
(
qw
);
return
workflowTask
;
}
}
src/main/java/com/zgiot/zx/workflow/utils/BpmnXmlUtils.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
import
com.zgiot.zx.workflow.service.impl.ProcessFileServiceImpl
;
import
org.dom4j.Document
;
import
org.dom4j.DocumentException
;
import
org.dom4j.Element
;
import
org.dom4j.io.OutputFormat
;
import
org.dom4j.io.SAXReader
;
import
org.dom4j.io.XMLWriter
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.io.File
;
import
java.io.FileWriter
;
import
java.io.IOException
;
import
java.util.List
;
/**
* bpmn文件 增加修改节点工具类
*
* @author David
*/
public
class
BpmnXmlUtils
{
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ProcessFileServiceImpl
.
class
);
private
BpmnXmlUtils
()
{
}
/**
* 获取流程文件的ProcessId
* @param file
* @return
*/
public
static
String
getProcessId
(
File
file
)
{
SAXReader
reader
=
new
SAXReader
();
try
{
Document
doc
=
reader
.
read
(
file
);
Element
rootElement
=
doc
.
getRootElement
();
Element
processElement
=
rootElement
.
elements
().
get
(
0
);
return
processElement
.
attribute
(
"id"
).
getValue
();
}
catch
(
DocumentException
e
)
{
logger
.
error
(
"XML文件读取或操作异常, {}"
,
e
.
getMessage
());
return
""
;
}
}
/**
* 排他网关增加表达式
*
* @param path xml文件路径
* @param sequenceFlowId xml 中 sequenceFlow 的 id
* @param expression 表达式
* @return 成功失败
*/
public
static
boolean
addConditionExpression
(
String
path
,
String
sequenceFlowId
,
String
expression
)
{
File
file
=
new
File
(
path
);
SAXReader
reader
=
new
SAXReader
();
try
{
Document
doc
=
reader
.
read
(
file
);
Element
rootElement
=
doc
.
getRootElement
();
Element
processElement
=
rootElement
.
elements
().
get
(
0
);
List
<
Element
>
processChildrenElements
=
processElement
.
elements
();
Element
node
=
null
;
for
(
Element
element
:
processChildrenElements
)
{
if
(
"sequenceFlow"
.
equals
(
element
.
getQName
().
getName
())
&&
element
.
attribute
(
"id"
).
getValue
().
equals
(
sequenceFlowId
))
{
node
=
element
;
}
}
if
(
node
!=
null
)
{
List
<
Element
>
nodes
=
node
.
elements
();
if
(
nodes
!=
null
&&
!
nodes
.
isEmpty
())
{
for
(
Element
element
:
nodes
)
{
node
.
remove
(
element
);
}
}
// 添加conditionExpression节点
Element
sequenceFlowNode
=
node
.
addElement
(
"conditionExpression"
);
// 设置xsi:type 固定值
sequenceFlowNode
.
addAttribute
(
"xsi:type"
,
"tFormalExpression"
);
// 设置表达式
//表达式拼接
String
expressionNew
=
"${"
+
expression
+
"}"
;
sequenceFlowNode
.
addCDATA
(
expressionNew
);
//格式化为缩进格式
OutputFormat
format
=
OutputFormat
.
createPrettyPrint
();
//设置编码格式
format
.
setEncoding
(
"UTF-8"
);
XMLWriter
writer
=
new
XMLWriter
(
new
FileWriter
(
file
),
format
);
//写入数据
writer
.
write
(
doc
);
writer
.
close
();
return
true
;
}
else
{
return
false
;
}
}
catch
(
DocumentException
|
IOException
e
)
{
logger
.
error
(
"XML文件读取或操作异常, {}"
,
e
.
getMessage
());
return
false
;
}
}
}
src/main/java/com/zgiot/zx/workflow/utils/ChineseCharToEn.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
import
java.io.UnsupportedEncodingException
;
/**
* @ClassName ChineseCharToEn
* @Descroption TODO
* @Author 王夏晖
* @Date 2019/6/17 0017 20:44
**/
public
final
class
ChineseCharToEn
{
private
final
static
int
[]
li_SecPosValue
=
{
1601
,
1637
,
1833
,
2078
,
2274
,
2302
,
2433
,
2594
,
2787
,
3106
,
3212
,
3472
,
3635
,
3722
,
3730
,
3858
,
4027
,
4086
,
4390
,
4558
,
4684
,
4925
,
5249
,
5590
};
private
final
static
String
[]
lc_FirstLetter
=
{
"a"
,
"b"
,
"c"
,
"d"
,
"e"
,
"f"
,
"g"
,
"h"
,
"j"
,
"k"
,
"l"
,
"m"
,
"n"
,
"o"
,
"p"
,
"q"
,
"r"
,
"s"
,
"t"
,
"w"
,
"x"
,
"y"
,
"z"
};
/**
* 取得给定汉字串的首字母串,即声母串
* @param str 给定汉字串
* @return 声母串
*/
public
String
getAllFirstLetter
(
String
str
)
{
if
(
str
==
null
||
str
.
trim
().
length
()
==
0
)
{
return
""
;
}
String
_str
=
""
;
for
(
int
i
=
0
;
i
<
str
.
length
();
i
++)
{
_str
=
_str
+
this
.
getFirstLetter
(
str
.
substring
(
i
,
i
+
1
));
}
return
_str
;
}
/**
* 取得给定汉字的首字母,即声母
* @param chinese 给定的汉字
* @return 给定汉字的声母
*/
public
String
getFirstLetter
(
String
chinese
)
{
if
(
chinese
==
null
||
chinese
.
trim
().
length
()
==
0
)
{
return
""
;
}
chinese
=
this
.
conversionStr
(
chinese
,
"GB2312"
,
"ISO8859-1"
);
if
(
chinese
.
length
()
>
1
)
// 判断是不是汉字
{
int
li_SectorCode
=
(
int
)
chinese
.
charAt
(
0
);
// 汉字区码
int
li_PositionCode
=
(
int
)
chinese
.
charAt
(
1
);
// 汉字位码
li_SectorCode
=
li_SectorCode
-
160
;
li_PositionCode
=
li_PositionCode
-
160
;
int
li_SecPosCode
=
li_SectorCode
*
100
+
li_PositionCode
;
// 汉字区位码
if
(
li_SecPosCode
>
1600
&&
li_SecPosCode
<
5590
)
{
for
(
int
i
=
0
;
i
<
23
;
i
++)
{
if
(
li_SecPosCode
>=
li_SecPosValue
[
i
]
&&
li_SecPosCode
<
li_SecPosValue
[
i
+
1
])
{
chinese
=
lc_FirstLetter
[
i
];
break
;
}
}
}
else
// 非汉字字符,如图形符号或ASCII码
{
chinese
=
this
.
conversionStr
(
chinese
,
"ISO8859-1"
,
"GB2312"
);
chinese
=
chinese
.
substring
(
0
,
1
);
}
}
return
chinese
;
}
/**
* 字符串编码转换
* @param str 要转换编码的字符串
* @param charsetName 原来的编码
* @param toCharsetName 转换后的编码
* @return 经过编码转换后的字符串
*/
private
String
conversionStr
(
String
str
,
String
charsetName
,
String
toCharsetName
)
{
try
{
str
=
new
String
(
str
.
getBytes
(
charsetName
),
toCharsetName
);
}
catch
(
UnsupportedEncodingException
ex
)
{
System
.
out
.
println
(
"字符串编码转换异常:"
+
ex
.
getMessage
());
}
return
str
;
}
}
src/main/java/com/zgiot/zx/workflow/utils/DateUtil.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
import
org.apache.commons.lang3.StringUtils
;
/**
* @ClassName DateUtil
* @Descroption TODO
* @Author 王夏晖
* @Date 2019/6/13 0013 14:50
**/
public
class
DateUtil
{
/**
* 根据分钟数计算格式化的时间差
* @return
*/
public
static
String
getDuration
(
String
minuteStr
)
{
if
(
StringUtils
.
isBlank
(
minuteStr
)){
return
""
;
}
int
minute
=
Integer
.
parseInt
(
minuteStr
);
String
result
=
""
;
int
days
=
minute
/
60
/
24
;
int
daysRound
=
(
int
)
Math
.
floor
(
days
);
int
hours
=
minute
/
60
-
(
24
*
daysRound
);
int
hoursRound
=
(
int
)
Math
.
floor
(
hours
);
int
minutes
=
minute
-
(
24
*
60
*
daysRound
)
-
(
60
*
hoursRound
);
int
minutesRound
=
(
int
)
Math
.
floor
(
minutes
);
if
(
daysRound
!=
0
){
result
+=
daysRound
+
"天"
;
}
if
(
hoursRound
!=
0
){
result
+=
hoursRound
+
"时"
;
}
if
(
minutesRound
!=
0
){
result
+=
minutesRound
+
"分"
;
}
return
result
;
}
}
src/main/java/com/zgiot/zx/workflow/utils/GatewayUtil.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
import
org.activiti.bpmn.model.ExclusiveGateway
;
import
org.activiti.engine.delegate.DelegateExecution
;
import
org.activiti.engine.delegate.ExecutionListener
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
java.util.Arrays
;
import
java.util.List
;
/**
* @Author: jiangpengpeng
* @Description:
* @Date: Created in 10:04 2019/10/17
* @Modified By:
*/
@Component
public
class
GatewayUtil
implements
ExecutionListener
{
public
Boolean
containRole
(
DelegateExecution
execution
,
String
...
rid
){
boolean
flag
=
false
;
if
(
rid
.
length
>
0
)
{
//1,2,
String
[]
roles
=
execution
.
getVariable
(
"rid"
).
toString
().
split
(
","
);
List
<
String
>
role
=
Arrays
.
asList
(
roles
)
;
if
(
role
.
size
()
==
0
)
return
false
;
for
(
int
i
=
0
;
i
<
rid
.
length
;
i
++)
{
if
(
role
.
contains
(
rid
[
i
]))
{
flag
=
true
;
break
;
}
}
}
return
flag
;
}
public
Boolean
notContainRole
(
DelegateExecution
execution
,
String
...
rid
){
return
!
this
.
containRole
(
execution
,
rid
);
}
@Override
public
void
notify
(
DelegateExecution
delegateExecution
)
throws
Exception
{
}
}
src/main/java/com/zgiot/zx/workflow/utils/ImageWatermarkUtils.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
import
javax.imageio.ImageIO
;
import
java.awt.*
;
import
java.awt.image.BufferedImage
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.io.InputStream
;
import
java.io.OutputStream
;
/**
* @author David
*/
public
class
ImageWatermarkUtils
{
/**
* 给图片添加水印文字、可设置水印文字的旋转角度
* @param logoText 要写入的文字
* @param srcImgPath 源图片路径
* @param newImagePath 新图片路径
* @param degree 旋转角度
* @param color 字体颜色
* @param formaName 图片后缀
*/
public
static
void
markImageByText
(
String
logoText
,
String
srcImgPath
,
String
newImagePath
,
Integer
degree
,
Color
color
,
String
formaName
)
{
InputStream
is
=
null
;
OutputStream
os
=
null
;
try
{
// 1、源图片
Image
srcImg
=
ImageIO
.
read
(
new
File
(
srcImgPath
));
BufferedImage
buffImg
=
new
BufferedImage
(
srcImg
.
getWidth
(
null
),
srcImg
.
getHeight
(
null
),
BufferedImage
.
TYPE_INT_RGB
);
// 2、得到画笔对象
Graphics2D
g
=
buffImg
.
createGraphics
();
// 3、设置对线段的锯齿状边缘处理
g
.
setRenderingHint
(
RenderingHints
.
KEY_INTERPOLATION
,
RenderingHints
.
VALUE_INTERPOLATION_BILINEAR
);
g
.
drawImage
(
srcImg
.
getScaledInstance
(
srcImg
.
getWidth
(
null
),
srcImg
.
getHeight
(
null
),
Image
.
SCALE_SMOOTH
),
0
,
0
,
null
);
// 4、设置水印旋转
if
(
null
!=
degree
)
{
g
.
rotate
(
Math
.
toRadians
(
degree
),
buffImg
.
getWidth
()/
2
,
buffImg
.
getHeight
()
/
2
);
}
// 5、设置水印文字颜色
g
.
setColor
(
color
);
// 6、设置水印文字Font
g
.
setFont
(
new
Font
(
"宋体"
,
Font
.
BOLD
,
buffImg
.
getHeight
()
/
2
));
// 7、设置水印文字透明度
g
.
setComposite
(
AlphaComposite
.
getInstance
(
AlphaComposite
.
SRC_ATOP
,
0.15f
));
// 8、第一参数->设置的内容,后面两个参数->文字在图片上的坐标位置(x,y)
g
.
drawString
(
logoText
,
buffImg
.
getWidth
()/
2
,
buffImg
.
getHeight
()/
2
);
// 9、释放资源
g
.
dispose
();
// 10、生成图片
os
=
new
FileOutputStream
(
newImagePath
);
ImageIO
.
write
(
buffImg
,
formaName
,
os
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
if
(
null
!=
is
)
{
is
.
close
();
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
try
{
if
(
null
!=
os
)
{
os
.
close
();
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
}
src/main/java/com/zgiot/zx/workflow/utils/JDJumpTaskCmd.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
import
org.activiti.engine.impl.context.Context
;
import
org.activiti.engine.impl.interceptor.Command
;
import
org.activiti.engine.impl.interceptor.CommandContext
;
import
org.activiti.engine.impl.persistence.entity.ExecutionEntity
;
import
org.activiti.engine.impl.persistence.entity.ExecutionEntityManager
;
import
org.activiti.engine.impl.persistence.entity.TaskEntity
;
import
org.activiti.engine.impl.pvm.process.ActivityImpl
;
import
java.util.Iterator
;
import
java.util.Map
;
/**
* JD节点的跳转
*/
public
class
JDJumpTaskCmd
implements
Command
<
Void
>
{
protected
String
executionId
;
protected
ActivityImpl
desActivity
;
protected
Map
<
String
,
Object
>
paramvar
;
protected
ActivityImpl
currentActivity
;
public
Void
execute
(
CommandContext
commandContext
)
{
ExecutionEntityManager
executionEntityManager
=
Context
.
getCommandContext
().
getExecutionEntityManager
();
// 获取当前流程的executionId,因为在并发的情况下executionId是唯一的。
ExecutionEntity
executionEntity
=
executionEntityManager
.
findExecutionById
(
executionId
);
executionEntity
.
setVariables
(
paramvar
);
executionEntity
.
setEventSource
(
this
.
currentActivity
);
executionEntity
.
setActivity
(
this
.
currentActivity
);
// 根据executionId 获取Task
Iterator
<
TaskEntity
>
localIterator
=
Context
.
getCommandContext
()
.
getTaskEntityManager
()
.
findTasksByExecutionId
(
this
.
executionId
).
iterator
();
while
(
localIterator
.
hasNext
())
{
TaskEntity
taskEntity
=
localIterator
.
next
();
// 触发任务监听
taskEntity
.
fireEvent
(
"complete"
);
// 删除任务的原因
Context
.
getCommandContext
().
getTaskEntityManager
()
.
deleteTask
(
taskEntity
,
"completed"
,
false
);
}
executionEntity
.
executeActivity
(
this
.
desActivity
);
return
null
;
}
/**
* 构造参数 可以根据自己的业务需要添加更多的字段
*
* @param executionId
* @param desActivity
* @param paramvar
* @param currentActivity
*/
public
JDJumpTaskCmd
(
String
executionId
,
ActivityImpl
desActivity
,
Map
<
String
,
Object
>
paramvar
,
ActivityImpl
currentActivity
)
{
this
.
executionId
=
executionId
;
this
.
desActivity
=
desActivity
;
this
.
paramvar
=
paramvar
;
this
.
currentActivity
=
currentActivity
;
}
}
src/main/java/com/zgiot/zx/workflow/utils/MTCotactApiRequestClient.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.zgiot.zx.workflow.base.Ret
;
import
com.zgiot.zx.workflow.dto.*
;
import
com.zgiot.zx.workflow.entity.SDept
;
import
com.zgiot.zx.workflow.entity.SRole
;
import
com.zgiot.zx.workflow.entity.SUser
;
import
com.zgiot.zx.workflow.mapper.SDeptMapper
;
import
com.zgiot.zx.workflow.mapper.SRoleMapper
;
import
com.zgiot.zx.workflow.mapper.SUserMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author David
*/
@Slf4j
@Component
public
class
MTCotactApiRequestClient
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
MTCotactApiRequestClient
.
class
);
public
static
String
ACCESS_TOKEN
=
"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJjcmVkZW50aWFsc05vbkV4cGlyZWQiOnRydWUsImFjY291bnROb25FeHBpcmVkIjp0cnVlLCJleHAiOjE1NjA5MDEwNTQ0MDMsImF1dGhvcml0aWVzIjpbeyJhdXRob3JpdHkiOiJST0xFX0FDQ09VTlRfUk9MRSJ9XSwiZW5hYmxlZCI6dHJ1ZSwiYWNjb3VudE5vbkxvY2tlZCI6dHJ1ZSwidXNlcm5hbWUiOiIxMTM5NDQyNDc3MjA5ODIxMTg2In0.SC3A6A-GE9eylYMutr6lwHwdo7knwDZaIrsV8pSjZhE3Er2irVpH5G0MzeWezG_9Y1u-KsYaz2CNn_MNo7QMpUsQNqtf8efUbuviTcuqWwCa4jHL9T2rLUwnvkyQjRqtR5zup7HjROzh_tImHbOku3OHqGX-NHSKFMvdpZwPJ8c"
;
@Autowired
private
SRoleMapper
sRoleMapper
;
@Autowired
private
SDeptMapper
sDeptMapper
;
@Autowired
private
SUserMapper
sUserMapper
;
@Autowired
private
OkHttpUtil
okHttpUtil
;
@Value
(
"${mt.api}"
)
private
String
api
;
/* *//**
* 根据accessToken获取当前用户信息
*
* @param accessToken
* @return
*//*
public MTMyInfoRspDTO accountGetMyInfo(String accessToken) {
login();
Map<String, String> headerParams = new HashMap<>(2);
headerParams.put("clientType", "app");
headerParams.put("Authorization", "Bearer " + ACCESS_TOKEN);
String json = okHttpUtil.get(api + "contact/v1/account/get_my_info", null, headerParams);
if(StringUtils.isNotEmpty(json)) {
return JSON.parseObject(json, new TypeReference<Ret<MTMyInfoRspDTO>>() {}).getData();
}
return null;
}*/
/**
* 角色组&角色列表查询
*
* @param corpId
* @param accessToken
* @return
*/
public
List
<
MTRoleGroupInfoRspDTO
>
roleListRoleGroup
(
String
corpId
,
String
accessToken
)
{
List
<
MTRoleGroupInfoRspDTO
>
MTRoleGroupInfoRspDTOs
=
new
ArrayList
<>();
MTRoleGroupInfoRspDTO
mtRoleGroupInfoRspDTO
=
new
MTRoleGroupInfoRspDTO
();
List
<
SRole
>
sRoles
=
sRoleMapper
.
querySRoles
();
MTRoleGroupInfoRspDTO
.
RolesBean
rolesBean
=
null
;
List
<
MTRoleGroupInfoRspDTO
.
RolesBean
>
list
=
new
ArrayList
<>();
for
(
SRole
sRole:
sRoles
)
{
rolesBean
=
new
MTRoleGroupInfoRspDTO
.
RolesBean
();
rolesBean
.
setId
(
sRole
.
getBusinessId
());
rolesBean
.
setName
(
sRole
.
getRoleName
());
list
.
add
(
rolesBean
);
}
mtRoleGroupInfoRspDTO
.
setId
(
"11"
);
mtRoleGroupInfoRspDTO
.
setName
(
"role组名"
);
mtRoleGroupInfoRspDTO
.
setCorpId
(
"11"
);
mtRoleGroupInfoRspDTO
.
setSRole
(
list
);
MTRoleGroupInfoRspDTOs
.
add
(
mtRoleGroupInfoRspDTO
);
return
MTRoleGroupInfoRspDTOs
;
}
;
/*
*//**
* 根据公司id和用户ids 获取用户信息
*
* @param MTUserGetsReqDTO
* @param accessToken
* @return
*//*
public List<MTUserInfoRspDTO> userGets(MTUserGetsReqDTO MTUserGetsReqDTO, String accessToken) {
login();
Map<String, String> headerParams = new HashMap<>(2);
headerParams.put("clientType", "app");
headerParams.put("Authorization", "Bearer " + ACCESS_TOKEN);
String json = okHttpUtil.postForJson(api + "contact/v1/user/gets", JSON.toJSONString(MTUserGetsReqDTO), headerParams);
if(StringUtils.isNotEmpty(json)) {
return JSON.parseObject(json, new TypeReference<Ret<List<MTUserInfoRspDTO>>>() {
}).getData();
}
return new ArrayList<>();
}*/
/* *//**
* 根据公司id和角色id 获取该角色下的所有人员
*
* @param corpId
* @param roleId
* @param accessToken
* @return
*//*
public List<MTRoleUserInfoRspDTO> userGetRoleInfoList(String corpId, String roleId, String accessToken) {
login();
Map<String, String> queries = new HashMap<>(1);
queries.put("corpId", "6");
queries.put("roleId", "1128488322302513154");
Map<String, String> headerParams = new HashMap<>(2);
headerParams.put("clientType", "app");
headerParams.put("Authorization", "Bearer " + ACCESS_TOKEN);
String json = okHttpUtil.get(api + "contact/v1/user/getRoleInfoList", queries, headerParams);
if(StringUtils.isNotEmpty(json)) {
return JSON.parseObject(json, new TypeReference<Ret<List<MTRoleUserInfoRspDTO>>>() {
}).getData();
}
return new ArrayList<>();
}*/
/**
* 根据公司获取公司下的所有部门(tree)
*
* @param corpId
* @param accessToken
* @return
*/
public
MTDeptTreeUserInfoRspDTO
deptGetTreeByCorpId
(
String
corpId
,
String
accessToken
)
{
MTDeptTreeUserInfoRspDTO
mtDeptTreeUserInfoRspDTO
=
new
MTDeptTreeUserInfoRspDTO
();
/* List<SDept> sDepts = sDeptMapper.querySDepts();
if (sDepts.size()<1)
return mtDeptTreeUserInfoRspDTO;*/
SDept
sDept
=
new
SDept
();
sDept
.
setBusinessId
(
"0"
);
/*mtDeptTreeUserInfoRspDTO.setDeptId(sDept.getBusinessId());
mtDeptTreeUserInfoRspDTO.setDeptName(sDept.getName());*/
/* mtDeptTreeUserInfoRspDTO.setsDept(sDept);
List<SUser> sUsers = sUserMapper.querySUsers(sDept);
MTDeptTreeUserInfoRspDTO.UserInfo userinfo = null;
List<MTDeptTreeUserInfoRspDTO.UserInfo> list = new ArrayList<>();
if (sUsers.size()>0) {
for (SUser sUser : sUsers) {
userinfo = new MTDeptTreeUserInfoRspDTO().new UserInfo();
userinfo.setId(sUser.getBusinessId());
userinfo.setName(sUser.getName());
list.add(userinfo);
}
}
mtDeptTreeUserInfoRspDTO.setUserInfoList(list);*/
mtDeptTreeUserInfoRspDTO
.
setsDept
(
sDept
);
//children
childGetTree
(
mtDeptTreeUserInfoRspDTO
);
return
mtDeptTreeUserInfoRspDTO
;
}
public
void
childGetTree
(
MTDeptTreeUserInfoRspDTO
mtDeptTreeUserInfoRspDTO
)
{
List
<
SDept
>
childdept
=
sDeptMapper
.
childdept
(
mtDeptTreeUserInfoRspDTO
.
getsDept
());
if
(
CollectionUtils
.
isEmpty
(
childdept
))
{
return
;
}
for
(
SDept
se
:
childdept
)
{
MTDeptTreeUserInfoRspDTO
mt
=
new
MTDeptTreeUserInfoRspDTO
();
List
<
SUser
>
sUsers
=
sUserMapper
.
querySUsers
(
se
);
mt
.
setDeptId
(
se
.
getBusinessId
());
mt
.
setDeptName
(
se
.
getName
());
mt
.
setsDept
(
se
);
// mt.setsUsers(sUsers);
MTDeptTreeUserInfoRspDTO
.
UserInfo
userinfo
=
null
;
List
<
MTDeptTreeUserInfoRspDTO
.
UserInfo
>
listUserInfo
=
new
ArrayList
<>();
for
(
SUser
sUser:
sUsers
)
{
userinfo
=
new
MTDeptTreeUserInfoRspDTO
().
new
UserInfo
();
userinfo
.
setId
(
sUser
.
getBusinessId
());
userinfo
.
setName
(
sUser
.
getName
());
listUserInfo
.
add
(
userinfo
);
}
mt
.
setUserInfoList
(
listUserInfo
);
if
(
CollectionUtils
.
isEmpty
(
mtDeptTreeUserInfoRspDTO
.
getChildDeptTreeResDTOS
()))
{
List
<
MTDeptTreeUserInfoRspDTO
>
list
=
new
ArrayList
<>();
list
.
add
(
mt
);
mtDeptTreeUserInfoRspDTO
.
setChildDeptTreeResDTOS
(
list
);
}
else
{
mtDeptTreeUserInfoRspDTO
.
getChildDeptTreeResDTOS
().
add
(
mt
);
}
this
.
childGetTree
(
mt
);
}
}
/* *//**
* 根据公司id和部门ids获取用户列表
* @param corpId
* @param deptIds
* @param accessToken
* @return
*//*
public List<MTGetUserByDeptIdsRspDTO> userGetUserByDeptIds(String corpId, List<String> deptIds, String accessToken) {
login();
MTGetUserByDeptIdsReqDTO mtGetUserByDeptIdsReqDTO = new MTGetUserByDeptIdsReqDTO();
mtGetUserByDeptIdsReqDTO.setCorpId(corpId);
mtGetUserByDeptIdsReqDTO.setDeptIds(deptIds);
Map<String, String> headerParams = new HashMap<>(2);
headerParams.put("clientType", "app");
headerParams.put("Authorization", "Bearer " + ACCESS_TOKEN);
String json = okHttpUtil.postForJson(api + "contact/v1/user/get_user_by_deptids", JSON.toJSONString(mtGetUserByDeptIdsReqDTO), headerParams);
if(StringUtils.isNotEmpty(json)) {
return JSON.parseObject(json, new TypeReference<Ret<List<MTGetUserByDeptIdsRspDTO>>>() {
}).getData();
}
return new ArrayList<>();
}*/
/* *//**
* 获取某个部门的下级部门和人员
* @param corpId
* @param pid
* @param accessToken
* @return
*//*
public MTDeptSubDeptUserPagelistRspDTO deptSubDeptUserPagelist(String corpId, String pid, String accessToken) {
login();
Map<String, String> queries = new HashMap<>(4);
queries.put("corpId", corpId);
queries.put("pid", pid);
queries.put("pageNum", "1");
queries.put("pageSize", "1000");
Map<String, String> headerParams = new HashMap<>(2);
headerParams.put("clientType", "app");
headerParams.put("Authorization", "Bearer " + ACCESS_TOKEN);
String json = okHttpUtil.get(api + "contact/v1/dept/pagelist", queries, headerParams);
if(StringUtils.isNotEmpty(json)) {
return JSON.parseObject(json, new TypeReference<Ret<MTDeptSubDeptUserPagelistRspDTO>>() {
}).getData();
}
return null;
}*/
/**
* 获取token接口
*/
public
void
login
()
{
Map
<
String
,
String
>
queries
=
new
HashMap
<>(
1
);
queries
.
put
(
"username"
,
"15488888569"
);
queries
.
put
(
"password"
,
"111222"
);
Map
<
String
,
String
>
headerParams
=
new
HashMap
<>(
2
);
headerParams
.
put
(
"clientType"
,
"app"
);
String
json
=
okHttpUtil
.
get
(
api
+
"app/login"
,
queries
,
headerParams
);
if
(
StringUtils
.
isNotEmpty
(
json
))
{
Ret
<
Map
<
String
,
Object
>>
ret
=
JSON
.
parseObject
(
json
,
new
TypeReference
<
Ret
<
Map
<
String
,
Object
>>>()
{
});
if
(
ret
.
getData
()
!=
null
)
{
ACCESS_TOKEN
=
ret
.
getData
().
get
(
"access_token"
).
toString
();
}
else
{
logger
.
error
(
"token获取异常"
);
}
}
}
}
src/main/java/com/zgiot/zx/workflow/utils/MTEquipmentApiRequestClient.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.zgiot.zx.workflow.base.Ret
;
import
com.zgiot.zx.workflow.dto.MTEquipmentInfoRspDTO
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 设备接口
* @author David
*/
@Component
public
class
MTEquipmentApiRequestClient
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
MTEquipmentApiRequestClient
.
class
);
@Autowired
private
OkHttpUtil
okHttpUtil
;
@Value
(
"${mt.api}"
)
private
String
api
;
/**
* 模糊搜索列表
* @param equipmentCodeOrName
* @param dimCode
* @param corpId
* @param accessToken
* @return
*/
public
List
<
MTEquipmentInfoRspDTO
>
getEquipment
(
String
equipmentCodeOrName
,
String
dimCode
,
String
corpId
,
String
accessToken
)
{
Map
<
String
,
String
>
queries
=
new
HashMap
<>(
2
);
queries
.
put
(
"dimCode"
,
dimCode
);
Map
<
String
,
String
>
headerParams
=
new
HashMap
<>(
3
);
headerParams
.
put
(
"corpId"
,
corpId
);
headerParams
.
put
(
"clientType"
,
"app"
);
headerParams
.
put
(
"Authorization"
,
"Bearer "
+
accessToken
);
// String json = okHttpUtil.get(api + "equipment/v1/data/getEquipment/" + equipmentCodeOrName, queries, headerParams);
String
json
=
"{\"code\":\"M0000\",\"ctime\":1560831201693,\"data\":[{\"corpId\":\"1115912149559242754\",\"createTime\":1560510880000,\"createUser\":\"122,1115912149777346561\",\"equipmentCode\":\"3123\",\"equipmentName\":\"6月10日\",\"equipmentNote\":\"11\",\"equipmentSpatial\":{\"canDelete\":1,\"createTime\":1559805649000,\"createUserUuid\":\"122,1115912149777346561\",\"equipmentProperties\":[{\"dimCode\":\"spatial_position\",\"flag\":false,\"id\":693,\"isEnable\":1,\"propName\":\"x\",\"propUuid\":\"xxxx\",\"value\":\"11\"},{\"dimCode\":\"spatial_position\",\"flag\":false,\"id\":694,\"isEnable\":1,\"propName\":\"y\",\"propUuid\":\"yyyy\",\"value\":\"200000\"}],\"id\":41,\"isEnable\":1,\"spaCode\":\"2343rrfd\",\"spaName\":\"位置定义-位置类型5月31日\",\"spaUuid\":\"spatial_position3d115ac1-5188-42e1-b48f-2703b0586d0b20190531151112\",\"updateTime\":1559805649000,\"updateUserUuid\":\"122\"},\"equipmentUuid\":\"equipmentb5503f61-52bd-439d-9a3b-b63963ac111e20190610090127\",\"id\":59,\"manufacturerUuid\":\"6acda105-e05c-4804-a97e-ec920e348d0d20190531151029\",\"organizationCode\":\"178\",\"organizationCodeList\":[\"178\"],\"principalsUuid\":\"113,124,127\",\"principalsUuidList\":[\"113\",\"124\",\"127\"],\"specifications\":\"434\",\"status\":1,\"tagUid\":\"\",\"updateTime\":1560510880000,\"useTime\":1560510880000},{\"corpId\":\"1115912149559242754\",\"createTime\":1560510882000,\"createUser\":\"122,1115912149777346561\",\"equipmentCode\":\"213123\",\"equipmentName\":\"2323s\",\"equipmentNote\":\"111\",\"equipmentSpatial\":{\"canDelete\":1,\"createTime\":1559805649000,\"createUserUuid\":\"122,1115912149777346561\",\"equipmentProperties\":[{\"dimCode\":\"spatial_position\",\"flag\":false,\"id\":693,\"isEnable\":1,\"propName\":\"x\",\"propUuid\":\"xxxx\",\"value\":\"11\"},{\"dimCode\":\"spatial_position\",\"flag\":false,\"id\":694,\"isEnable\":1,\"propName\":\"y\",\"propUuid\":\"yyyy\",\"value\":\"200000\"}],\"id\":41,\"isEnable\":1,\"spaCode\":\"2343rrfd\",\"spaName\":\"位置定义-位置类型5月31日\",\"spaUuid\":\"spatial_position3d115ac1-5188-42e1-b48f-2703b0586d0b20190531151112\",\"updateTime\":1559805649000,\"updateUserUuid\":\"122\"},\"equipmentUuid\":\"equipmentfe41b5e3-c7fa-4d06-bbec-a8d3891bd66620190610090520\",\"id\":60,\"manufacturerUuid\":\"6acda105-e05c-4804-a97e-ec920e348d0d20190531151029\",\"organizationCode\":\"178\",\"organizationCodeList\":[\"178\"],\"principalsUuid\":\"113,124,127\",\"principalsUuidList\":[\"113\",\"124\",\"127\"],\"specifications\":\"321323\",\"status\":1,\"tagUid\":\"\",\"updateTime\":1560510882000,\"updateUserUuid\":\"122,1115912149777346561\",\"useTime\":1560510882000}],\"message\":\"OK\"}"
;
return
JSON
.
parseObject
(
json
,
new
TypeReference
<
Ret
<
List
<
MTEquipmentInfoRspDTO
>>>()
{
}).
getData
();
}
/**
* 查询所有的dimCode
* @param corpId
* @param accessToken
* @return
*/
public
Map
<
String
,
Object
>
getDictionaryBySearch
(
String
corpId
,
String
accessToken
)
{
Map
<
String
,
Object
>
queries
=
new
HashMap
<>(
3
);
queries
.
put
(
"name"
,
""
);
queries
.
put
(
"pageNum"
,
1
);
queries
.
put
(
"pageSize"
,
1000
);
Map
<
String
,
String
>
headerParams
=
new
HashMap
<>(
2
);
headerParams
.
put
(
"clientType"
,
"app"
);
headerParams
.
put
(
"corpId"
,
corpId
);
//headerParams.put("Authorization", "Bearer " + accessToken);
//String json = okHttpUtil.postForJson(api + "equipment/v1/dictionary/getDictionaryBySearch?dictionaryCode=dim", queries, headerParams);
String
json
=
"{\"code\":\"M0000\",\"ctime\":1560830352136,\"data\":{\"rows\":[{\"code\":\"equipment_classification\",\"id\":1,\"name\":\"设备类型\"},{\"code\":\"spatial_position\",\"id\":2,\"name\":\"空间位置\"},{\"code\":\"technological_position\",\"id\":3,\"name\":\"工艺位置\"}],\"total\":3},\"message\":\"OK\"}"
;
return
JSON
.
parseObject
(
json
,
new
TypeReference
<
Ret
<
Map
<
String
,
Object
>>>()
{
}).
getData
();
}
}
src/main/java/com/zgiot/zx/workflow/utils/MTLogApiRequestClient.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
import
com.alibaba.fastjson.JSON
;
import
com.zgiot.zx.workflow.dto.MTLogReqDTO
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author David
*/
@Component
public
class
MTLogApiRequestClient
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
MTLogApiRequestClient
.
class
);
@Autowired
private
OkHttpUtil
okHttpUtil
;
@Value
(
"${mt.api}"
)
private
String
api
;
/**
*
* @param zxAccountId
* @param MTLogReqDTO
* @param accessToken
* @return
*/
public
String
save
(
String
zxAccountId
,
MTLogReqDTO
MTLogReqDTO
,
String
accessToken
)
{
Map
<
String
,
String
>
headerParams
=
new
HashMap
<>(
2
);
headerParams
.
put
(
"clientType"
,
"app"
);
headerParams
.
put
(
"Authorization"
,
"Bearer "
+
accessToken
);
return
okHttpUtil
.
postForJson
(
api
+
"log/api/v1/applog/save?zxAccountId="
+
zxAccountId
,
JSON
.
toJSONString
(
MTLogReqDTO
),
headerParams
);
}
}
src/main/java/com/zgiot/zx/workflow/utils/MTNotificationApiRequestClient.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
import
com.zgiot.zx.workflow.dto.MTNotificationSendReqDTO
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 消息通知接口调用
* @author David
*/
@Component
public
class
MTNotificationApiRequestClient
{
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
MTNotificationApiRequestClient
.
class
);
@Autowired
private
OkHttpUtil
okHttpUtil
;
@Value
(
"${mt.api}"
)
private
String
api
;
/**
* 发送通知
* @param mtNotificationSendReqDTO
* @param accessToken
* @return
*/
public
String
send
(
MTNotificationSendReqDTO
mtNotificationSendReqDTO
,
String
accessToken
)
{
Map
<
String
,
String
>
headerParams
=
new
HashMap
<>(
2
);
headerParams
.
put
(
"clientType"
,
"app"
);
headerParams
.
put
(
"Authorization"
,
"Bearer "
+
accessToken
);
return
"success 发送成功"
;
// return okHttpUtil.postForJson(api + "api/notification/v1/notification/send", JSON.toJSONString(mtNotificationSendReqDTO), headerParams);
}
}
src/main/java/com/zgiot/zx/workflow/utils/MTOSSApiRequestClient.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.zgiot.zx.workflow.base.Ret
;
import
com.zgiot.zx.workflow.dto.MTOssRspDTO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 消息通知接口调用
* @author David
*/
@Component
public
class
MTOSSApiRequestClient
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
MTOSSApiRequestClient
.
class
);
@Autowired
private
OkHttpUtil
okHttpUtil
;
@Value
(
"${mt.api}"
)
private
String
api
;
/**
* 文件上传OSS,可以直接取url
* @param file
* @param accessToken
* @return
*/
public
MTOssRspDTO
upload
(
MultipartFile
file
,
String
accessToken
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
3
);
map
.
put
(
"file"
,
file
);
map
.
put
(
"bucket"
,
"2"
);
map
.
put
(
"path"
,
"2"
);
Map
<
String
,
String
>
headerParams
=
new
HashMap
<>(
2
);
headerParams
.
put
(
"clientType"
,
"app"
);
headerParams
.
put
(
"Authorization"
,
"Bearer "
+
accessToken
);
String
json
=
okHttpUtil
.
postFile
(
api
+
"oss/v1/file/upload"
,
map
,
"multipart/form-data"
,
headerParams
);
if
(
StringUtils
.
isNotEmpty
(
json
))
{
return
JSON
.
parseObject
(
json
,
new
TypeReference
<
Ret
<
MTOssRspDTO
>>()
{}).
getData
();
}
return
null
;
}
}
src/main/java/com/zgiot/zx/workflow/utils/MTOauthApiRequestClient.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.TypeReference
;
import
com.zgiot.zx.workflow.base.Ret
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author David
*/
@Component
public
class
MTOauthApiRequestClient
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
MTOauthApiRequestClient
.
class
);
@Autowired
private
OkHttpUtil
okHttpUtil
;
@Value
(
"${mt.api}"
)
private
String
api
;
/**
* 根据appId(分配的微应用ID)获取免登录code
* @param corpId
* @param appId
* @param accessToken
* @return
*/
public
String
getAuthCode
(
String
corpId
,
String
appId
,
String
accessToken
)
{
Map
<
String
,
String
>
queries
=
new
HashMap
<>(
2
);
queries
.
put
(
"corpId"
,
corpId
);
queries
.
put
(
"appId"
,
appId
);
Map
<
String
,
String
>
headerParams
=
new
HashMap
<>(
2
);
headerParams
.
put
(
"clientType"
,
"app"
);
headerParams
.
put
(
"Authorization"
,
"Bearer "
+
accessToken
);
String
json
=
okHttpUtil
.
get
(
api
+
"oauth/getAuthCode"
,
queries
,
headerParams
);
return
JSON
.
parseObject
(
json
,
new
TypeReference
<
Ret
<
String
>>()
{}).
getData
();
}
/**
* 根据code获取token
* @param code
* @return
*/
public
String
getTokenByCode
(
String
code
)
{
Map
<
String
,
String
>
queries
=
new
HashMap
<>(
1
);
queries
.
put
(
"code"
,
code
);
String
json
=
okHttpUtil
.
get
(
api
+
"oauth/getTokenByCode"
,
queries
,
null
);
return
JSON
.
parseObject
(
json
,
new
TypeReference
<
Ret
<
Map
<
String
,
String
>>>()
{}).
getData
().
get
(
"access_token"
);
}
}
src/main/java/com/zgiot/zx/workflow/utils/MultipartFileUtils.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
import
org.apache.commons.io.IOUtils
;
import
org.springframework.mock.web.MockMultipartFile
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.*
;
/**
* @author David
*/
public
class
MultipartFileUtils
{
/**
* MultipartFile 转 File
*
* @param file
* @throws Exception
*/
public
static
void
multipartFileToFile
(
@RequestParam
MultipartFile
file
)
throws
Exception
{
File
toFile
=
null
;
if
(
file
.
equals
(
""
)
||
file
.
getSize
()
<=
0
)
{
file
=
null
;
}
else
{
InputStream
ins
=
null
;
ins
=
file
.
getInputStream
();
toFile
=
new
File
(
file
.
getOriginalFilename
());
inputStreamToFile
(
ins
,
toFile
);
ins
.
close
();
}
}
/**
* File 转 MultipartFile
*
* @param file
* @throws Exception
*/
public
static
MultipartFile
fileToMultipartFile
(
File
file
)
throws
Exception
{
FileInputStream
fileInput
=
new
FileInputStream
(
file
);
return
new
MockMultipartFile
(
"file"
,
file
.
getName
(),
"text/plain"
,
IOUtils
.
toByteArray
(
fileInput
));
}
private
static
void
inputStreamToFile
(
InputStream
ins
,
File
file
)
{
try
{
OutputStream
os
=
new
FileOutputStream
(
file
);
int
bytesRead
=
0
;
byte
[]
buffer
=
new
byte
[
8192
];
while
((
bytesRead
=
ins
.
read
(
buffer
,
0
,
8192
))
!=
-
1
)
{
os
.
write
(
buffer
,
0
,
bytesRead
);
}
os
.
close
();
ins
.
close
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
src/main/java/com/zgiot/zx/workflow/utils/OkHttpUtil.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
import
okhttp3.*
;
import
org.apache.commons.lang3.exception.ExceptionUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.io.File
;
import
java.util.Iterator
;
import
java.util.Map
;
/**
*
* @author David
*/
@Component
public
class
OkHttpUtil
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
OkHttpUtil
.
class
);
@Autowired
private
OkHttpClient
okHttpClient
;
/**
* get
*
* @param url 请求的url
* @param queries 请求的参数,在浏览器?后面的数据,没有可以传null
* @return
*/
public
String
get
(
String
url
,
Map
<
String
,
String
>
queries
,
Map
<
String
,
String
>
headerParams
)
{
String
responseBody
=
""
;
StringBuffer
sb
=
new
StringBuffer
(
url
);
if
(
queries
!=
null
&&
queries
.
keySet
().
size
()
>
0
)
{
boolean
firstFlag
=
true
;
Iterator
iterator
=
queries
.
entrySet
().
iterator
();
while
(
iterator
.
hasNext
())
{
Map
.
Entry
entry
=
(
Map
.
Entry
<
String
,
String
>)
iterator
.
next
();
if
(
firstFlag
)
{
sb
.
append
(
"?"
+
entry
.
getKey
()
+
"="
+
entry
.
getValue
());
firstFlag
=
false
;
}
else
{
sb
.
append
(
"&"
+
entry
.
getKey
()
+
"="
+
entry
.
getValue
());
}
}
}
Request
.
Builder
requestBuilder
=
new
Request
.
Builder
().
url
(
url
);
for
(
Map
.
Entry
<
String
,
String
>
entry
:
headerParams
.
entrySet
())
{
requestBuilder
.
addHeader
(
entry
.
getKey
(),
entry
.
getValue
());
}
Request
request
=
requestBuilder
.
url
(
sb
.
toString
())
.
build
();
Response
response
=
null
;
try
{
response
=
okHttpClient
.
newCall
(
request
).
execute
();
int
status
=
response
.
code
();
if
(
status
==
200
)
{
return
response
.
body
().
string
();
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"okhttp put error >> ex = {}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
finally
{
if
(
response
!=
null
)
{
response
.
close
();
}
}
return
responseBody
;
}
/**
* post
*
* @param url 请求的url
* @param params post form 提交的参数
* @return
*/
public
String
post
(
String
url
,
Map
<
String
,
String
>
params
,
Map
<
String
,
String
>
headerParams
)
{
String
responseBody
=
""
;
FormBody
.
Builder
builder
=
new
FormBody
.
Builder
();
//添加参数
if
(
params
!=
null
&&
params
.
keySet
().
size
()
>
0
)
{
for
(
String
key
:
params
.
keySet
())
{
builder
.
add
(
key
,
params
.
get
(
key
));
}
}
Request
.
Builder
requestBuilder
=
new
Request
.
Builder
().
url
(
url
);
for
(
Map
.
Entry
<
String
,
String
>
entry
:
headerParams
.
entrySet
())
{
requestBuilder
.
addHeader
(
entry
.
getKey
(),
entry
.
getValue
());
}
Request
request
=
requestBuilder
.
post
(
builder
.
build
()).
build
();
Response
response
=
null
;
try
{
response
=
okHttpClient
.
newCall
(
request
).
execute
();
int
status
=
response
.
code
();
if
(
status
==
200
)
{
return
response
.
body
().
string
();
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"okhttp post error >> ex = {}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
finally
{
if
(
response
!=
null
)
{
response
.
close
();
}
}
return
responseBody
;
}
/**
* post
*
* @param url 请求的url
* @param params post form 提交的参数
* @return
*/
public
String
postForJson
(
String
url
,
String
json
,
Map
<
String
,
String
>
headerParams
)
{
RequestBody
requestBody
=
FormBody
.
create
(
MediaType
.
parse
(
"application/json; charset=utf-8"
),
json
);
String
responseBody
=
""
;
Request
.
Builder
requestBuilder
=
new
Request
.
Builder
().
url
(
url
);
for
(
Map
.
Entry
<
String
,
String
>
entry
:
headerParams
.
entrySet
())
{
requestBuilder
.
addHeader
(
entry
.
getKey
(),
entry
.
getValue
());
}
Request
request
=
requestBuilder
.
post
(
requestBody
).
build
();
Response
response
=
null
;
try
{
response
=
okHttpClient
.
newCall
(
request
).
execute
();
int
status
=
response
.
code
();
if
(
status
==
200
)
{
return
response
.
body
().
string
();
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"okhttp post error >> ex = {}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
finally
{
if
(
response
!=
null
)
{
response
.
close
();
}
}
return
responseBody
;
}
/**
* post 上传文件
*
* @param url
* @param params
* @param fileType
* @return
*/
public
String
postFile
(
String
url
,
Map
<
String
,
Object
>
params
,
String
fileType
,
Map
<
String
,
String
>
headerParams
)
{
String
responseBody
=
""
;
MultipartBody
.
Builder
builder
=
new
MultipartBody
.
Builder
();
//添加参数
if
(
params
!=
null
&&
params
.
keySet
().
size
()
>
0
)
{
for
(
String
key
:
params
.
keySet
())
{
if
(
params
.
get
(
key
)
instanceof
File
)
{
File
file
=
(
File
)
params
.
get
(
key
);
builder
.
addFormDataPart
(
key
,
file
.
getName
(),
RequestBody
.
create
(
MediaType
.
parse
(
fileType
),
file
));
continue
;
}
builder
.
addFormDataPart
(
key
,
params
.
get
(
key
).
toString
());
}
}
Request
.
Builder
requestBuilder
=
new
Request
.
Builder
();
for
(
Map
.
Entry
<
String
,
String
>
entry
:
headerParams
.
entrySet
())
{
requestBuilder
.
addHeader
(
entry
.
getKey
(),
entry
.
getValue
());
}
Request
request
=
requestBuilder
.
url
(
url
).
post
(
builder
.
build
()).
build
();
Response
response
=
null
;
try
{
response
=
okHttpClient
.
newCall
(
request
).
execute
();
int
status
=
response
.
code
();
if
(
status
==
200
)
{
return
response
.
body
().
string
();
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"okhttp postFile error >> ex = {}"
,
ExceptionUtils
.
getStackTrace
(
e
));
}
finally
{
if
(
response
!=
null
)
{
response
.
close
();
}
}
return
responseBody
;
}
}
\ No newline at end of file
src/main/java/com/zgiot/zx/workflow/utils/PinYinUtils.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
import
net.sourceforge.pinyin4j.PinyinHelper
;
import
net.sourceforge.pinyin4j.format.HanyuPinyinCaseType
;
import
net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat
;
import
net.sourceforge.pinyin4j.format.HanyuPinyinToneType
;
import
net.sourceforge.pinyin4j.format.HanyuPinyinVCharType
;
import
net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination
;
public
class
PinYinUtils
{
/**
* 得到 全拼
*
* @param src
* @return
*/
public
static
String
getPingYin
(
String
src
)
{
char
[]
t1
=
null
;
t1
=
src
.
toCharArray
();
String
[]
t2
=
new
String
[
t1
.
length
];
HanyuPinyinOutputFormat
t3
=
new
HanyuPinyinOutputFormat
();
t3
.
setCaseType
(
HanyuPinyinCaseType
.
LOWERCASE
);
t3
.
setToneType
(
HanyuPinyinToneType
.
WITHOUT_TONE
);
t3
.
setVCharType
(
HanyuPinyinVCharType
.
WITH_V
);
String
t4
=
""
;
int
t0
=
t1
.
length
;
try
{
for
(
int
i
=
0
;
i
<
t0
;
i
++)
{
// 判断是否为汉字字符
if
(
Character
.
toString
(
t1
[
i
]).
matches
(
"[\\u4E00-\\u9FA5]+"
))
{
t2
=
PinyinHelper
.
toHanyuPinyinStringArray
(
t1
[
i
],
t3
);
t4
+=
t2
[
0
];
}
else
{
t4
+=
Character
.
toString
(
t1
[
i
]);
}
}
return
t4
;
}
catch
(
BadHanyuPinyinOutputFormatCombination
e1
)
{
e1
.
printStackTrace
();
}
return
t4
;
}
/**
* 得到中文首字母(包括字符串中字母)
*
* @param str
* @return
*/
public
static
String
getPinYinHeadChar
(
String
str
)
{
String
convert
=
""
;
for
(
int
j
=
0
;
j
<
str
.
length
();
j
++)
{
char
word
=
str
.
charAt
(
j
);
String
[]
pinyinArray
=
PinyinHelper
.
toHanyuPinyinStringArray
(
word
);
if
(
pinyinArray
!=
null
)
{
convert
+=
pinyinArray
[
0
].
charAt
(
0
);
}
else
{
convert
+=
word
;
}
}
return
convert
;
}
/**
* 将字符串转移为ASCII码
*
* @param cnStr
* @return
*/
public
static
String
getCnASCII
(
String
cnStr
)
{
StringBuffer
strBuf
=
new
StringBuffer
();
byte
[]
bGBK
=
cnStr
.
getBytes
();
for
(
int
i
=
0
;
i
<
bGBK
.
length
;
i
++)
{
// System.out.println(Integer.toHexString(bGBK[i]&0xff));
strBuf
.
append
(
Integer
.
toHexString
(
bGBK
[
i
]
&
0xff
));
}
return
strBuf
.
toString
();
}
public
static
void
main
(
String
[]
args
)
{
String
cnStr
=
"张大伟"
;
System
.
out
.
println
(
getPingYin
(
cnStr
));
System
.
out
.
println
(
getPinYinHeadChar
(
cnStr
).
replaceAll
(
"[^a-z^A-Z^]"
,
""
));
String
str
=
getPinYinHeadChar
(
cnStr
).
replaceAll
(
"[^a-z^A-Z^]"
,
""
);
}
}
src/main/java/com/zgiot/zx/workflow/utils/StringUtil.java
0 → 100644
浏览文件 @
81ef1538
package
com
.
zgiot
.
zx
.
workflow
.
utils
;
public
class
StringUtil
{
private
static
String
string
=
"abcdefghijklmnopqrstuvwxyz"
;
private
static
int
getRandom
(
int
count
)
{
return
(
int
)
Math
.
round
(
Math
.
random
()
*
(
count
));
}
public
static
String
getRandomString
(
int
length
){
StringBuffer
sb
=
new
StringBuffer
();
int
len
=
string
.
length
();
for
(
int
i
=
0
;
i
<
length
;
i
++)
{
sb
.
append
(
string
.
charAt
(
getRandom
(
len
-
1
)));
}
return
sb
.
toString
();
}
}
src/main/resources/application-dev.properties
0 → 100644
浏览文件 @
81ef1538
server.port
=
8082
spring.application.name
=
workflow-service-provider
spring.datasource.driver-class-name
=
com.mysql.jdbc.Driver
#spring.datasource.url=jdbc:mysql://localhost:3306/workflow?useUnicode=true&characterEncoding=utf-8&useSSL=false
#spring.datasource.username=root
#spring.datasource.password=root
spring.datasource.url
=
jdbc:mysql://127.0.0.1:10036/jzdb?useUnicode=true&characterEncoding=UTF-8&useSSL=false&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
spring.datasource.username
=
root
spring.datasource.password
=
pvv5718J0CwhNfn4B^8^H3igPj#oiQkX
#spring.datasource.url=jdbc:mysql://192.168.1.254:3306/workflow?useUnicode=true&characterEncoding=utf-8&useSSL=false
#spring.datasource.username=root
#spring.datasource.password=root
#eureka.client.service-url.defaultZone=http://localhost:8799/eureka/
spring.activiti.database-schema-update
=
true
spring.activiti.check-process-definitions
=
false
mybatis-plus.mapper-locations
=
classpath:/mapper/**/*Mapper.xml
logging.level.com.zgiot.zx.workflow.mapper
=
DEBUG
logging.level.com.zgiot.zx.workflow.controller
=
warn
logging.level.pattern.console
=
"%d - %msg%n"
mt.api = http://127.0.0.1:8081/api/
#mt.api=http://192.168.5.47/api/
#temp-file.path=/home/file/
#template.processfile.path=/home/file/
temp-file.path
=
D://tempfile//
template.processfile.path
=
D://processfile//
#template.processfile.path=//users//zhaopengxiang//ideaProjects//file//
src/main/resources/application-prod.properties
0 → 100644
浏览文件 @
81ef1538
server.port
=
8082
spring.application.name
=
workflow-service-provider
spring.datasource.driver-class-name
=
com.mysql.jdbc.Driver
#spring.datasource.url=jdbc:mysql://localhost:3306/workflow?useUnicode=true&characterEncoding=utf-8&useSSL=false
#spring.datasource.username=root
#spring.datasource.password=root
spring.datasource.url
=
jdbc:mysql://127.0.0.1:10036/jzdb?useUnicode=true&characterEncoding=UTF-8&useSSL=false&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
spring.datasource.username
=
root
spring.datasource.password
=
pvv5718J0CwhNfn4B^8^H3igPj#oiQkX
#spring.datasource.url=jdbc:mysql://192.168.1.254:3306/workflow?useUnicode=true&characterEncoding=utf-8&useSSL=false
#spring.datasource.username=root
#spring.datasource.password=root
#eureka.client.service-url.defaultZone=http://localhost:8799/eureka/
spring.activiti.database-schema-update
=
true
spring.activiti.check-process-definitions
=
false
mybatis-plus.mapper-locations
=
classpath:/mapper/**/*Mapper.xml
logging.level.com.zgiot.zx.workflow.mapper
=
DEBUG
logging.level.com.zgiot.zx.workflow.controller
=
warn
logging.level.pattern.console
=
"%d - %msg%n"
mt.api = http://127.0.0.1:8081/api/
#mt.api=http://192.168.5.47/api/
#temp-file.path=/home/file/
#template.processfile.path=/home/file/
temp-file.path
=
/working/tempfile/
template.processfile.path
=
/working/processfile/
#template.processfile.path=//users//zhaopengxiang//ideaProjects//file//
src/main/resources/application-test.properties
0 → 100644
浏览文件 @
81ef1538
server.port
=
8084
spring.application.name
=
workflow-service-provider
spring.datasource.driver-class-name
=
com.mysql.jdbc.Driver
#spring.datasource.url=jdbc:mysql://localhost:3306/workflow?useUnicode=true&characterEncoding=utf-8&useSSL=false
#spring.datasource.username=root
#spring.datasource.password=root
spring.datasource.url
=
jdbc:mysql://192.168.1.71:3306/jzdb?useUnicode=true&characterEncoding=UTF-8&useSSL=false&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
spring.datasource.username
=
root
spring.datasource.password
=
aLN%4Jx7ZsmsoMlOB0XEd7
#spring.datasource.url=jdbc:mysql://192.168.1.254:3306/workflow?useUnicode=true&characterEncoding=utf-8&useSSL=false
#spring.datasource.username=root
#spring.datasource.password=root
#eureka.client.service-url.defaultZone=http://localhost:8799/eureka/
spring.activiti.database-schema-update
=
true
spring.activiti.check-process-definitions
=
false
mybatis-plus.mapper-locations
=
classpath:/mapper/**/*Mapper.xml
logging.level.com.zgiot.zx.workflow.mapper
=
DEBUG
logging.level.com.zgiot.zx.workflow.controller
=
warn
logging.level.pattern.console
=
"%d - %msg%n"
mt.api = http://192.168.1.71:8083/api/
#mt.api=http://192.168.5.47/api/
#temp-file.path=/home/file/
#template.processfile.path=/home/file/
temp-file.path
=
/working/tempfile/
template.processfile.path
=
/working/processfile/
#template.processfile.path=//users//zhaopengxiang//ideaProjects//file//
src/main/resources/application.properties
0 → 100644
浏览文件 @
81ef1538
spring.profiles.active
=
dev
\ No newline at end of file
src/main/resources/mapper/task/SDeptMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.SDeptMapper"
>
</mapper>
src/main/resources/mapper/task/SRoleMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.SRoleMapper"
>
</mapper>
src/main/resources/mapper/task/SUserMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.SUserMapper"
>
</mapper>
src/main/resources/mapper/task/TbRoleMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.TbRoleMapper"
>
</mapper>
src/main/resources/mapper/task/TbUserMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.TbUserMapper"
>
<select
id=
"queryUserByRoleId"
parameterType=
"java.lang.String"
resultType=
"java.lang.String"
>
select distinct tb_user.id
from tb_user
left join tb_user_role on tb_user.id = tb_user_role.user_id
where tb_user_role.role_id IN
<foreach
collection=
"array"
item=
"id"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{id}
</foreach>
</select>
</mapper>
src/main/resources/mapper/task/WorkApproveHiMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.WorkApproveHiMapper"
>
</mapper>
src/main/resources/mapper/task/WorkApproveMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.WorkApproveMapper"
>
<select
id=
"getRoleNameByTemplateIdAndActivityId"
resultType=
"java.lang.String"
>
SELECT tb_role.name from workflow_template_approve wta
LEFT JOIN tb_role on wta.person_data = tb_role.id
where wta.person_type = 2
and wta.template_id = #{templateId} and wta.activity_id = #{activityId}
</select>
<select
id=
"selectApproveData"
resultType=
"com.zgiot.zx.workflow.entity.TemplateApproveDO"
parameterType=
"com.zgiot.zx.workflow.entity.TemplateApproveDO"
>
select distinct t1.template_id,t1.activity_id,t1.activity_nm,t2.person_data from workflow_template_approve t1
left join workflow_approve_data t2 on t1.activity_id = t2.activity_id
where t1.person_type = #{personType}
and t1.template_id = #{templateId}
<if
test=
"workId != null and workId != ''"
>
and t2.work_id = #{workId}
</if>
</select>
</mapper>
src/main/resources/mapper/task/WorkPermissionHiMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.WorkPermissionHiMapper"
>
</mapper>
src/main/resources/mapper/task/WorkPermissionMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.WorkPermissionMapper"
>
<select
id=
"selectListByTemplateId"
resultType=
"com.zgiot.zx.workflow.dto.WorkPermissionResDTO"
parameterType=
"java.util.Map"
>
SELECT
wp.*,
wtf.field_nm
FROM
workflow_template_permission wp
LEFT JOIN workflow_template_form_field wtf ON wp.field_id = wtf.id
where
wp.template_id = #{templateId}
</select>
</mapper>
src/main/resources/mapper/task/WorkTemplateMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.WorkTemplateMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.zgiot.zx.workflow.entity.TemplateDO"
>
<id
column=
"id"
jdbcType=
"VARCHAR"
property=
"id"
/>
<result
column=
"status"
jdbcType=
"VARCHAR"
property=
"status"
/>
<result
column=
"template_nm"
jdbcType=
"VARCHAR"
property=
"templateNm"
/>
<result
column=
"template_type"
jdbcType=
"VARCHAR"
property=
"templateType"
/>
<result
column=
"work_tp_id"
jdbcType=
"VARCHAR"
property=
"workTpId"
/>
<result
column=
"phone"
jdbcType=
"VARCHAR"
property=
"phone"
/>
<result
column=
"create_roles"
jdbcType=
"VARCHAR"
property=
"createRoles"
/>
<result
column=
"manager_roles"
jdbcType=
"VARCHAR"
property=
"managerRoles"
/>
<result
column=
"template_explain"
jdbcType=
"VARCHAR"
property=
"templateExplain"
/>
<result
column=
"if_enable"
jdbcType=
"VARCHAR"
property=
"ifEnable"
/>
<result
column=
"icon_image"
jdbcType=
"BLOB"
property=
"iconImage"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"update_time"
jdbcType=
"TIMESTAMP"
property=
"updateTime"
/>
</resultMap>
<!--<cache type="${corePackag!}.util.RedisCache"/>-->
</mapper>
\ No newline at end of file
src/main/resources/mapper/task/WorkflowGateWayHiMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.ProcessGatewayHiMapper"
>
</mapper>
src/main/resources/mapper/task/WorkflowGateWayMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.ProcessGatewayMapper"
>
</mapper>
src/main/resources/mapper/task/WorkflowTaskMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.WorkflowTaskRepository"
>
<!--<cache type="${corePackag!}.util.RedisCache"/>-->
</mapper>
\ No newline at end of file
src/main/resources/mapper/task/WorkflowTemplateFormFieldHiMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.WorkflowTemplateFormFieldHiRepository"
>
<resultMap
id=
"BaseResultMap"
type=
"com.zgiot.zx.workflow.entity.WorkflowTemplateFormFieldHi"
>
<id
column=
"id"
jdbcType=
"VARCHAR"
property=
"id"
/>
<result
column=
"template_id"
jdbcType=
"VARCHAR"
property=
"templateId"
/>
<result
column=
"field_tp"
jdbcType=
"VARCHAR"
property=
"fieldTp"
/>
<result
column=
"field_nm"
jdbcType=
"VARCHAR"
property=
"fieldNm"
/>
<result
column=
"field_order"
jdbcType=
"INTEGER"
property=
"fieldOrder"
/>
<result
column=
"field_hint"
jdbcType=
"VARCHAR"
property=
"fieldHint"
/>
<result
column=
"required"
jdbcType=
"VARCHAR"
property=
"required"
/>
<result
column=
"print"
jdbcType=
"VARCHAR"
property=
"print"
/>
<result
column=
"major"
jdbcType=
"VARCHAR"
property=
"major"
/>
<result
column=
"expand"
jdbcType=
"VARCHAR"
property=
"expand"
/>
</resultMap>
<!--<cache type="${corePackag!}.util.RedisCache"/>-->
</mapper>
\ No newline at end of file
src/main/resources/mapper/task/WorkflowTemplateFormFieldMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.WorkflowTemplateFormFieldRepository"
>
<!--<cache type="${corePackag!}.util.RedisCache"/>-->
</mapper>
\ No newline at end of file
src/main/resources/mapper/task/WorkflowTemplateHiMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.WorkflowTemplateHiRepository"
>
<resultMap
id=
"BaseResultMap"
type=
"com.zgiot.zx.workflow.entity.WorkflowTemplateHi"
>
<id
column=
"id"
jdbcType=
"VARCHAR"
property=
"id"
/>
<result
column=
"template_nm"
jdbcType=
"VARCHAR"
property=
"templateNm"
/>
<result
column=
"work_tp_id"
jdbcType=
"VARCHAR"
property=
"workTpId"
/>
<result
column=
"phone"
jdbcType=
"VARCHAR"
property=
"phone"
/>
<result
column=
"create_roles"
jdbcType=
"VARCHAR"
property=
"createRoles"
/>
<result
column=
"manager_roles"
jdbcType=
"VARCHAR"
property=
"managerRoles"
/>
<result
column=
"template_explain"
jdbcType=
"VARCHAR"
property=
"templateExplain"
/>
<result
column=
"if_enable"
jdbcType=
"VARCHAR"
property=
"ifEnable"
/>
<result
column=
"icon_image"
jdbcType=
"BLOB"
property=
"iconImage"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"update_time"
jdbcType=
"TIMESTAMP"
property=
"updateTime"
/>
<result
column=
"version"
jdbcType=
"VARCHAR"
property=
"version"
/>
<result
column=
"type_template"
jdbcType=
"VARCHAR"
property=
"typeTemplate"
/>
</resultMap>
<!--<cache type="${corePackag!}.util.RedisCache"/>-->
</mapper>
\ No newline at end of file
src/main/resources/mapper/task/WorkflowTemplateMapper.xml
0 → 100644
浏览文件 @
81ef1538
<?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=
"com.zgiot.zx.workflow.mapper.WorkTemplateMapper"
>
<!--<cache type="${corePackag!}.util.RedisCache"/>-->
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论