From 60afc1c228318d136a273cd0b389217f87583277 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 11 十月 2025 11:29:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalTodoController.java |  182 ++++++++++++++++++++++++++++++++++++---------
 1 files changed, 144 insertions(+), 38 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 19da0e4..5a98d3a 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
@@ -73,6 +73,7 @@
     private OaApprovalApplicationReimbursementItemService approvalApplicationReimbursementItemService;
     @Resource
     private OaApprovalFlowNodeService approvalFlowNodeService;
+
     @Resource
     private OaApprovalApplicationAssetService approvalApplicationAssetService;
     @Resource
@@ -151,6 +152,7 @@
         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:
@@ -168,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());
@@ -182,17 +184,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) {
@@ -212,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){
@@ -240,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());
 
@@ -254,6 +274,8 @@
                 case 15:
                     OaApprovalApplicationPayment oaApprovalApplicationPayment = approvalApplicationPaymentMap.get(approvalApplication.getId());
                     if (oaApprovalApplicationPayment!=null){
+                        // todo 当前阶段没有项目id 后续完善
+                        approvalTodoVO.setProjectName("项目名称");
                         approvalTodoVO.setAmount(oaApprovalApplicationPayment.getApplyAmount());
                         approvalTodoVO.setDescription(approvalApplication.getApplicationReason());
 
@@ -262,6 +284,7 @@
                 case 17:
                     OaApprovalApplicationAdvertisement oaApprovalApplicationAdvertisement = approvalApplicationAdvertisementMap.get(approvalApplication.getId());
                     if (oaApprovalApplicationAdvertisement!=null){
+                        approvalTodoVO.setTitle(oaApprovalApplicationAdvertisement.getTitle());
                         approvalTodoVO.setContent(oaApprovalApplicationAdvertisement.getContent());
                         approvalTodoVO.setAmount(oaApprovalApplicationAdvertisement.getTotalAmount());
                     }
@@ -287,13 +310,15 @@
                 .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();
         SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
         if (sysUser!=null){
-            res.setUserName(sysUser.getUserName());
+            res.setUserName(sysUser.getNickName());
             TDept dept = deptService.getById(sysUser.getDeptId());
             if (dept!=null){
                 res.setDeptName(dept.getDeptName());
@@ -305,8 +330,25 @@
         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<PaymentDetailVO> detailPayment(@ApiParam("申请单d")Integer id) {
@@ -319,19 +361,22 @@
                 .orderByAsc(OaApprovalFlowAudit::getSortOrder)
                 .list();
         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();
         SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
         if (sysUser!=null){
-            res.setUserName(sysUser.getUserName());
+            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.setApplicationReason(approvalApplications.getApplicationReason());
@@ -339,6 +384,8 @@
         // todo 三阶段设计项目表之后完善
         res.setProjectName("本期还未涉及到项目");
         res.setApplyAmount(approvalApplicationPayment.getApplyAmount());
+        res.setIsAudit(extracted(id, approvalApplications));
+
         return R.ok(res);
     }
     @ApiOperation(value = "请假申请审批详情")
@@ -354,14 +401,15 @@
                 .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.getUserName());
+            res.setUserName(sysUser.getNickName());
             TDept dept = deptService.getById(sysUser.getDeptId());
             if (dept!=null){
                 res.setDeptName(dept.getDeptName());
@@ -375,6 +423,8 @@
         res.setStartTime(approvalApplicationAttendance.getStartTime());
         res.setEndTime(approvalApplicationAttendance.getEndTime());
         res.setDuration(approvalApplicationAttendance.getDuration());
+        res.setIsAudit(extracted(id, approvalApplications));
+
         return R.ok(res);
     }
     @ApiOperation(value = "销假审批详情")
@@ -385,19 +435,24 @@
         OaApprovalApplicationAttendance approvalApplicationAttendance = approvalApplicationAttendanceService.lambdaQuery()
                 .eq(OaApprovalApplicationAttendance::getApprovalApplicationId, approvalApplications.getId())
                 .last("limit 1").one();
-        OaApprovalApplicationAttendance leaveApplication = approvalApplicationAttendanceService.getById(approvalApplicationAttendance.getLeaveApprovalApplicationId());
+        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.getUserName());
+            res.setUserName(sysUser.getNickName());
             TDept dept = deptService.getById(sysUser.getDeptId());
             if (dept!=null){
                 res.setDeptName(dept.getDeptName());
@@ -410,10 +465,11 @@
         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.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 = "外出申请审批详情")
@@ -428,13 +484,15 @@
                 .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.getUserName());
+            res.setUserName(sysUser.getNickName());
             TDept dept = deptService.getById(sysUser.getDeptId());
             if (dept!=null){
                 res.setDeptName(dept.getDeptName());
@@ -448,6 +506,9 @@
         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 = "出差审批详情")
@@ -463,14 +524,15 @@
                 .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.getUserName());
