提交 f50ea97f authored 作者: wangkr's avatar wangkr

update

上级
<?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
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);
}
}
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);
}
}
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;
}
}
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;
}
}
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;
}
}
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;
}
}
package com.zgiot.zx.workflow.base; /** * 所有自定义异常都实现这个接口 * 方便统一处理异常程序知道哪些是自定义业务异常 */public interface IBizException {}
\ No newline at end of file
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();
}
}
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;
}
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;
}
}
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;
}
}
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);
}
}
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);
}
}
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();
}
}
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
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();
}
}
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();
}
}
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();
}
}
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);
}*/
}
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);
}
*/
}
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("移动成功");
}
*/
}
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
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;
}
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;
}
}
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;
}
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;
}
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&amp.png
*/
private String id;
private String md5;
private String url;
private Integer fileSize;
private String fileType;
private String originalName;
}
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;
}
}
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论