add 对接oa
This commit is contained in:
+4
-6
@@ -1,7 +1,7 @@
|
|||||||
package com.jero.common.api;
|
package com.jero.common.api;
|
||||||
|
|
||||||
|
|
||||||
import com.jero.common.api.dto.message.HiworkTodoAdd;
|
import com.jero.common.api.dto.message.UnifiedTodoVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -16,10 +16,8 @@ public interface PushWorkflowIntegrationAPI {
|
|||||||
* @Author: liao
|
* @Author: liao
|
||||||
* @Date: 2023/10/13 15:12
|
* @Date: 2023/10/13 15:12
|
||||||
* @Description: 统一待办集成
|
* @Description: 统一待办集成
|
||||||
**/
|
*
|
||||||
void sendTodoTask(List<HiworkTodoAdd> hiworkTodoAddList);
|
* @return*/
|
||||||
|
void sendTodoTask(List<UnifiedTodoVO> unifiedTodoVOList);
|
||||||
|
|
||||||
void sendActivityComplete(List<HiworkTodoAdd> processInstanceId);
|
|
||||||
|
|
||||||
void sendDeleteTask(List<HiworkTodoAdd> todoAddList);
|
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-3
@@ -15,15 +15,18 @@ import lombok.experimental.Accessors;
|
|||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
@ApiModel(value="统一待办集成", description="统一待办集成")
|
@ApiModel(value="统一待办集成", description="统一待办集成")
|
||||||
public class HiworkTodoAdd {
|
public class UnifiedTodoVO {
|
||||||
|
|
||||||
@ApiModelProperty(value = "审批记录表id")
|
@ApiModelProperty(value = "审批记录表id")
|
||||||
private String recordId;
|
private String recordId;
|
||||||
@ApiModelProperty(value = "流程定义id")
|
@ApiModelProperty(value = "流程定义id")
|
||||||
private String processDefinitionId;
|
private String processDefinitionId;
|
||||||
@ApiModelProperty(value = "1待办,2已办,3结束,6删除,其他是待办已办")
|
@ApiModelProperty(value = "0:待办,2:已办,4:办结,8:待阅,10:已阅")
|
||||||
private String type;
|
private String isRemark;
|
||||||
@ApiModelProperty(value = "转办时用")
|
@ApiModelProperty(value = "转办时用")
|
||||||
private String toUserId;
|
private String toUserId;
|
||||||
|
@ApiModelProperty(value = "发送时的时间")
|
||||||
|
private String date;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -341,4 +341,14 @@ public class CommonConstant {
|
|||||||
*/
|
*/
|
||||||
public static final String READING_STATUS_1 = "1";
|
public static final String READING_STATUS_1 = "1";
|
||||||
public static final String READING_STATUS_2 = "2";
|
public static final String READING_STATUS_2 = "2";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OA待办消息状态(0:待办,2:已办,4:办结,8:待阅,10:已阅)
|
||||||
|
*/
|
||||||
|
//待办
|
||||||
|
public static final String TODO_TYPE_0 = "0";
|
||||||
|
//已办
|
||||||
|
public static final String TODO_TYPE_2 = "2";
|
||||||
|
//办结
|
||||||
|
public static final String TODO_TYPE_4 = "4";
|
||||||
}
|
}
|
||||||
|
|||||||
+158
@@ -0,0 +1,158 @@
|
|||||||
|
package com.jero.modules.docking.hiwork.controller;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.jero.common.api.vo.Result;
|
||||||
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
|
import com.jero.common.aspect.annotation.AutoLog;
|
||||||
|
import com.jero.common.system.base.controller.JeroController;
|
||||||
|
import com.jero.common.system.query.QueryGenerator;
|
||||||
|
import com.jero.modules.docking.hiwork.entity.LawsUnifiedTodoLog;
|
||||||
|
import com.jero.modules.docking.hiwork.service.LawsUnifiedTodoLogService;
|
||||||
|
import com.jero.modules.system.vo.IdMapBody;
|
||||||
|
import com.jero.modules.system.vo.IdsMapBody;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统一代办推送日志表(laws_unified_todo_log)表控制层
|
||||||
|
*
|
||||||
|
* @author xxxxx
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Api(tags = "统一代办推送日志表")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("LawsUnifiedTodoLog")
|
||||||
|
public class LawsUnifiedTodoLogController extends JeroController<LawsUnifiedTodoLog, LawsUnifiedTodoLogService> {
|
||||||
|
/**
|
||||||
|
* 服务对象
|
||||||
|
*/
|
||||||
|
@Resource
|
||||||
|
private LawsUnifiedTodoLogService lawsUnifiedTodoLogService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页列表查询
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "统一代办推送日志表-分页列表查询", notes = "统一代办推送日志表-分页列表查询")
|
||||||
|
@GetMapping(value = "/page")
|
||||||
|
public Result<IPage<LawsUnifiedTodoLog>> queryPageList(LawsUnifiedTodoLog lawsUnifiedTodoLog,
|
||||||
|
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
|
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||||
|
HttpServletRequest req) {
|
||||||
|
QueryWrapper<LawsUnifiedTodoLog> queryWrapper = QueryGenerator.initQueryWrapper(lawsUnifiedTodoLog, req.getParameterMap());
|
||||||
|
Page<LawsUnifiedTodoLog> page = new Page<>(pageNo, pageSize);
|
||||||
|
IPage<LawsUnifiedTodoLog> pageList = lawsUnifiedTodoLogService.page(page, queryWrapper);
|
||||||
|
return Result.OK(pageList);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表查询
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "统一代办推送日志表-列表查询", notes = "统一代办推送日志表-列表查询")
|
||||||
|
@GetMapping(value = "/list")
|
||||||
|
public Result<List<LawsUnifiedTodoLog>> queryList(LawsUnifiedTodoLog lawsUnifiedTodoLog,
|
||||||
|
HttpServletRequest req) {
|
||||||
|
QueryWrapper<LawsUnifiedTodoLog> queryWrapper = QueryGenerator.initQueryWrapper(lawsUnifiedTodoLog, req.getParameterMap());
|
||||||
|
List<LawsUnifiedTodoLog> list = lawsUnifiedTodoLogService.list(queryWrapper);
|
||||||
|
return Result.OK(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "统一代办推送日志表-添加")
|
||||||
|
@ApiOperation(value = "统一代办推送日志表-添加", notes = "统一代办推送日志表-添加")
|
||||||
|
@PostMapping(value = "/add")
|
||||||
|
public Result<String> add(@Validated @RequestBody LawsUnifiedTodoLog lawsUnifiedTodoLog) {
|
||||||
|
lawsUnifiedTodoLogService.add(lawsUnifiedTodoLog);
|
||||||
|
return Result.OK(ResultCommon.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "统一代办推送日志表-编辑")
|
||||||
|
@ApiOperation(value = "统一代办推送日志表-编辑", notes = "统一代办推送日志表-编辑")
|
||||||
|
@PostMapping(value = "/edit")
|
||||||
|
public Result<String> edit(@Validated @RequestBody LawsUnifiedTodoLog lawsUnifiedTodoLog) {
|
||||||
|
lawsUnifiedTodoLogService.editById(lawsUnifiedTodoLog);
|
||||||
|
return Result.OK(ResultCommon.EDIT_OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id删除
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "统一代办推送日志表-通过id删除")
|
||||||
|
@ApiOperation(value = "统一代办推送日志表-通过id删除", notes = "统一代办推送日志表-通过id删除")
|
||||||
|
@PostMapping(value = "/delete")
|
||||||
|
public Result<String> delete(@RequestBody IdMapBody map) {
|
||||||
|
String id = map.getId();
|
||||||
|
if (StringUtils.isBlank(id)) {
|
||||||
|
return Result.error(ResultCommon.PLEASE_SELECT_DATA);
|
||||||
|
}
|
||||||
|
lawsUnifiedTodoLogService.deleteById(id);
|
||||||
|
return Result.OK(ResultCommon.SUCCESSFULLY_DELETED);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "统一代办推送日志表-批量删除")
|
||||||
|
@ApiOperation(value = "统一代办推送日志表-批量删除", notes = "统一代办推送日志表-批量删除")
|
||||||
|
@PostMapping(value = "/deleteBatch")
|
||||||
|
public Result<String> deleteBatch(@RequestBody IdsMapBody map) {
|
||||||
|
String ids = map.getIds();
|
||||||
|
if (StringUtils.isBlank(ids)) {
|
||||||
|
return Result.error(ResultCommon.PLEASE_SELECT_DATA);
|
||||||
|
}
|
||||||
|
List<String> idList = Arrays.asList(map.getIds().split(","));
|
||||||
|
this.lawsUnifiedTodoLogService.deleteByIds(idList);
|
||||||
|
return Result.OK(ResultCommon.SUCCESSFULLY_DELETED_IN_BULK);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id查询
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "统一代办推送日志表-通过id查询")
|
||||||
|
@ApiOperation(value = "统一代办推送日志表-通过id查询", notes = "统一代办推送日志表-通过id查询")
|
||||||
|
@GetMapping(value = "/queryById")
|
||||||
|
public Result<LawsUnifiedTodoLog> queryById(@RequestParam(name = "id") String id) {
|
||||||
|
LawsUnifiedTodoLog lawsUnifiedTodoLog = lawsUnifiedTodoLogService.queryById(id);
|
||||||
|
if (lawsUnifiedTodoLog == null) {
|
||||||
|
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
|
||||||
|
}
|
||||||
|
return Result.OK(lawsUnifiedTodoLog);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出excel
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "统一代办推送日志表-导出excel")
|
||||||
|
@GetMapping(value = "/exportXls")
|
||||||
|
public ModelAndView exportXls(HttpServletRequest request, LawsUnifiedTodoLog lawsUnifiedTodoLog) {
|
||||||
|
return super.exportXls(request, lawsUnifiedTodoLog, LawsUnifiedTodoLog.class, "统一代办推送日志表");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过excel导入数据
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "统一代办推送日志表-通过excel导入数据")
|
||||||
|
@PostMapping(value = "/importExcel")
|
||||||
|
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
return super.importExcel(request, response, LawsUnifiedTodoLog.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
-78
@@ -1,78 +0,0 @@
|
|||||||
package com.jero.modules.docking.hiwork.entity;
|
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import lombok.experimental.Accessors;
|
|
||||||
|
|
||||||
import java.time.Instant;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Author: liao
|
|
||||||
* @Date: 2023/10/13 14:22
|
|
||||||
* @Description: 待办
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@Accessors(chain = true)
|
|
||||||
@EqualsAndHashCode(callSuper = false)
|
|
||||||
@ApiModel(value="统一待办集成", description="统一待办集成")
|
|
||||||
public class HiworkTodo {
|
|
||||||
@ApiModelProperty(value = "异构系统标识")
|
|
||||||
private String sysCode;
|
|
||||||
@ApiModelProperty(value = "标题")
|
|
||||||
private String noticeTitle;
|
|
||||||
@ApiModelProperty(value = "描述")
|
|
||||||
private String noticeDescription;
|
|
||||||
@ApiModelProperty(value = "流程编号")
|
|
||||||
private String busiDefCode;
|
|
||||||
@ApiModelProperty(value = "流程id")
|
|
||||||
private String flowid;
|
|
||||||
@ApiModelProperty(value = "流程实例id")
|
|
||||||
private String processId;
|
|
||||||
@ApiModelProperty(value = "流程实例名称")
|
|
||||||
private String processName;
|
|
||||||
@ApiModelProperty(value = "流程类型,字典")
|
|
||||||
private String processType;
|
|
||||||
@ApiModelProperty(value = "任务id")
|
|
||||||
private String taskId;
|
|
||||||
@ApiModelProperty(value = "节点名称")
|
|
||||||
private String taskName;
|
|
||||||
@ApiModelProperty(value = "是否进入下一节点(0是 1不是)")
|
|
||||||
private Integer multiInstance;
|
|
||||||
@ApiModelProperty(value = "节点编号")
|
|
||||||
private String nodeBusiCode;
|
|
||||||
@ApiModelProperty(value = "跳转链接")
|
|
||||||
private String businessLink;
|
|
||||||
@ApiModelProperty(value = "APP跳转链接")
|
|
||||||
private String appBusinessLink;
|
|
||||||
@ApiModelProperty(value = "创建人code")
|
|
||||||
private String createUserCode;
|
|
||||||
@ApiModelProperty(value = "创建人姓名")
|
|
||||||
private String createUserName;
|
|
||||||
@ApiModelProperty(value = "接收人id")
|
|
||||||
private String userId;
|
|
||||||
@ApiModelProperty(value = "接收人code")
|
|
||||||
private String userCode;
|
|
||||||
@ApiModelProperty(value = "接收人姓名")
|
|
||||||
private String userName;
|
|
||||||
@ApiModelProperty(value = "参与者id")
|
|
||||||
private String participantId;
|
|
||||||
@ApiModelProperty(value = "参与者编号")
|
|
||||||
private String participantCode;
|
|
||||||
@ApiModelProperty(value = "接收时间")
|
|
||||||
private Instant receiveTime;
|
|
||||||
@ApiModelProperty(value = "截止时间")
|
|
||||||
private Long dueTime;
|
|
||||||
@ApiModelProperty(value = "业务主键")
|
|
||||||
private String bid;
|
|
||||||
@ApiModelProperty(value = "待办、已办")
|
|
||||||
private String isTodo;
|
|
||||||
@ApiModelProperty(value = "是否展示在列表中")
|
|
||||||
private String isShow;
|
|
||||||
@ApiModelProperty(value = "优先级")
|
|
||||||
private String priority;
|
|
||||||
@ApiModelProperty(value = "是否通知消息")
|
|
||||||
private String notifyConfig;
|
|
||||||
|
|
||||||
}
|
|
||||||
+81
@@ -0,0 +1,81 @@
|
|||||||
|
package com.jero.modules.docking.hiwork.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*统一代办推送日志表
|
||||||
|
*@author liJiaRao
|
||||||
|
*@date 2024-07-12 14:02
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ApiModel(description="统一代办推送日志表")
|
||||||
|
@TableName(value = "laws_unified_todo_log")
|
||||||
|
public class LawsUnifiedTodoLog {
|
||||||
|
@TableId(value = "id", type = IdType.INPUT)
|
||||||
|
@ApiModelProperty(value="")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送地址
|
||||||
|
*/
|
||||||
|
@TableField(value = "url")
|
||||||
|
@ApiModelProperty(value="推送地址")
|
||||||
|
private String url;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推送内容
|
||||||
|
*/
|
||||||
|
@TableField(value = "json_str")
|
||||||
|
@ApiModelProperty(value="推送内容")
|
||||||
|
private String jsonStr;
|
||||||
|
/**
|
||||||
|
* 返回内容
|
||||||
|
*/
|
||||||
|
@TableField(value = "response_body")
|
||||||
|
@ApiModelProperty(value="返回内容")
|
||||||
|
private String responseBody;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态1成功,2失败
|
||||||
|
*/
|
||||||
|
@TableField(value = "`state`")
|
||||||
|
@ApiModelProperty(value="状态1成功,2失败")
|
||||||
|
private Integer state;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建人
|
||||||
|
*/
|
||||||
|
@TableField(value = "create_by")
|
||||||
|
@ApiModelProperty(value="创建人")
|
||||||
|
private String createBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@TableField(value = "create_time")
|
||||||
|
@ApiModelProperty(value="创建时间")
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新人
|
||||||
|
*/
|
||||||
|
@TableField(value = "update_by")
|
||||||
|
@ApiModelProperty(value="更新人")
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
@TableField(value = "update_time")
|
||||||
|
@ApiModelProperty(value="更新时间")
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
}
|
||||||
+53
@@ -0,0 +1,53 @@
|
|||||||
|
package com.jero.modules.docking.hiwork.entity;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: liao
|
||||||
|
* @Date: 2023/10/13 14:22
|
||||||
|
* @Description: 待办
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@ApiModel(value="统一待办集成", description="统一待办集成")
|
||||||
|
public class UnifiedTodo {
|
||||||
|
@ApiModelProperty(value = "异构系统标识")
|
||||||
|
private String sysCode;
|
||||||
|
@ApiModelProperty(value = "流程id")
|
||||||
|
private String flowid;
|
||||||
|
@ApiModelProperty(value = "标题")
|
||||||
|
private String requestname;
|
||||||
|
@ApiModelProperty(value = "流程类型名称")
|
||||||
|
private String workflowname;
|
||||||
|
@ApiModelProperty(value = "步骤名称(节点名称)")
|
||||||
|
private String nodename;
|
||||||
|
@ApiModelProperty(value = "PC地址")
|
||||||
|
private String pcurl;
|
||||||
|
@ApiModelProperty(value = "APP地址")
|
||||||
|
private String appurl;
|
||||||
|
@ApiModelProperty(value = "0:待办,2:已办,4:办结,8:待阅,10:已阅")
|
||||||
|
private String isremark;
|
||||||
|
@ApiModelProperty(value = "流程查看状态0:未读1:已读;")
|
||||||
|
private String viewtype;
|
||||||
|
@ApiModelProperty(value = "创建人code")
|
||||||
|
private String creator;
|
||||||
|
@ApiModelProperty(value = "接收人code")
|
||||||
|
private String receiver;
|
||||||
|
@ApiModelProperty(value = "创建日期时间")
|
||||||
|
private String createdatetime;
|
||||||
|
@ApiModelProperty(value = "接收日期时间")
|
||||||
|
private String receivedatetime;
|
||||||
|
@ApiModelProperty(value = "时间戳字段")
|
||||||
|
private String receivets;
|
||||||
|
@ApiModelProperty(value = "缓急值0正常,2紧急")
|
||||||
|
private String requestlevel;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
+12
@@ -0,0 +1,12 @@
|
|||||||
|
package com.jero.modules.docking.hiwork.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.jero.modules.docking.hiwork.entity.LawsUnifiedTodoLog;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*@author liJiaRao
|
||||||
|
*@date 2024-07-12 14:02
|
||||||
|
*/
|
||||||
|
public interface LawsUnifiedTodoLogMapper extends BaseMapper<LawsUnifiedTodoLog> {
|
||||||
|
}
|
||||||
+21
@@ -0,0 +1,21 @@
|
|||||||
|
<?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.jero.modules.docking.hiwork.mapper.LawsUnifiedTodoLogMapper">
|
||||||
|
<resultMap id="BaseResultMap" type="com.jero.modules.docking.hiwork.entity.LawsUnifiedTodoLog">
|
||||||
|
<!--@mbg.generated-->
|
||||||
|
<!--@Table laws_unified_todo_log-->
|
||||||
|
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||||
|
<result column="url" jdbcType="VARCHAR" property="url" />
|
||||||
|
<result column="type" jdbcType="INTEGER" property="type" />
|
||||||
|
<result column="json_str" jdbcType="VARCHAR" property="jsonStr" />
|
||||||
|
<result column="state" jdbcType="INTEGER" property="state" />
|
||||||
|
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
||||||
|
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||||
|
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
|
||||||
|
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||||
|
</resultMap>
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
<!--@mbg.generated-->
|
||||||
|
id, url, `type`, json_str, `state`, create_by, create_time, update_by, update_time
|
||||||
|
</sql>
|
||||||
|
</mapper>
|
||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
package com.jero.modules.docking.hiwork.service;
|
package com.jero.modules.docking.hiwork.service;
|
||||||
|
|
||||||
|
|
||||||
import com.jero.common.api.dto.message.HiworkTodoAdd;
|
import com.jero.common.api.dto.message.UnifiedTodoVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -17,6 +17,6 @@ public interface IHiworkTodoService {
|
|||||||
* @Date: 2023/10/13 15:12
|
* @Date: 2023/10/13 15:12
|
||||||
* @Description: 统一待办集成
|
* @Description: 统一待办集成
|
||||||
**/
|
**/
|
||||||
void sendTodoTask(List<HiworkTodoAdd> hiworkTodoAddList);
|
void sendTodoTask(List<UnifiedTodoVO> unifiedTodoVOList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+38
@@ -0,0 +1,38 @@
|
|||||||
|
package com.jero.modules.docking.hiwork.service;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import java.util.List;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.jero.modules.docking.hiwork.entity.LawsUnifiedTodoLog;
|
||||||
|
import com.jero.modules.docking.hiwork.mapper.LawsUnifiedTodoLogMapper;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*@author liJiaRao
|
||||||
|
*@date 2024-07-12 14:02
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class LawsUnifiedTodoLogService extends ServiceImpl<LawsUnifiedTodoLogMapper, LawsUnifiedTodoLog> {
|
||||||
|
public void add(LawsUnifiedTodoLog lawsUnifiedTodoLog) {
|
||||||
|
this.save(lawsUnifiedTodoLog);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void editById(LawsUnifiedTodoLog lawsUnifiedTodoLog) {
|
||||||
|
this.updateById(lawsUnifiedTodoLog);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteById(String id) {
|
||||||
|
this.removeById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteByIds(List<String> idList) {
|
||||||
|
for (String id : idList) {
|
||||||
|
deleteById(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public LawsUnifiedTodoLog queryById(String id) {
|
||||||
|
LawsUnifiedTodoLog lawsUnifiedTodoLog = this.getById(id);
|
||||||
|
return lawsUnifiedTodoLog;
|
||||||
|
}
|
||||||
|
}
|
||||||
-275
@@ -1,275 +0,0 @@
|
|||||||
package com.jero.modules.docking.hiwork.service.impl;
|
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.jero.common.api.PushWorkflowIntegrationAPI;
|
|
||||||
import com.jero.common.api.dto.message.HiworkTodoAdd;
|
|
||||||
import com.jero.common.api.vo.ResultCommon;
|
|
||||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
|
||||||
import com.jero.common.exception.JeroBootException;
|
|
||||||
import com.jero.common.system.vo.LoginUser;
|
|
||||||
import com.jero.modules.activiti.entity.ProcessAll;
|
|
||||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
|
||||||
import com.jero.modules.activiti.entity.ProcessNode;
|
|
||||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
|
||||||
import com.jero.modules.activiti.service.ProcessAllService;
|
|
||||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
|
||||||
import com.jero.modules.activiti.service.ProcessNodeService;
|
|
||||||
import com.jero.modules.docking.hiwork.entity.HiworkTodo;
|
|
||||||
import com.jero.modules.docking.hiwork.util.HiworkPostUtil;
|
|
||||||
import com.jero.modules.system.entity.SysUser;
|
|
||||||
import com.jero.modules.system.service.ISysUserService;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
|
||||||
import org.apache.shiro.SecurityUtils;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.web.client.RestTemplate;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Author: liao
|
|
||||||
* @Date: 2023/10/13 14:23
|
|
||||||
* @Description: 待办
|
|
||||||
*/
|
|
||||||
@Slf4j
|
|
||||||
@Service
|
|
||||||
public class HiworkTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private ISysUserService sysUserService;
|
|
||||||
@Resource
|
|
||||||
private ProcessApprovalRecordService processApprovalRecordService;
|
|
||||||
@Resource
|
|
||||||
private HiworkPostUtil hiworkPostUtil;
|
|
||||||
@Resource
|
|
||||||
private ProcessNodeService processNodeService;
|
|
||||||
@Resource
|
|
||||||
private ProcessAllService processAllService;
|
|
||||||
@Resource
|
|
||||||
private RestTemplate restTemplate;
|
|
||||||
|
|
||||||
@Value("${hiwork.ip}")
|
|
||||||
private String ip;
|
|
||||||
@Value("${hiwork.todoUrl}")
|
|
||||||
private String todoUrl;
|
|
||||||
@Value("${hiwork.isWorkflow}")
|
|
||||||
private boolean isWorkflow;
|
|
||||||
@Value("${hiwork.sysCode}")
|
|
||||||
private String hiworkSysCode;
|
|
||||||
@Value("${hiwork.url}")
|
|
||||||
private String hiworkUrl;
|
|
||||||
@Value("${hiwork.fontUrl}")
|
|
||||||
private String hiworkFontUrl;
|
|
||||||
@Value("${hiwork.fontAppUrl}")
|
|
||||||
private String hiworkFontAppUrl;
|
|
||||||
|
|
||||||
|
|
||||||
private static final String PROCESS_TYPE = "srms";
|
|
||||||
private static final String TODO_TYPE_2 = "2";
|
|
||||||
private static final String TODO_TYPE_3 = "3";
|
|
||||||
private static final String TODO_TYPE_6 = "6";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Author: liao
|
|
||||||
* @Date: 2023/10/13 15:12
|
|
||||||
* @Description: 统一待办集成
|
|
||||||
**/
|
|
||||||
@Override
|
|
||||||
public void sendTodoTask(List<HiworkTodoAdd> hiworkTodoAddList) {
|
|
||||||
if(!isWorkflow){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(hiworkTodoAddList)) {
|
|
||||||
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "hiworkTodoAddList");
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
List<HiworkTodo> hiworkTodoList = getHiworkTodos(hiworkTodoAddList);
|
|
||||||
log.info("统一待办推送入参" + JSON.toJSONString(hiworkTodoList));
|
|
||||||
log.info("统一待办推送url" + ip + todoUrl);
|
|
||||||
// 远程调用
|
|
||||||
JSONObject json = restTemplate.postForObject(ip + todoUrl,hiworkTodoList, JSONObject.class);
|
|
||||||
if(!Objects.isNull(json) && json.containsKey("success") && Objects.equals("true",json.getString("success"))){
|
|
||||||
log.info("统一待办推送成功");
|
|
||||||
}else{
|
|
||||||
log.info("统一待办推送失败{}",json);
|
|
||||||
}
|
|
||||||
}catch (Exception e){
|
|
||||||
log.error("统一待办推送异常",e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void sendActivityComplete(List<HiworkTodoAdd> hiworkTodoAddList) {
|
|
||||||
if(!isWorkflow){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
for (HiworkTodoAdd hiworkTodoAdd : hiworkTodoAddList) {
|
|
||||||
hiworkTodoAdd.setType(TODO_TYPE_3);
|
|
||||||
}
|
|
||||||
List<HiworkTodo> hiworkTodoList = getHiworkTodos(hiworkTodoAddList);
|
|
||||||
log.info("统一待办推送入参" + JSON.toJSONString(hiworkTodoList));
|
|
||||||
log.info("统一待办推送url" + ip + todoUrl);
|
|
||||||
// 远程调用
|
|
||||||
JSONObject json = restTemplate.postForObject(ip + todoUrl,hiworkTodoList, JSONObject.class);
|
|
||||||
if(!Objects.isNull(json) && json.containsKey("success") && Objects.equals("true",json.getString("success"))){
|
|
||||||
log.info("统一待办推送成功");
|
|
||||||
}else{
|
|
||||||
log.info("统一待办推送失败{}",json);
|
|
||||||
}
|
|
||||||
}catch (Exception e){
|
|
||||||
log.error("统一待办推送异常",e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void sendDeleteTask(List<HiworkTodoAdd> hiworkTodoAddList) {
|
|
||||||
if(!isWorkflow){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
for (HiworkTodoAdd hiworkTodoAdd : hiworkTodoAddList) {
|
|
||||||
hiworkTodoAdd.setType(TODO_TYPE_6);
|
|
||||||
}
|
|
||||||
List<HiworkTodo> hiworkTodoList = getHiworkTodos(hiworkTodoAddList);
|
|
||||||
log.info("统一待办删除推送入参" + JSON.toJSONString(hiworkTodoList));
|
|
||||||
log.info("统一待办推送url" + ip + todoUrl);
|
|
||||||
// 远程调用
|
|
||||||
JSONObject json = restTemplate.postForObject(ip + todoUrl,hiworkTodoList, JSONObject.class);
|
|
||||||
if(!Objects.isNull(json) && json.containsKey("success") && Objects.equals("true",json.getString("success"))){
|
|
||||||
log.info("统一待办删除推送成功");
|
|
||||||
}else{
|
|
||||||
log.info("统一待办删除推送失败{}",json);
|
|
||||||
}
|
|
||||||
}catch (Exception e){
|
|
||||||
log.error("统一待办删除推送异常",e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
|
||||||
private List<HiworkTodo> getHiworkTodos(List<HiworkTodoAdd> hiworkTodoAddList) {
|
|
||||||
List<HiworkTodo> hiworkTodoList = new ArrayList<>();
|
|
||||||
for (HiworkTodoAdd hiworkTodoAdd : hiworkTodoAddList) {
|
|
||||||
String recordId = hiworkTodoAdd.getRecordId();
|
|
||||||
String processDefinitionId = hiworkTodoAdd.getProcessDefinitionId();
|
|
||||||
String type = hiworkTodoAdd.getType();
|
|
||||||
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getById(recordId);
|
|
||||||
if(Objects.isNull(processApprovalRecord)){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
HiworkTodo hiworkTodo = new HiworkTodo();
|
|
||||||
hiworkTodo.setSysCode(hiworkSysCode);
|
|
||||||
|
|
||||||
String date = DateUtil.formatDateTime(new Date());
|
|
||||||
String taskId = processApprovalRecord.getTaskId();
|
|
||||||
hiworkTodo.setFlowid(processApprovalRecord.getProcessInstanceId());
|
|
||||||
hiworkTodo.setProcessId(taskId);
|
|
||||||
hiworkTodo.setProcessType(PROCESS_TYPE);
|
|
||||||
hiworkTodo.setTaskId(taskId);
|
|
||||||
hiworkTodo.setTaskName(processApprovalRecord.getTaskName());
|
|
||||||
|
|
||||||
LambdaQueryWrapper<ProcessNode> wrapper = new LambdaQueryWrapper<>();
|
|
||||||
wrapper.eq(ProcessNode::getProcessDefinitionId,processDefinitionId);
|
|
||||||
wrapper.eq(ProcessNode::getNodeName,processApprovalRecord.getTaskName());
|
|
||||||
wrapper.eq(ProcessNode::getIsView, YesOrNoEnum.YES.getValue());
|
|
||||||
ProcessNode processNode = processNodeService.getOne(wrapper,false);
|
|
||||||
if(!Objects.isNull(processNode)){
|
|
||||||
if(processNode.getNodeName().contains("会签")){
|
|
||||||
|
|
||||||
}
|
|
||||||
hiworkTodo.setNodeBusiCode(processNode.getXmlNodeId());
|
|
||||||
// 是否显示(0否,1是)
|
|
||||||
hiworkTodo.setIsShow(String.valueOf(processNode.getIsView()));
|
|
||||||
}
|
|
||||||
String userId;
|
|
||||||
if (hiworkTodoAdd.getToUserId() == null){
|
|
||||||
userId = processApprovalRecord.getUserId();
|
|
||||||
}else {
|
|
||||||
userId = hiworkTodoAdd.getToUserId();
|
|
||||||
}
|
|
||||||
SysUser sysUser = sysUserService.getById(userId);
|
|
||||||
|
|
||||||
String noticeTitle = processApprovalRecord.getTaskName() + "(" + sysUser.getRealname() + " " + date + ")";
|
|
||||||
LambdaQueryWrapper<ProcessAll> queryProcessAll = new LambdaQueryWrapper<>();
|
|
||||||
queryProcessAll.eq(ProcessAll::getProcessInstanceId,processApprovalRecord.getProcessInstanceId());
|
|
||||||
ProcessAll processAll = processAllService.getOne(queryProcessAll);
|
|
||||||
if(!Objects.isNull(processAll)){
|
|
||||||
String processName = ProcessTypeEnum.getNameByValue(processAll.getPrcType());
|
|
||||||
noticeTitle = processName + "(" + sysUser.getRealname() + " " + date + ")";
|
|
||||||
hiworkTodo.setProcessName(processName);
|
|
||||||
|
|
||||||
SysUser createUser = sysUserService.getById(processAll.getCreateUserId());
|
|
||||||
if(!Objects.isNull(createUser)){
|
|
||||||
hiworkTodo.setCreateUserCode(createUser.getUsername());
|
|
||||||
hiworkTodo.setCreateUserName(createUser.getRealname());
|
|
||||||
}
|
|
||||||
if(!Objects.isNull(processAll.getDueTime())){
|
|
||||||
hiworkTodo.setDueTime(processAll.getDueTime().getTime());
|
|
||||||
}
|
|
||||||
String projectId = "";
|
|
||||||
if (StrUtil.isNotBlank(processAll.getProjectId())){
|
|
||||||
projectId = processAll.getProjectId();
|
|
||||||
}
|
|
||||||
hiworkTodo.setBid(projectId);
|
|
||||||
String url = hiworkFontUrl
|
|
||||||
//.replaceAll("&","%26")
|
|
||||||
//.replaceAll("\\?","%3F")
|
|
||||||
.replace("{projectId}",projectId)
|
|
||||||
.replace("{taskName}",processApprovalRecord.getTaskName())
|
|
||||||
.replace("{taskId}", taskId)
|
|
||||||
.replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId())
|
|
||||||
.replace("{nodeId}",processApprovalRecord.getNodeId());
|
|
||||||
// 跳转链接
|
|
||||||
String businessLink = Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType())) + url;
|
|
||||||
hiworkTodo.setBusinessLink(businessLink);
|
|
||||||
// APP跳转链接
|
|
||||||
String appUrl = hiworkFontAppUrl
|
|
||||||
//.replaceAll("&","%26")
|
|
||||||
//.replaceAll("\\?","%3F")
|
|
||||||
.replace("{projectId}",projectId)
|
|
||||||
.replace("{taskName}",processApprovalRecord.getTaskName())
|
|
||||||
.replace("{taskId}", taskId)
|
|
||||||
.replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId())
|
|
||||||
.replace("{nodeId}",processApprovalRecord.getNodeId());
|
|
||||||
String appBusinessLink = appUrl.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType())));
|
|
||||||
hiworkTodo.setAppBusinessLink(appBusinessLink);
|
|
||||||
}
|
|
||||||
hiworkTodo.setNoticeTitle(noticeTitle);
|
|
||||||
hiworkTodo.setUserId(userId);
|
|
||||||
hiworkTodo.setUserCode(sysUser.getUsername());
|
|
||||||
hiworkTodo.setUserName(sysUser.getRealname());
|
|
||||||
hiworkTodo.setReceiveTime(Instant.now());
|
|
||||||
//2已完成时进入下一节点
|
|
||||||
Integer finishFlag = processApprovalRecord.getFinishFlag();
|
|
||||||
if (finishFlag.equals(2)){
|
|
||||||
hiworkTodo.setMultiInstance(0);
|
|
||||||
}else {
|
|
||||||
hiworkTodo.setMultiInstance(1);
|
|
||||||
}
|
|
||||||
if (TODO_TYPE_3.equals(type)){
|
|
||||||
hiworkTodo.setIsTodo(TODO_TYPE_3);
|
|
||||||
}else if (TODO_TYPE_6.equals(type)){
|
|
||||||
hiworkTodo.setIsTodo(TODO_TYPE_6);
|
|
||||||
}else if (TODO_TYPE_2.equals(type)){
|
|
||||||
hiworkTodo.setIsTodo(TODO_TYPE_2);
|
|
||||||
}else {
|
|
||||||
hiworkTodo.setIsTodo(String.valueOf(finishFlag));
|
|
||||||
}
|
|
||||||
hiworkTodoList.add(hiworkTodo);
|
|
||||||
}
|
|
||||||
return hiworkTodoList;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
+229
@@ -0,0 +1,229 @@
|
|||||||
|
package com.jero.modules.docking.hiwork.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.http.Header;
|
||||||
|
import cn.hutool.http.HttpRequest;
|
||||||
|
import cn.hutool.http.HttpResponse;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.jero.common.api.PushWorkflowIntegrationAPI;
|
||||||
|
import com.jero.common.api.dto.message.UnifiedTodoVO;
|
||||||
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
import com.jero.modules.activiti.entity.ProcessAll;
|
||||||
|
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||||
|
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||||
|
import com.jero.modules.activiti.service.ProcessAllService;
|
||||||
|
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||||
|
import com.jero.modules.activiti.service.ProcessNodeService;
|
||||||
|
import com.jero.modules.docking.hiwork.entity.LawsUnifiedTodoLog;
|
||||||
|
import com.jero.modules.docking.hiwork.entity.UnifiedTodo;
|
||||||
|
import com.jero.modules.docking.hiwork.service.LawsUnifiedTodoLogService;
|
||||||
|
import com.jero.modules.docking.hiwork.util.HiworkPostUtil;
|
||||||
|
import com.jero.modules.system.entity.SysUser;
|
||||||
|
import com.jero.modules.system.service.ISysUserService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: liao
|
||||||
|
* @Date: 2023/10/13 14:23
|
||||||
|
* @Description: 待办
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class UnifiedTodoServiceImpl implements PushWorkflowIntegrationAPI {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ISysUserService sysUserService;
|
||||||
|
@Resource
|
||||||
|
private ProcessApprovalRecordService processApprovalRecordService;
|
||||||
|
@Resource
|
||||||
|
private HiworkPostUtil hiworkPostUtil;
|
||||||
|
@Resource
|
||||||
|
private ProcessNodeService processNodeService;
|
||||||
|
@Resource
|
||||||
|
private ProcessAllService processAllService;
|
||||||
|
@Resource
|
||||||
|
private RestTemplate restTemplate;
|
||||||
|
@Resource
|
||||||
|
private LawsUnifiedTodoLogService unifiedTodoLogService;
|
||||||
|
|
||||||
|
@Value("${hiwork.ip}")
|
||||||
|
private String ip;
|
||||||
|
@Value("${hiwork.todoUrl}")
|
||||||
|
private String todoUrl;
|
||||||
|
@Value("${hiwork.isWorkflow}")
|
||||||
|
private boolean isWorkflow;
|
||||||
|
@Value("${hiwork.sysCode}")
|
||||||
|
private String hiworkSysCode;
|
||||||
|
@Value("${hiwork.url}")
|
||||||
|
private String hiworkUrl;
|
||||||
|
@Value("${hiwork.fontUrl}")
|
||||||
|
private String hiworkFontUrl;
|
||||||
|
@Value("${hiwork.fontAppUrl}")
|
||||||
|
private String hiworkFontAppUrl;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: liao
|
||||||
|
* @Date: 2023/10/13 15:12
|
||||||
|
* @Description: 统一待办集成
|
||||||
|
*
|
||||||
|
* @return*/
|
||||||
|
@Override
|
||||||
|
public void sendTodoTask(List<UnifiedTodoVO> unifiedTodoVOList) {
|
||||||
|
if(!isWorkflow){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
boolean successFlag = true;
|
||||||
|
if (CollectionUtils.isEmpty(unifiedTodoVOList)) {
|
||||||
|
throw new JeroBootException(ResultCommon.EMPTY_COMMON, "unifiedTodoVOList");
|
||||||
|
}
|
||||||
|
String newDate = DateUtil.formatDateTime(new Date());
|
||||||
|
for (UnifiedTodoVO unifiedTodoVO : unifiedTodoVOList) {
|
||||||
|
String date = unifiedTodoVO.getDate();
|
||||||
|
if (StringUtils.isBlank(date)){
|
||||||
|
unifiedTodoVO.setDate(newDate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
List<UnifiedTodo> unifiedTodoList = getHiworkTodos(unifiedTodoVOList);
|
||||||
|
String jsonString = JSONObject.toJSONString(unifiedTodoList);
|
||||||
|
log.info("统一待办推送入参" + jsonString);
|
||||||
|
push(ip + todoUrl,jsonString);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error("统一待办推送异常",e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void push(String url, String jsonString) {
|
||||||
|
// 设置最大重试次数
|
||||||
|
int maxRetries = 3;
|
||||||
|
// 当前重试次数
|
||||||
|
int retries = 0;
|
||||||
|
LawsUnifiedTodoLog lawsUnifiedTodoLog = new LawsUnifiedTodoLog();
|
||||||
|
while (retries < maxRetries) {
|
||||||
|
// 远程调用
|
||||||
|
HttpResponse execute = HttpRequest.post(url)
|
||||||
|
.header(Header.CONTENT_TYPE, "application/json;charset=UTF-8")
|
||||||
|
.body(jsonString)//表单内容
|
||||||
|
.timeout(3000)//超时,毫秒
|
||||||
|
.execute();
|
||||||
|
if (execute.isOk()) {
|
||||||
|
log.info("统一待办推送成功");
|
||||||
|
String body = execute.body();
|
||||||
|
lawsUnifiedTodoLog.setResponseBody(body);
|
||||||
|
break;
|
||||||
|
}else {
|
||||||
|
String body = execute.body();
|
||||||
|
lawsUnifiedTodoLog.setResponseBody(body);
|
||||||
|
JSONObject jsonObject = JSONObject.parseObject(body);
|
||||||
|
String operResult = jsonObject.getString("operResult");
|
||||||
|
if ("1".equals(operResult)){
|
||||||
|
log.info("统一待办推送成功");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
log.info("统一待办推送失败{}",jsonObject);
|
||||||
|
retries++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
lawsUnifiedTodoLog.setUrl(url);
|
||||||
|
lawsUnifiedTodoLog.setJsonStr(jsonString);
|
||||||
|
if (retries == maxRetries){
|
||||||
|
lawsUnifiedTodoLog.setState(2);
|
||||||
|
}else {
|
||||||
|
lawsUnifiedTodoLog.setState(1);
|
||||||
|
}
|
||||||
|
unifiedTodoLogService.add(lawsUnifiedTodoLog);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
private List<UnifiedTodo> getHiworkTodos(List<UnifiedTodoVO> unifiedTodoVOList) {
|
||||||
|
List<UnifiedTodo> unifiedTodoList = new ArrayList<>();
|
||||||
|
for (UnifiedTodoVO unifiedTodoVO : unifiedTodoVOList) {
|
||||||
|
String recordId = unifiedTodoVO.getRecordId();
|
||||||
|
String processDefinitionId = unifiedTodoVO.getProcessDefinitionId();
|
||||||
|
String isremark = unifiedTodoVO.getIsRemark();
|
||||||
|
String date = unifiedTodoVO.getDate();
|
||||||
|
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getById(recordId);
|
||||||
|
if(Objects.isNull(processApprovalRecord)){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
UnifiedTodo unifiedTodo = new UnifiedTodo();
|
||||||
|
unifiedTodo.setSysCode(hiworkSysCode);
|
||||||
|
|
||||||
|
String taskId = processApprovalRecord.getTaskId();
|
||||||
|
unifiedTodo.setFlowid(processApprovalRecord.getProcessInstanceId());
|
||||||
|
unifiedTodo.setNodename(processApprovalRecord.getTaskName());
|
||||||
|
|
||||||
|
String userId;
|
||||||
|
if (unifiedTodoVO.getToUserId() == null){
|
||||||
|
userId = processApprovalRecord.getUserId();
|
||||||
|
}else {
|
||||||
|
userId = unifiedTodoVO.getToUserId();
|
||||||
|
}
|
||||||
|
SysUser sysUser = sysUserService.getById(userId);
|
||||||
|
|
||||||
|
String noticeTitle = processApprovalRecord.getTaskName() + "(" + sysUser.getRealname() + " " + date + ")";
|
||||||
|
LambdaQueryWrapper<ProcessAll> queryProcessAll = new LambdaQueryWrapper<>();
|
||||||
|
queryProcessAll.eq(ProcessAll::getProcessInstanceId,processApprovalRecord.getProcessInstanceId());
|
||||||
|
ProcessAll processAll = processAllService.getOne(queryProcessAll);
|
||||||
|
if(!Objects.isNull(processAll)){
|
||||||
|
String processName = ProcessTypeEnum.getNameByValue(processAll.getPrcType());
|
||||||
|
noticeTitle = processName + "(" + sysUser.getRealname() + " " + date + ")";
|
||||||
|
unifiedTodo.setWorkflowname(processName);
|
||||||
|
|
||||||
|
SysUser createUser = sysUserService.getById(processAll.getCreateUserId());
|
||||||
|
if(!Objects.isNull(createUser)){
|
||||||
|
unifiedTodo.setCreator(createUser.getUsername());
|
||||||
|
}
|
||||||
|
String projectId = "";
|
||||||
|
if (StrUtil.isNotBlank(processAll.getProjectId())){
|
||||||
|
projectId = processAll.getProjectId();
|
||||||
|
}
|
||||||
|
String url = hiworkFontUrl
|
||||||
|
.replace("{projectId}",projectId)
|
||||||
|
.replace("{taskName}",processApprovalRecord.getTaskName())
|
||||||
|
.replace("{taskId}", taskId)
|
||||||
|
.replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId())
|
||||||
|
.replace("{nodeId}",processApprovalRecord.getNodeId());
|
||||||
|
// 跳转链接
|
||||||
|
String businessLink = Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType())) + url;
|
||||||
|
unifiedTodo.setPcurl(businessLink);
|
||||||
|
// APP跳转链接
|
||||||
|
String appUrl = hiworkFontAppUrl
|
||||||
|
.replace("{projectId}",projectId)
|
||||||
|
.replace("{taskName}",processApprovalRecord.getTaskName())
|
||||||
|
.replace("{taskId}", taskId)
|
||||||
|
.replace("{processInstanceId}",processApprovalRecord.getProcessInstanceId())
|
||||||
|
.replace("{nodeId}",processApprovalRecord.getNodeId());
|
||||||
|
String appBusinessLink = appUrl.replace("{url}", Objects.requireNonNull(ProcessTypeEnum.getFontReturnUrlPc(processAll.getPrcType())));
|
||||||
|
unifiedTodo.setAppurl(appBusinessLink);
|
||||||
|
}
|
||||||
|
unifiedTodo.setRequestname(noticeTitle);
|
||||||
|
unifiedTodo.setReceiver(sysUser.getUsername());
|
||||||
|
unifiedTodo.setReceivedatetime(date);
|
||||||
|
unifiedTodo.setIsremark(isremark);
|
||||||
|
unifiedTodo.setReceivets(String.valueOf(System.currentTimeMillis()));
|
||||||
|
unifiedTodo.setRequestlevel("0");
|
||||||
|
unifiedTodoList.add(unifiedTodo);
|
||||||
|
}
|
||||||
|
return unifiedTodoList;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+3
-6
@@ -8,7 +8,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
|
|||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.modules.docking.hiwork.entity.HiworkResult;
|
import com.jero.modules.docking.hiwork.entity.HiworkResult;
|
||||||
import com.jero.modules.docking.hiwork.entity.HiworkTodo;
|
import com.jero.modules.docking.hiwork.entity.UnifiedTodo;
|
||||||
import com.jero.modules.docking.hiwork.entity.HiworkDingDingMsg;
|
import com.jero.modules.docking.hiwork.entity.HiworkDingDingMsg;
|
||||||
import com.jero.modules.docking.hiwork.entity.HiworkSystemMsg;
|
import com.jero.modules.docking.hiwork.entity.HiworkSystemMsg;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -17,14 +17,11 @@ import org.springframework.beans.factory.annotation.Value;
|
|||||||
import org.springframework.http.HttpEntity;
|
import org.springframework.http.HttpEntity;
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.http.ResponseEntity;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static net.sf.jsqlparser.parser.feature.Feature.execute;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: liao
|
* @Author: liao
|
||||||
* @Date: 2023/10/13 16:55
|
* @Date: 2023/10/13 16:55
|
||||||
@@ -102,11 +99,11 @@ public class HiworkPostUtil {
|
|||||||
* @Date: 2023/10/13 17:45
|
* @Date: 2023/10/13 17:45
|
||||||
* @Description: 统一待办集成远程调用
|
* @Description: 统一待办集成远程调用
|
||||||
**/
|
**/
|
||||||
public void postTodo(List<HiworkTodo> hiworkTodoList) {
|
public void postTodo(List<UnifiedTodo> unifiedTodoList) {
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
String jsonString;
|
String jsonString;
|
||||||
try {
|
try {
|
||||||
jsonString = objectMapper.writeValueAsString(hiworkTodoList);
|
jsonString = objectMapper.writeValueAsString(unifiedTodoList);
|
||||||
} catch (JsonProcessingException e) {
|
} catch (JsonProcessingException e) {
|
||||||
throw new JeroBootException("JSON string format conversion error");
|
throw new JeroBootException("JSON string format conversion error");
|
||||||
}
|
}
|
||||||
|
|||||||
+101
-33
@@ -6,7 +6,9 @@ import cn.hutool.core.date.DateTime;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.jero.common.api.dto.message.HiworkTodoAdd;
|
import com.jero.common.api.PushWorkflowIntegrationAPI;
|
||||||
|
import com.jero.common.api.dto.message.UnifiedTodoVO;
|
||||||
|
import com.jero.common.constant.CommonConstant;
|
||||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
import com.jero.modules.activiti.common.ActivitiCommon;
|
import com.jero.modules.activiti.common.ActivitiCommon;
|
||||||
@@ -62,11 +64,15 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
|||||||
case PROCESS_COMPLETED:
|
case PROCESS_COMPLETED:
|
||||||
this.activityComplete(event);
|
this.activityComplete(event);
|
||||||
break;
|
break;
|
||||||
|
case ENTITY_DELETED:
|
||||||
|
this.entityDeleted(event);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
//log.info("Event received: " + event.getType());
|
//log.info("Event received: " + event.getType());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 上面的 onEvent 方法抛出异常的后续处理动作
|
* 上面的 onEvent 方法抛出异常的后续处理动作
|
||||||
* false :表示忽略onEvent()方法方法中抛出的异常
|
* false :表示忽略onEvent()方法方法中抛出的异常
|
||||||
@@ -173,13 +179,14 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
|||||||
processAllService.update(updateWrapper);
|
processAllService.update(updateWrapper);
|
||||||
|
|
||||||
// 对接统一平台生成待办任务
|
// 对接统一平台生成待办任务
|
||||||
// PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
||||||
List<HiworkTodoAdd> list = new ArrayList<>();
|
List<UnifiedTodoVO> list = new ArrayList<>();
|
||||||
HiworkTodoAdd hiworkTodoAdd = new HiworkTodoAdd();
|
UnifiedTodoVO unifiedTodoVO = new UnifiedTodoVO();
|
||||||
hiworkTodoAdd.setRecordId(approvalRecord.getId());
|
unifiedTodoVO.setRecordId(approvalRecord.getId());
|
||||||
hiworkTodoAdd.setProcessDefinitionId(processDefinitionId);
|
unifiedTodoVO.setProcessDefinitionId(processDefinitionId);
|
||||||
list.add(hiworkTodoAdd);
|
unifiedTodoVO.setIsRemark(CommonConstant.TODO_TYPE_0);
|
||||||
// pushWorkflowIntegrationAPI.sendTodoTask(list);
|
list.add(unifiedTodoVO);
|
||||||
|
pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void taskAssigned(ActivitiEvent event) {
|
private void taskAssigned(ActivitiEvent event) {
|
||||||
@@ -202,24 +209,21 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
|||||||
if (!Objects.equals(assignee,userId)) {
|
if (!Objects.equals(assignee,userId)) {
|
||||||
log.info("由"+userId+"转办给"+assignee);
|
log.info("由"+userId+"转办给"+assignee);
|
||||||
// 对接统一平台生成完成任务
|
// 对接统一平台生成完成任务
|
||||||
// PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
||||||
List<HiworkTodoAdd> list = new ArrayList<>();
|
List<UnifiedTodoVO> list = new ArrayList<>();
|
||||||
HiworkTodoAdd hiworkTodoAdd = new HiworkTodoAdd();
|
UnifiedTodoVO unifiedTodoVO = new UnifiedTodoVO();
|
||||||
hiworkTodoAdd.setRecordId(approvalRecord.getId());
|
unifiedTodoVO.setRecordId(approvalRecord.getId());
|
||||||
hiworkTodoAdd.setType("2");
|
unifiedTodoVO.setIsRemark(CommonConstant.TODO_TYPE_2);
|
||||||
hiworkTodoAdd.setProcessDefinitionId(processDefinitionId);
|
unifiedTodoVO.setProcessDefinitionId(processDefinitionId);
|
||||||
list.add(hiworkTodoAdd);
|
list.add(unifiedTodoVO);
|
||||||
// pushWorkflowIntegrationAPI.sendTodoTask(list);
|
pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||||
|
|
||||||
// 对接统一平台生成办结
|
|
||||||
// pushWorkflowIntegrationAPI.sendActivityComplete(list);
|
|
||||||
|
|
||||||
// 生成被转办人的待办
|
// 生成被转办人的待办
|
||||||
list.clear();
|
list.clear();
|
||||||
hiworkTodoAdd.setToUserId(assignee);
|
unifiedTodoVO.setToUserId(assignee);
|
||||||
hiworkTodoAdd.setType("1");
|
unifiedTodoVO.setIsRemark(CommonConstant.TODO_TYPE_0);
|
||||||
list.add(hiworkTodoAdd);
|
list.add(unifiedTodoVO);
|
||||||
// pushWorkflowIntegrationAPI.sendTodoTask(list);
|
pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -298,18 +302,62 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
|||||||
processAllService.update(updateWrapper);
|
processAllService.update(updateWrapper);
|
||||||
|
|
||||||
// 对接统一平台生成完成任务
|
// 对接统一平台生成完成任务
|
||||||
// PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
||||||
List<HiworkTodoAdd> list = new ArrayList<>();
|
List<UnifiedTodoVO> list = new ArrayList<>();
|
||||||
HiworkTodoAdd hiworkTodoAdd = new HiworkTodoAdd();
|
UnifiedTodoVO unifiedTodoVO = new UnifiedTodoVO();
|
||||||
hiworkTodoAdd.setRecordId(approvalRecord.getId());
|
unifiedTodoVO.setRecordId(approvalRecord.getId());
|
||||||
hiworkTodoAdd.setProcessDefinitionId(processDefinitionId);
|
unifiedTodoVO.setProcessDefinitionId(processDefinitionId);
|
||||||
list.add(hiworkTodoAdd);
|
unifiedTodoVO.setIsRemark(CommonConstant.TODO_TYPE_2);
|
||||||
// pushWorkflowIntegrationAPI.sendTodoTask(list);
|
list.add(unifiedTodoVO);
|
||||||
|
pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||||
// 对接统一平台生成办结
|
|
||||||
// pushWorkflowIntegrationAPI.sendActivityComplete(list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void entityDeleted(ActivitiEvent event) {
|
||||||
|
log.info("===================任务删除事件===================");
|
||||||
|
ActivitiEntityEventImpl activitiEntityEvent = (ActivitiEntityEventImpl) event;
|
||||||
|
TaskEntity delegateTask;
|
||||||
|
if (activitiEntityEvent.getEntity() instanceof TaskEntity){
|
||||||
|
delegateTask = (TaskEntity) activitiEntityEvent.getEntity();
|
||||||
|
}else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ExecutionEntity execution = delegateTask.getExecution();
|
||||||
|
ProcessApprovalRecordService recordService = SpringContextUtil.getBean(ProcessApprovalRecordService.class);
|
||||||
|
String taskId = delegateTask.getId();
|
||||||
|
String assignee = delegateTask.getAssignee();
|
||||||
|
String processDefinitionId = delegateTask.getProcessDefinitionId();
|
||||||
|
//更新审批信息为完成
|
||||||
|
LambdaQueryWrapper<ProcessApprovalRecord> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(ProcessApprovalRecord::getTaskId,taskId);
|
||||||
|
wrapper.ne(ProcessApprovalRecord::getFinishFlag,FinishFlagEnum.COMPLETE.getValue());
|
||||||
|
wrapper.ne(ProcessApprovalRecord::getFinishFlag,FinishFlagEnum.WITHDRAWN.getValue());
|
||||||
|
ProcessApprovalRecord approvalRecord = recordService.getOne(wrapper);
|
||||||
|
if (approvalRecord == null){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Integer finishFlag = approvalRecord.getFinishFlag();
|
||||||
|
if (FinishFlagEnum.COMPLETE.getValue().equals(finishFlag)){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
log.info("id = " + delegateTask.getId());
|
||||||
|
log.info("name = " + delegateTask.getName());
|
||||||
|
log.info("taskEntity.getAssignee() = " + delegateTask.getAssignee());
|
||||||
|
log.info("taskEntity.getIdentityLinks() = " + delegateTask.getIdentityLinks());
|
||||||
|
log.info("execution.getActivityId() = " + execution.getActivityId());
|
||||||
|
log.info("taskEntity.getVariables() = " + delegateTask.getVariables());
|
||||||
|
|
||||||
|
PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
||||||
|
List<UnifiedTodoVO> todoAddList = new ArrayList<>();
|
||||||
|
UnifiedTodoVO unifiedTodoVO = new UnifiedTodoVO();
|
||||||
|
unifiedTodoVO.setRecordId(approvalRecord.getId());
|
||||||
|
unifiedTodoVO.setProcessDefinitionId(processDefinitionId);
|
||||||
|
unifiedTodoVO.setIsRemark(CommonConstant.TODO_TYPE_2);
|
||||||
|
todoAddList.add(unifiedTodoVO);
|
||||||
|
|
||||||
|
pushWorkflowIntegrationAPI.sendTodoTask(todoAddList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void activityComplete(ActivitiEvent event) {
|
private void activityComplete(ActivitiEvent event) {
|
||||||
log.info("===================流程完成事件===================");
|
log.info("===================流程完成事件===================");
|
||||||
ActivitiEntityEventImpl activitiEntityEvent = (ActivitiEntityEventImpl) event;
|
ActivitiEntityEventImpl activitiEntityEvent = (ActivitiEntityEventImpl) event;
|
||||||
@@ -319,6 +367,8 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
|||||||
//根据mainInstanceId是否存在判断是否子流程
|
//根据mainInstanceId是否存在判断是否子流程
|
||||||
String mainInstanceId = (String) execution.getVariable(ActivitiCommon.MAIN_INSTANCE_ID);
|
String mainInstanceId = (String) execution.getVariable(ActivitiCommon.MAIN_INSTANCE_ID);
|
||||||
String processInstanceId = mainInstanceId != null ? mainInstanceId : execution.getProcessInstanceId();
|
String processInstanceId = mainInstanceId != null ? mainInstanceId : execution.getProcessInstanceId();
|
||||||
|
String processDefinitionId = execution.getProcessDefinitionId();
|
||||||
|
|
||||||
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
|
||||||
Date createTime = processAll.getCreateTime();
|
Date createTime = processAll.getCreateTime();
|
||||||
DateTime date = DateUtil.date();
|
DateTime date = DateUtil.date();
|
||||||
@@ -339,6 +389,24 @@ public class MyGlobalEventListener implements ActivitiEventListener {
|
|||||||
TaskService taskService = SpringContextUtil.getBean(TaskService.class);
|
TaskService taskService = SpringContextUtil.getBean(TaskService.class);
|
||||||
taskService.complete(parentTaskId);
|
taskService.complete(parentTaskId);
|
||||||
}
|
}
|
||||||
|
}else {
|
||||||
|
//查询所有审批信息
|
||||||
|
ProcessApprovalRecordService recordService = SpringContextUtil.getBean(ProcessApprovalRecordService.class);
|
||||||
|
LambdaQueryWrapper<ProcessApprovalRecord> wrapper1 = new LambdaQueryWrapper<>();
|
||||||
|
wrapper1.eq(ProcessApprovalRecord::getProcessInstanceId,processInstanceId);
|
||||||
|
List<ProcessApprovalRecord> approvalRecordList = recordService.list(wrapper1);
|
||||||
|
|
||||||
|
//对接统一平台生成办结
|
||||||
|
PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
|
||||||
|
List<UnifiedTodoVO> list = new ArrayList<>();
|
||||||
|
for (ProcessApprovalRecord approvalRecord : approvalRecordList) {
|
||||||
|
UnifiedTodoVO unifiedTodoVO = new UnifiedTodoVO();
|
||||||
|
unifiedTodoVO.setRecordId(approvalRecord.getId());
|
||||||
|
unifiedTodoVO.setProcessDefinitionId(processDefinitionId);
|
||||||
|
unifiedTodoVO.setIsRemark(CommonConstant.TODO_TYPE_2);
|
||||||
|
list.add(unifiedTodoVO);
|
||||||
|
}
|
||||||
|
pushWorkflowIntegrationAPI.sendTodoTask(list);
|
||||||
}
|
}
|
||||||
log.info("id = " + execution.getId());
|
log.info("id = " + execution.getId());
|
||||||
log.info("name = " + execution.getName());
|
log.info("name = " + execution.getName());
|
||||||
|
|||||||
+13
-10
@@ -7,10 +7,12 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.jero.common.api.PushWorkflowIntegrationAPI;
|
||||||
import com.jero.common.api.SendMessageAPI;
|
import com.jero.common.api.SendMessageAPI;
|
||||||
import com.jero.common.api.dto.message.HiworkTodoAdd;
|
import com.jero.common.api.dto.message.UnifiedTodoVO;
|
||||||
import com.jero.common.api.dto.message.SendMessageDTO;
|
import com.jero.common.api.dto.message.SendMessageDTO;
|
||||||
import com.jero.common.api.vo.ResultCommon;
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
|
import com.jero.common.constant.CommonConstant;
|
||||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
@@ -73,6 +75,8 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
|
|||||||
private EnterpriseStandardPlanService espService;
|
private EnterpriseStandardPlanService espService;
|
||||||
@Resource
|
@Resource
|
||||||
private EnterpriseStandardRecheckPlanService esRecheckService;
|
private EnterpriseStandardRecheckPlanService esRecheckService;
|
||||||
|
@Resource
|
||||||
|
private PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI;
|
||||||
|
|
||||||
private static final List<Integer> INSPECT_PROCESS = Arrays.asList();
|
private static final List<Integer> INSPECT_PROCESS = Arrays.asList();
|
||||||
public ProcessAll getByProcessInstanceId(String processInstanceId){
|
public ProcessAll getByProcessInstanceId(String processInstanceId){
|
||||||
@@ -230,23 +234,22 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
|
|||||||
processApprovalRecord.setCreateTime(null);
|
processApprovalRecord.setCreateTime(null);
|
||||||
approvalRecordService.save(processApprovalRecord);
|
approvalRecordService.save(processApprovalRecord);
|
||||||
|
|
||||||
//todo 同步删除操作到统一待办
|
|
||||||
//查询所有待办任务
|
//查询所有待办任务
|
||||||
LambdaQueryWrapper<ProcessApprovalRecord> wrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<ProcessApprovalRecord> wrapper = new LambdaQueryWrapper<>();
|
||||||
wrapper.eq(ProcessApprovalRecord::getProcessInstanceId,processInstanceId);
|
wrapper.eq(ProcessApprovalRecord::getProcessInstanceId,processInstanceId);
|
||||||
wrapper.eq(ProcessApprovalRecord::getFinishFlag,FinishFlagEnum.INCOMPLETE.getValue());
|
wrapper.eq(ProcessApprovalRecord::getFinishFlag,FinishFlagEnum.INCOMPLETE.getValue());
|
||||||
List<ProcessApprovalRecord> approvalRecordList = approvalRecordService.list(wrapper);
|
List<ProcessApprovalRecord> approvalRecordList = approvalRecordService.list(wrapper);
|
||||||
|
//同步删除操作到统一待办
|
||||||
List<HiworkTodoAdd> todoAddList = new ArrayList<>();
|
List<UnifiedTodoVO> todoAddList = new ArrayList<>();
|
||||||
String processDefinitionId = processAll.getProcessDefinitionId();
|
String processDefinitionId = processAll.getProcessDefinitionId();
|
||||||
for (ProcessApprovalRecord approvalRecord : approvalRecordList) {
|
for (ProcessApprovalRecord approvalRecord : approvalRecordList) {
|
||||||
HiworkTodoAdd hiworkTodoAdd = new HiworkTodoAdd();
|
UnifiedTodoVO unifiedTodoVO = new UnifiedTodoVO();
|
||||||
hiworkTodoAdd.setRecordId(approvalRecord.getId());
|
unifiedTodoVO.setRecordId(approvalRecord.getId());
|
||||||
hiworkTodoAdd.setProcessDefinitionId(processDefinitionId);
|
unifiedTodoVO.setProcessDefinitionId(processDefinitionId);
|
||||||
todoAddList.add(hiworkTodoAdd);
|
unifiedTodoVO.setIsRemark(CommonConstant.TODO_TYPE_2);
|
||||||
|
todoAddList.add(unifiedTodoVO);
|
||||||
}
|
}
|
||||||
|
pushWorkflowIntegrationAPI.sendTodoTask(todoAddList);
|
||||||
// pushWorkflowIntegrationAPI.sendDeleteTask(todoAddList);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void delegateTask(DelegateTaskParam param) {
|
public void delegateTask(DelegateTaskParam param) {
|
||||||
|
|||||||
@@ -379,13 +379,13 @@ iam:
|
|||||||
|
|
||||||
# Hiwork集成
|
# Hiwork集成
|
||||||
hiwork:
|
hiwork:
|
||||||
ip: http://task-test.sinotruk.com/
|
ip: http://10.2.5.218:8088/
|
||||||
# 异构系统标识
|
# 异构系统标识
|
||||||
sysCode: SRMS
|
sysCode: SRMS
|
||||||
# 服务号
|
# 服务号
|
||||||
serviceCode: SRMSService
|
serviceCode: SRMSService
|
||||||
# 统一待办集成
|
# 统一待办集成
|
||||||
todoUrl: taskapi/task.basedata/integrationCall/workflowIntegration
|
todoUrl: rest/ofs/batchReceiveRequestInfoByJson
|
||||||
# 统一消息集成
|
# 统一消息集成
|
||||||
messageUrl: taskapi/task.basedata/notice/noticeCalls/send
|
messageUrl: taskapi/task.basedata/notice/noticeCalls/send
|
||||||
# 是否发送消息
|
# 是否发送消息
|
||||||
|
|||||||
Reference in New Issue
Block a user