+            res.setUserName(sysUser.getNickName());
             TDept dept = deptService.getById(sysUser.getDeptId());
             if (dept!=null){
                 res.setDeptName(dept.getDeptName());
@@ -486,6 +548,8 @@
         res.setDuration(approvalApplicationAttendance.getDuration());
         res.setAddress(approvalApplicationAttendance.getAddress());
         res.setProjectName(approvalApplicationAttendance.getProjectName());
+        res.setIsAudit(extracted(id, approvalApplications));
+
         return R.ok(res);
     }
     @ApiOperation(value = "采购审批详情-采购物品清单")
@@ -493,6 +557,7 @@
     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);
     }
@@ -508,13 +573,15 @@
                 .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.getUserName());
+            res.setUserName(sysUser.getNickName());
             TDept dept = deptService.getById(sysUser.getDeptId());
             if (dept!=null){
                 res.setDeptName(dept.getDeptName());
@@ -532,6 +599,8 @@
         if (assetType!=null){
             res.setAssetTypeName(assetType.getTypeName());
         }
+        res.setIsAudit(extracted(id, approvalApplications));
+
         return R.ok(res);
     }
     @ApiOperation(value = "物品领用-领用资产列表")
@@ -539,6 +608,7 @@
     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);
     }
@@ -554,7 +624,8 @@
                 .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())
@@ -562,7 +633,7 @@
                 .eq(OaApprovalFlowNode::getStatus, 1).list();
         SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
         if (sysUser!=null){
-            res.setUserName(sysUser.getUserName());
+            res.setUserName(sysUser.getNickName());
             TDept dept = deptService.getById(sysUser.getDeptId());
             if (dept!=null){
                 res.setDeptName(dept.getDeptName());
@@ -579,6 +650,8 @@
         if (assetType!=null){
             res.setAssetTypeName(assetType.getTypeName());
         }
+        res.setIsAudit(extracted(id, approvalApplications));
+
         return R.ok(res);
     }
     @ApiOperation(value = "资产入库-入库资产列表")
@@ -586,13 +659,13 @@
     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())
@@ -601,6 +674,8 @@
                 .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)
@@ -608,6 +683,7 @@
         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());
@@ -615,6 +691,8 @@
         res.setStorageType(approvalApplicationStorage.getStorageType());
         res.setStorageTime(approvalApplicationStorage.getStorageTime());
         res.setRemarks(approvalApplicationStorage.getTitle());
+        res.setIsAudit(extracted(id, approvalApplications));
+
         return R.ok(res);
     }
     @ApiOperation(value = "物品借用-借用资产列表")
@@ -622,6 +700,7 @@
     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);
     }
@@ -637,14 +716,15 @@
                 .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.getUserName());
+            res.setUserName(sysUser.getNickName());
             TDept dept = deptService.getById(sysUser.getDeptId());
             if (dept!=null){
                 res.setDeptName(dept.getDeptName());
@@ -657,6 +737,8 @@
         res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
         res.setOperateTime(approvalApplicationAsset.getOperateTime());
         res.setExpectReturnDate(approvalApplicationAsset.getExpectReturnDate());
+        res.setIsAudit(extracted(id, approvalApplications));
+
         return R.ok(res);
     }
     @ApiOperation(value = "物品借用归还-归还资产列表")
@@ -664,6 +746,7 @@
     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);
     }
@@ -680,13 +763,15 @@
                 .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.getUserName());
+            res.setUserName(sysUser.getNickName());
             TDept dept = deptService.getById(sysUser.getDeptId());
             if (dept!=null){
                 res.setDeptName(dept.getDeptName());
@@ -701,6 +786,8 @@
         res.setExpectReturnDate(approvalApplicationAssetBack.getExpectReturnDate());
         res.setTitle(approvalApplicationAssetBack.getTitle());
         res.setApplicationCode(approvalApplications.getApplicationCode());
+        res.setIsAudit(extracted(id, approvalApplications));
+
         return R.ok(res);
     }
     @ApiOperation(value = "资产处置-处置资产列表")
@@ -709,6 +796,7 @@
         
         OaApprovalApplications approvalApplications = approvalApplicationsService.getById(query.getId());
         query.setId(approvalApplications.getId());
+        query.setApprovalApplicationId(approvalApplications.getId());
         PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
         return R.ok(items);
     }
@@ -724,14 +812,15 @@
                 .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.getUserName());
+            res.setUserName(sysUser.getNickName());
             TDept dept = deptService.getById(sysUser.getDeptId());
             if (dept!=null){
                 res.setDeptName(dept.getDeptName());
@@ -751,6 +840,8 @@
         }
         res.setDisposeType(approvalApplicationDispose.getDisposeType());
         res.setDisposeTotalAmount(approvalApplicationDispose.getDisposeTotalAmount());
