发现流程任务的提交时间不对,@JsonFormat时间格式及时区问题

简介: 发现流程任务的提交时间不对,@JsonFormat时间格式及时区问题

今天遇到一个奇怪的问题,发现流程任务的提交时间不对,如下图

看代码,这个FlowTaskDto 其实很多地方都用到了,比如flowRecord等,但这个myProcessNew用到就有问题,而flowRecord用到就是正常的

@Data
@ApiModel("工作流任务相关-返回参数")
public class FlowTaskDto implements Serializable {
    @ApiModelProperty("任务编号")
    private String taskId;
    @ApiModelProperty("任务名称")
    private String taskName;
    @ApiModelProperty("任务Key")
    private String taskDefKey;
    @ApiModelProperty("任务执行人Id")
    private String assigneeId;
    @ApiModelProperty("部门名称")
    private String deptName;
    @ApiModelProperty("流程发起人部门名称")
    private String startDeptName;
    @ApiModelProperty("任务执行人名称")
    private String assigneeName;
    @ApiModelProperty("流程发起人Id")
    private String startUserId;
    @ApiModelProperty("流程发起人名称")
    private String startUserName;
    @ApiModelProperty("流程类型")
    private String category;
    @ApiModelProperty("流程变量信息")
    private Object procVars;
    @ApiModelProperty("局部变量信息")
    private Object taskLocalVars;
    @ApiModelProperty("流程部署编号")
    private String deployId;
    @ApiModelProperty("流程ID")
    private String procDefId;
    @ApiModelProperty("流程key")
    private String procDefKey;
    @ApiModelProperty("流程定义名称")
    private String procDefName;
    @ApiModelProperty("流程定义内置使用版本")
    private int procDefVersion;
    @ApiModelProperty("流程实例ID")
    private String procInsId;
    @ApiModelProperty("历史流程实例ID")
    private String hisProcInsId;
    @ApiModelProperty("任务耗时")
    private String duration;
    @ApiModelProperty("任务意见")
    //private FlowCommentDto comment;
    private List<FlowCommentDto> listFlowCommentDto;
    @ApiModelProperty("意见附件")
    private List<FlowCommentFileDto> listcommentFileDto;
    
    @ApiModelProperty("候选执行人")
    private String candidate;
    @ApiModelProperty("任务创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") //返回时间类型
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") //接收时间类型  支持前端字符串日期传入
    private Date createTime;
    @ApiModelProperty("任务完成时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;
  
    @ApiModelProperty("自定义业务主键")   //add by nbahcneg
    private String businessKey;
    
    @ApiModelProperty("任务当前节点类型")   // 目前只对多实例会签进行处理   add by nbahcneg 
    private String NodeType;
    
    @ApiModelProperty("流程表单变量信息")
    private Map<String, Object> taskFormValues;// 历史任务表单参数变量,目前主要针对节点多表单处理   add by nbahcneg 
}

没办法,只能跟踪前后端代码了,先跟踪后端代码,跟踪这个flowTask数据如下:

说明时间也是对的。

 

接下来看前端api接口返回信息,如下,时间不对了,说明前端获取到的时间就不对了

后端时间是对的,但前端返回时间不对,那只有类里转换的时候出现问题了,查资料,修改如下

@ApiModelProperty("任务创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") //返回时间类型
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") //接收时间类型  支持前端字符串日期传入
    private Date createTime;
    @ApiModelProperty("任务完成时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date finishTime;

再看前端返回去信息,现在正常了,问题解决了。

 

相关文章
|
前端开发 Java 关系型数据库
记录:Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl...解决方案【亲测有效】
记录:Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl...解决方案【亲测有效】
6568 0
|
存储 XML Java
Flowable工作流-高级篇
Flowable工作流-高级篇
7195 1
|
存储 安全 数据管理
新型数据库技术:基于区块链的分布式数据存储系统
传统数据库系统面临着中心化管理、数据安全性和可信度等方面的挑战。本文介绍了一种基于区块链技术的新型数据库系统,通过分布式存储和去中心化的特性,提高了数据的安全性和可信度,同时实现了高效的数据管理和共享。该系统在多个领域如金融、医疗和物联网等具有广阔的应用前景。
url参数值中有+、空格、%20、%2b
url参数值中有+、空格、%20、%2b
1433 0
|
Java 数据安全/隐私保护 Spring
SpringSecurity6从入门到实战之SpringSecurity整合自动装配详解(源码级别讲解,耐心)
该内容是关于SpringSecurity在SpringBoot中的自动配置详解。文章首先提出问题:SpringSecurity如何在引入依赖后使所有请求需认证并显示登录表单。接着,它探讨了SpringBoot的自动装配原理,从@SpringBootApplication注解开始,深入到@EnableAutoConfiguration的实现,解释了如何通过扫描jar包中的.imports文件来加载自动配置类。特别提到了SpringBootWebSecurityConfiguration类,该类默认设置为对所有请求进行认证,并支持表单和Basic认证。
|
存储 消息中间件 安全
JUC组件实战:实现RRPC(Java与硬件通过MQTT的同步通信)
【10月更文挑战第9天】本文介绍了如何利用JUC组件实现Java服务与硬件通过MQTT的同步通信(RRPC)。通过模拟MQTT通信流程,使用`LinkedBlockingQueue`作为消息队列,详细讲解了消息发送、接收及响应的同步处理机制,包括任务超时处理和内存泄漏的预防措施。文中还提供了具体的类设计和方法实现,帮助理解同步通信的内部工作原理。
JUC组件实战:实现RRPC(Java与硬件通过MQTT的同步通信)
|
安全 Java 数据处理
Java Consumer 接口详解
在Java编程中,有时需要对某个对象进行操作或者处理,而这个操作可能是非常灵活的。Java 8引入了函数式编程的特性,其中的一个重要接口就是Consumer接口。本文将详细介绍Consumer接口,包括它的定义、用法以及示例。
627 0
|
存储 分布式计算 Hadoop
Hadoop确认格式化
【7月更文挑战第20天】
522 1
|
架构师 Java 关系型数据库
工作流框架--Activiti6.0(一)
工作流框架--Activiti6.0(一)
396 0
|
Java Spring
Spring中Bean的五大作用域
Spring中Bean的五大作用域
443 0