Browse Source

增加流程评论

master
yxt_djz 2 years ago
parent
commit
f9b143a0d6
  1. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankService.java
  2. 23
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/AppUserVo.java
  3. 68
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessComment.java
  4. 69
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDetailsVo.java
  5. 69
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDto.java
  6. 81
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentFeign.java
  7. 77
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentFeignFallback.java
  8. 67
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentQuery.java
  9. 72
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentVo.java
  10. 3
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  11. 13
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  12. 72
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentMapper.java
  13. 20
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentMapper.xml
  14. 105
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentRest.java
  15. 135
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentService.java
  16. 4
      anrui-portal/anrui-portal-api/pom.xml
  17. 15
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/AppFeign.java
  18. 33
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/AppFlowableRecordAndCommentVo.java
  19. 72
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/ProcessComment.java
  20. 63
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/ProcessCommentVo.java
  21. 6
      anrui-terminal/anrui-terminal-biz/pom.xml
  22. 28
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppRest.java
  23. 52
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppService.java

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankService.java

@ -47,7 +47,7 @@ public class BDBankService extends FinKingDeeService {
Map<String,String> map_fEntityModel_= object2Map(bDBank); Map<String,String> map_fEntityModel_= object2Map(bDBank);
map_fEntityModel_.put("FBANKID","0"); map_fEntityModel_.put("FBANKID","0");
map_fEntityModel_.put("IsDeleteEntry", "True"); map_fEntityModel_.put("IsDeleteEntry", "True");
//准备 物料列表的数据 ForEntryBill //准备 银行列表的数据 ForEntryBill
String kingDeeData = BDBankCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); String kingDeeData = BDBankCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> resultBean = accessKingDeeInterface( ResultBean<String> resultBean = accessKingDeeInterface(
KingDeeBillId.BD_BANK.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL()); KingDeeBillId.BD_BANK.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());

23
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/AppUserVo.java

@ -0,0 +1,23 @@
package com.yxt.anrui.flowable.api.flowtask;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/7/28 16:24
* @Description
*/
@Data
public class AppUserVo implements Vo {
private static final long serialVersionUID = -3220584066025636920L;
@ApiModelProperty(value = "名称")
@JsonProperty("name")
private String assigneeName;
@ApiModelProperty(value = "头像")
@JsonProperty("image")
private String assigneeHeadImage;
}

68
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessComment.java

@ -0,0 +1,68 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.processcomment;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessComment.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessComment <br/>
* Description: process_comment. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "process_comment", description = "process_comment")
@TableName("process_comment")
public class ProcessComment extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("评论人")
private String reviewer; // 评论人
@ApiModelProperty("评论人sid")
private String reviewerSid; // 评论人sid
@ApiModelProperty("评论时间")
private Date time; // 评论时间
@ApiModelProperty("评论内容")
private String content; // 评论内容
@ApiModelProperty("评论的流程id")
private String processId; // 评论的流程id
@ApiModelProperty("评论的流程实列的sid")
private String processInstSid; // 评论的流程实列的sid
}

69
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDetailsVo.java

@ -0,0 +1,69 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.processcomment;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentVo.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentVo <br/>
* Description: process_comment 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "process_comment 视图数据详情", description = "process_comment 视图数据详情")
public class ProcessCommentDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("评论人")
private String reviewer; // 评论人
@ApiModelProperty("评论人sid")
private String reviewerSid; // 评论人sid
@ApiModelProperty("评论时间")
private Date time; // 评论时间
@ApiModelProperty("评论内容")
private String content; // 评论内容
@ApiModelProperty("评论的流程id")
private String processId; // 评论的流程id
@ApiModelProperty("评论的流程实列的sid")
private String processInstSid; // 评论的流程实列的sid
}

69
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentDto.java

@ -0,0 +1,69 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.processcomment;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentDto.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentDto <br/>
* Description: process_comment 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "process_comment 数据传输对象", description = "process_comment 数据传输对象")
public class ProcessCommentDto implements Dto {
private String sid; // sid
@ApiModelProperty("评论人")
private String reviewer; // 评论人
@ApiModelProperty("评论人sid")
private String reviewerSid; // 评论人sid
@ApiModelProperty("评论时间")
private Date time; // 评论时间
@ApiModelProperty("评论内容")
private String content; // 评论内容
@ApiModelProperty("评论的流程id")
private String processId; // 评论的流程id
@ApiModelProperty("评论的流程实列的sid")
private String processInstSid; // 评论的流程实列的sid
}

