diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 962cae8..5302bbd 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.workbench.ApprovalMessageRequest; import com.casic.missiles.dto.workbench.ApprovalMessageUpdateRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; @@ -62,4 +64,12 @@ } return approvalMessageService.updateStatus(updateRequest); } + + @ApiOperation("工作台顶部工作提醒和待办信息条数") + @PostMapping("/count") + @ResponseBody + public ReturnDTO infoCount(@RequestBody @Valid MessageInfoCountRequest request) { + MessageInfoCountResponse response = approvalMessageService.infoCount(request); + return ReturnUtil.success(response); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 962cae8..5302bbd 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.workbench.ApprovalMessageRequest; import com.casic.missiles.dto.workbench.ApprovalMessageUpdateRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; @@ -62,4 +64,12 @@ } return approvalMessageService.updateStatus(updateRequest); } + + @ApiOperation("工作台顶部工作提醒和待办信息条数") + @PostMapping("/count") + @ResponseBody + public ReturnDTO infoCount(@RequestBody @Valid MessageInfoCountRequest request) { + MessageInfoCountResponse response = approvalMessageService.infoCount(request); + return ReturnUtil.success(response); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java index 79b030b..905e74f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java @@ -14,4 +14,7 @@ private Integer decisionItem; //任务创建时间,工作台审批提醒使用 private String createTime; + + //流程实例id,工作台跳转审批详情使用 + private String processId; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 962cae8..5302bbd 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.workbench.ApprovalMessageRequest; import com.casic.missiles.dto.workbench.ApprovalMessageUpdateRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; @@ -62,4 +64,12 @@ } return approvalMessageService.updateStatus(updateRequest); } + + @ApiOperation("工作台顶部工作提醒和待办信息条数") + @PostMapping("/count") + @ResponseBody + public ReturnDTO infoCount(@RequestBody @Valid MessageInfoCountRequest request) { + MessageInfoCountResponse response = approvalMessageService.infoCount(request); + return ReturnUtil.success(response); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java index 79b030b..905e74f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java @@ -14,4 +14,7 @@ private Integer decisionItem; //任务创建时间,工作台审批提醒使用 private String createTime; + + //流程实例id,工作台跳转审批详情使用 + private String processId; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java new file mode 100644 index 0000000..3e39048 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java @@ -0,0 +1,20 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/6/27 9:20 + */ +@ApiModel +@Data +public class MessageInfoCountRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 962cae8..5302bbd 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.workbench.ApprovalMessageRequest; import com.casic.missiles.dto.workbench.ApprovalMessageUpdateRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; @@ -62,4 +64,12 @@ } return approvalMessageService.updateStatus(updateRequest); } + + @ApiOperation("工作台顶部工作提醒和待办信息条数") + @PostMapping("/count") + @ResponseBody + public ReturnDTO infoCount(@RequestBody @Valid MessageInfoCountRequest request) { + MessageInfoCountResponse response = approvalMessageService.infoCount(request); + return ReturnUtil.success(response); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java index 79b030b..905e74f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java @@ -14,4 +14,7 @@ private Integer decisionItem; //任务创建时间,工作台审批提醒使用 private String createTime; + + //流程实例id,工作台跳转审批详情使用 + private String processId; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java new file mode 100644 index 0000000..3e39048 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java @@ -0,0 +1,20 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/6/27 9:20 + */ +@ApiModel +@Data +public class MessageInfoCountRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountResponse.java new file mode 100644 index 0000000..c0a829c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountResponse.java @@ -0,0 +1,19 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/6/27 8:57 + */ +@ApiModel +@Data +public class MessageInfoCountResponse { + @ApiModelProperty(value = "提醒消息数量", dataType = "Integer") + private Integer remindMessageCount; + @ApiModelProperty(value = "审批消息数量", dataType = "Integer") + private Integer approvalMessageCount; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 962cae8..5302bbd 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.workbench.ApprovalMessageRequest; import com.casic.missiles.dto.workbench.ApprovalMessageUpdateRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; @@ -62,4 +64,12 @@ } return approvalMessageService.updateStatus(updateRequest); } + + @ApiOperation("工作台顶部工作提醒和待办信息条数") + @PostMapping("/count") + @ResponseBody + public ReturnDTO infoCount(@RequestBody @Valid MessageInfoCountRequest request) { + MessageInfoCountResponse response = approvalMessageService.infoCount(request); + return ReturnUtil.success(response); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java index 79b030b..905e74f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java @@ -14,4 +14,7 @@ private Integer decisionItem; //任务创建时间,工作台审批提醒使用 private String createTime; + + //流程实例id,工作台跳转审批详情使用 + private String processId; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java new file mode 100644 index 0000000..3e39048 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java @@ -0,0 +1,20 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/6/27 9:20 + */ +@ApiModel +@Data +public class MessageInfoCountRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountResponse.java new file mode 100644 index 0000000..c0a829c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountResponse.java @@ -0,0 +1,19 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/6/27 8:57 + */ +@ApiModel +@Data +public class MessageInfoCountResponse { + @ApiModelProperty(value = "提醒消息数量", dataType = "Integer") + private Integer remindMessageCount; + @ApiModelProperty(value = "审批消息数量", dataType = "Integer") + private Integer approvalMessageCount; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java index 4be7b4a..abaed81 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java @@ -93,5 +93,15 @@ @TableField("update_time") private String updateTime; + /** + * 业务表主键,前端跳转审批详情使用 + */ + @TableField(exist = false) + private String businessId; + /** + * 流程实例id,前端跳转审批详情使用 + */ + @TableField(exist = false) + private String processId; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 962cae8..5302bbd 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.workbench.ApprovalMessageRequest; import com.casic.missiles.dto.workbench.ApprovalMessageUpdateRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; @@ -62,4 +64,12 @@ } return approvalMessageService.updateStatus(updateRequest); } + + @ApiOperation("工作台顶部工作提醒和待办信息条数") + @PostMapping("/count") + @ResponseBody + public ReturnDTO infoCount(@RequestBody @Valid MessageInfoCountRequest request) { + MessageInfoCountResponse response = approvalMessageService.infoCount(request); + return ReturnUtil.success(response); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java index 79b030b..905e74f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java @@ -14,4 +14,7 @@ private Integer decisionItem; //任务创建时间,工作台审批提醒使用 private String createTime; + + //流程实例id,工作台跳转审批详情使用 + private String processId; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java new file mode 100644 index 0000000..3e39048 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java @@ -0,0 +1,20 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/6/27 9:20 + */ +@ApiModel +@Data +public class MessageInfoCountRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountResponse.java new file mode 100644 index 0000000..c0a829c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountResponse.java @@ -0,0 +1,19 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/6/27 8:57 + */ +@ApiModel +@Data +public class MessageInfoCountResponse { + @ApiModelProperty(value = "提醒消息数量", dataType = "Integer") + private Integer remindMessageCount; + @ApiModelProperty(value = "审批消息数量", dataType = "Integer") + private Integer approvalMessageCount; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java index 4be7b4a..abaed81 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java @@ -93,5 +93,15 @@ @TableField("update_time") private String updateTime; + /** + * 业务表主键,前端跳转审批详情使用 + */ + @TableField(exist = false) + private String businessId; + /** + * 流程实例id,前端跳转审批详情使用 + */ + @TableField(exist = false) + private String processId; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index 0d9eb13..288e57b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -257,6 +257,7 @@ toBeApprovedDTO.setBusinessKey(historicProcessInstance.getBusinessKey()); toBeApprovedDTO.setDecisionItem(decisionItem); //设置可选决策项 toBeApprovedDTO.setCreateTime(DateUtil.format(task.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); + toBeApprovedDTO.setProcessId(task.getProcessInstanceId()); toBeApprovedDTOs.add(toBeApprovedDTO); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 962cae8..5302bbd 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.workbench.ApprovalMessageRequest; import com.casic.missiles.dto.workbench.ApprovalMessageUpdateRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; @@ -62,4 +64,12 @@ } return approvalMessageService.updateStatus(updateRequest); } + + @ApiOperation("工作台顶部工作提醒和待办信息条数") + @PostMapping("/count") + @ResponseBody + public ReturnDTO infoCount(@RequestBody @Valid MessageInfoCountRequest request) { + MessageInfoCountResponse response = approvalMessageService.infoCount(request); + return ReturnUtil.success(response); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java index 79b030b..905e74f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java @@ -14,4 +14,7 @@ private Integer decisionItem; //任务创建时间,工作台审批提醒使用 private String createTime; + + //流程实例id,工作台跳转审批详情使用 + private String processId; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java new file mode 100644 index 0000000..3e39048 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java @@ -0,0 +1,20 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/6/27 9:20 + */ +@ApiModel +@Data +public class MessageInfoCountRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountResponse.java new file mode 100644 index 0000000..c0a829c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountResponse.java @@ -0,0 +1,19 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/6/27 8:57 + */ +@ApiModel +@Data +public class MessageInfoCountResponse { + @ApiModelProperty(value = "提醒消息数量", dataType = "Integer") + private Integer remindMessageCount; + @ApiModelProperty(value = "审批消息数量", dataType = "Integer") + private Integer approvalMessageCount; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java index 4be7b4a..abaed81 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java @@ -93,5 +93,15 @@ @TableField("update_time") private String updateTime; + /** + * 业务表主键,前端跳转审批详情使用 + */ + @TableField(exist = false) + private String businessId; + /** + * 流程实例id,前端跳转审批详情使用 + */ + @TableField(exist = false) + private String processId; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index 0d9eb13..288e57b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -257,6 +257,7 @@ toBeApprovedDTO.setBusinessKey(historicProcessInstance.getBusinessKey()); toBeApprovedDTO.setDecisionItem(decisionItem); //设置可选决策项 toBeApprovedDTO.setCreateTime(DateUtil.format(task.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); + toBeApprovedDTO.setProcessId(task.getProcessInstanceId()); toBeApprovedDTOs.add(toBeApprovedDTO); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchApprovalMessageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchApprovalMessageServiceImpl.java index 473b6fb..a0555a7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchApprovalMessageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchApprovalMessageServiceImpl.java @@ -2,19 +2,25 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.workbench.ApprovalMessageRequest; import com.casic.missiles.dto.workbench.ApprovalMessageUpdateRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; +import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; import com.casic.missiles.service.IBaseApprovalService; import com.casic.missiles.service.workbench.IWorkbenchApprovalMessageService; import com.casic.missiles.utils.DictCodeUtils; @@ -38,9 +44,10 @@ public class WorkbenchApprovalMessageServiceImpl extends ServiceImpl implements IWorkbenchApprovalMessageService { @Autowired private IBaseApprovalService baseApprovalService; - @Autowired private WorkbenchApprovalMessageMapper approvalMessageMapper; + @Autowired + private WorkbenchRemindMessageMapper remindMessageMapper; /** * 所有业务待审批列表封装为消息 @@ -75,12 +82,11 @@ message.setMessageTitle("待审批通知"); message.setMessageContent(applyFromIdEnum.getValue()); message.setStatus(0);//待审批消息都是未读/未处理,处理后就不会在这个列表显示 + message.setBusinessId(a.getBusinessKey()); + message.setProcessId(a.getProcessId()); resultList.add(message); }); }); -// for (ApplyFromIdEnum applyFromIdEnum : ApplyFromIdEnum.values()) { -// -// } } //通知消息 QueryWrapper wrapper = new QueryWrapper<>(); @@ -115,4 +121,33 @@ } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + + @Override + public MessageInfoCountResponse infoCount(MessageInfoCountRequest request) { + //未处理待审批数量 + List resultList = new ArrayList<>(); + Arrays.stream(ApplyFromIdEnum.values()).parallel().forEach(applyFromIdEnum -> { + List toBeApprovedList = baseApprovalService.getToBeApprovedList(applyFromIdEnum.getCode()); + if(CollectionUtils.isEmpty(toBeApprovedList)){ + return; + } + toBeApprovedList.forEach(a -> { + WorkbenchApprovalMessage message = new WorkbenchApprovalMessage(); + message.setCreateTime(a.getCreateTime()); + resultList.add(message); + }); + }); + //未处理的工作提醒数量 + Page page = PageFactory.defaultPage(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq( "remind_id", request.getRemindId()); + wrapper.eq("remind_dept_id", request.getRemindDeptId()); + wrapper.eq("status", 0); + Page remindMessagePage = remindMessageMapper.selectPage(page, wrapper); + + MessageInfoCountResponse response = new MessageInfoCountResponse(); + response.setApprovalMessageCount(resultList.size()); + response.setRemindMessageCount(Math.toIntExact(remindMessagePage.getTotal())); + return response; + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java index 962cae8..5302bbd 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/workbench/WorkbenchApprovalMessageController.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.workbench.ApprovalMessageRequest; import com.casic.missiles.dto.workbench.ApprovalMessageUpdateRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountResponse; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; @@ -62,4 +64,12 @@ } return approvalMessageService.updateStatus(updateRequest); } + + @ApiOperation("工作台顶部工作提醒和待办信息条数") + @PostMapping("/count") + @ResponseBody + public ReturnDTO infoCount(@RequestBody @Valid MessageInfoCountRequest request) { + MessageInfoCountResponse response = approvalMessageService.infoCount(request); + return ReturnUtil.success(response); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java index 79b030b..905e74f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/ToBeApprovedDTO.java @@ -14,4 +14,7 @@ private Integer decisionItem; //任务创建时间,工作台审批提醒使用 private String createTime; + + //流程实例id,工作台跳转审批详情使用 + private String processId; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java new file mode 100644 index 0000000..3e39048 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountRequest.java @@ -0,0 +1,20 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/6/27 9:20 + */ +@ApiModel +@Data +public class MessageInfoCountRequest { + @ApiModelProperty(value = "消息提醒的用户id", dataType = "Long") + private Long remindId; + + @ApiModelProperty(value = "消息提醒的用户部门id", dataType = "Long") + private Long remindDeptId; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountResponse.java new file mode 100644 index 0000000..c0a829c --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/workbench/MessageInfoCountResponse.java @@ -0,0 +1,19 @@ +package com.casic.missiles.dto.workbench; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/6/27 8:57 + */ +@ApiModel +@Data +public class MessageInfoCountResponse { + @ApiModelProperty(value = "提醒消息数量", dataType = "Integer") + private Integer remindMessageCount; + @ApiModelProperty(value = "审批消息数量", dataType = "Integer") + private Integer approvalMessageCount; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java index 4be7b4a..abaed81 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/workbench/WorkbenchApprovalMessage.java @@ -93,5 +93,15 @@ @TableField("update_time") private String updateTime; + /** + * 业务表主键,前端跳转审批详情使用 + */ + @TableField(exist = false) + private String businessId; + /** + * 流程实例id,前端跳转审批详情使用 + */ + @TableField(exist = false) + private String processId; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index 0d9eb13..288e57b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -257,6 +257,7 @@ toBeApprovedDTO.setBusinessKey(historicProcessInstance.getBusinessKey()); toBeApprovedDTO.setDecisionItem(decisionItem); //设置可选决策项 toBeApprovedDTO.setCreateTime(DateUtil.format(task.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); + toBeApprovedDTO.setProcessId(task.getProcessInstanceId()); toBeApprovedDTOs.add(toBeApprovedDTO); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchApprovalMessageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchApprovalMessageServiceImpl.java index 473b6fb..a0555a7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchApprovalMessageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchApprovalMessageServiceImpl.java @@ -2,19 +2,25 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.workbench.ApprovalMessageRequest; import com.casic.missiles.dto.workbench.ApprovalMessageUpdateRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; +import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; +import com.casic.missiles.model.workbench.WorkbenchRemindMessage; import com.casic.missiles.service.IBaseApprovalService; import com.casic.missiles.service.workbench.IWorkbenchApprovalMessageService; import com.casic.missiles.utils.DictCodeUtils; @@ -38,9 +44,10 @@ public class WorkbenchApprovalMessageServiceImpl extends ServiceImpl implements IWorkbenchApprovalMessageService { @Autowired private IBaseApprovalService baseApprovalService; - @Autowired private WorkbenchApprovalMessageMapper approvalMessageMapper; + @Autowired + private WorkbenchRemindMessageMapper remindMessageMapper; /** * 所有业务待审批列表封装为消息 @@ -75,12 +82,11 @@ message.setMessageTitle("待审批通知"); message.setMessageContent(applyFromIdEnum.getValue()); message.setStatus(0);//待审批消息都是未读/未处理,处理后就不会在这个列表显示 + message.setBusinessId(a.getBusinessKey()); + message.setProcessId(a.getProcessId()); resultList.add(message); }); }); -// for (ApplyFromIdEnum applyFromIdEnum : ApplyFromIdEnum.values()) { -// -// } } //通知消息 QueryWrapper wrapper = new QueryWrapper<>(); @@ -115,4 +121,33 @@ } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + + @Override + public MessageInfoCountResponse infoCount(MessageInfoCountRequest request) { + //未处理待审批数量 + List resultList = new ArrayList<>(); + Arrays.stream(ApplyFromIdEnum.values()).parallel().forEach(applyFromIdEnum -> { + List toBeApprovedList = baseApprovalService.getToBeApprovedList(applyFromIdEnum.getCode()); + if(CollectionUtils.isEmpty(toBeApprovedList)){ + return; + } + toBeApprovedList.forEach(a -> { + WorkbenchApprovalMessage message = new WorkbenchApprovalMessage(); + message.setCreateTime(a.getCreateTime()); + resultList.add(message); + }); + }); + //未处理的工作提醒数量 + Page page = PageFactory.defaultPage(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq( "remind_id", request.getRemindId()); + wrapper.eq("remind_dept_id", request.getRemindDeptId()); + wrapper.eq("status", 0); + Page remindMessagePage = remindMessageMapper.selectPage(page, wrapper); + + MessageInfoCountResponse response = new MessageInfoCountResponse(); + response.setApprovalMessageCount(resultList.size()); + response.setRemindMessageCount(Math.toIntExact(remindMessagePage.getTotal())); + return response; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/workbench/IWorkbenchApprovalMessageService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/workbench/IWorkbenchApprovalMessageService.java index 50ae13e..2761d4b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/workbench/IWorkbenchApprovalMessageService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/workbench/IWorkbenchApprovalMessageService.java @@ -4,6 +4,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.workbench.ApprovalMessageRequest; import com.casic.missiles.dto.workbench.ApprovalMessageUpdateRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountRequest; +import com.casic.missiles.dto.workbench.MessageInfoCountResponse; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; import java.util.List; @@ -21,4 +23,6 @@ List list(ApprovalMessageRequest approvalMessageRequest) throws Exception; ReturnDTO updateStatus(ApprovalMessageUpdateRequest updateRequest); + + MessageInfoCountResponse infoCount(MessageInfoCountRequest request); }