diff --git a/laws-base/laws-base-core/src/main/java/com/jero/common/aspect/DictAspect.java b/laws-base/laws-base-core/src/main/java/com/jero/common/aspect/DictAspect.java index 3d9490d3..cfee6f45 100644 --- a/laws-base/laws-base-core/src/main/java/com/jero/common/aspect/DictAspect.java +++ b/laws-base/laws-base-core/src/main/java/com/jero/common/aspect/DictAspect.java @@ -3,6 +3,7 @@ package com.jero.common.aspect; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.parser.Feature; import com.baomidou.mybatisplus.core.metadata.IPage; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.core.JsonProcessingException; @@ -171,7 +172,7 @@ public class DictAspect { } catch (JsonProcessingException e) { log.error("json解析失败"+e.getMessage(),e); } - JSONObject item = JSON.parseObject(json); + JSONObject item = JSON.parseObject(json,Feature.OrderedField); //update-begin--Author:scott -- Date:20190603 ----for:解决继承实体字段无法翻译问题------ // 遍历所有字段,把字典Code取出来,放到 map 里 putItem(dictFieldList, dataListMap, obj, item); @@ -474,7 +475,7 @@ public class DictAspect { } catch (JsonProcessingException e) { log.error("json解析失败" + e.getMessage(), e); } - JSONObject item = JSONObject.parseObject(json); + JSONObject item = JSONObject.parseObject(json, Feature.OrderedField); //update-begin--Author:scott -- Date:20190603 ----for:解决继承实体字段无法翻译问题------ //for (Field field : record.getClass().getDeclaredFields()) { for (Field field : oConvertUtils.getAllFields(record)) { diff --git a/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java b/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java index eb81aa87..670de308 100644 --- a/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java +++ b/laws-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java @@ -1182,6 +1182,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { } @Override + //@Cacheable(value = CacheConstant.SYS_DICT_CACHE,key = "#id", unless = "#result == null ") public String translateUserRealNameFromTable(String id) { return userMapper.translateUserRealNameFromTable(id); } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/controller/ActivitiController.java b/laws-modules/src/main/java/com/jero/modules/activiti/controller/ActivitiController.java index ad67507b..df3f4a31 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/controller/ActivitiController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/controller/ActivitiController.java @@ -11,6 +11,7 @@ import com.jero.common.util.MessageUtils; 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.CommitFlagEnum; import com.jero.modules.activiti.enums.FinishFlagEnum; import com.jero.modules.activiti.service.*; import com.jero.modules.laws.common.constant.ResultCommon; @@ -156,7 +157,7 @@ public class ActivitiController { } //更新审批表为完成,填充数据 ProcessApprovalRecord approvalRecord = processApprovalRecordService.getToDoByTaskId(taskId); - approvalRecord.setCommitFlag(commitFlag); + approvalRecord.setCommitFlag(commitFlag == 1? CommitFlagEnum.PASS.getValue() : CommitFlagEnum.REJECT.getValue()); approvalRecord.setCommitText(commitText); approvalRecord.setCommitFile(commitFile); approvalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue()); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java b/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java index 53be5d15..5f371b6b 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java @@ -7,9 +7,11 @@ import com.jero.common.api.vo.Result; import com.jero.common.system.query.QueryGenerator; 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.process.common.entity.ProcessDraft; import com.jero.modules.activiti.process.common.service.ProcessDraftService; import com.jero.modules.activiti.service.ProcessAllService; +import com.jero.modules.activiti.service.ProcessApprovalRecordService; import com.jero.modules.activiti.vo.DelegateTaskParam; import com.jero.modules.activiti.vo.ResolveTaskParam; import io.swagger.annotations.Api; @@ -44,6 +46,8 @@ public class WorkCenterController { private ProcessAllService processAllService; @Resource private ProcessDraftService processDraftService; + @Resource + private ProcessApprovalRecordService processApprovalRecordService; @ApiOperation(value = "查询待办流程列表") @GetMapping("/getTodoList") @@ -108,6 +112,17 @@ public class WorkCenterController { return Result.OK(sentList); } + @ApiOperation(value = "查询流程审批记录") + @GetMapping("/getApprovalRecordList") + public Result> getApprovalRecordList(ProcessApprovalRecord processApprovalRecord, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Page page = new Page<>(pageNo, pageSize); + Page pageList = processApprovalRecordService.pageList(page, processApprovalRecord, req); + return Result.OK(pageList); + } + @ApiOperation(value = "查询草稿") @GetMapping("/getDraftList") public Result getDraftList(ProcessDraft processDraft, diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/entity/ProcessApprovalRecord.java b/laws-modules/src/main/java/com/jero/modules/activiti/entity/ProcessApprovalRecord.java index b87e9595..7c4e6fed 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/entity/ProcessApprovalRecord.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/entity/ProcessApprovalRecord.java @@ -4,6 +4,7 @@ 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 com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.Date; @@ -60,6 +61,13 @@ public class ProcessApprovalRecord { @ApiModelProperty(value = "处理人id") private String userId; + /** + * 任务受理人 + */ + @TableField(exist = false) + @ApiModelProperty(value = "任务受理人") + private String taskAcceptor; + /** * 信息 */ @@ -70,8 +78,9 @@ public class ProcessApprovalRecord { /** * 完成注记(0未完成,1完成) */ + @Dict(dicCode = "prc_node_status") @TableField(value = "finish_flag") - @ApiModelProperty(value = "完成注记(0未完成,1完成)") + @ApiModelProperty(value = "完成注记(1进行中,2已完成)") private Integer finishFlag; /** @@ -84,8 +93,9 @@ public class ProcessApprovalRecord { /** * 审批意见(0同意,1不同意) */ + @Dict(dicCode = "commit_flag") @TableField(value = "commit_flag") - @ApiModelProperty(value = "审批意见(0同意,1不同意)") + @ApiModelProperty(value = "审批意见(1通过,2驳回)") private Integer commitFlag; /** diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/enums/CommitFlagEnum.java b/laws-modules/src/main/java/com/jero/modules/activiti/enums/CommitFlagEnum.java new file mode 100644 index 00000000..7277add7 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/enums/CommitFlagEnum.java @@ -0,0 +1,40 @@ +package com.jero.modules.activiti.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author liJiaRao + * @date 2023-10-20 16:34 + */ +@Getter +@AllArgsConstructor +public enum CommitFlagEnum { + /** + * A + */ + PASS("通过", 1), + REJECT("驳回", 2), + ; + + private String name; + private Integer value; + + public static String getNameByValue(Integer value) { + for (CommitFlagEnum enumObject : values()) { + if (enumObject.getValue().equals(value)) { + return enumObject.getName(); + } + } + return null; + } + + public static Integer getValueByName(String name) { + for (CommitFlagEnum enumObject : values()) { + if (enumObject.getName().equals(name)) { + return enumObject.getValue(); + } + } + return null; + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/enums/FinishFlagEnum.java b/laws-modules/src/main/java/com/jero/modules/activiti/enums/FinishFlagEnum.java index 59c1c17a..37086187 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/enums/FinishFlagEnum.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/enums/FinishFlagEnum.java @@ -13,9 +13,9 @@ public enum FinishFlagEnum { /** * A */ - INCOMPLETE("未完成", 0), - COMPLETE("完成", 1), - SUSPEND("暂停", 2), + INCOMPLETE("未完成", 1), + COMPLETE("完成", 2), + SUSPEND("暂停", 3), ; private String name; diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessApprovalRecordService.java b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessApprovalRecordService.java index 829aab85..99e0d600 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessApprovalRecordService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessApprovalRecordService.java @@ -1,10 +1,15 @@ package com.jero.modules.activiti.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.jero.common.constant.enums.YesOrNoEnum; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.jero.common.system.api.ISysBaseAPI; +import com.jero.common.system.query.QueryGenerator; import com.jero.modules.activiti.enums.FinishFlagEnum; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.List; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.modules.activiti.mapper.ProcessApprovalRecordMapper; @@ -16,11 +21,34 @@ import com.jero.modules.activiti.entity.ProcessApprovalRecord; */ @Service public class ProcessApprovalRecordService extends ServiceImpl { - + @Resource + private ISysBaseAPI sysBaseAPI; public ProcessApprovalRecord getToDoByTaskId(String taskId){ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ProcessApprovalRecord::getTaskId,taskId); wrapper.eq(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.INCOMPLETE.getValue()); return this.getOne(wrapper); } + + public Page pageList(Page page, ProcessApprovalRecord processApprovalRecord, HttpServletRequest req) { + QueryWrapper wrapper = QueryGenerator.initQueryWrapper(processApprovalRecord, req.getParameterMap()); + Page pageList = this.page(page, wrapper); + List records = pageList.getRecords(); + for (ProcessApprovalRecord record : records) { + String userId = record.getUserId(); + String taskAcceptor = sysBaseAPI.translateUserRealNameFromTable(userId); + String delegateBy = record.getDelegateBy(); + if (StringUtils.isNotBlank(delegateBy)){ + String name = sysBaseAPI.translateUserRealNameFromTable(delegateBy); + taskAcceptor += "(由"+name+"加签)"; + } + String transferBy = record.getTransferBy(); + if (StringUtils.isNotBlank(transferBy)){ + String name = sysBaseAPI.translateUserRealNameFromTable(transferBy); + taskAcceptor += "(由"+name+"转办)"; + } + record.setTaskAcceptor(taskAcceptor); + } + return pageList; + } }