81
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentFeign.java

@ -0,0 +1,81 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.processcomment;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentFeign.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentFeign <br/>
* Description: process_comment. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@FeignClient(
contextId = "processcomment-ProcessComment",
name = "anrui-flowable",
path = "v1/processcomment",
fallback = ProcessCommentFeignFallback.class)
public interface ProcessCommentFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
@ResponseBody
public ResultBean<PagerVo<ProcessCommentVo>> listPage(@RequestBody PagerQuery<ProcessCommentQuery> pq);
@ApiOperation("新增或修改")
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody ProcessCommentDto dto);
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<ProcessCommentDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("根据流程实列的id获取流程相关的评论")
@GetMapping("/getCommentList/{processId}")
@ResponseBody
ResultBean<List<ProcessCommentVo>> getCommentList(@PathVariable("processId")String processId);
}

77
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentFeignFallback.java

@ -0,0 +1,77 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.processcomment;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentFeignFallback.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentFeignFallback <br/>
* Description: process_comment. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class ProcessCommentFeignFallback implements ProcessCommentFeign {
@Override
public ResultBean<PagerVo<ProcessCommentVo>> listPage(PagerQuery<ProcessCommentQuery> pq){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口processcomment/processcomment/listPage无法访问");
}
@Override
public ResultBean save(ProcessCommentDto dto){
return ResultBean.fireFail().setMsg("接口processcomment/processcomment/save无法访问");
}
@Override
public ResultBean delBySids( String[] sids){
return ResultBean.fireFail().setMsg("接口processcomment/processcomment/delBySids无法访问");
}
@Override
public ResultBean<ProcessCommentDetailsVo> fetchDetailsBySid(String sid){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口processcomment/processcomment/fetchDetailsBySid无法访问");
}
@Override
public ResultBean<List<ProcessCommentVo>> getCommentList(String processId) {
return null;
}
}

67
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentQuery.java

@ -0,0 +1,67 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.processcomment;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentQuery.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentQuery <br/>
* Description: process_comment 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "process_comment 查询条件", description = "process_comment 查询条件")
public class ProcessCommentQuery implements Query {
@ApiModelProperty("评论人")
private String reviewer; // 评论人
@ApiModelProperty("评论人sid")
private String reviewerSid; // 评论人sid
@ApiModelProperty("评论时间")
private Date time; // 评论时间
@ApiModelProperty("评论内容")
private String content; // 评论内容
@ApiModelProperty("评论的流程id")
private String processId; // 评论的流程id
@ApiModelProperty("评论的流程实列的sid")
private String processInstSid; // 评论的流程实列的sid
}

72
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/processcomment/ProcessCommentVo.java

@ -0,0 +1,72 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.api.processcomment;
import com.yxt.anrui.flowable.api.flowtask.AppUserVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentVo.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentVo <br/>
* Description: process_comment 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "process_comment 视图数据对象", description = "process_comment 视图数据对象")
public class ProcessCommentVo implements Vo {
private String sid; // sid
@ApiModelProperty("评论人")
private String reviewer; // 评论人
@ApiModelProperty("评论人sid")
private String reviewerSid; // 评论人sid
@ApiModelProperty("评论时间")
private Date time; // 评论时间
@ApiModelProperty("评论内容")
private String content; // 评论内容
@ApiModelProperty("评论的流程id")
private String processId; // 评论的流程id
@ApiModelProperty("评论的流程实列的sid")
private String processInstSid; // 评论的流程实列的sid
@ApiModelProperty("taskUserInfo")
private AppUserVo taskUserInfo; // AppUserVo
}

3
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java

