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


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

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

    1. @Data
    2. @ApiModel("工作流任务相关-返回参数")
    3. public class FlowTaskDto implements Serializable {
    4. @ApiModelProperty("任务编号")
    5. private String taskId;
    6. @ApiModelProperty("任务名称")
    7. private String taskName;
    8. @ApiModelProperty("任务Key")
    9. private String taskDefKey;
    10. @ApiModelProperty("任务执行人Id")
    11. private String assigneeId;
    12. @ApiModelProperty("部门名称")
    13. private String deptName;
    14. @ApiModelProperty("流程发起人部门名称")
    15. private String startDeptName;
    16. @ApiModelProperty("任务执行人名称")
    17. private String assigneeName;
    18. @ApiModelProperty("流程发起人Id")
    19. private String startUserId;
    20. @ApiModelProperty("流程发起人名称")
    21. private String startUserName;
    22. @ApiModelProperty("流程类型")
    23. private String category;
    24. @ApiModelProperty("流程变量信息")
    25. private Object procVars;
    26. @ApiModelProperty("局部变量信息")
    27. private Object taskLocalVars;
    28. @ApiModelProperty("流程部署编号")
    29. private String deployId;
    30. @ApiModelProperty("流程ID")
    31. private String procDefId;
    32. @ApiModelProperty("流程key")
    33. private String procDefKey;
    34. @ApiModelProperty("流程定义名称")
    35. private String procDefName;
    36. @ApiModelProperty("流程定义内置使用版本")
    37. private int procDefVersion;
    38. @ApiModelProperty("流程实例ID")
    39. private String procInsId;
    40. @ApiModelProperty("历史流程实例ID")
    41. private String hisProcInsId;
    42. @ApiModelProperty("任务耗时")
    43. private String duration;
    44. @ApiModelProperty("任务意见")
    45. //private FlowCommentDto comment;
    46. private List listFlowCommentDto;
    47. @ApiModelProperty("意见附件")
    48. private List listcommentFileDto;
    49. @ApiModelProperty("候选执行人")
    50. private String candidate;
    51. @ApiModelProperty("任务创建时间")
    52. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") //返回时间类型
    53. @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") //接收时间类型 支持前端字符串日期传入
    54. private Date createTime;
    55. @ApiModelProperty("任务完成时间")
    56. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    57. private Date finishTime;
    58. @ApiModelProperty("自定义业务主键") //add by nbahcneg
    59. private String businessKey;
    60. @ApiModelProperty("任务当前节点类型") // 目前只对多实例会签进行处理 add by nbahcneg
    61. private String NodeType;
    62. @ApiModelProperty("流程表单变量信息")
    63. private Map taskFormValues;// 历史任务表单参数变量,目前主要针对节点多表单处理 add by nbahcneg
    64. }

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

    说明时间也是对的。

     

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

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

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

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

     

  • 相关阅读:
    kali安装LANMP出现错误求解
    Spring-aop +redssion 实现接口限流注解
    一、uniCloud的简介
    解剖—顺序表相关OJ练习题
    JAVA毕业设计web开发数码产品推荐平台系统设计与实现计算机源码+lw文档+系统+调试部署+数据库
    LeetCode 740.删除并获得点数---->打家劫舍
    Jetpack Compose 教程
    Ubuntu 基础配置
    Scala010--Scala中的常用集合函数及操作Ⅰ
    KVM API docs
  • 原文地址:https://blog.csdn.net/qq_40032778/article/details/127863645