+        res.setIsAudit(extracted(id, approvalApplications));
+
         return R.ok(res);
     }
 
@@ -759,6 +850,7 @@
     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);
     }
@@ -774,13 +866,15 @@
                 .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.getUserName());
+            res.setUserName(sysUser.getNickName());
             TDept dept = deptService.getById(sysUser.getDeptId());
             if (dept!=null){
                 res.setDeptName(dept.getDeptName());
@@ -804,6 +898,8 @@
         // todo 三阶段完善 仓库名称
         res.setWarehouseName("三阶段完善");
         res.setAddress(approvalApplicationChange.getAddress());
+        res.setIsAudit(extracted(id, approvalApplications));
+
         return R.ok(res);
     }
     @ApiOperation(value = "报销申请审批详情")
@@ -821,7 +917,8 @@
                 .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())
@@ -829,7 +926,7 @@
                 .eq(OaApprovalFlowNode::getStatus, 1).list();
         SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
         if (sysUser!=null){
-            res.setUserName(sysUser.getUserName());
+            res.setUserName(sysUser.getNickName());
             TDept dept = deptService.getById(sysUser.getDeptId());
             if (dept!=null){
                 res.setDeptName(dept.getDeptName());
@@ -843,6 +940,8 @@
 
         res.setType(approvalApplicationReimbursement.getType());
         res.setApprovalApplicationReimbursementItems(oaApprovalApplicationReimbursementItems);
+        res.setIsAudit(extracted(id, approvalApplications));
+
         return R.ok(res);
     }
     @ApiOperation(value = "款项申请审批详情")
@@ -857,13 +956,15 @@
                 .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.getUserName());
+            res.setUserName(sysUser.getNickName());
             TDept dept = deptService.getById(sysUser.getDeptId());
             if (dept!=null){
                 res.setDeptName(dept.getDeptName());
@@ -881,6 +982,8 @@
         res.setPayee(approvalApplicationMoney.getPayee());
         res.setPayeeContact(approvalApplicationMoney.getPayeeContact());
         res.setPayeeAccount(approvalApplicationMoney.getPayeeAccount());
+        res.setIsAudit(extracted(id, approvalApplications));
+
         return R.ok(res);
     }
     @ApiOperation(value = "内部联系单审批详情")
@@ -888,23 +991,23 @@
     public R<ContactDetailVO> detailContact(@ApiParam("申请单d")Integer id) {
         
         OaApprovalApplications approvalApplications = approvalApplicationsService.getById(id);
-        OaApprovalApplicationMoney approvalApplicationMoney = approvalApplicationMoneyService.lambdaQuery()
-                .eq(OaApprovalApplicationMoney::getApprovalApplicationId, approvalApplications.getId())
+        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.getUserName());
+            res.setUserName(sysUser.getNickName());
             TDept dept = deptService.getById(sysUser.getDeptId());
             if (dept!=null){
                 res.setDeptName(dept.getDeptName());
@@ -915,14 +1018,14 @@
         res.setApprovalApplicationId(approvalApplications.getId());
         res.setApplicationReason(approvalApplications.getApplicationReason());
         res.setAttachmentUrl(approvalApplications.getAttachmentUrl());
-        res.setDescription(approvalApplicationMoney.getDescription());
+        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);
         OaApprovalApplicationAdvertisement applicationAdvertisement = approvalApplicationAdvertisementService.lambdaQuery()
                 .eq(OaApprovalApplicationAdvertisement::getApprovalApplicationId, approvalApplications.getId())
@@ -932,7 +1035,8 @@
                 .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())
@@ -940,7 +1044,7 @@
                 .eq(OaApprovalFlowNode::getStatus, 1).list();
         SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
         if (sysUser!=null){
-            res.setUserName(sysUser.getUserName());
+            res.setUserName(sysUser.getNickName());
             TDept dept = deptService.getById(sysUser.getDeptId());
             if (dept!=null){
                 res.setDeptName(dept.getDeptName());
@@ -957,6 +1061,8 @@
         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
@@ -967,7 +1073,7 @@
         ApprovalFlowNodeListVO approvalFlowNodeListVO = new ApprovalFlowNodeListVO();
         approvalFlowNodeListVO.setFlowName("发起");
         if (sysUser!=null){
-            approvalFlowNodeListVO.setUserName(sysUser.getUserName());
+            approvalFlowNodeListVO.setUserName(sysUser.getNickName());
         }
         approvalFlowNodeListVOS.add(approvalFlowNodeListVO);
         for (OaApprovalFlowNode approvalFlowNode : approvalFlowNodes) {

--
Gitblit v1.7.1