无关风月
2 天以前 60afc1c228318d136a273cd0b389217f87583277
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) {