package com.ruoyi.web.controller.api; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.TDept; import com.ruoyi.common.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 io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** *

* 审批流程节点审核记录表 前端控制器 *

* * @author WuGuanFengYue * @since 2025-09-15 */ @RestController @RequestMapping("/oa-approval-flow-audit") @Api(tags = "我审批的/我发起的/通用审批接口") public class OaApprovalFlowAuditController { @Resource private OaApprovalTodoService approvalTodoService; @Resource private OaApprovalFlowAuditService approvalFlowAuditService; @Resource private OaApprovalApplicationStorageService approvalApplicationStorageService; @Resource private OaApprovalApplicationPurchaseService approvalApplicationPurchaseService; @Resource private OaApprovalApplicationPurchaseItemService approvalApplicationPurchaseItemService; @Resource private OaApprovalApplicationAssetItemService approvalApplicationAssetItemService; @Resource private TokenService tokenService; @Resource private OaApprovalService approvalService; @Resource private OaApprovalApplicationsService approvalApplicationsService; @Resource private OaApprovalApplicationAdvertisementService approvalApplicationAdvertisementService; @Resource private OaApprovalApplicationContactService approvalApplicationContactService; @Resource private OaApprovalApplicationPaymentService approvalApplicationPaymentService; @Resource private OaApprovalApplicationContractService approvalApplicationContractService; @Resource private OaApprovalApplicationMoneyService approvalApplicationMoneyService; @Resource private AssetMainService assetMainService; @Resource private OaApprovalApplicationReimbursementService approvalApplicationReimbursementService; @Resource private OaApprovalApplicationReimbursementItemService approvalApplicationReimbursementItemService; @Resource private OaApprovalFlowNodeService approvalFlowNodeService; @Resource private OaApprovalApplicationAssetService approvalApplicationAssetService; @Resource private ISysUserService sysUserService; @Resource private OaApprovalApplicationDisposeService approvalApplicationDisposeService; @Resource private OaApprovalApplicationChangeService approvalApplicationChangeService; @Resource private OaApprovalApplicationAttendanceService approvalApplicationAttendanceService; @Resource private TDeptService deptService; @Resource private AssetTypeService assetTypeService; @Resource private OaApprovalTodoService oaApprovalTodoService; @Resource private OaApprovalFlowService approvalFlowService; @ApiOperation("我审批的") @PostMapping("/pageListAudit") public R> pageList(@RequestBody ApprovalTodoListQuery query) { List resList = new ArrayList<>(); Long userId = tokenService.getLoginUser().getUserId(); query.setUserId(userId); PageInfo res = new PageInfo<>(query.getPageNum(), query.getPageSize()); PageInfo pageInfo = approvalTodoService.pageListAudit(query); List list = pageInfo.getRecords(); if (list.isEmpty()){ return R.ok(new PageInfo<>()); } res.setTotal(pageInfo.getTotal()); List applicationIds = list.stream().map(OaApprovalTodo::getApplicationId).collect(Collectors.toList()); Map approvalApplicationReimbursementMap = approvalApplicationReimbursementService.lambdaQuery() .in(OaApprovalApplicationReimbursement::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationReimbursement::getApprovalApplicationId, e -> e)); Map oaApprovalApplicationMoneyMap = approvalApplicationMoneyService.lambdaQuery() .in(OaApprovalApplicationMoney::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationMoney::getApprovalApplicationId, e -> e)); Map approvalApplicationPaymentMap = approvalApplicationPaymentService.lambdaQuery() .in(OaApprovalApplicationPayment::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationPayment::getApprovalApplicationId, e -> e)); Map applicationStorageMap = approvalApplicationStorageService.lambdaQuery() .in(OaApprovalApplicationStorage::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationStorage::getApprovalApplicationId, e -> e)); Map approvalApplicationAssetMap = approvalApplicationAssetService.lambdaQuery() .in(OaApprovalApplicationAsset::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationAsset::getApprovalApplicationId, e -> e)); Map approvalApplicationDisposeMap = approvalApplicationDisposeService.lambdaQuery() .in(OaApprovalApplicationDispose::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationDispose::getApprovalApplicationId, e -> e)); Map approvalApplicationChangeMap = approvalApplicationChangeService.lambdaQuery() .in(OaApprovalApplicationChange::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationChange::getApprovalApplicationId, e -> e)); Map approvalApplicationPurchaseMap = approvalApplicationPurchaseService.lambdaQuery() .in(OaApprovalApplicationPurchase::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationPurchase::getApprovalApplicationId, e -> e)); Map> approvalApplicationAssetItemMap = approvalApplicationAssetItemService.lambdaQuery() .in(OaApprovalApplicationAssetItem::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.groupingBy(OaApprovalApplicationAssetItem::getApprovalApplicationId)); Map approvalApplicationAdvertisementMap = approvalApplicationAdvertisementService.lambdaQuery() .in(OaApprovalApplicationAdvertisement::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationAdvertisement::getApprovalApplicationId, e -> e)); Map applicationAttendanceMap = approvalApplicationAttendanceService.lambdaQuery() .in(OaApprovalApplicationAttendance::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationAttendance::getApprovalApplicationId, e -> e)); Map assetMainMap = assetMainService.list().stream().collect(Collectors.toMap(AssetMain::getId, e -> e)); Map userMap = sysUserService.selectAllList().stream().collect(Collectors.toMap(SysUser::getUserId, e -> e)); Map deptMap = deptService.list().stream().collect(Collectors.toMap(TDept::getId, e -> e)); Map approvalMap = approvalService.list().stream().collect(Collectors.toMap(OaApproval::getId, e -> e)); List approvalApplications = approvalApplicationsService.lambdaQuery().in(OaApprovalApplications::getId, applicationIds).list(); for (OaApprovalApplications approvalApplication : approvalApplications) { ApprovalTodoVO approvalTodoVO = new ApprovalTodoVO(); approvalTodoVO.setApprovalCategory(approvalMap.get(approvalApplication.getApprovalId()).getApprovalCategory()); switch (approvalTodoVO.getApprovalCategory()){ case 1: case 2: case 3: case 4: default: OaApprovalApplicationAttendance oaApprovalApplicationAttendance = applicationAttendanceMap.get(approvalApplication.getId()); if (oaApprovalApplicationAttendance!=null){ approvalTodoVO.setStartTime(oaApprovalApplicationAttendance.getStartTime()); approvalTodoVO.setEndTime(oaApprovalApplicationAttendance.getEndTime()); approvalTodoVO.setDuration(oaApprovalApplicationAttendance.getDuration()); } break; } SysUser sysUser = userMap.get(approvalApplication.getApplicantUserId().longValue()); if (sysUser!=null){ approvalTodoVO.setApplyUserName(sysUser.getUserName()); TDept tDept = deptMap.get(Integer.parseInt(sysUser.getDeptId())); if (tDept!=null){ approvalTodoVO.setApplyDeptName(tDept.getDeptName()); } } approvalTodoVO.setApplicationCode(approvalApplication.getApplicationCode()); approvalTodoVO.setCreateTime(approvalApplication.getCreateTime()); approvalTodoVO.setApplicationId(approvalApplication.getId()); switch (approvalTodoVO.getApprovalCategory()){ case 5: OaApprovalApplicationPurchase oaApprovalApplicationPurchase = approvalApplicationPurchaseMap.get(approvalApplication.getId()); if (oaApprovalApplicationPurchase!=null){ approvalTodoVO.setAmount(oaApprovalApplicationPurchase.getTotalAmount()); } break; case 6: OaApprovalApplicationStorage oaApprovalApplicationStorage = applicationStorageMap.get(approvalApplication.getId()); if (oaApprovalApplicationStorage!=null){ approvalTodoVO.setStorageType(oaApprovalApplicationStorage.getStorageType()); } break; case 7: StringBuilder temp = new StringBuilder(); List oaApprovalApplicationAssetItems = approvalApplicationAssetItemMap.get(approvalApplication.getId()); if (oaApprovalApplicationAssetItems!=null){ for (OaApprovalApplicationAssetItem oaApprovalApplicationAssetItem : oaApprovalApplicationAssetItems) { AssetMain assetMain = assetMainMap.get(oaApprovalApplicationAssetItem.getAssetMainId()); if (assetMain!=null){ temp.append(assetMain.getAssetName()).append(","); } } // 去除最后一位字符 if (StringUtils.hasLength(temp.toString())){ approvalTodoVO.setAssetName(temp.substring(0, temp.length() - 1)); }else{ approvalTodoVO.setAssetName(""); } } break; case 8: OaApprovalApplicationAsset oaApprovalApplicationAssetOut = approvalApplicationAssetMap.get(approvalApplication.getId()); if (oaApprovalApplicationAssetOut!=null){ approvalTodoVO.setOperateTime(oaApprovalApplicationAssetOut.getOperateTime()); } break; case 9: OaApprovalApplicationAsset oaApprovalApplicationAssetBack = approvalApplicationAssetMap.get(approvalApplication.getId()); if (oaApprovalApplicationAssetBack!=null){ approvalTodoVO.setOperateTime(oaApprovalApplicationAssetBack.getExpectReturnDate()); } break; case 10: OaApprovalApplicationDispose oaApprovalApplicationDispose = approvalApplicationDisposeMap.get(approvalApplication.getId()); if (oaApprovalApplicationDispose!=null){ approvalTodoVO.setDisposeType(oaApprovalApplicationDispose.getDisposeType()); } break; case 11: OaApprovalApplicationChange oaApprovalApplicationChange = approvalApplicationChangeMap.get(approvalApplication.getId()); if (oaApprovalApplicationChange!=null){ Integer ownershipDeptId = oaApprovalApplicationChange.getOwnershipDeptId(); TDept tDept = deptMap.get(ownershipDeptId); if (tDept!=null){ approvalTodoVO.setOwnershipDeptName(tDept.getDeptName()); } } break; case 12: OaApprovalApplicationReimbursement oaApprovalApplicationReimbursement = approvalApplicationReimbursementMap.get(approvalApplication.getId()); if (oaApprovalApplicationReimbursement!=null){ approvalTodoVO.setAmount(oaApprovalApplicationReimbursement.getReimbursementAmount()); } break; case 13: OaApprovalApplicationMoney oaApprovalApplicationMoney = oaApprovalApplicationMoneyMap.get(approvalApplication.getId()); if (oaApprovalApplicationMoney!=null){ approvalTodoVO.setAmount(oaApprovalApplicationMoney.getApplyAmount()); approvalTodoVO.setDescription(oaApprovalApplicationMoney.getDescription()); } break; case 15: OaApprovalApplicationPayment oaApprovalApplicationPayment = approvalApplicationPaymentMap.get(approvalApplication.getId()); if (oaApprovalApplicationPayment!=null){ approvalTodoVO.setAmount(oaApprovalApplicationPayment.getApplyAmount()); approvalTodoVO.setDescription(approvalApplication.getApplicationReason()); } break; case 17: OaApprovalApplicationAdvertisement oaApprovalApplicationAdvertisement = approvalApplicationAdvertisementMap.get(approvalApplication.getId()); if (oaApprovalApplicationAdvertisement!=null){ approvalTodoVO.setContent(oaApprovalApplicationAdvertisement.getContent()); approvalTodoVO.setAmount(oaApprovalApplicationAdvertisement.getTotalAmount()); } break; } resList.add(approvalTodoVO); } res.setRecords(resList); return R.ok(res); } @ApiOperation("我发起的") @PostMapping("/pageListApply") public R> pageListApply(@RequestBody ApprovalTodoListQuery query) { List resList = new ArrayList<>(); Long userId = tokenService.getLoginUser().getUserId(); query.setUserId(userId); PageInfo res = new PageInfo<>(query.getPageNum(), query.getPageSize()); PageInfo pageInfo = approvalApplicationsService.pageListAudit(query); List list = pageInfo.getRecords(); if (list.isEmpty()){ return R.ok(new PageInfo<>()); } res.setTotal(pageInfo.getTotal()); List applicationIds = list.stream().map(OaApprovalApplications::getId).collect(Collectors.toList()); Map approvalApplicationReimbursementMap = approvalApplicationReimbursementService.lambdaQuery() .in(OaApprovalApplicationReimbursement::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationReimbursement::getApprovalApplicationId, e -> e)); Map oaApprovalApplicationMoneyMap = approvalApplicationMoneyService.lambdaQuery() .in(OaApprovalApplicationMoney::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationMoney::getApprovalApplicationId, e -> e)); Map approvalApplicationPaymentMap = approvalApplicationPaymentService.lambdaQuery() .in(OaApprovalApplicationPayment::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationPayment::getApprovalApplicationId, e -> e)); Map applicationStorageMap = approvalApplicationStorageService.lambdaQuery() .in(OaApprovalApplicationStorage::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationStorage::getApprovalApplicationId, e -> e)); Map approvalApplicationAssetMap = approvalApplicationAssetService.lambdaQuery() .in(OaApprovalApplicationAsset::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationAsset::getApprovalApplicationId, e -> e)); Map approvalApplicationDisposeMap = approvalApplicationDisposeService.lambdaQuery() .in(OaApprovalApplicationDispose::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationDispose::getApprovalApplicationId, e -> e)); Map approvalApplicationChangeMap = approvalApplicationChangeService.lambdaQuery() .in(OaApprovalApplicationChange::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationChange::getApprovalApplicationId, e -> e)); Map approvalApplicationPurchaseMap = approvalApplicationPurchaseService.lambdaQuery() .in(OaApprovalApplicationPurchase::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationPurchase::getApprovalApplicationId, e -> e)); Map> approvalApplicationAssetItemMap = approvalApplicationAssetItemService.lambdaQuery() .in(OaApprovalApplicationAssetItem::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.groupingBy(OaApprovalApplicationAssetItem::getApprovalApplicationId)); Map approvalApplicationAdvertisementMap = approvalApplicationAdvertisementService.lambdaQuery() .in(OaApprovalApplicationAdvertisement::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationAdvertisement::getApprovalApplicationId, e -> e)); Map applicationAttendanceMap = approvalApplicationAttendanceService.lambdaQuery() .in(OaApprovalApplicationAttendance::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationAttendance::getApprovalApplicationId, e -> e)); Map assetMainMap = assetMainService.list().stream().collect(Collectors.toMap(AssetMain::getId, e -> e)); Map userMap = sysUserService.selectAllList().stream().collect(Collectors.toMap(SysUser::getUserId, e -> e)); Map deptMap = deptService.list().stream().collect(Collectors.toMap(TDept::getId, e -> e)); Map approvalMap = approvalService.list().stream().collect(Collectors.toMap(OaApproval::getId, e -> e)); List approvalApplications = approvalApplicationsService.lambdaQuery().in(OaApprovalApplications::getId, applicationIds).list(); for (OaApprovalApplications approvalApplication : approvalApplications) { ApprovalTodoVO approvalTodoVO = new ApprovalTodoVO(); approvalTodoVO.setApprovalCategory(approvalMap.get(approvalApplication.getApprovalId()).getApprovalCategory()); switch (approvalTodoVO.getApprovalCategory()){ case 1: case 2: case 3: case 4: default: OaApprovalApplicationAttendance oaApprovalApplicationAttendance = applicationAttendanceMap.get(approvalApplication.getId()); if (oaApprovalApplicationAttendance!=null){ approvalTodoVO.setStartTime(oaApprovalApplicationAttendance.getStartTime()); approvalTodoVO.setEndTime(oaApprovalApplicationAttendance.getEndTime()); approvalTodoVO.setDuration(oaApprovalApplicationAttendance.getDuration()); } break; } SysUser sysUser = userMap.get(approvalApplication.getApplicantUserId().longValue()); if (sysUser!=null){ approvalTodoVO.setApplyUserName(sysUser.getUserName()); TDept tDept = deptMap.get(Integer.parseInt(sysUser.getDeptId())); if (tDept!=null){ approvalTodoVO.setApplyDeptName(tDept.getDeptName()); } } approvalTodoVO.setApplicationCode(approvalApplication.getApplicationCode()); approvalTodoVO.setCreateTime(approvalApplication.getCreateTime()); approvalTodoVO.setApplicationId(approvalApplication.getId()); switch (approvalTodoVO.getApprovalCategory()){ case 5: OaApprovalApplicationPurchase oaApprovalApplicationPurchase = approvalApplicationPurchaseMap.get(approvalApplication.getId()); if (oaApprovalApplicationPurchase!=null){ approvalTodoVO.setAmount(oaApprovalApplicationPurchase.getTotalAmount()); } break; case 6: OaApprovalApplicationStorage oaApprovalApplicationStorage = applicationStorageMap.get(approvalApplication.getId()); if (oaApprovalApplicationStorage!=null){ approvalTodoVO.setStorageType(oaApprovalApplicationStorage.getStorageType()); } break; case 7: StringBuilder temp = new StringBuilder(); List oaApprovalApplicationAssetItems = approvalApplicationAssetItemMap.get(approvalApplication.getId()); if (oaApprovalApplicationAssetItems!=null){ for (OaApprovalApplicationAssetItem oaApprovalApplicationAssetItem : oaApprovalApplicationAssetItems) { AssetMain assetMain = assetMainMap.get(oaApprovalApplicationAssetItem.getAssetMainId()); if (assetMain!=null){ temp.append(assetMain.getAssetName()).append(","); } } // 去除最后一位字符 if (StringUtils.hasLength(temp.toString())){ approvalTodoVO.setAssetName(temp.substring(0, temp.length() - 1)); }else{ approvalTodoVO.setAssetName(""); } } break; case 8: OaApprovalApplicationAsset oaApprovalApplicationAssetOut = approvalApplicationAssetMap.get(approvalApplication.getId()); if (oaApprovalApplicationAssetOut!=null){ approvalTodoVO.setOperateTime(oaApprovalApplicationAssetOut.getOperateTime()); } break; case 9: OaApprovalApplicationAsset oaApprovalApplicationAssetBack = approvalApplicationAssetMap.get(approvalApplication.getId()); if (oaApprovalApplicationAssetBack!=null){ approvalTodoVO.setOperateTime(oaApprovalApplicationAssetBack.getExpectReturnDate()); } break; case 10: OaApprovalApplicationDispose oaApprovalApplicationDispose = approvalApplicationDisposeMap.get(approvalApplication.getId()); if (oaApprovalApplicationDispose!=null){ approvalTodoVO.setDisposeType(oaApprovalApplicationDispose.getDisposeType()); } break; case 11: OaApprovalApplicationChange oaApprovalApplicationChange = approvalApplicationChangeMap.get(approvalApplication.getId()); if (oaApprovalApplicationChange!=null){ Integer ownershipDeptId = oaApprovalApplicationChange.getOwnershipDeptId(); TDept tDept = deptMap.get(ownershipDeptId); if (tDept!=null){ approvalTodoVO.setOwnershipDeptName(tDept.getDeptName()); } } break; case 12: OaApprovalApplicationReimbursement oaApprovalApplicationReimbursement = approvalApplicationReimbursementMap.get(approvalApplication.getId()); if (oaApprovalApplicationReimbursement!=null){ approvalTodoVO.setAmount(oaApprovalApplicationReimbursement.getReimbursementAmount()); } break; case 13: OaApprovalApplicationMoney oaApprovalApplicationMoney = oaApprovalApplicationMoneyMap.get(approvalApplication.getId()); if (oaApprovalApplicationMoney!=null){ approvalTodoVO.setAmount(oaApprovalApplicationMoney.getApplyAmount()); approvalTodoVO.setDescription(oaApprovalApplicationMoney.getDescription()); } break; case 15: OaApprovalApplicationPayment oaApprovalApplicationPayment = approvalApplicationPaymentMap.get(approvalApplication.getId()); if (oaApprovalApplicationPayment!=null){ approvalTodoVO.setAmount(oaApprovalApplicationPayment.getApplyAmount()); approvalTodoVO.setDescription(approvalApplication.getApplicationReason()); } break; case 17: OaApprovalApplicationAdvertisement oaApprovalApplicationAdvertisement = approvalApplicationAdvertisementMap.get(approvalApplication.getId()); if (oaApprovalApplicationAdvertisement!=null){ approvalTodoVO.setContent(oaApprovalApplicationAdvertisement.getContent()); approvalTodoVO.setAmount(oaApprovalApplicationAdvertisement.getTotalAmount()); } break; } resList.add(approvalTodoVO); } res.setRecords(resList); return R.ok(res); } // @ApiOperation(value = "合同文件审批详情") // @GetMapping(value = "/detailContract") // public R 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // ContractDetailVO res = new ContractDetailVO(); // List 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 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 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // PaymentDetailVO res = new PaymentDetailVO(); // List 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 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 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // LeaveDetailVO res = new LeaveDetailVO(); // // // List 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 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 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // LeaveDestroyDetailVO res = new LeaveDestroyDetailVO(); // // List 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 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 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // OutDetailVO res = new OutDetailVO(); // List 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 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 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // BusinessTripDetailVO res = new BusinessTripDetailVO(); // // // List 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 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> detailPurchaseList(@RequestBody ApprovalDetailQuery query) { // OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId()); // OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); // query.setId(approvalApplications.getId()); // PageInfo items = approvalApplicationPurchaseItemService.pageList(query); // return R.ok(items); // } // @ApiOperation(value = "采购审批详情") // @GetMapping(value = "/detailPurchase") // public R 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // PurchaseDetailVO res = new PurchaseDetailVO(); // List 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 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> detailGrabList(@RequestBody ApprovalDetailQuery query) { // OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId()); // OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); // query.setId(approvalApplications.getId()); // PageInfo items = approvalApplicationAssetItemService.pageList(query); // return R.ok(items); // } // @ApiOperation(value = "物品领用审批详情") // @GetMapping(value = "/detailGrab") // public R 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // GrabDetailVO res = new GrabDetailVO(); // // // List 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 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> detailInStockList(@RequestBody ApprovalDetailQuery query) { // OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId()); // OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); // query.setId(approvalApplications.getId()); // PageInfo items = approvalApplicationStorageService.pageList(query); // return R.ok(items); // } // @ApiOperation(value = "资产入库审批详情") // @GetMapping(value = "/detailInStock") // public R 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // StorageDetailVO res = new StorageDetailVO(); // List 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 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> detailBurrowList(@RequestBody ApprovalDetailQuery query) { // OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId()); // OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); // query.setId(approvalApplications.getId()); // PageInfo items = approvalApplicationAssetItemService.pageList(query); // return R.ok(items); // } // @ApiOperation(value = "物品借用审批详情") // @GetMapping(value = "/detailBurrow") // public R 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // BorrowDetailVO res = new BorrowDetailVO(); // // List 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 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> detailBackList(@RequestBody ApprovalDetailQuery query) { // OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId()); // OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); // query.setId(approvalApplications.getId()); // PageInfo items = approvalApplicationAssetItemService.pageList(query); // return R.ok(items); // } // @ApiOperation(value = "物品借用归还审批详情") // @GetMapping(value = "/detailBack") // public R 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplicationsBack.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // BackDetailVO res = new BackDetailVO(); // List 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 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> detailDisposeList(@RequestBody ApprovalDetailQuery query) { // OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId()); // OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); // query.setId(approvalApplications.getId()); // PageInfo items = approvalApplicationAssetItemService.pageList(query); // return R.ok(items); // } // @ApiOperation(value = "资产处置审批详情") // @GetMapping(value = "/detailDispose") // public R 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // DisposeDetailVO res = new DisposeDetailVO(); // // List 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 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> detailChangeList(@RequestBody ApprovalDetailQuery query) { // OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId()); // OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); // query.setId(approvalApplications.getId()); // PageInfo items = approvalApplicationAssetItemService.pageList(query); // return R.ok(items); // } // @ApiOperation(value = "资产变更审批详情") // @GetMapping(value = "/detailChange") // public R 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // ChangeDetailVO res = new ChangeDetailVO(); // List 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 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 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 oaApprovalApplicationReimbursementItems = approvalApplicationReimbursementItemService.lambdaQuery() // .eq(OaApprovalApplicationReimbursementItem::getApprovalApplicationId, approvalApplications.getId()) // .list(); // List approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // ReimbursementDetailVO res = new ReimbursementDetailVO(); // // // List 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 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 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // MoneyDetailVO res = new MoneyDetailVO(); // List 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 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 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // ContactDetailVO res = new ContactDetailVO(); // // // List 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 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 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 approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) // .orderByAsc(OaApprovalFlowAudit::getSortOrder) // .list(); // AdvertisementDetailVO res = new AdvertisementDetailVO(); // // // List 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 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 getFlowNodeList(SysUser sysUser, List approvalFlowAudits // ,List approvalFlowNodes) { // List approvalFlowNodeListVOS = new ArrayList<>(); // Map 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() // .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 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 approvalApplicationAssetItems = approvalApplicationAssetItemService.lambdaQuery() // .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, approvalApplications.getId()).list(); // List AssetMainIds = approvalApplicationAssetItems.stream().map(OaApprovalApplicationAssetItem::getAssetMainId).collect(Collectors.toList()); // List 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(); // } }