From 9c76b7efccd70395231b032a193a89f7638b657e Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 22 十月 2025 17:41:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalTodoController.java | 851 +++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 778 insertions(+), 73 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalTodoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalTodoController.java
index f6309e8..e3daf29 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalTodoController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalTodoController.java
@@ -1,24 +1,18 @@
package com.ruoyi.web.controller.api;
-import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.entity.TDept;
-import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.emums.ApprovalTypeEnum;
import com.ruoyi.system.model.*;
+import com.ruoyi.system.query.ApprovalDetailQuery;
import com.ruoyi.system.query.ApprovalTodoListQuery;
-import com.ruoyi.system.query.NotificationListQuery;
import com.ruoyi.system.service.*;
-import com.ruoyi.system.vo.ApprovalFlowNodeListVO;
-import com.ruoyi.system.vo.ApprovalTodoVO;
-import com.ruoyi.system.vo.ContractDetailVO;
-import com.ruoyi.system.vo.system.NotificationVO;
+import com.ruoyi.system.vo.*;
import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.util.StringUtils;
@@ -51,6 +45,8 @@
@Resource
private OaApprovalApplicationPurchaseService approvalApplicationPurchaseService;
@Resource
+ private OaApprovalApplicationPurchaseItemService approvalApplicationPurchaseItemService;
+ @Resource
private OaApprovalApplicationAssetItemService approvalApplicationAssetItemService;
@Resource
private TokenService tokenService;
@@ -60,7 +56,7 @@
@Resource
private OaApprovalApplicationsService approvalApplicationsService;
@Resource
- private OaApprovalApplicationAdvertisementService approvalApplicationAdvertisementService;
+ private OaApprovalApplicationAdService approvalApplicationAdvertisementService;
@Resource
private OaApprovalApplicationContactService approvalApplicationContactService;
@Resource
@@ -77,6 +73,7 @@
private OaApprovalApplicationReimbursementItemService approvalApplicationReimbursementItemService;
@Resource
private OaApprovalFlowNodeService approvalFlowNodeService;
+
@Resource
private OaApprovalApplicationAssetService approvalApplicationAssetService;
@Resource
@@ -90,32 +87,12 @@
@Resource
private TDeptService deptService;
@Resource
+ private AssetTypeService assetTypeService;
+ @Resource
private OaApprovalTodoService oaApprovalTodoService;
@Resource
private OaApprovalFlowService approvalFlowService;
- @ApiOperation("测试接口")
- @PostMapping("/test")
- public void test() {
- List<OaApproval> approvals = approvalService.list();
- List<OaApprovalFlow> list = approvalFlowService.list();
- List<OaApprovalFlowNode> oaApprovalFlowNodes = new ArrayList<>();
- for (OaApproval approval : approvals) {
- int i = 1;
- for (OaApprovalFlow oaApprovalFlow : list) {
- OaApprovalFlowNode oaApprovalFlowNode = new OaApprovalFlowNode();
- oaApprovalFlowNode.setApprovalId(approval.getId());
- oaApprovalFlowNode.setApprovalFlowId(oaApprovalFlow.getId());
- oaApprovalFlowNode.setFlowName(oaApprovalFlow.getFlowName());
- oaApprovalFlowNode.setSortOrder(i);
- oaApprovalFlowNode.setApprovalType(0);
- oaApprovalFlowNode.setStatus(true);
- oaApprovalFlowNode.setSignFlag(true);
- i++;
- oaApprovalFlowNodes.add(oaApprovalFlowNode);
- }
- }
- approvalFlowNodeService.saveBatch(oaApprovalFlowNodes);
- }
+
@ApiOperation("待办事项列表")
@@ -161,21 +138,21 @@
Map<Integer, List<OaApprovalApplicationAssetItem>> approvalApplicationAssetItemMap = approvalApplicationAssetItemService.lambdaQuery()
.in(OaApprovalApplicationAssetItem::getApprovalApplicationId, applicationIds).list()
.stream().collect(Collectors.groupingBy(OaApprovalApplicationAssetItem::getApprovalApplicationId));
- Map<Integer, OaApprovalApplicationAdvertisement> approvalApplicationAdvertisementMap = approvalApplicationAdvertisementService.lambdaQuery()
- .in(OaApprovalApplicationAdvertisement::getApprovalApplicationId, applicationIds).list()
- .stream().collect(Collectors.toMap(OaApprovalApplicationAdvertisement::getApprovalApplicationId, e -> e));
+ Map<Integer, OaApprovalApplicationAd> approvalApplicationAdvertisementMap = approvalApplicationAdvertisementService.lambdaQuery()
+ .in(OaApprovalApplicationAd::getApprovalApplicationId, applicationIds).list()
+ .stream().collect(Collectors.toMap(OaApprovalApplicationAd::getApprovalApplicationId, e -> e));
Map<Integer, OaApprovalApplicationAttendance> applicationAttendanceMap = approvalApplicationAttendanceService.lambdaQuery()
.in(OaApprovalApplicationAttendance::getApprovalApplicationId, applicationIds).list()
.stream().collect(Collectors.toMap(OaApprovalApplicationAttendance::getApprovalApplicationId, e -> e));
Map<Integer, AssetMain> assetMainMap = assetMainService.list().stream().collect(Collectors.toMap(AssetMain::getId, e -> e));
- Map<Integer, OaApprovalTodo> approvalTodoMap = list.stream().collect(Collectors.toMap(OaApprovalTodo::getApplicationId, e -> e));
Map<Long, SysUser> userMap = sysUserService.selectAllList().stream().collect(Collectors.toMap(SysUser::getUserId, e -> e));
Map<Integer, TDept> deptMap = deptService.list().stream().collect(Collectors.toMap(TDept::getId, e -> e));
Map<Integer, OaApproval> approvalMap = approvalService.list().stream().collect(Collectors.toMap(OaApproval::getId, e -> e));
List<OaApprovalApplications> approvalApplications = approvalApplicationsService.lambdaQuery().in(OaApprovalApplications::getId, applicationIds).list();
for (OaApprovalApplications approvalApplication : approvalApplications) {
ApprovalTodoVO approvalTodoVO = new ApprovalTodoVO();
+ approvalTodoVO.setApplicationReason(approvalApplication.getApplicationReason());
approvalTodoVO.setApprovalCategory(approvalMap.get(approvalApplication.getApprovalId()).getApprovalCategory());
switch (approvalTodoVO.getApprovalCategory()){
case 1:
@@ -193,7 +170,7 @@
}
SysUser sysUser = userMap.get(approvalApplication.getApplicantUserId().longValue());
if (sysUser!=null){
- approvalTodoVO.setApplyUserName(sysUser.getUserName());
+ approvalTodoVO.setApplyUserName(sysUser.getNickName());
TDept tDept = deptMap.get(Integer.parseInt(sysUser.getDeptId()));
if (tDept!=null){
approvalTodoVO.setApplyDeptName(tDept.getDeptName());
@@ -201,25 +178,31 @@
}
approvalTodoVO.setApplicationCode(approvalApplication.getApplicationCode());
approvalTodoVO.setCreateTime(approvalApplication.getCreateTime());
- OaApprovalTodo oaApprovalTodo = approvalTodoMap.get(approvalApplication.getId());
- approvalTodoVO.setId(oaApprovalTodo.getId());
approvalTodoVO.setApplicationId(approvalApplication.getId());
switch (approvalTodoVO.getApprovalCategory()){
case 5:
OaApprovalApplicationPurchase oaApprovalApplicationPurchase = approvalApplicationPurchaseMap.get(approvalApplication.getId());
if (oaApprovalApplicationPurchase!=null){
+ approvalTodoVO.setTitle(oaApprovalApplicationPurchase.getTitle());
+
approvalTodoVO.setAmount(oaApprovalApplicationPurchase.getTotalAmount());
}
break;
case 6:
OaApprovalApplicationStorage oaApprovalApplicationStorage = applicationStorageMap.get(approvalApplication.getId());
if (oaApprovalApplicationStorage!=null){
+ approvalTodoVO.setTitle(oaApprovalApplicationStorage.getTitle());
+
approvalTodoVO.setStorageType(oaApprovalApplicationStorage.getStorageType());
}
break;
case 7:
StringBuilder temp = new StringBuilder();
+ OaApprovalApplicationAsset oaApprovalApplicationAsset = approvalApplicationAssetMap.get(approvalApplication.getId());
+ if (oaApprovalApplicationAsset!=null){
+ approvalTodoVO.setTitle(oaApprovalApplicationAsset.getTitle());
+ }
List<OaApprovalApplicationAssetItem> oaApprovalApplicationAssetItems = approvalApplicationAssetItemMap.get(approvalApplication.getId());
if (oaApprovalApplicationAssetItems!=null){
for (OaApprovalApplicationAssetItem oaApprovalApplicationAssetItem : oaApprovalApplicationAssetItems) {
@@ -239,24 +222,32 @@
case 8:
OaApprovalApplicationAsset oaApprovalApplicationAssetOut = approvalApplicationAssetMap.get(approvalApplication.getId());
if (oaApprovalApplicationAssetOut!=null){
+ approvalTodoVO.setTitle(oaApprovalApplicationAssetOut.getTitle());
+
approvalTodoVO.setOperateTime(oaApprovalApplicationAssetOut.getOperateTime());
}
break;
case 9:
OaApprovalApplicationAsset oaApprovalApplicationAssetBack = approvalApplicationAssetMap.get(approvalApplication.getId());
if (oaApprovalApplicationAssetBack!=null){
+ approvalTodoVO.setTitle(oaApprovalApplicationAssetBack.getTitle());
+
approvalTodoVO.setOperateTime(oaApprovalApplicationAssetBack.getExpectReturnDate());
}
break;
case 10:
OaApprovalApplicationDispose oaApprovalApplicationDispose = approvalApplicationDisposeMap.get(approvalApplication.getId());
if (oaApprovalApplicationDispose!=null){
+ approvalTodoVO.setTitle(oaApprovalApplicationDispose.getTitle());
+
approvalTodoVO.setDisposeType(oaApprovalApplicationDispose.getDisposeType());
}
break;
case 11:
OaApprovalApplicationChange oaApprovalApplicationChange = approvalApplicationChangeMap.get(approvalApplication.getId());
if (oaApprovalApplicationChange!=null){
+ approvalTodoVO.setTitle(oaApprovalApplicationChange.getTitle());
+
Integer ownershipDeptId = oaApprovalApplicationChange.getOwnershipDeptId();
TDept tDept = deptMap.get(ownershipDeptId);
if (tDept!=null){
@@ -267,12 +258,14 @@
case 12:
OaApprovalApplicationReimbursement oaApprovalApplicationReimbursement = approvalApplicationReimbursementMap.get(approvalApplication.getId());
if (oaApprovalApplicationReimbursement!=null){
+ approvalTodoVO.setType(oaApprovalApplicationReimbursement.getType());
approvalTodoVO.setAmount(oaApprovalApplicationReimbursement.getReimbursementAmount());
}
break;
case 13:
OaApprovalApplicationMoney oaApprovalApplicationMoney = oaApprovalApplicationMoneyMap.get(approvalApplication.getId());
if (oaApprovalApplicationMoney!=null){
+ approvalTodoVO.setProjectName(oaApprovalApplicationMoney.getProjectName());
approvalTodoVO.setAmount(oaApprovalApplicationMoney.getApplyAmount());
approvalTodoVO.setDescription(oaApprovalApplicationMoney.getDescription());
@@ -281,16 +274,19 @@
case 15:
OaApprovalApplicationPayment oaApprovalApplicationPayment = approvalApplicationPaymentMap.get(approvalApplication.getId());
if (oaApprovalApplicationPayment!=null){
+ // todo 当前阶段没有项目id 后续完善
+ approvalTodoVO.setProjectName("项目名称");
approvalTodoVO.setAmount(oaApprovalApplicationPayment.getApplyAmount());
approvalTodoVO.setDescription(approvalApplication.getApplicationReason());
}
break;
case 17:
- OaApprovalApplicationAdvertisement oaApprovalApplicationAdvertisement = approvalApplicationAdvertisementMap.get(approvalApplication.getId());
- if (oaApprovalApplicationAdvertisement!=null){
- approvalTodoVO.setContent(oaApprovalApplicationAdvertisement.getContent());
- approvalTodoVO.setAmount(oaApprovalApplicationAdvertisement.getTotalAmount());
+ OaApprovalApplicationAd oaApprovalApplicationAd = approvalApplicationAdvertisementMap.get(approvalApplication.getId());
+ if (oaApprovalApplicationAd !=null){
+ approvalTodoVO.setTitle(oaApprovalApplicationAd.getTitle());
+ approvalTodoVO.setContent(oaApprovalApplicationAd.getContent());
+ approvalTodoVO.setAmount(oaApprovalApplicationAd.getTotalAmount());
}
break;
}
@@ -304,9 +300,9 @@
@ApiOperation(value = "合同文件审批详情")
@GetMapping(value = "/detailContract")
- public R<ContractDetailVO> detailContract(@ApiParam("待办列表id") Integer id) {
- OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
- OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
+ public R<ContractDetailVO> detailContract(@ApiParam("申请单d")Integer id) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
OaApprovalApplicationContract approvalApplicationContract = approvalApplicationContractService.lambdaQuery()
.eq(OaApprovalApplicationContract::getApprovalApplicationId, approvalApplications.getId())
.last("limit 1").one();
@@ -314,57 +310,772 @@
.orderByAsc(OaApprovalFlowAudit::getSortOrder)
.list();
ContractDetailVO res = new ContractDetailVO();
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
.eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.CONTRACT.getCode())
.orderByAsc(OaApprovalFlowNode::getSortOrder)
.eq(OaApprovalFlowNode::getStatus, 1).list();
- List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(approvalApplications, res, approvalFlowAudits,approvalFlowNodes);
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList( sysUser, approvalFlowAudits,approvalFlowNodes);
res.setApprovalFlowNodeListVOS(flowNodeList);
res.setApprovalApplicationId(approvalApplications.getId());
res.setContractUrl(approvalApplicationContract.getContractUrl());
res.setApplicationReason(approvalApplications.getApplicationReason());
res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+ res.setIsAudit(extracted(id, approvalApplications));
return R.ok(res);
}
+
+ private Boolean extracted(Integer id, OaApprovalApplications approvalApplications) {
+ Integer currentFlowNodeId = approvalApplications.getCurrentFlowNodeId();
+ Long userId = tokenService.getLoginUser().getUserId();
+ OaApprovalTodo approvalTodo = approvalTodoService.lambdaQuery().eq(OaApprovalTodo::getApplicationId, id)
+ .eq(OaApprovalTodo::getFlowNodeId, currentFlowNodeId)
+ .eq(OaApprovalTodo::getUserId, userId)
+ .eq(OaApprovalTodo::getStatus, 0).last("limit 1")
+ .one();
+ if (approvalTodo!=null){
+ return true;
+ }else{
+ return false;
+ }
+ }
+
@ApiOperation(value = "进度款支付审批详情")
@GetMapping(value = "/detailPayment")
- public R<ContractDetailVO> detailPayment(@ApiParam("待办列表id") Integer id) {
- OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
- OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
- OaApprovalApplicationContract approvalApplicationContract = approvalApplicationContractService.lambdaQuery()
- .eq(OaApprovalApplicationContract::getApprovalApplicationId, approvalApplications.getId())
+ public R<PaymentDetailVO> detailPayment(@ApiParam("申请单d")Integer id) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
+ OaApprovalApplicationPayment approvalApplicationPayment = approvalApplicationPaymentService.lambdaQuery()
+ .eq(OaApprovalApplicationPayment::getApprovalApplicationId, approvalApplications.getId())
.last("limit 1").one();
List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
.orderByAsc(OaApprovalFlowAudit::getSortOrder)
.list();
- ContractDetailVO res = new ContractDetailVO();
+ PaymentDetailVO res = new PaymentDetailVO();
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
.eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.PAYMENT.getCode())
.orderByAsc(OaApprovalFlowNode::getSortOrder)
.eq(OaApprovalFlowNode::getStatus, 1).list();
- List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(approvalApplications, res, approvalFlowAudits,approvalFlowNodes);
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setContractAmount(approvalApplicationPayment.getContractAmount());
res.setApprovalFlowNodeListVOS(flowNodeList);
res.setApprovalApplicationId(approvalApplications.getId());
- res.setContractUrl(approvalApplicationContract.getContractUrl());
res.setApplicationReason(approvalApplications.getApplicationReason());
res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+ // todo 三阶段设计项目表之后完善
+ res.setProjectName("本期还未涉及到项目");
+ res.setApplyAmount(approvalApplicationPayment.getApplyAmount());
+ res.setIsAudit(extracted(id, approvalApplications));
+
return R.ok(res);
}
- private List<ApprovalFlowNodeListVO> getFlowNodeList(OaApprovalApplications approvalApplications, ContractDetailVO res, List<OaApprovalFlowAudit> approvalFlowAudits
+ @ApiOperation(value = "请假申请审批详情")
+ @GetMapping(value = "/detailLeave")
+ public R<LeaveDetailVO> detailLeave(@ApiParam("申请单d")Integer id) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
+ OaApprovalApplicationAttendance approvalApplicationAttendance = approvalApplicationAttendanceService.lambdaQuery()
+ .eq(OaApprovalApplicationAttendance::getApprovalApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+ List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
+ .orderByAsc(OaApprovalFlowAudit::getSortOrder)
+ .list();
+ LeaveDetailVO res = new LeaveDetailVO();
+
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
+ .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.LEAVE.getCode())
+ .orderByAsc(OaApprovalFlowNode::getSortOrder)
+ .eq(OaApprovalFlowNode::getStatus, 1).list();
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setApprovalFlowNodeListVOS(flowNodeList);
+ res.setApprovalApplicationId(approvalApplications.getId());
+ res.setApplicationReason(approvalApplications.getApplicationReason());
+ res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+ res.setStartTime(approvalApplicationAttendance.getStartTime());
+ res.setEndTime(approvalApplicationAttendance.getEndTime());
+ res.setDuration(approvalApplicationAttendance.getDuration());
+ res.setIsAudit(extracted(id, approvalApplications));
+
+ return R.ok(res);
+ }
+ @ApiOperation(value = "销假审批详情")
+ @GetMapping(value = "/detailLeaveDestroy")
+ public R<LeaveDestroyDetailVO> detailLeaveDestroy(@ApiParam("申请单d")Integer id) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
+ OaApprovalApplicationAttendance approvalApplicationAttendance = approvalApplicationAttendanceService.lambdaQuery()
+ .eq(OaApprovalApplicationAttendance::getApprovalApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+ OaApprovalApplications leaveApplication = approvalApplicationsService.getById(approvalApplicationAttendance.getLeaveApprovalApplicationId());
+
+ OaApprovalApplicationAttendance leaveApplicationAttendance = approvalApplicationAttendanceService.lambdaQuery()
+ .eq(OaApprovalApplicationAttendance::getApprovalApplicationId, leaveApplication.getId())
+ .last("limit 1").one();
+ List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
+ .orderByAsc(OaApprovalFlowAudit::getSortOrder)
+ .list();
+ LeaveDestroyDetailVO res = new LeaveDestroyDetailVO();
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
+ .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.LEAVE_DESTROY.getCode())
+ .orderByAsc(OaApprovalFlowNode::getSortOrder)
+ .eq(OaApprovalFlowNode::getStatus, 1).list();
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setApprovalFlowNodeListVOS(flowNodeList);
+ res.setApprovalApplicationId(approvalApplications.getId());
+ res.setApplicationReason(approvalApplications.getApplicationReason());
+ res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+ res.setStartTime(approvalApplicationAttendance.getStartTime());
+ res.setEndTime(approvalApplicationAttendance.getEndTime());
+ res.setStartTimeLeave(leaveApplicationAttendance.getStartTime());
+ res.setEndTimeLeave(leaveApplicationAttendance.getEndTime());
+ res.setDurationLeave(leaveApplicationAttendance.getDuration());
+ res.setDuration(approvalApplicationAttendance.getDuration());
+ res.setIsAudit(extracted(id, approvalApplications));
+ return R.ok(res);
+ }
+ @ApiOperation(value = "外出申请审批详情")
+ @GetMapping(value = "/detailOut")
+ public R<OutDetailVO> detailOut(@ApiParam("申请单d")Integer id) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
+ OaApprovalApplicationAttendance approvalApplicationAttendance = approvalApplicationAttendanceService.lambdaQuery()
+ .eq(OaApprovalApplicationAttendance::getApprovalApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+ List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
+ .orderByAsc(OaApprovalFlowAudit::getSortOrder)
+ .list();
+ OutDetailVO res = new OutDetailVO();
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
+ .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.OUT.getCode())
+ .orderByAsc(OaApprovalFlowNode::getSortOrder)
+ .eq(OaApprovalFlowNode::getStatus, 1).list();
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setApprovalFlowNodeListVOS(flowNodeList);
+ res.setApprovalApplicationId(approvalApplications.getId());
+ res.setApplicationReason(approvalApplications.getApplicationReason());
+ res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+ res.setStartTime(approvalApplicationAttendance.getStartTime());
+ res.setEndTime(approvalApplicationAttendance.getEndTime());
+ res.setDuration(approvalApplicationAttendance.getDuration());
+ res.setAddress(approvalApplicationAttendance.getAddress());
+ res.setIsAudit(extracted(id, approvalApplications));
+
+ return R.ok(res);
+ }
+ @ApiOperation(value = "出差审批详情")
+ @GetMapping(value = "/detailBusinessTrip")
+ public R<BusinessTripDetailVO> detailBusinessTrip(@ApiParam("申请单d")Integer id) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
+ OaApprovalApplicationAttendance approvalApplicationAttendance = approvalApplicationAttendanceService.lambdaQuery()
+ .eq(OaApprovalApplicationAttendance::getApprovalApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+ List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
+ .orderByAsc(OaApprovalFlowAudit::getSortOrder)
+ .list();
+ BusinessTripDetailVO res = new BusinessTripDetailVO();
+
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
+ .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.BUSINESS_TRIP.getCode())
+ .orderByAsc(OaApprovalFlowNode::getSortOrder)
+ .eq(OaApprovalFlowNode::getStatus, 1).list();
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setApprovalFlowNodeListVOS(flowNodeList);
+ res.setApprovalApplicationId(approvalApplications.getId());
+ res.setApplicationReason(approvalApplications.getApplicationReason());
+ res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+ res.setStartTime(approvalApplicationAttendance.getStartTime());
+ res.setEndTime(approvalApplicationAttendance.getEndTime());
+ res.setDuration(approvalApplicationAttendance.getDuration());
+ res.setAddress(approvalApplicationAttendance.getAddress());
+ res.setProjectName(approvalApplicationAttendance.getProjectName());
+ res.setIsAudit(extracted(id, approvalApplications));
+
+ return R.ok(res);
+ }
+ @ApiOperation(value = "采购审批详情-采购物品清单")
+ @PostMapping(value = "/detailPurchaseList")
+ public R<PageInfo<PurchaseListVO>> detailPurchaseList(@RequestBody ApprovalDetailQuery query) {
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(query.getId());
+ query.setId(approvalApplications.getId());
+ query.setApprovalApplicationId(approvalApplications.getId());
+ PageInfo<PurchaseListVO> items = approvalApplicationPurchaseItemService.pageList(query);
+ return R.ok(items);
+ }
+ @ApiOperation(value = "采购审批详情")
+ @GetMapping(value = "/detailPurchase")
+ public R<PurchaseDetailVO> detailPurchase(@ApiParam("申请单d")Integer id) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
+ OaApprovalApplicationPurchase approvalApplicationPurchase = approvalApplicationPurchaseService.lambdaQuery()
+ .eq(OaApprovalApplicationPurchase::getApprovalApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+ List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
+ .orderByAsc(OaApprovalFlowAudit::getSortOrder)
+ .list();
+ PurchaseDetailVO res = new PurchaseDetailVO();
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
+ .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.PURCHASE.getCode())
+ .orderByAsc(OaApprovalFlowNode::getSortOrder)
+ .eq(OaApprovalFlowNode::getStatus, 1).list();
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setApprovalFlowNodeListVOS(flowNodeList);
+ res.setApprovalApplicationId(approvalApplications.getId());
+ res.setApplicationReason(approvalApplications.getApplicationReason());
+ res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+ res.setCreateTime(approvalApplications.getCreateTime());
+ res.setTotalAmount(approvalApplicationPurchase.getTotalAmount());
+ res.setTitle(approvalApplicationPurchase.getTitle());
+ AssetType assetType = assetTypeService.getById(approvalApplicationPurchase.getAssetTypeId());
+ if (assetType!=null){
+ res.setAssetTypeName(assetType.getTypeName());
+ }
+ res.setIsAudit(extracted(id, approvalApplications));
+
+ return R.ok(res);
+ }
+ @ApiOperation(value = "物品领用-领用资产列表")
+ @PostMapping(value = "/detailGrabList")
+ public R<PageInfo<GrabListVO>> detailGrabList(@RequestBody ApprovalDetailQuery query) {
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(query.getId());
+ query.setId(approvalApplications.getId());
+ query.setApprovalApplicationId(approvalApplications.getId());
+ PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
+ return R.ok(items);
+ }
+ @ApiOperation(value = "物品领用审批详情")
+ @GetMapping(value = "/detailGrab")
+ public R<GrabDetailVO> detailGrab(@ApiParam("申请单d")Integer id) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
+ OaApprovalApplicationAsset approvalApplicationAsset = approvalApplicationAssetService.lambdaQuery()
+ .eq(OaApprovalApplicationAsset::getApprovalApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+ List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
+ .orderByAsc(OaApprovalFlowAudit::getSortOrder)
+ .list();
+ GrabDetailVO res = new GrabDetailVO();
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
+
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
+ .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.GRAB.getCode())
+ .orderByAsc(OaApprovalFlowNode::getSortOrder)
+ .eq(OaApprovalFlowNode::getStatus, 1).list();
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setApprovalFlowNodeListVOS(flowNodeList);
+ res.setApprovalApplicationId(approvalApplications.getId());
+ res.setApplicationReason(approvalApplications.getApplicationReason());
+ res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+ res.setOperateTime(approvalApplicationAsset.getOperateTime());
+ res.setTitle(approvalApplicationAsset.getTitle());
+ AssetType assetType = assetTypeService.getById(approvalApplicationAsset.getAssetTypeId());
+ if (assetType!=null){
+ res.setAssetTypeName(assetType.getTypeName());
+ }
+ res.setIsAudit(extracted(id, approvalApplications));
+
+ return R.ok(res);
+ }
+ @ApiOperation(value = "资产入库-入库资产列表")
+ @PostMapping(value = "/detailInStockList")
+ public R<PageInfo<StorageListVO>> detailInStockList(@RequestBody ApprovalDetailQuery query) {
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(query.getId());
+ query.setId(approvalApplications.getId());
+ query.setApprovalApplicationId(approvalApplications.getId());
+ PageInfo<StorageListVO> items = approvalApplicationStorageService.pageList(query);
+ return R.ok(items);
+ }
+ @ApiOperation(value = "资产入库审批详情")
+ @GetMapping(value = "/detailInStock")
+ public R<StorageDetailVO> detailInStock(@ApiParam("申请单d")Integer id) {
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
+ OaApprovalApplicationStorage approvalApplicationStorage = approvalApplicationStorageService.lambdaQuery()
+ .eq(OaApprovalApplicationStorage::getApprovalApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+ List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
+ .orderByAsc(OaApprovalFlowAudit::getSortOrder)
+ .list();
+ StorageDetailVO res = new StorageDetailVO();
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
+ .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.IN_STOCK.getCode())
+ .orderByAsc(OaApprovalFlowNode::getSortOrder)
+ .eq(OaApprovalFlowNode::getStatus, 1).list();
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setAssetTypeName(assetTypeService.getById(approvalApplicationStorage.getAssetTypeId()).getTypeName());
+ res.setApprovalFlowNodeListVOS(flowNodeList);
+ res.setApprovalApplicationId(approvalApplications.getId());
+ res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+ res.setTitle(approvalApplicationStorage.getTitle());
+ res.setStorageType(approvalApplicationStorage.getStorageType());
+ res.setStorageTime(approvalApplicationStorage.getStorageTime());
+ res.setRemarks(approvalApplicationStorage.getTitle());
+ res.setIsAudit(extracted(id, approvalApplications));
+
+ return R.ok(res);
+ }
+ @ApiOperation(value = "物品借用-借用资产列表")
+ @PostMapping(value = "/detailBurrowList")
+ public R<PageInfo<GrabListVO>> detailBurrowList(@RequestBody ApprovalDetailQuery query) {
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(query.getId());
+ query.setId(approvalApplications.getId());
+ query.setApprovalApplicationId(approvalApplications.getId());
+ PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
+ return R.ok(items);
+ }
+ @ApiOperation(value = "物品借用审批详情")
+ @GetMapping(value = "/detailBurrow")
+ public R<BorrowDetailVO> detailBurrow(@ApiParam("申请单d")Integer id) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
+ OaApprovalApplicationAsset approvalApplicationAsset = approvalApplicationAssetService.lambdaQuery()
+ .eq(OaApprovalApplicationAsset::getApprovalApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+ List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
+ .orderByAsc(OaApprovalFlowAudit::getSortOrder)
+ .list();
+ BorrowDetailVO res = new BorrowDetailVO();
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
+ .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.BORROW.getCode())
+ .orderByAsc(OaApprovalFlowNode::getSortOrder)
+ .eq(OaApprovalFlowNode::getStatus, 1).list();
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setApprovalFlowNodeListVOS(flowNodeList);
+ res.setApprovalApplicationId(approvalApplications.getId());
+ res.setApplicationReason(approvalApplications.getApplicationReason());
+ res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+ res.setOperateTime(approvalApplicationAsset.getOperateTime());
+ res.setExpectReturnDate(approvalApplicationAsset.getExpectReturnDate());
+ res.setIsAudit(extracted(id, approvalApplications));
+
+ return R.ok(res);
+ }
+ @ApiOperation(value = "物品借用归还-归还资产列表")
+ @PostMapping(value = "/detailBackList")
+ public R<PageInfo<GrabListVO>> detailBackList(@RequestBody ApprovalDetailQuery query) {
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(query.getId());
+ query.setId(approvalApplications.getId());
+ query.setApprovalApplicationId(approvalApplications.getId());
+ PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
+ return R.ok(items);
+ }
+ @ApiOperation(value = "物品借用归还审批详情")
+ @GetMapping(value = "/detailBack")
+ public R<BackDetailVO> detailBack(@ApiParam("申请单d")Integer id) {
+
+ OaApprovalApplications approvalApplicationsBack = approvalApplicationsService.getById(id);
+ OaApprovalApplicationAsset approvalApplicationAssetBack = approvalApplicationAssetService.lambdaQuery()
+ .eq(OaApprovalApplicationAsset::getApprovalApplicationId, approvalApplicationsBack.getId())
+ .last("limit 1").one();
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalApplicationAssetBack.getBorrowApplicationId());
+ List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplicationsBack.getId())
+ .orderByAsc(OaApprovalFlowAudit::getSortOrder)
+ .list();
+ BackDetailVO res = new BackDetailVO();
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
+ .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.RETURN.getCode())
+ .orderByAsc(OaApprovalFlowNode::getSortOrder)
+ .eq(OaApprovalFlowNode::getStatus, 1).list();
+ SysUser sysUser = sysUserService.selectUserById(approvalApplicationsBack.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setApprovalFlowNodeListVOS(flowNodeList);
+ res.setApprovalApplicationId(approvalApplicationsBack.getId());
+ res.setApplicationReason(approvalApplicationsBack.getApplicationReason());
+ res.setAttachmentUrl(approvalApplicationsBack.getAttachmentUrl());
+ res.setOperateTime(approvalApplicationAssetBack.getOperateTime());
+ res.setExpectReturnDate(approvalApplicationAssetBack.getExpectReturnDate());
+ res.setTitle(approvalApplicationAssetBack.getTitle());
+ res.setApplicationCode(approvalApplications.getApplicationCode());
+ res.setIsAudit(extracted(id, approvalApplications));
+
+ return R.ok(res);
+ }
+ @ApiOperation(value = "资产处置-处置资产列表")
+ @PostMapping(value = "/detailDisposeList")
+ public R<PageInfo<GrabListVO>> detailDisposeList(@RequestBody ApprovalDetailQuery query) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(query.getId());
+ query.setId(approvalApplications.getId());
+ query.setApprovalApplicationId(approvalApplications.getId());
+ PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
+ return R.ok(items);
+ }
+ @ApiOperation(value = "资产处置审批详情")
+ @GetMapping(value = "/detailDispose")
+ public R<DisposeDetailVO> detailDispose(@ApiParam("申请单d")Integer id) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
+ OaApprovalApplicationDispose approvalApplicationDispose = approvalApplicationDisposeService.lambdaQuery()
+ .eq(OaApprovalApplicationDispose::getApprovalApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+ List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
+ .orderByAsc(OaApprovalFlowAudit::getSortOrder)
+ .list();
+ DisposeDetailVO res = new DisposeDetailVO();
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
+ .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.ASSET_DISPOSE.getCode())
+ .orderByAsc(OaApprovalFlowNode::getSortOrder)
+ .eq(OaApprovalFlowNode::getStatus, 1).list();
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setApprovalFlowNodeListVOS(flowNodeList);
+ res.setApprovalApplicationId(approvalApplications.getId());
+ res.setApplicationReason(approvalApplications.getApplicationReason());
+ res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+
+ res.setDisposeTime(approvalApplicationDispose.getDisposeTime());
+ res.setTitle(approvalApplicationDispose.getTitle());
+ AssetType assetType = assetTypeService.getById(approvalApplicationDispose.getAssetTypeId());
+ if (assetType!=null){
+ res.setAssetTypeName(assetType.getTypeName());
+ }
+ res.setDisposeType(approvalApplicationDispose.getDisposeType());
+ res.setDisposeTotalAmount(approvalApplicationDispose.getDisposeTotalAmount());
+ res.setIsAudit(extracted(id, approvalApplications));
+
+ return R.ok(res);
+ }
+
+ @ApiOperation(value = "资产变更-变更资产列表")
+ @PostMapping(value = "/detailChangeList")
+ public R<PageInfo<GrabListVO>> detailChangeList(@RequestBody ApprovalDetailQuery query) {
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(query.getId());
+ query.setId(approvalApplications.getId());
+ query.setApprovalApplicationId(approvalApplications.getId());
+ PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
+ return R.ok(items);
+ }
+ @ApiOperation(value = "资产变更审批详情")
+ @GetMapping(value = "/detailChange")
+ public R<ChangeDetailVO> detailChange(@ApiParam("申请单d")Integer id) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
+ OaApprovalApplicationChange approvalApplicationChange = approvalApplicationChangeService.lambdaQuery()
+ .eq(OaApprovalApplicationChange::getApprovalApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+ List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
+ .orderByAsc(OaApprovalFlowAudit::getSortOrder)
+ .list();
+ ChangeDetailVO res = new ChangeDetailVO();
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
+ .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.ASSET_CHANGE.getCode())
+ .orderByAsc(OaApprovalFlowNode::getSortOrder)
+ .eq(OaApprovalFlowNode::getStatus, 1).list();
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setApprovalFlowNodeListVOS(flowNodeList);
+ res.setApprovalApplicationId(approvalApplications.getId());
+ res.setApplicationReason(approvalApplications.getApplicationReason());
+ res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+ AssetType assetType = assetTypeService.getById(approvalApplicationChange.getAssetTypeId());
+ if (assetType!=null){
+ res.setAssetTypeName(assetType.getTypeName());
+ }
+ res.setChangeTime(approvalApplicationChange.getChangeTime());
+ res.setTitle(approvalApplicationChange.getTitle());
+ TDept dept = deptService.getById(approvalApplicationChange.getOwnershipDeptId());
+ if (dept!=null){
+ res.setOwnershipDeptName(dept.getDeptName());
+ }
+ // todo 三阶段完善 仓库名称
+ res.setWarehouseName("三阶段完善");
+ res.setAddress(approvalApplicationChange.getAddress());
+ res.setIsAudit(extracted(id, approvalApplications));
+
+ return R.ok(res);
+ }
+ @ApiOperation(value = "报销申请审批详情")
+ @GetMapping(value = "/detailReimbursement")
+ public R<ReimbursementDetailVO> detailReimbursement(@ApiParam("申请单d")Integer id) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
+ OaApprovalApplicationReimbursement approvalApplicationReimbursement = approvalApplicationReimbursementService.lambdaQuery()
+ .eq(OaApprovalApplicationReimbursement::getApprovalApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+ List<OaApprovalApplicationReimbursementItem> oaApprovalApplicationReimbursementItems = approvalApplicationReimbursementItemService.lambdaQuery()
+ .eq(OaApprovalApplicationReimbursementItem::getApprovalApplicationId, approvalApplications.getId())
+ .list();
+ List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
+ .orderByAsc(OaApprovalFlowAudit::getSortOrder)
+ .list();
+ ReimbursementDetailVO res = new ReimbursementDetailVO();
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
+
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
+ .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.REIMBURSEMENT.getCode())
+ .orderByAsc(OaApprovalFlowNode::getSortOrder)
+ .eq(OaApprovalFlowNode::getStatus, 1).list();
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setApprovalFlowNodeListVOS(flowNodeList);
+ res.setApprovalApplicationId(approvalApplications.getId());
+ res.setApplicationReason(approvalApplications.getApplicationReason());
+ res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+
+ res.setType(approvalApplicationReimbursement.getType());
+ res.setApprovalApplicationReimbursementItems(oaApprovalApplicationReimbursementItems);
+ res.setIsAudit(extracted(id, approvalApplications));
+
+ return R.ok(res);
+ }
+ @ApiOperation(value = "款项申请审批详情")
+ @GetMapping(value = "/detailMoney")
+ public R<MoneyDetailVO> detailMoney(@ApiParam("申请单d")Integer id) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
+ OaApprovalApplicationMoney approvalApplicationMoney = approvalApplicationMoneyService.lambdaQuery()
+ .eq(OaApprovalApplicationMoney::getApprovalApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+ List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
+ .orderByAsc(OaApprovalFlowAudit::getSortOrder)
+ .list();
+ MoneyDetailVO res = new MoneyDetailVO();
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
+ .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.MONEY.getCode())
+ .orderByAsc(OaApprovalFlowNode::getSortOrder)
+ .eq(OaApprovalFlowNode::getStatus, 1).list();
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setApprovalFlowNodeListVOS(flowNodeList);
+ res.setApprovalApplicationId(approvalApplications.getId());
+ res.setApplicationReason(approvalApplications.getApplicationReason());
+ res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+ res.setProjectName(approvalApplicationMoney.getProjectName());
+ res.setApplyAmount(approvalApplicationMoney.getApplyAmount());
+ res.setDescription(approvalApplicationMoney.getDescription());
+ res.setPayer(approvalApplicationMoney.getPayer());
+ res.setPayee(approvalApplicationMoney.getPayee());
+ res.setPayeeContact(approvalApplicationMoney.getPayeeContact());
+ res.setPayeeAccount(approvalApplicationMoney.getPayeeAccount());
+ res.setIsAudit(extracted(id, approvalApplications));
+
+ return R.ok(res);
+ }
+ @ApiOperation(value = "内部联系单审批详情")
+ @GetMapping(value = "/detailContact")
+ public R<ContactDetailVO> detailContact(@ApiParam("申请单d")Integer id) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
+ OaApprovalApplicationContact approvalApplicationContact = approvalApplicationContactService.lambdaQuery()
+ .eq(OaApprovalApplicationContact::getApprovalApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+
+ List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
+ .orderByAsc(OaApprovalFlowAudit::getSortOrder)
+ .list();
+ ContactDetailVO res = new ContactDetailVO();
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
+ .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.CONTACT.getCode())
+ .orderByAsc(OaApprovalFlowNode::getSortOrder)
+ .eq(OaApprovalFlowNode::getStatus, 1).list();
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setApprovalFlowNodeListVOS(flowNodeList);
+ res.setApprovalApplicationId(approvalApplications.getId());
+ res.setApplicationReason(approvalApplications.getApplicationReason());
+ res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+ res.setDescription(approvalApplicationContact.getDescription());
+ res.setIsAudit(extracted(id, approvalApplications));
+
+ return R.ok(res);
+ }
+ @ApiOperation(value = "广告制作审批详情")
+ @GetMapping(value = "/detailAdvertisement")
+ public R<AdvertisementDetailVO> detailAdvertisement(@ApiParam("申请单d")Integer id) {
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
+ OaApprovalApplicationAd applicationAdvertisement = approvalApplicationAdvertisementService.lambdaQuery()
+ .eq(OaApprovalApplicationAd::getApprovalApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+
+ List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
+ .orderByAsc(OaApprovalFlowAudit::getSortOrder)
+ .list();
+ AdvertisementDetailVO res = new AdvertisementDetailVO();
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(approvalApplications.getCurrentFlowNodeId());
+ res.setSignFlag(oaApprovalFlowNode.getSignFlag());
+
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
+ .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.ADVERTISEMENT.getCode())
+ .orderByAsc(OaApprovalFlowNode::getSortOrder)
+ .eq(OaApprovalFlowNode::getStatus, 1).list();
+ SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
+ if (sysUser!=null){
+ res.setUserName(sysUser.getNickName());
+ TDept dept = deptService.getById(sysUser.getDeptId());
+ if (dept!=null){
+ res.setDeptName(dept.getDeptName());
+ }
+ }
+ List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes);
+ res.setApprovalFlowNodeListVOS(flowNodeList);
+ res.setApprovalApplicationId(approvalApplications.getId());
+ res.setApplicationReason(approvalApplications.getApplicationReason());
+ res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
+ res.setTitle(applicationAdvertisement.getTitle());
+ res.setCreateTime(approvalApplications.getCreateTime());
+ res.setContent(applicationAdvertisement.getContent());
+ res.setNumber(applicationAdvertisement.getNumber());
+ res.setTotalAmount(applicationAdvertisement.getTotalAmount());
+ res.setSpec(applicationAdvertisement.getSpec());
+ res.setIsAudit(extracted(id, approvalApplications));
+
+ return R.ok(res);
+ }
+ private List<ApprovalFlowNodeListVO> getFlowNodeList(SysUser sysUser, List<OaApprovalFlowAudit> approvalFlowAudits
,List<OaApprovalFlowNode> approvalFlowNodes) {
+ Map<Long, String> userMap = sysUserService.selectAllList().stream()
+ .collect(Collectors.toMap(SysUser::getUserId, SysUser::getNickName));
List<ApprovalFlowNodeListVO> approvalFlowNodeListVOS = new ArrayList<>();
Map<Integer, OaApprovalFlowAudit> approvalFlowAuditMap = approvalFlowAudits.stream().collect(Collectors.toMap(OaApprovalFlowAudit::getFlowNodeId, e -> e));
ApprovalFlowNodeListVO approvalFlowNodeListVO = new ApprovalFlowNodeListVO();
approvalFlowNodeListVO.setFlowName("发起");
- SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
if (sysUser!=null){
- approvalFlowNodeListVO.setUserName(sysUser.getUserName());
- res.setUserName(sysUser.getUserName());
- TDept dept = deptService.getById(sysUser.getDeptId());
- if (dept!=null){
- res.setDeptName(dept.getDeptName());
- }
+ approvalFlowNodeListVO.setUserName(sysUser.getNickName());
}
approvalFlowNodeListVOS.add(approvalFlowNodeListVO);
for (OaApprovalFlowNode approvalFlowNode : approvalFlowNodes) {
@@ -373,21 +1084,15 @@
OaApprovalFlowAudit approvalFlowAudit = approvalFlowAuditMap.get(approvalFlowNode.getId());
if (approvalFlowAudit!=null){
approvalFlowNodeVO.setFlowName(approvalFlowAudit.getFlowName());
- approvalFlowNodeVO.setUserName(approvalFlowAudit.getUserName());
+ String s = userMap.get(approvalFlowAudit.getUserId().longValue());
+ if (s!=null){
+ approvalFlowNodeVO.setUserName(s);
+ }
approvalFlowNodeVO.setSignPicUrl(approvalFlowAudit.getSignPicUrl());
approvalFlowNodeVO.setApprovalStatus(approvalFlowAudit.getApprovalStatus());
}else{
approvalFlowNodeVO.setFlowName(approvalFlowNode.getFlowName());
}
- approvalFlowNodeListVOS.add(approvalFlowNodeVO);
-
- }
- for (OaApprovalFlowAudit approvalFlowAudit : approvalFlowAudits) {
- ApprovalFlowNodeListVO approvalFlowNodeVO = new ApprovalFlowNodeListVO();
- approvalFlowNodeVO.setFlowName(approvalFlowAudit.getFlowName());
- approvalFlowNodeVO.setUserName(approvalFlowAudit.getUserName());
- approvalFlowNodeVO.setSignPicUrl(approvalFlowAudit.getSignPicUrl());
- approvalFlowNodeVO.setApprovalStatus(approvalFlowAudit.getApprovalStatus());
approvalFlowNodeListVOS.add(approvalFlowNodeVO);
}
return approvalFlowNodeListVOS;
--
Gitblit v1.7.1