From b167a4203201dee255c57afa5c96a01842889f42 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 13 十月 2025 18:46:41 +0800
Subject: [PATCH] 资产盘点任务接口
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java | 1059 +++++++++++++---------------------------------------------
1 files changed, 242 insertions(+), 817 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java
index 9f60e44..192d1eb 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java
@@ -7,22 +7,55 @@
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.core.domain.model.LoginUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.service.TokenService;
-import com.ruoyi.system.dto.AddLeaveDTO;
import com.ruoyi.system.dto.AuditDTO;
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.service.*;
-import com.ruoyi.system.vo.*;
+
+import com.ruoyi.system.service.OaApprovalApplicationsService;
+import com.ruoyi.system.service.OaApprovalFlowAuditService;
+import com.ruoyi.system.service.OaApprovalFlowNodeService;
+import com.ruoyi.system.service.OaApprovalFlowService;
+import com.ruoyi.system.service.OaApprovalService;
+import com.ruoyi.system.service.OaApprovalTodoService;
+import com.ruoyi.system.service.TDeptService;
+import com.ruoyi.system.vo.AdvertisementDetailVO;
+import com.ruoyi.system.vo.ApprovalFlowNodeListVO;
+import com.ruoyi.system.vo.ApprovalTodoVO;
+import com.ruoyi.system.vo.BackDetailVO;
+import com.ruoyi.system.vo.BorrowDetailVO;
+import com.ruoyi.system.vo.BusinessTripDetailVO;
+import com.ruoyi.system.vo.ChangeDetailVO;
+import com.ruoyi.system.vo.ContactDetailVO;
+import com.ruoyi.system.vo.ContractDetailVO;
+import com.ruoyi.system.vo.DisposeDetailVO;
+import com.ruoyi.system.vo.GrabDetailVO;
+import com.ruoyi.system.vo.GrabListVO;
+import com.ruoyi.system.vo.LeaveDestroyDetailVO;
+import com.ruoyi.system.vo.LeaveDetailVO;
+import com.ruoyi.system.vo.MoneyDetailVO;
+import com.ruoyi.system.vo.OutDetailVO;
+import com.ruoyi.system.vo.PaymentDetailVO;
+import com.ruoyi.system.vo.PurchaseDetailVO;
+import com.ruoyi.system.vo.PurchaseListVO;
+import com.ruoyi.system.vo.ReimbursementDetailVO;
+import com.ruoyi.system.vo.StorageDetailVO;
+import com.ruoyi.system.vo.StorageListVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.time.LocalDateTime;
@@ -41,7 +74,8 @@
*/
@RestController
@RequestMapping("/oa-approval-flow-audit")
-@Api(tags = "我审批的/我发起的/通用审批接口")
+@Api(tags = "我审批的-我发起的-通用审批接口")
+@Slf4j
public class OaApprovalFlowAuditController {
@Resource
private OaApprovalTodoService approvalTodoService;
@@ -74,6 +108,11 @@
private OaApprovalApplicationMoneyService approvalApplicationMoneyService;
@Resource
private AssetMainService assetMainService;
+ @Resource
+
+ private AssetInventoryRecordService assetInventoryRecordService;
+ @Resource
+ private OaApprovalApplicationStorageAssetService oaApprovalApplicationStorageAssetService;
@Resource
private OaApprovalApplicationReimbursementService approvalApplicationReimbursementService;
@Resource
@@ -157,6 +196,8 @@
List<OaApprovalApplications> approvalApplications = approvalApplicationsService.lambdaQuery().in(OaApprovalApplications::getId, applicationIds).list();
for (OaApprovalApplications approvalApplication : approvalApplications) {
ApprovalTodoVO approvalTodoVO = new ApprovalTodoVO();
+ approvalTodoVO.setApprovalStatus(approvalApplication.getApprovalStatus());
+ approvalTodoVO.setApplicationReason(approvalApplication.getApplicationReason());
approvalTodoVO.setApprovalCategory(approvalMap.get(approvalApplication.getApprovalId()).getApprovalCategory());
switch (approvalTodoVO.getApprovalCategory()){
case 1:
@@ -174,7 +215,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());
@@ -188,17 +229,25 @@
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) {
@@ -218,24 +267,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){
@@ -246,12 +303,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());
@@ -260,6 +319,8 @@
case 15:
OaApprovalApplicationPayment oaApprovalApplicationPayment = approvalApplicationPaymentMap.get(approvalApplication.getId());
if (oaApprovalApplicationPayment!=null){
+ // todo 当前阶段没有项目id 后续完善
+ approvalTodoVO.setProjectName("项目名称");
approvalTodoVO.setAmount(oaApprovalApplicationPayment.getApplyAmount());
approvalTodoVO.setDescription(approvalApplication.getApplicationReason());
@@ -268,6 +329,7 @@
case 17:
OaApprovalApplicationAdvertisement oaApprovalApplicationAdvertisement = approvalApplicationAdvertisementMap.get(approvalApplication.getId());
if (oaApprovalApplicationAdvertisement!=null){
+ approvalTodoVO.setTitle(oaApprovalApplicationAdvertisement.getTitle());
approvalTodoVO.setContent(oaApprovalApplicationAdvertisement.getContent());
approvalTodoVO.setAmount(oaApprovalApplicationAdvertisement.getTotalAmount());
}
@@ -335,6 +397,8 @@
List<OaApprovalApplications> approvalApplications = approvalApplicationsService.lambdaQuery().in(OaApprovalApplications::getId, applicationIds).list();
for (OaApprovalApplications approvalApplication : approvalApplications) {
ApprovalTodoVO approvalTodoVO = new ApprovalTodoVO();
+ approvalTodoVO.setApprovalStatus(approvalApplication.getApprovalStatus());
+ approvalTodoVO.setApplicationReason(approvalApplication.getApplicationReason());
approvalTodoVO.setApprovalCategory(approvalMap.get(approvalApplication.getApprovalId()).getApprovalCategory());
switch (approvalTodoVO.getApprovalCategory()){
case 1:
@@ -352,7 +416,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());
@@ -366,17 +430,25 @@
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) {
@@ -396,24 +468,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){
@@ -424,12 +504,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());
@@ -438,6 +520,8 @@
case 15:
OaApprovalApplicationPayment oaApprovalApplicationPayment = approvalApplicationPaymentMap.get(approvalApplication.getId());
if (oaApprovalApplicationPayment!=null){
+ // todo 当前阶段没有项目id 后续完善
+ approvalTodoVO.setProjectName("项目名称");
approvalTodoVO.setAmount(oaApprovalApplicationPayment.getApplyAmount());
approvalTodoVO.setDescription(approvalApplication.getApplicationReason());
@@ -446,6 +530,7 @@
case 17:
OaApprovalApplicationAdvertisement oaApprovalApplicationAdvertisement = approvalApplicationAdvertisementMap.get(approvalApplication.getId());
if (oaApprovalApplicationAdvertisement!=null){
+ approvalTodoVO.setTitle(oaApprovalApplicationAdvertisement.getTitle());
approvalTodoVO.setContent(oaApprovalApplicationAdvertisement.getContent());
approvalTodoVO.setAmount(oaApprovalApplicationAdvertisement.getTotalAmount());
}
@@ -459,814 +544,154 @@
}
-// @ApiOperation(value = "合同文件审批详情")
-// @GetMapping(value = "/detailContract")
-// public R<ContractDetailVO> detailContract(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// OaApprovalApplicationContract approvalApplicationContract = approvalApplicationContractService.lambdaQuery()
-// .eq(OaApprovalApplicationContract::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();
-// List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
-// .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.CONTRACT.getCode())
-// .orderByAsc(OaApprovalFlowNode::getSortOrder)
-// .eq(OaApprovalFlowNode::getStatus, 1).list();
-// SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
-// if (sysUser!=null){
-// res.setUserName(sysUser.getUserName());
-// 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());
-// return R.ok(res);
-// }
-// @ApiOperation(value = "进度款支付审批详情")
-// @GetMapping(value = "/detailPayment")
-// public R<PaymentDetailVO> detailPayment(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// 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();
-// PaymentDetailVO res = new PaymentDetailVO();
-// List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
-// .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.PAYMENT.getCode())
-// .orderByAsc(OaApprovalFlowNode::getSortOrder)
-// .eq(OaApprovalFlowNode::getStatus, 1).list();
-// SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
-// if (sysUser!=null){
-// res.setUserName(sysUser.getUserName());
-// 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());
-// // todo 三阶段设计项目表之后完善
-// res.setProjectName("本期还未涉及到项目");
-// res.setApplyAmount(approvalApplicationPayment.getApplyAmount());
-// return R.ok(res);
-// }
-// @ApiOperation(value = "请假申请审批详情")
-// @GetMapping(value = "/detailLeave")
-// public R<LeaveDetailVO> detailLeave(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// 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();
-//
-//
-// 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.getUserName());
-// 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());
-// return R.ok(res);
-// }
-// @ApiOperation(value = "销假审批详情")
-// @GetMapping(value = "/detailLeaveDestroy")
-// public R<LeaveDestroyDetailVO> detailLeaveDestroy(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// OaApprovalApplicationAttendance approvalApplicationAttendance = approvalApplicationAttendanceService.lambdaQuery()
-// .eq(OaApprovalApplicationAttendance::getApprovalApplicationId, approvalApplications.getId())
-// .last("limit 1").one();
-// OaApprovalApplicationAttendance leaveApplication = approvalApplicationAttendanceService.getById(approvalApplicationAttendance.getLeaveApprovalApplicationId());
-// List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId())
-// .orderByAsc(OaApprovalFlowAudit::getSortOrder)
-// .list();
-// LeaveDestroyDetailVO res = new LeaveDestroyDetailVO();
-//
-// 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.getUserName());
-// 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(leaveApplication.getStartTime());
-// res.setEndTimeLeave(leaveApplication.getEndTime());
-// res.setDurationLeave(leaveApplication.getDuration());
-// res.setDuration(approvalApplicationAttendance.getDuration());
-// return R.ok(res);
-// }
-// @ApiOperation(value = "外出申请审批详情")
-// @GetMapping(value = "/detailOut")
-// public R<OutDetailVO> detailOut(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// 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();
-// 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.getUserName());
-// 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());
-// return R.ok(res);
-// }
-// @ApiOperation(value = "出差审批详情")
-// @GetMapping(value = "/detailBusinessTrip")
-// public R<BusinessTripDetailVO> detailBusinessTrip(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// 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();
-//
-//
-// 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.getUserName());
-// 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());
-// return R.ok(res);
-// }
-// @ApiOperation(value = "采购审批详情-采购物品清单")
-// @PostMapping(value = "/detailPurchaseList")
-// public R<PageInfo<PurchaseListVO>> detailPurchaseList(@RequestBody ApprovalDetailQuery query) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId());
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// query.setId(approvalApplications.getId());
-// PageInfo<PurchaseListVO> items = approvalApplicationPurchaseItemService.pageList(query);
-// return R.ok(items);
-// }
-// @ApiOperation(value = "采购审批详情")
-// @GetMapping(value = "/detailPurchase")
-// public R<PurchaseDetailVO> detailPurchase(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// 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();
-// 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.getUserName());
-// 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());
-// }
-// return R.ok(res);
-// }
-// @ApiOperation(value = "物品领用-领用资产列表")
-// @PostMapping(value = "/detailGrabList")
-// public R<PageInfo<GrabListVO>> detailGrabList(@RequestBody ApprovalDetailQuery query) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId());
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// query.setId(approvalApplications.getId());
-// PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
-// return R.ok(items);
-// }
-// @ApiOperation(value = "物品领用审批详情")
-// @GetMapping(value = "/detailGrab")
-// public R<GrabDetailVO> detailGrab(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// 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();
-//
-//
-// 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.getUserName());
-// 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());
-// }
-// return R.ok(res);
-// }
-// @ApiOperation(value = "资产入库-入库资产列表")
-// @PostMapping(value = "/detailInStockList")
-// public R<PageInfo<StorageListVO>> detailInStockList(@RequestBody ApprovalDetailQuery query) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId());
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// query.setId(approvalApplications.getId());
-// PageInfo<StorageListVO> items = approvalApplicationStorageService.pageList(query);
-// return R.ok(items);
-// }
-// @ApiOperation(value = "资产入库审批详情")
-// @GetMapping(value = "/detailInStock")
-// public R<StorageDetailVO> detailInStock(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// 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();
-// 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.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());
-// return R.ok(res);
-// }
-// @ApiOperation(value = "物品借用-借用资产列表")
-// @PostMapping(value = "/detailBurrowList")
-// public R<PageInfo<GrabListVO>> detailBurrowList(@RequestBody ApprovalDetailQuery query) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId());
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// query.setId(approvalApplications.getId());
-// PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
-// return R.ok(items);
-// }
-// @ApiOperation(value = "物品借用审批详情")
-// @GetMapping(value = "/detailBurrow")
-// public R<BorrowDetailVO> detailBurrow(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// 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();
-//
-// List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
-// .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.BURROW.getCode())
-// .orderByAsc(OaApprovalFlowNode::getSortOrder)
-// .eq(OaApprovalFlowNode::getStatus, 1).list();
-// SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
-// if (sysUser!=null){
-// res.setUserName(sysUser.getUserName());
-// 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());
-// return R.ok(res);
-// }
-// @ApiOperation(value = "物品借用归还-归还资产列表")
-// @PostMapping(value = "/detailBackList")
-// public R<PageInfo<GrabListVO>> detailBackList(@RequestBody ApprovalDetailQuery query) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId());
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// query.setId(approvalApplications.getId());
-// PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
-// return R.ok(items);
-// }
-// @ApiOperation(value = "物品借用归还审批详情")
-// @GetMapping(value = "/detailBack")
-// public R<BackDetailVO> detailBack(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplicationsBack = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// 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();
-// 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.getUserName());
-// 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());
-// return R.ok(res);
-// }
-// @ApiOperation(value = "资产处置-处置资产列表")
-// @PostMapping(value = "/detailDisposeList")
-// public R<PageInfo<GrabListVO>> detailDisposeList(@RequestBody ApprovalDetailQuery query) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId());
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// query.setId(approvalApplications.getId());
-// PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
-// return R.ok(items);
-// }
-// @ApiOperation(value = "资产处置审批详情")
-// @GetMapping(value = "/detailDispose")
-// public R<DisposeDetailVO> detailDispose(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// 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();
-//
-// 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.getUserName());
-// 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());
-// return R.ok(res);
-// }
-//
-// @ApiOperation(value = "资产变更-变更资产列表")
-// @PostMapping(value = "/detailChangeList")
-// public R<PageInfo<GrabListVO>> detailChangeList(@RequestBody ApprovalDetailQuery query) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId());
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// query.setId(approvalApplications.getId());
-// PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
-// return R.ok(items);
-// }
-// @ApiOperation(value = "资产变更审批详情")
-// @GetMapping(value = "/detailChange")
-// public R<ChangeDetailVO> detailChange(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// 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();
-// 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.getUserName());
-// 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());
-// return R.ok(res);
-// }
-// @ApiOperation(value = "报销申请审批详情")
-// @GetMapping(value = "/detailReimbursement")
-// public R<ReimbursementDetailVO> detailReimbursement(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// 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();
-//
-//
-// 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.getUserName());
-// 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);
-// return R.ok(res);
-// }
-// @ApiOperation(value = "款项申请审批详情")
-// @GetMapping(value = "/detailMoney")
-// public R<MoneyDetailVO> detailMoney(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// 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();
-// 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.getUserName());
-// 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());
-// return R.ok(res);
-// }
-// @ApiOperation(value = "内部联系单审批详情")
-// @GetMapping(value = "/detailContact")
-// public R<ContactDetailVO> detailContact(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// 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();
-// ContactDetailVO res = new ContactDetailVO();
-//
-//
-// 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.getUserName());
-// 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(approvalApplicationMoney.getDescription());
-// return R.ok(res);
-// }
-// @ApiOperation(value = "广告制作审批详情")
-// @GetMapping(value = "/detailAdvertisement")
-// public R<AdvertisementDetailVO> detailAdvertisement(@ApiParam("待办事项id")Integer id) {
-// OaApprovalTodo approvalTodo = approvalTodoService.getById(id);
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId());
-// OaApprovalApplicationAdvertisement applicationAdvertisement = approvalApplicationAdvertisementService.lambdaQuery()
-// .eq(OaApprovalApplicationAdvertisement::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();
-//
-//
-// 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.getUserName());
-// 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());
-// return R.ok(res);
-// }
-// private List<ApprovalFlowNodeListVO> getFlowNodeList(SysUser sysUser, List<OaApprovalFlowAudit> approvalFlowAudits
-// ,List<OaApprovalFlowNode> approvalFlowNodes) {
-// List<ApprovalFlowNodeListVO> approvalFlowNodeListVOS = new ArrayList<>();
-// Map<Integer, OaApprovalFlowAudit> approvalFlowAuditMap = approvalFlowAudits.stream().collect(Collectors.toMap(OaApprovalFlowAudit::getFlowNodeId, e -> e));
-//
-// ApprovalFlowNodeListVO approvalFlowNodeListVO = new ApprovalFlowNodeListVO();
-// approvalFlowNodeListVO.setFlowName("发起");
-// if (sysUser!=null){
-// approvalFlowNodeListVO.setUserName(sysUser.getUserName());
-// }
-// approvalFlowNodeListVOS.add(approvalFlowNodeListVO);
-// for (OaApprovalFlowNode approvalFlowNode : approvalFlowNodes) {
-// ApprovalFlowNodeListVO approvalFlowNodeVO = new ApprovalFlowNodeListVO();
-//
-// OaApprovalFlowAudit approvalFlowAudit = approvalFlowAuditMap.get(approvalFlowNode.getId());
-// if (approvalFlowAudit!=null){
-// approvalFlowNodeVO.setFlowName(approvalFlowAudit.getFlowName());
-// approvalFlowNodeVO.setUserName(approvalFlowAudit.getUserName());
-// approvalFlowNodeVO.setSignPicUrl(approvalFlowAudit.getSignPicUrl());
-// approvalFlowNodeVO.setApprovalStatus(approvalFlowAudit.getApprovalStatus());
-// }else{
-// approvalFlowNodeVO.setFlowName(approvalFlowNode.getFlowName());
-// }
-// approvalFlowNodeListVOS.add(approvalFlowNodeVO);
-// }
-// return approvalFlowNodeListVOS;
-// }
-//
-//
-//
-// @Log(title = "审批-通用审批接口", businessType = BusinessType.INSERT)
-// @ApiOperation(value = "通用审批接口")
-// @PostMapping(value = "/audit")
-// public R addLeave(@RequestBody AuditDTO dto) {
-//
-// OaApprovalApplications approvalApplications = approvalApplicationsService.getById(dto.getApprovalApplicationId());
-// Integer currentFlowNodeId = approvalApplications.getCurrentFlowNodeId();
-// Long userId = tokenService.getLoginUser().getUserId();
-// SysUser sysUser = sysUserService.selectUserById(userId);
-//
-// OaApprovalTodo approvalTodo = approvalTodoService.lambdaQuery().eq(OaApprovalTodo::getUserId, userId)
-// .eq(OaApprovalTodo::getFlowNodeId, currentFlowNodeId)
-// .eq(OaApprovalTodo::getApplicationId, approvalApplications.getId())
-// .last("limit 1").one();
-// approvalTodo.setStatus(1);
-// approvalTodo.setHandleTime(LocalDateTime.now());
-// approvalTodoService.updateById(approvalTodo);
-//
-// OaApproval approval = approvalService.getById(approvalApplications.getApprovalId());
-// if (dto.getApprovalStatus()==0){
-// // 中断审批流程
-// approvalApplications.setApprovalStatus(3);
-// approvalApplicationsService.updateById(approvalApplications);
-// // 删除除当前审批人该申请单的未处理的所有待办
-// approvalTodoService.remove(new LambdaQueryWrapper<OaApprovalTodo>()
-// .eq(OaApprovalTodo::getApplicationId, approvalApplications.getId())
-// .eq(OaApprovalTodo::getStatus,0));
-// }
-// OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(currentFlowNodeId);
-// OaApprovalFlowAudit approvalFlowAudit = new OaApprovalFlowAudit();
-// approvalFlowAudit.setApprovalApplicationId(approvalApplications.getId());
-// approvalFlowAudit.setFlowNodeId(approvalApplications.getCurrentFlowNodeId());
-// approvalFlowAudit.setFlowName(oaApprovalFlowNode.getFlowName());
-// approvalFlowAudit.setSortOrder(oaApprovalFlowNode.getSortOrder());
-// approvalFlowAudit.setUserId(userId.intValue());
-// approvalFlowAudit.setUserName(sysUser.getUserName());
-// approvalFlowAudit.setApprovalStatus(dto.getApprovalStatus() != 0);
-// approvalFlowAudit.setApprovalTime(LocalDateTime.now());
-// approvalFlowAudit.setReason(dto.getReason());
-// approvalFlowAuditService.save(approvalFlowAudit);
-// List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery().eq(OaApprovalFlowNode::getApprovalId, approval.getId())
-// .orderByAsc(OaApprovalFlowNode::getSortOrder).list();
-// if (dto.getApprovalStatus()==1){
-// // 判断当前是否处于最后一个节点
-// if(approvalApplications.getCurrentFlowNodeId().equals(approvalFlowNodes.get(approvalFlowNodes.size()-1).getId())){
-// // 审批通过 审批流程结束
-// approvalApplications.setApprovalStatus(2);
-// approvalApplicationsService.updateById(approvalApplications);
-// if (approval.getApprovalCategory()==10||approval.getApprovalCategory()==7
-// ||approval.getApprovalCategory()==8||approval.getApprovalCategory()==9){
-// List<OaApprovalApplicationAssetItem> approvalApplicationAssetItems = approvalApplicationAssetItemService.lambdaQuery()
-// .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, approvalApplications.getId()).list();
-// List<Integer> AssetMainIds = approvalApplicationAssetItems.stream().map(OaApprovalApplicationAssetItem::getAssetMainId).collect(Collectors.toList());
-// List<AssetMain> assetMains = assetMainService.lambdaQuery().in(AssetMain::getId, AssetMainIds).list();
-// switch (approval.getApprovalCategory()){
-// case 10:
-// assetMains.forEach(assetMain -> {
-// assetMain.setDisposed(1);
-// });
-// break;
-// case 7:
-// assetMains.forEach(assetMain -> {
-// assetMain.setInUse(1);
-// });
-// break;
-// default:
-// assetMains.forEach(assetMain -> {
-// assetMain.setBorrowed(1);
-// });
-// break;
-// }
-// assetMainService.updateBatchById(assetMains);
-// }
-// }else{
-// // 生成下一个节点的待办事项
-// for (int i = 0; i < approvalFlowNodes.size(); i++) {
-// if(approvalApplications.getCurrentFlowNodeId()
-// .equals(approvalFlowNodes.get(i).getId())){
-// approvalApplications.setCurrentFlowNodeId(approvalFlowNodes.get(i+1).getId());
-// OaApprovalFlowNode oaApprovalFlowNode1 = approvalFlowNodeService.getById(approvalFlowNodes.get(i + 1).getId());
-// approvalTodoService.createApprovalTodos(approvalApplications.getId(),
-// approvalApplications.getApplicationCode(), oaApprovalFlowNode1, approvalApplications.getDeptId());
-// }
-// }
-// }
-//
-// }
-//
-// return R.ok();
-// }
-}
+ @Log(title = "审批-通用审批接口", businessType = BusinessType.INSERT)
+ @ApiOperation(value = "通用审批接口")
+ @PostMapping(value = "/audit")
+ @Transactional
+ public R addLeave(@RequestBody AuditDTO dto) {
+
+ OaApprovalApplications approvalApplications = approvalApplicationsService.getById(dto.getApprovalApplicationId());
+ Integer currentFlowNodeId = approvalApplications.getCurrentFlowNodeId();
+ Long userId = tokenService.getLoginUser().getUserId();
+ SysUser sysUser = sysUserService.selectUserById(userId);
+
+ OaApprovalTodo approvalTodo = approvalTodoService.lambdaQuery().eq(OaApprovalTodo::getUserId, userId)
+ .eq(OaApprovalTodo::getFlowNodeId, currentFlowNodeId)
+ .eq(OaApprovalTodo::getApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+ approvalTodo.setStatus(1);
+ approvalTodo.setHandleTime(LocalDateTime.now());
+ approvalTodoService.updateById(approvalTodo);
+
+ OaApproval approval = approvalService.getById(approvalApplications.getApprovalId());
+ if (dto.getApprovalStatus() == 0) {
+ // 中断审批流程
+ approvalApplications.setApprovalStatus(3);
+ approvalApplicationsService.updateById(approvalApplications);
+ // 删除除当前审批人该申请单的未处理的所有待办
+ approvalTodoService.remove(new LambdaQueryWrapper<OaApprovalTodo>()
+ .eq(OaApprovalTodo::getApplicationId, approvalApplications.getId())
+ .eq(OaApprovalTodo::getStatus, 0));
+ }
+ OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(currentFlowNodeId);
+ OaApprovalFlowAudit approvalFlowAudit = new OaApprovalFlowAudit();
+ approvalFlowAudit.setApprovalApplicationId(approvalApplications.getId());
+ approvalFlowAudit.setFlowNodeId(approvalApplications.getCurrentFlowNodeId());
+ approvalFlowAudit.setFlowName(oaApprovalFlowNode.getFlowName());
+ approvalFlowAudit.setSortOrder(oaApprovalFlowNode.getSortOrder());
+ approvalFlowAudit.setUserId(userId.intValue());
+ approvalFlowAudit.setUserName(sysUser.getUserName());
+ approvalFlowAudit.setApprovalStatus(dto.getApprovalStatus() != 0);
+ approvalFlowAudit.setApprovalTime(LocalDateTime.now());
+ approvalFlowAudit.setReason(dto.getReason());
+ approvalFlowAuditService.save(approvalFlowAudit);
+ List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery().eq(OaApprovalFlowNode::getApprovalId, approval.getId())
+ .eq(OaApprovalFlowNode::getStatus,1)
+ .orderByAsc(OaApprovalFlowNode::getSortOrder).list();
+ if (dto.getApprovalStatus() == 1) {
+ // 判断当前是否处于最后一个节点
+ if (approvalApplications.getCurrentFlowNodeId().equals(approvalFlowNodes.get(approvalFlowNodes.size() - 1).getId())) {
+ // 审批通过 审批流程结束
+ approvalApplications.setApprovalStatus(2);
+ approvalApplicationsService.updateById(approvalApplications);
+ if (approval.getApprovalCategory() == 10 || approval.getApprovalCategory() == 7
+ || approval.getApprovalCategory() == 8 || approval.getApprovalCategory() == 9) {
+ List<OaApprovalApplicationAssetItem> approvalApplicationAssetItems = approvalApplicationAssetItemService.lambdaQuery()
+ .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, approvalApplications.getId()).list();
+ List<Integer> AssetMainIds = approvalApplicationAssetItems.stream().map(OaApprovalApplicationAssetItem::getAssetMainId).collect(Collectors.toList());
+ List<AssetMain> assetMains = assetMainService.lambdaQuery().in(AssetMain::getId, AssetMainIds).list();
+ switch (approval.getApprovalCategory()) {
+ case 9:
+ // 借用归还资产条数
+ List<OaApprovalApplicationAssetItem> back = approvalApplicationAssetItemService.lambdaQuery()
+ .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, approvalApplications.getId())
+ .list();
+ // 借用资产条数
+ OaApprovalApplicationAsset borrowApplications = approvalApplicationAssetService.lambdaQuery()
+ .eq(OaApprovalApplicationAsset::getApprovalApplicationId, approvalApplications.getId())
+ .last("limit 1").one();
+ List<OaApprovalApplicationAssetItem> borrow = approvalApplicationAssetItemService.lambdaQuery()
+ .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, borrowApplications.getId())
+ .list();
+ if (back.size()==borrow.size()){
+ borrowApplications.setReturnStatus(2);
+ }else if (!back.isEmpty()){
+ borrowApplications.setReturnStatus(1);
+ }else{
+ borrowApplications.setReturnStatus(0);
+ }
+ approvalApplicationAssetService.updateById(borrowApplications);
+ saveAssetRecord(0,ApprovalTypeEnum.RETURN.getDesc(),back.stream().map(OaApprovalApplicationAssetItem::getAssetMainId)
+ .collect(Collectors.toList()));
+
+ case 10:
+ assetMains.forEach(assetMain -> {
+ assetMain.setDisposed(1);
+ });
+ saveAssetRecord(null,ApprovalTypeEnum.ASSET_DISPOSE.getDesc(),assetMains
+ .stream().map(AssetMain::getId).collect(Collectors.toList()));
+ break;
+ case 7:
+ assetMains.forEach(assetMain -> {
+ assetMain.setInUse(1);
+ });
+ saveAssetRecord(1,ApprovalTypeEnum.GRAB.getDesc(),assetMains
+ .stream().map(AssetMain::getId).collect(Collectors.toList()));
+ break;
+ default:
+ assetMains.forEach(assetMain -> {
+ assetMain.setBorrowed(1);
+ });
+ saveAssetRecord(1,ApprovalTypeEnum.BORROW.getDesc(),assetMains
+ .stream().map(AssetMain::getId).collect(Collectors.toList()));
+ break;
+ }
+ assetMainService.updateBatchById(assetMains);
+ }
+ //如果为资产入库审批,处理审批通过逻辑,创建该审批的资产信息
+ if (approval.getApprovalCategory().equals(ApprovalTypeEnum.IN_STOCK.getCode())) {
+ assetMainService.saveAssetByApprovalApplicationId(approvalApplications.getId());
+ }
+ // 资产变更
+ if (approval.getApprovalCategory().equals(ApprovalTypeEnum.ASSET_CHANGE.getCode())) {
+ List<OaApprovalApplicationAssetItem> approvalApplicationAssetItems = approvalApplicationAssetItemService.lambdaQuery()
+ .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, approvalApplications.getId()).list();
+ List<Integer> AssetMainIds = approvalApplicationAssetItems.stream().map(OaApprovalApplicationAssetItem::getAssetMainId).collect(Collectors.toList());
+ saveAssetRecord(1,ApprovalTypeEnum.ASSET_CHANGE.getDesc(),AssetMainIds);
+ }
+
+ } else {
+ log.info("不为最后一个审批节点");
+ // 生成下一个节点的待办事项
+ for (int i = 0; i < approvalFlowNodes.size(); i++) {
+ if (approvalApplications.getCurrentFlowNodeId().equals(approvalFlowNodes.get(i).getId())) {
+ log.info("匹配到审批流程,进入下一节点,当前节点id:{}", approvalFlowNodes.get(i));
+ // 申请单审批流程修改为下一节点
+ approvalApplications.setCurrentFlowNodeId(approvalFlowNodes.get(i + 1).getId());
+ approvalApplicationsService.updateById(approvalApplications);
+ OaApprovalFlowNode oaApprovalFlowNode1 = approvalFlowNodes.get(i + 1);
+ approvalTodoService.createApprovalTodos(approvalApplications.getId(),
+ approvalApplications.getApplicationCode(), oaApprovalFlowNode1, approvalApplications.getDeptId());
+ break;
+ }
+ }
+ }
+ }
+ return R.ok();
+ }
+
+ private void saveAssetRecord(Integer type, String approvalType,List<Integer> assetMainIds) {
+ List<AssetInventoryRecord> res = new ArrayList<>();
+ Map<Integer, Integer> warehouseMap = assetMainService.list().stream().collect(Collectors.toMap(AssetMain::getId, AssetMain::getWarehouseId));
+ for (Integer assetMainId : assetMainIds) {
+ AssetInventoryRecord assetInventoryRecord = new AssetInventoryRecord();
+ assetInventoryRecord.setAssetMainId(assetMainId);
+ assetInventoryRecord.setWarehouseId(warehouseMap.get(assetMainId));
+ assetInventoryRecord.setType(type);
+ assetInventoryRecord.setRemarks(approvalType);
+ res.add(assetInventoryRecord);
+ }
+ assetInventoryRecordService.saveBatch(res);
+ }
+}
--
Gitblit v1.7.1