@ -27,6 +27,7 @@ package com.yxt.anrui.flowable.biz.flow;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.flowable.api.flow.*; import com.yxt.anrui.flowable.api.flow.*;
import com.yxt.anrui.flowable.api.flowcomment.FlowComment; import com.yxt.anrui.flowable.api.flowcomment.FlowComment;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
@ -202,6 +203,8 @@ public class FlowableRest implements FlowableFeign {
* @return * @return
*/ */
public ResultBean<UpdateFlowFieldVo> handleProsess(BusinessVariables dto,boolean b) { public ResultBean<UpdateFlowFieldVo> handleProsess(BusinessVariables dto,boolean b) {
log.info("BusinessVariables:{}", JSONObject.toJSONString(dto));
log.info("b:{}", b);
UpdateFlowFieldVo vo = new UpdateFlowFieldVo(); UpdateFlowFieldVo vo = new UpdateFlowFieldVo();
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
// Map<String, Object> formVariables = dto.getFormVariables(); // Map<String, Object> formVariables = dto.getFormVariables();

13
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

@ -308,7 +308,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
FlowTask flowTask = new FlowTask(); FlowTask flowTask = new FlowTask();
flowTask.setTaskId(histIns.getTaskId()); flowTask.setTaskId(histIns.getTaskId());
flowTask.setTaskName(histIns.getActivityName()); flowTask.setTaskName(histIns.getActivityName());
flowTask.setTaskDefKey(histIns.getActivityId());
Date startTime = histIns.getStartTime(); Date startTime = histIns.getStartTime();
flowTask.setCreateTime(startTime); flowTask.setCreateTime(startTime);
Date endTime = histIns.getEndTime(); Date endTime = histIns.getEndTime();
@ -1513,15 +1513,19 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
TaskUserInfo taskUserInfo_0 = taskUserInfos_0.get(0); TaskUserInfo taskUserInfo_0 = taskUserInfos_0.get(0);
String assigneeSid1 = taskUserInfo_1.getAssigneeSid(); String assigneeSid1 = taskUserInfo_1.getAssigneeSid();
String assigneeSid0 = taskUserInfo_0.getAssigneeSid(); String assigneeSid0 = taskUserInfo_0.getAssigneeSid();
if(!assigneeSid1.equals(assigneeSid0)){ if(!assigneeSid1.equals(assigneeSid0)){
ybrsid=assignee; ybrsid=assignee;
}else{ }else{
FlowTask flowTask1 = flowList.get(1);
for(int i=1;i<flowList.size();i++){ for(int i=1;i<flowList.size();i++){
FlowTask flowTask = flowList.get(i); FlowTask flowTask = flowList.get(i);
List<TaskUserInfo> taskUserInfos = flowTask.getTaskUserInfos(); List<TaskUserInfo> taskUserInfos = flowTask.getTaskUserInfos();
TaskUserInfo taskUserInfo = taskUserInfos.get(0); TaskUserInfo taskUserInfo = taskUserInfos.get(0);
if(assigneeSid0.equals(taskUserInfo.getAssigneeSid())){ if(assigneeSid0.equals(taskUserInfo.getAssigneeSid())){
ii++; if(!FlowComment.RECALL.getType().equals( flowTask1.getComment().getType())){
ii++;
}
continue; continue;
}else{ }else{
ybrsid=flowList.get(i).getTaskUserInfos().get(0).getAssigneeSid(); ybrsid=flowList.get(i).getTaskUserInfos().get(0).getAssigneeSid();
@ -1534,7 +1538,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
return new ResultBean<List<LatestTaskVo>>().fail().setMsg("您不是上一环节处理人,不能进行撤回操作!").setData(new ArrayList<>()); return new ResultBean<List<LatestTaskVo>>().fail().setMsg("您不是上一环节处理人,不能进行撤回操作!").setData(new ArrayList<>());
} else { } else {
ResultBean<List<LatestTaskVo>> listResultBean = null; ResultBean<List<LatestTaskVo>> listResultBean = null;
for(int i=0;i<=ii;i++){ for(int i=0;i<=ii;i++){ //ii==2的问题
listResultBean = revokeProcess_(historicTaskInstance.getProcessInstanceId(),userSid); listResultBean = revokeProcess_(historicTaskInstance.getProcessInstanceId(),userSid);
} }
return listResultBean; return listResultBean;
@ -1547,7 +1551,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
// @Transactional(rollbackFor = Exception.class) // @Transactional(rollbackFor = Exception.class)
private ResultBean<List<LatestTaskVo>> revokeProcess_( String processInstanceId, private ResultBean<List<LatestTaskVo>> revokeProcess_( String processInstanceId,
String assignee ) { String assignee ) {
// 流程回退到上一个节点,审批人继续审批 // 流程回退到上一个节点,审批人继续审批
// 获取流程定义信息 // 获取流程定义信息
Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult(); Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult();
ProcessDefinition processDefinition = repositoryService ProcessDefinition processDefinition = repositoryService
@ -1572,6 +1576,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
// 目的获取所有跳转到的节点 targetIds // 目的获取所有跳转到的节点 targetIds
// 获取当前节点的所有父级用户任务节点 // 获取当前节点的所有父级用户任务节点
// 深度优先算法思想:延边迭代深入 // 深度优先算法思想:延边迭代深入
//申请人申请后,销售经理审批同意,随后销售经理再撤回,申请人再撤回。 申请人->网关->销售经理->销售支持部经理
List<UserTask> parentUserTaskList = FlowableUtils.iteratorFindParentUserTasks(source, null, null); List<UserTask> parentUserTaskList = FlowableUtils.iteratorFindParentUserTasks(source, null, null);
if (parentUserTaskList == null || parentUserTaskList.size() == 0) { if (parentUserTaskList == null || parentUserTaskList.size() == 0) {
// throw new CustomException("当前节点为"); // throw new CustomException("当前节点为");

72
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentMapper.java

@ -0,0 +1,72 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.biz.processcomment;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.flowable.api.processcomment.ProcessComment;
import com.yxt.anrui.flowable.api.processcomment.ProcessCommentDto;
import com.yxt.anrui.flowable.api.processcomment.ProcessCommentVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentMapper.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.biz.processcomment.ProcessCommentMapper <br/>
* Description: process_comment. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface ProcessCommentMapper extends BaseMapper<ProcessComment> {
//@Update("update process_comment set name=#{msg} where id=#{id}")
//IPage<ProcessCommentVo> voPage(IPage<ProcessComment> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessComment> qw);
IPage<ProcessCommentVo> selectPageVo(IPage<ProcessComment> page, @Param(Constants.WRAPPER) Wrapper<ProcessComment> qw);
List<ProcessCommentVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<ProcessComment> qw);
@Select("select * from process_comment")
List<ProcessCommentVo> selectListVo();
List<ProcessCommentVo> getCommentList(@Param("processId")String processId);
@Select("select * from process_comment where sid=#{sid}")
ProcessComment fetchBySid(@Param("sid")String sid);
void insertByDto(ProcessCommentDto dto);
}

20
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentMapper.xml

@ -0,0 +1,20 @@
<?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.yxt.anrui.flowable.biz.processcomment.ProcessCommentMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.flowable.api.processcomment.ProcessCommentVo">
SELECT * FROM process_comment <where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.flowable.api.processcomment.ProcessCommentVo">
SELECT * FROM process_comment <where> ${ew.sqlSegment} </where>
</select>
<select id="getCommentList" resultType="com.yxt.anrui.flowable.api.processcomment.ProcessCommentVo">
select * from process_comment where processId=#{processId}
</select>
<insert id="insertByDto" parameterType="com.yxt.anrui.flowable.api.processcomment.ProcessCommentDto">
insert into `process_comment` ( `sid`, `reviewer`, `reviewerSid`, `time`, `content`, `processId`, `processInstSid`)
values(#{sid},#{reviewer},#{reviewerSid},#{time},#{content},#{processId},#{processInstSid});
</insert>
</mapper>

105
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentRest.java

@ -0,0 +1,105 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.biz.processcomment;
import com.yxt.anrui.flowable.api.processcomment.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentFeignFallback.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.biz.processcomment.ProcessCommentRest <br/>
* Description: process_comment. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "process_comment")
@RestController
@RequestMapping("v1/processcomment")
public class ProcessCommentRest implements ProcessCommentFeign {
@Autowired
private ProcessCommentService processCommentService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<ProcessCommentVo>> listPage(@RequestBody PagerQuery<ProcessCommentQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<ProcessCommentVo> pv = processCommentService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody ProcessCommentDto dto){
ResultBean rb = ResultBean.fireFail();
dto.setTime(new Date());
processCommentService.saveOrUpdateDto(dto);
return rb.success();
}
@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
processCommentService.delBySids(sids);
return rb.success();
}
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<ProcessCommentDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
ProcessCommentDetailsVo vo = processCommentService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@Override
public ResultBean<List<ProcessCommentVo>> getCommentList(String processId) {
ResultBean rb = ResultBean.fireFail();
List<ProcessCommentVo> vo = processCommentService.getCommentList(processId);
return rb.success().setData(vo);
}
}

135
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/processcomment/ProcessCommentService.java

@ -0,0 +1,135 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.flowable.biz.processcomment;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.flowable.api.flowtask.AppUserVo;
import com.yxt.anrui.flowable.api.flowtask.TaskUserInfo;
import com.yxt.anrui.flowable.api.processcomment.*;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.common.base.config.component.FileUploadComponent;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentService.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.biz.processcomment.ProcessCommentService <br/>
* Description: process_comment 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class ProcessCommentService extends MybatisBaseService<ProcessCommentMapper, ProcessComment> {
@Resource
private SysUserFeign sysUserFeign;
@Resource
private FileUploadComponent fileUploadComponent;
private QueryWrapper<ProcessComment> createQueryWrapper(ProcessCommentQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<ProcessComment> qw = new QueryWrapper<>();
return qw;
}
public PagerVo<ProcessCommentVo> listPageVo(PagerQuery<ProcessCommentQuery> pq) {
ProcessCommentQuery query = pq.getParams();
QueryWrapper<ProcessComment> qw = createQueryWrapper(query);
IPage<ProcessComment> page = PagerUtil.queryToPage(pq);
IPage<ProcessCommentVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<ProcessCommentVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(ProcessCommentDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
dto.setSid(UUID.randomUUID().toString());
baseMapper.insertByDto(dto);
return;
}
this.updateByDto(dto);
}
public void insertByDto(ProcessCommentDto dto){
ProcessComment entity = new ProcessComment();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(ProcessCommentDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
ProcessComment entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public ProcessCommentDetailsVo fetchDetailsVoBySid(String sid){
ProcessComment entity = fetchBySid(sid);
ProcessCommentDetailsVo vo = new ProcessCommentDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public List<ProcessCommentVo> getCommentList(String processId) {
List<ProcessCommentVo> commentList = baseMapper.getCommentList(processId);
for(ProcessCommentVo histIns:commentList){
ResultBean<List<SysUserVo>> sysUserVoResultBean = sysUserFeign.fetchBySids(histIns.getReviewerSid());// sysUserService.selectUserById(Long.parseLong(histIns.getAssignee()));
List<SysUserVo> data1 = sysUserVoResultBean.getData();
for( SysUserVo data:data1){
AppUserVo taskUserInfo=new AppUserVo();
taskUserInfo.setAssigneeName(data.getName());
if(!com.yxt.common.base.utils.StringUtils.isBlank(data.getHeadImage())){
taskUserInfo.setAssigneeHeadImage(fileUploadComponent.getUrlPrefix() +data.getHeadImage());
}
histIns.setTaskUserInfo(taskUserInfo);
}
}
return commentList;
}
}

4
anrui-portal/anrui-portal-api/pom.xml

@ -23,11 +23,11 @@
<artifactId>yxt-common-core</artifactId> <artifactId>yxt-common-core</artifactId>
<version>0.0.1</version> <version>0.0.1</version>
</dependency> </dependency>
<dependency> <!-- <dependency>
<artifactId>anrui-flowable-api</artifactId> <artifactId>anrui-flowable-api</artifactId>
<groupId>com.yxt.anrui</groupId> <groupId>com.yxt.anrui</groupId>
<version>0.0.1</version> <version>0.0.1</version>
</dependency> </dependency>-->
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId> <artifactId>spring-cloud-starter-openfeign</artifactId>

15
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/AppFeign.java

@ -1,15 +1,18 @@
package com.yxt.anrui.terminal.api.app; package com.yxt.anrui.terminal.api.app;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordQuery; import com.yxt.anrui.terminal.api.app.flowable.*;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordVo;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import javax.validation.Valid;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @Author dimengzhe * @Author dimengzhe
@ -29,5 +32,13 @@ public interface AppFeign {
@ResponseBody @ResponseBody
ResultBean<List<AppFlowableRecordVo>> getProgressList(AppFlowableRecordQuery appFlowableRecordQuery); ResultBean<List<AppFlowableRecordVo>> getProgressList(AppFlowableRecordQuery appFlowableRecordQuery);
@ApiOperation("流程审核记录和评论记录")
@GetMapping("/getProgressCommentList")
@ResponseBody
ResultBean<List<AppFlowableRecordAndCommentVo>> getProgressCommentList(AppFlowableRecordQuery appFlowableRecordQuery);
@ApiOperation("新增评论")
@PostMapping("/addProgressComment")
@ResponseBody
ResultBean addProgressComment(@RequestBody @Valid ProcessComment processComment);
} }

33
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/AppFlowableRecordAndCommentVo.java

@ -0,0 +1,33 @@
package com.yxt.anrui.terminal.api.app.flowable;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @Author dimengzhe
* @Date 2022/7/28 16:19
* @Description
*/
@Data
public class AppFlowableRecordAndCommentVo implements Vo {
private static final long serialVersionUID = -3272069366532392941L;
@ApiModelProperty(value = "流程状态")
@JsonProperty("state")
private String state;
@ApiModelProperty(value = "时间")
@JsonProperty("time")
private Date time;
@ApiModelProperty(value = "审批记录")
@JsonProperty("flowableRecordVo")
private AppFlowableRecordVo flowableRecordVo;
@ApiModelProperty("流程评论")
@JsonProperty("processcommentVo")
private ProcessCommentVo processcommentVo;
}

72
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/ProcessComment.java

@ -0,0 +1,72 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.api.app.flowable;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentVo.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentVo <br/>
* Description: process_comment 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "process_comment 视图数据对象", description = "process_comment 视图数据对象")
public class ProcessComment implements Vo {
@ApiModelProperty("评论人")
@NotBlank(message = "reviewer不能为空")
private String reviewer; // 评论人
@ApiModelProperty("评论人")
@NotBlank(message = "reviewerSid不能为空")
private String reviewerSid; // 评论人
@ApiModelProperty("评论内容")
@NotBlank(message = "content不能为空")
private String content; // 评论内容
@ApiModelProperty("评论的流程id")
@NotBlank(message = "processId不能为空")
private String processId; // 评论的流程id
@ApiModelProperty("评论的流程实列的sid")
private String processInstSid; // 评论的流程实列的sid
}

63
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/app/flowable/ProcessCommentVo.java

@ -0,0 +1,63 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.api.app.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* Project: processcomment(流程评论) <br/>
* File: ProcessCommentVo.java <br/>
* Class: com.yxt.anrui.flowable.api.processcomment.api.processcomment.ProcessCommentVo <br/>
* Description: process_comment 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-30 14:40:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "process_comment 视图数据对象", description = "process_comment 视图数据对象")
public class ProcessCommentVo implements Vo {
@ApiModelProperty("评论时间")
private Date time; // 评论时间
@ApiModelProperty("评论内容")
private String content; // 评论内容
@ApiModelProperty(value = "环节的办理人信息")
@JsonProperty("handleBean")
private AppUserVo taskUserInfo;
}

6
anrui-terminal/anrui-terminal-biz/pom.xml

@ -30,6 +30,12 @@
<groupId>com.yxt.anrui</groupId> <groupId>com.yxt.anrui</groupId>
<version>0.0.1-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>com.yxt.anrui</groupId>
<artifactId>anrui-flowable-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency> <dependency>
<artifactId>anrui-buscenter-api</artifactId> <artifactId>anrui-buscenter-api</artifactId>
<groupId>com.yxt.anrui</groupId> <groupId>com.yxt.anrui</groupId>

28
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppRest.java

@ -1,14 +1,16 @@
package com.yxt.anrui.terminal.biz.app; package com.yxt.anrui.terminal.biz.app;
import com.yxt.anrui.terminal.api.app.AppFeign; import com.yxt.anrui.terminal.api.app.AppFeign;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordQuery; import com.yxt.anrui.terminal.api.app.flowable.*;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordVo;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/** /**
* @Author dimengzhe * @Author dimengzhe
@ -26,4 +28,24 @@ public class AppRest implements AppFeign {
public ResultBean<List<AppFlowableRecordVo>> getProgressList(AppFlowableRecordQuery appFlowableRecordQuery) { public ResultBean<List<AppFlowableRecordVo>> getProgressList(AppFlowableRecordQuery appFlowableRecordQuery) {
return appService.getProgressList(appFlowableRecordQuery); return appService.getProgressList(appFlowableRecordQuery);
} }
/**
* 获取流程审批记录和评论
* @param appFlowableRecordQuery
* @return
*/
@Override
public ResultBean<List<AppFlowableRecordAndCommentVo>> getProgressCommentList(AppFlowableRecordQuery appFlowableRecordQuery) {
ResultBean<List<AppFlowableRecordAndCommentVo>> rb = ResultBean.fireFail();
ResultBean<List<AppFlowableRecordAndCommentVo>> list = appService.getProgressAndCommentList(appFlowableRecordQuery);
/* List<AppFlowableRecordAndCommentVo> newList = list.stream().
sorted(Comparator.comparing(AppFlowableRecordAndCommentVo::getTime, Comparator.reverseOrder())).
collect(Collectors.toList());*/
return list;
}
@Override
public ResultBean addProgressComment(ProcessComment processComment) {
return appService.addProgressComment(processComment);
}
} }

52
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/app/AppService.java

@ -1,12 +1,13 @@
package com.yxt.anrui.terminal.biz.app; package com.yxt.anrui.terminal.biz.app;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.yxt.anrui.flowable.api.flowcomment.FlowComment; import com.yxt.anrui.flowable.api.flowcomment.FlowComment;
import com.yxt.anrui.flowable.api.flowtask.FlowRecordVo; import com.yxt.anrui.flowable.api.flowtask.FlowRecordVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowCommentVo; import com.yxt.anrui.flowable.api.processcomment.ProcessCommentDto;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordQuery; import com.yxt.anrui.flowable.api.processcomment.ProcessCommentFeign;
import com.yxt.anrui.terminal.api.app.flowable.AppFlowableRecordVo; import com.yxt.anrui.terminal.api.app.flowable.*;
import com.yxt.common.base.utils.StringUtils; import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -26,6 +27,8 @@ public class AppService {
@Autowired @Autowired
private FlowTaskFeign flowTaskFeign; private FlowTaskFeign flowTaskFeign;
@Autowired
private ProcessCommentFeign processCommentFeign;
public ResultBean<List<AppFlowableRecordVo>> getProgressList(AppFlowableRecordQuery appFlowableRecordQuery) { public ResultBean<List<AppFlowableRecordVo>> getProgressList(AppFlowableRecordQuery appFlowableRecordQuery) {
ResultBean<List<AppFlowableRecordVo>> rb = ResultBean.fireFail(); ResultBean<List<AppFlowableRecordVo>> rb = ResultBean.fireFail();
@ -55,4 +58,47 @@ public class AppService {
} }
return rb.success().setData(voList); return rb.success().setData(voList);
} }
public ResultBean<List<AppFlowableRecordAndCommentVo>> getProgressAndCommentList(AppFlowableRecordQuery appFlowableRecordQuery) {
ResultBean<List<AppFlowableRecordAndCommentVo>> rb = ResultBean.fireFail();
ResultBean<List<AppFlowableRecordVo>> progressdata = getProgressList(appFlowableRecordQuery);
ResultBean<List<ProcessCommentVo>> commentList = getCommentList(appFlowableRecordQuery);
List<AppFlowableRecordAndCommentVo> list=new ArrayList<>();
List<AppFlowableRecordVo> progressList = progressdata.getData();
progressList.forEach(f->{
AppFlowableRecordAndCommentVo a=new AppFlowableRecordAndCommentVo();
a.setTime(f.getCreateTime());
a.setFlowableRecordVo(f);
a.setState(0+"");
list.add(a);
});
commentList.getData().forEach(f->{
AppFlowableRecordAndCommentVo a=new AppFlowableRecordAndCommentVo();
a.setTime(f.getTime());
a.setProcesscommentVo(f);
a.setState(1+"");
list.add(a);
});
list.sort((t1, t2) -> t2.getTime().compareTo(t1.getTime()));
return rb.success().setData(list);
}
public ResultBean<List<ProcessCommentVo>> getCommentList(AppFlowableRecordQuery appFlowableRecordQuery) {
ResultBean<List<ProcessCommentVo>> rb = ResultBean.fireFail();
ResultBean<List<com.yxt.anrui.flowable.api.processcomment.ProcessCommentVo>> commentList =
processCommentFeign.getCommentList(appFlowableRecordQuery.getProgressId());
List<ProcessCommentVo> list=new ArrayList<>();
commentList.getData().forEach(f->{
ProcessCommentVo processCommentVo = new ProcessCommentVo();
BeanUtil.copyProperties(f,processCommentVo);
list.add(processCommentVo);
});
return rb.success().setData(list);
}
public ResultBean addProgressComment(ProcessComment processComment) {
ProcessCommentDto dto=new ProcessCommentDto();
BeanUtil.copyProperties(processComment,dto);
return processCommentFeign.save(dto);
}
} }

Loading…
Cancel
Save