From eb8ed98d94dfa1362e6dcbc1d9de32fdab06a37b Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 26 九月 2025 15:23:47 +0800 Subject: [PATCH] 代码提交,查询部门下级递归 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java | 1027 +++++++++++++++----------------------------------------- 1 files changed, 282 insertions(+), 745 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java index 098995e..cd68061 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java @@ -7,22 +7,91 @@ 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.model.AssetMain; +import com.ruoyi.system.model.AssetType; +import com.ruoyi.system.model.OaApproval; +import com.ruoyi.system.model.OaApprovalApplicationAdvertisement; +import com.ruoyi.system.model.OaApprovalApplicationAsset; +import com.ruoyi.system.model.OaApprovalApplicationAssetItem; +import com.ruoyi.system.model.OaApprovalApplicationAttendance; +import com.ruoyi.system.model.OaApprovalApplicationChange; +import com.ruoyi.system.model.OaApprovalApplicationContract; +import com.ruoyi.system.model.OaApprovalApplicationDispose; +import com.ruoyi.system.model.OaApprovalApplicationMoney; +import com.ruoyi.system.model.OaApprovalApplicationPayment; +import com.ruoyi.system.model.OaApprovalApplicationPurchase; +import com.ruoyi.system.model.OaApprovalApplicationReimbursement; +import com.ruoyi.system.model.OaApprovalApplicationReimbursementItem; +import com.ruoyi.system.model.OaApprovalApplicationStorage; +import com.ruoyi.system.model.OaApprovalApplications; +import com.ruoyi.system.model.OaApprovalFlowAudit; +import com.ruoyi.system.model.OaApprovalFlowNode; +import com.ruoyi.system.model.OaApprovalTodo; import com.ruoyi.system.query.ApprovalDetailQuery; import com.ruoyi.system.query.ApprovalTodoListQuery; -import com.ruoyi.system.service.*; -import com.ruoyi.system.vo.*; +import com.ruoyi.system.service.AssetMainService; +import com.ruoyi.system.service.AssetTypeService; +import com.ruoyi.system.service.ISysUserService; +import com.ruoyi.system.service.OaApprovalApplicationAdvertisementService; +import com.ruoyi.system.service.OaApprovalApplicationAssetItemService; +import com.ruoyi.system.service.OaApprovalApplicationAssetService; +import com.ruoyi.system.service.OaApprovalApplicationAttendanceService; +import com.ruoyi.system.service.OaApprovalApplicationChangeService; +import com.ruoyi.system.service.OaApprovalApplicationContactService; +import com.ruoyi.system.service.OaApprovalApplicationContractService; +import com.ruoyi.system.service.OaApprovalApplicationDisposeService; +import com.ruoyi.system.service.OaApprovalApplicationMoneyService; +import com.ruoyi.system.service.OaApprovalApplicationPaymentService; +import com.ruoyi.system.service.OaApprovalApplicationPurchaseItemService; +import com.ruoyi.system.service.OaApprovalApplicationPurchaseService; +import com.ruoyi.system.service.OaApprovalApplicationReimbursementItemService; +import com.ruoyi.system.service.OaApprovalApplicationReimbursementService; +import com.ruoyi.system.service.OaApprovalApplicationStorageAssetService; +import com.ruoyi.system.service.OaApprovalApplicationStorageService; +import com.ruoyi.system.service.OaApprovalApplicationsService; +import com.ruoyi.system.service.OaApprovalFlowAuditService; +import com.ruoyi.system.service.OaApprovalFlowNodeService; +import com.ruoyi.system.service.OaApprovalFlowService; +import com.ruoyi.system.service.OaApprovalService; +import com.ruoyi.system.service.OaApprovalTodoService; +import com.ruoyi.system.service.TDeptService; +import com.ruoyi.system.vo.AdvertisementDetailVO; +import com.ruoyi.system.vo.ApprovalFlowNodeListVO; +import com.ruoyi.system.vo.ApprovalTodoVO; +import com.ruoyi.system.vo.BackDetailVO; +import com.ruoyi.system.vo.BorrowDetailVO; +import com.ruoyi.system.vo.BusinessTripDetailVO; +import com.ruoyi.system.vo.ChangeDetailVO; +import com.ruoyi.system.vo.ContactDetailVO; +import com.ruoyi.system.vo.ContractDetailVO; +import com.ruoyi.system.vo.DisposeDetailVO; +import com.ruoyi.system.vo.GrabDetailVO; +import com.ruoyi.system.vo.GrabListVO; +import com.ruoyi.system.vo.LeaveDestroyDetailVO; +import com.ruoyi.system.vo.LeaveDetailVO; +import com.ruoyi.system.vo.MoneyDetailVO; +import com.ruoyi.system.vo.OutDetailVO; +import com.ruoyi.system.vo.PaymentDetailVO; +import com.ruoyi.system.vo.PurchaseDetailVO; +import com.ruoyi.system.vo.PurchaseListVO; +import com.ruoyi.system.vo.ReimbursementDetailVO; +import com.ruoyi.system.vo.StorageDetailVO; +import com.ruoyi.system.vo.StorageListVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.time.LocalDateTime; @@ -41,7 +110,8 @@ */ @RestController @RequestMapping("/oa-approval-flow-audit") -@Api(tags = "通用审批接口") +@Api(tags = "我审批的-我发起的-通用审批接口") +@Slf4j public class OaApprovalFlowAuditController { @Resource private OaApprovalTodoService approvalTodoService; @@ -75,6 +145,8 @@ @Resource private AssetMainService assetMainService; @Resource + private OaApprovalApplicationStorageAssetService oaApprovalApplicationStorageAssetService; + @Resource private OaApprovalApplicationReimbursementService approvalApplicationReimbursementService; @Resource private OaApprovalApplicationReimbursementItemService approvalApplicationReimbursementItemService; @@ -102,7 +174,7 @@ @ApiOperation("我审批的") - @PostMapping("/pageList") + @PostMapping("/pageListAudit") public R<PageInfo<ApprovalTodoVO>> pageList(@RequestBody ApprovalTodoListQuery query) { List<ApprovalTodoVO> resList = new ArrayList<>(); Long userId = tokenService.getLoginUser().getUserId(); @@ -151,7 +223,6 @@ .stream().collect(Collectors.toMap(OaApprovalApplicationAttendance::getApprovalApplicationId, e -> e)); Map<Integer, AssetMain> assetMainMap = assetMainService.list().stream().collect(Collectors.toMap(AssetMain::getId, e -> e)); - Map<Integer, OaApprovalTodo> approvalTodoMap = list.stream().collect(Collectors.toMap(OaApprovalTodo::getApplicationId, e -> e)); Map<Long, SysUser> userMap = sysUserService.selectAllList().stream().collect(Collectors.toMap(SysUser::getUserId, e -> e)); Map<Integer, TDept> deptMap = deptService.list().stream().collect(Collectors.toMap(TDept::getId, e -> e)); Map<Integer, OaApproval> approvalMap = approvalService.list().stream().collect(Collectors.toMap(OaApproval::getId, e -> e)); @@ -175,7 +246,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()); @@ -183,8 +254,184 @@ } approvalTodoVO.setApplicationCode(approvalApplication.getApplicationCode()); approvalTodoVO.setCreateTime(approvalApplication.getCreateTime()); - OaApprovalTodo oaApprovalTodo = approvalTodoMap.get(approvalApplication.getId()); - approvalTodoVO.setId(oaApprovalTodo.getId()); + approvalTodoVO.setApplicationId(approvalApplication.getId()); + + switch (approvalTodoVO.getApprovalCategory()){ + case 5: + OaApprovalApplicationPurchase oaApprovalApplicationPurchase = approvalApplicationPurchaseMap.get(approvalApplication.getId()); + if (oaApprovalApplicationPurchase!=null){ + approvalTodoVO.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<OaApprovalApplicationAssetItem> 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<PageInfo<ApprovalTodoVO>> pageListApply(@RequestBody ApprovalTodoListQuery query) { + List<ApprovalTodoVO> resList = new ArrayList<>(); + Long userId = tokenService.getLoginUser().getUserId(); + query.setUserId(userId); + PageInfo<ApprovalTodoVO> res = new PageInfo<>(query.getPageNum(), query.getPageSize()); + + PageInfo<OaApprovalApplications> pageInfo = approvalApplicationsService.pageListAudit(query); + List<OaApprovalApplications> list = pageInfo.getRecords(); + if (list.isEmpty()){ + return R.ok(new PageInfo<>()); + } + res.setTotal(pageInfo.getTotal()); + List<Integer> applicationIds = list.stream().map(OaApprovalApplications::getId).collect(Collectors.toList()); + Map<Integer, OaApprovalApplicationReimbursement> approvalApplicationReimbursementMap = approvalApplicationReimbursementService.lambdaQuery() + .in(OaApprovalApplicationReimbursement::getApprovalApplicationId, applicationIds).list() + .stream().collect(Collectors.toMap(OaApprovalApplicationReimbursement::getApprovalApplicationId, e -> e)); + Map<Integer, OaApprovalApplicationMoney> oaApprovalApplicationMoneyMap = approvalApplicationMoneyService.lambdaQuery() + .in(OaApprovalApplicationMoney::getApprovalApplicationId, applicationIds).list() + .stream().collect(Collectors.toMap(OaApprovalApplicationMoney::getApprovalApplicationId, e -> e)); + Map<Integer, OaApprovalApplicationPayment> approvalApplicationPaymentMap = approvalApplicationPaymentService.lambdaQuery() + .in(OaApprovalApplicationPayment::getApprovalApplicationId, applicationIds).list() + .stream().collect(Collectors.toMap(OaApprovalApplicationPayment::getApprovalApplicationId, e -> e)); + Map<Integer, OaApprovalApplicationStorage> applicationStorageMap = approvalApplicationStorageService.lambdaQuery() + .in(OaApprovalApplicationStorage::getApprovalApplicationId, applicationIds).list() + .stream().collect(Collectors.toMap(OaApprovalApplicationStorage::getApprovalApplicationId, e -> e)); + Map<Integer, OaApprovalApplicationAsset> approvalApplicationAssetMap = approvalApplicationAssetService.lambdaQuery() + .in(OaApprovalApplicationAsset::getApprovalApplicationId, applicationIds).list() + .stream().collect(Collectors.toMap(OaApprovalApplicationAsset::getApprovalApplicationId, e -> e)); + Map<Integer, OaApprovalApplicationDispose> approvalApplicationDisposeMap = approvalApplicationDisposeService.lambdaQuery() + .in(OaApprovalApplicationDispose::getApprovalApplicationId, applicationIds).list() + .stream().collect(Collectors.toMap(OaApprovalApplicationDispose::getApprovalApplicationId, e -> e)); + Map<Integer, OaApprovalApplicationChange> approvalApplicationChangeMap = approvalApplicationChangeService.lambdaQuery() + .in(OaApprovalApplicationChange::getApprovalApplicationId, applicationIds).list() + .stream().collect(Collectors.toMap(OaApprovalApplicationChange::getApprovalApplicationId, e -> e)); + Map<Integer, OaApprovalApplicationPurchase> approvalApplicationPurchaseMap = approvalApplicationPurchaseService.lambdaQuery() + .in(OaApprovalApplicationPurchase::getApprovalApplicationId, applicationIds).list() + .stream().collect(Collectors.toMap(OaApprovalApplicationPurchase::getApprovalApplicationId, e -> e)); + Map<Integer, List<OaApprovalApplicationAssetItem>> approvalApplicationAssetItemMap = approvalApplicationAssetItemService.lambdaQuery() + .in(OaApprovalApplicationAssetItem::getApprovalApplicationId, applicationIds).list() + .stream().collect(Collectors.groupingBy(OaApprovalApplicationAssetItem::getApprovalApplicationId)); + Map<Integer, OaApprovalApplicationAdvertisement> approvalApplicationAdvertisementMap = approvalApplicationAdvertisementService.lambdaQuery() + .in(OaApprovalApplicationAdvertisement::getApprovalApplicationId, applicationIds).list() + .stream().collect(Collectors.toMap(OaApprovalApplicationAdvertisement::getApprovalApplicationId, e -> e)); + Map<Integer, OaApprovalApplicationAttendance> applicationAttendanceMap = approvalApplicationAttendanceService.lambdaQuery() + .in(OaApprovalApplicationAttendance::getApprovalApplicationId, applicationIds).list() + .stream().collect(Collectors.toMap(OaApprovalApplicationAttendance::getApprovalApplicationId, e -> e)); + + Map<Integer, AssetMain> assetMainMap = assetMainService.list().stream().collect(Collectors.toMap(AssetMain::getId, e -> e)); + Map<Long, SysUser> userMap = sysUserService.selectAllList().stream().collect(Collectors.toMap(SysUser::getUserId, e -> e)); + Map<Integer, TDept> deptMap = deptService.list().stream().collect(Collectors.toMap(TDept::getId, e -> e)); + Map<Integer, OaApproval> approvalMap = approvalService.list().stream().collect(Collectors.toMap(OaApproval::getId, e -> e)); + List<OaApprovalApplications> approvalApplications = approvalApplicationsService.lambdaQuery().in(OaApprovalApplications::getId, applicationIds).list(); + for (OaApprovalApplications approvalApplication : approvalApplications) { + ApprovalTodoVO approvalTodoVO = new ApprovalTodoVO(); + approvalTodoVO.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.getNickName()); + 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()){ @@ -284,728 +531,11 @@ } - @ApiOperation(value = "合同文件审批详情") - @GetMapping(value = "/detailContract") - public R<ContractDetailVO> detailContract(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationContract approvalApplicationContract = approvalApplicationContractService.lambdaQuery() - .eq(OaApprovalApplicationContract::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - ContractDetailVO res = new ContractDetailVO(); - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.CONTRACT.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList( sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setContractUrl(approvalApplicationContract.getContractUrl()); - res.setApplicationReason(approvalApplications.getApplicationReason()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - return R.ok(res); - } - @ApiOperation(value = "进度款支付审批详情") - @GetMapping(value = "/detailPayment") - public R<PaymentDetailVO> detailPayment(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationPayment approvalApplicationPayment = approvalApplicationPaymentService.lambdaQuery() - .eq(OaApprovalApplicationPayment::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - PaymentDetailVO res = new PaymentDetailVO(); - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.PAYMENT.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setApplicationReason(approvalApplications.getApplicationReason()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - // todo 三阶段设计项目表之后完善 - res.setProjectName("本期还未涉及到项目"); - res.setApplyAmount(approvalApplicationPayment.getApplyAmount()); - return R.ok(res); - } - @ApiOperation(value = "请假申请审批详情") - @GetMapping(value = "/detailLeave") - public R<LeaveDetailVO> detailLeave(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationAttendance approvalApplicationAttendance = approvalApplicationAttendanceService.lambdaQuery() - .eq(OaApprovalApplicationAttendance::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - LeaveDetailVO res = new LeaveDetailVO(); - - - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.LEAVE.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setApplicationReason(approvalApplications.getApplicationReason()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - res.setStartTime(approvalApplicationAttendance.getStartTime()); - res.setEndTime(approvalApplicationAttendance.getEndTime()); - res.setDuration(approvalApplicationAttendance.getDuration()); - return R.ok(res); - } - @ApiOperation(value = "销假审批详情") - @GetMapping(value = "/detailLeaveDestroy") - public R<LeaveDestroyDetailVO> detailLeaveDestroy(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationAttendance approvalApplicationAttendance = approvalApplicationAttendanceService.lambdaQuery() - .eq(OaApprovalApplicationAttendance::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - OaApprovalApplicationAttendance leaveApplication = approvalApplicationAttendanceService.getById(approvalApplicationAttendance.getLeaveApprovalApplicationId()); - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - LeaveDestroyDetailVO res = new LeaveDestroyDetailVO(); - - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.LEAVE_DESTROY.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setApplicationReason(approvalApplications.getApplicationReason()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - res.setStartTime(approvalApplicationAttendance.getStartTime()); - res.setEndTime(approvalApplicationAttendance.getEndTime()); - res.setStartTimeLeave(leaveApplication.getStartTime()); - res.setEndTimeLeave(leaveApplication.getEndTime()); - res.setDurationLeave(leaveApplication.getDuration()); - res.setDuration(approvalApplicationAttendance.getDuration()); - return R.ok(res); - } - @ApiOperation(value = "外出申请审批详情") - @GetMapping(value = "/detailOut") - public R<OutDetailVO> detailOut(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationAttendance approvalApplicationAttendance = approvalApplicationAttendanceService.lambdaQuery() - .eq(OaApprovalApplicationAttendance::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - OutDetailVO res = new OutDetailVO(); - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.OUT.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setApplicationReason(approvalApplications.getApplicationReason()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - res.setStartTime(approvalApplicationAttendance.getStartTime()); - res.setEndTime(approvalApplicationAttendance.getEndTime()); - res.setDuration(approvalApplicationAttendance.getDuration()); - return R.ok(res); - } - @ApiOperation(value = "出差审批详情") - @GetMapping(value = "/detailBusinessTrip") - public R<BusinessTripDetailVO> detailBusinessTrip(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationAttendance approvalApplicationAttendance = approvalApplicationAttendanceService.lambdaQuery() - .eq(OaApprovalApplicationAttendance::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - BusinessTripDetailVO res = new BusinessTripDetailVO(); - - - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.BUSINESS_TRIP.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setApplicationReason(approvalApplications.getApplicationReason()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - res.setStartTime(approvalApplicationAttendance.getStartTime()); - res.setEndTime(approvalApplicationAttendance.getEndTime()); - res.setDuration(approvalApplicationAttendance.getDuration()); - res.setAddress(approvalApplicationAttendance.getAddress()); - res.setProjectName(approvalApplicationAttendance.getProjectName()); - return R.ok(res); - } - @ApiOperation(value = "采购审批详情-采购物品清单") - @PostMapping(value = "/detailPurchaseList") - public R<PageInfo<PurchaseListVO>> detailPurchaseList(@RequestBody ApprovalDetailQuery query) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId()); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - query.setId(approvalApplications.getId()); - PageInfo<PurchaseListVO> items = approvalApplicationPurchaseItemService.pageList(query); - return R.ok(items); - } - @ApiOperation(value = "采购审批详情") - @GetMapping(value = "/detailPurchase") - public R<PurchaseDetailVO> detailPurchase(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationPurchase approvalApplicationPurchase = approvalApplicationPurchaseService.lambdaQuery() - .eq(OaApprovalApplicationPurchase::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - PurchaseDetailVO res = new PurchaseDetailVO(); - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.PURCHASE.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setApplicationReason(approvalApplications.getApplicationReason()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - res.setCreateTime(approvalApplications.getCreateTime()); - res.setTotalAmount(approvalApplicationPurchase.getTotalAmount()); - res.setTitle(approvalApplicationPurchase.getTitle()); - AssetType assetType = assetTypeService.getById(approvalApplicationPurchase.getAssetTypeId()); - if (assetType!=null){ - res.setAssetTypeName(assetType.getTypeName()); - } - return R.ok(res); - } - @ApiOperation(value = "物品领用-领用资产列表") - @PostMapping(value = "/detailGrabList") - public R<PageInfo<GrabListVO>> detailGrabList(@RequestBody ApprovalDetailQuery query) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId()); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - query.setId(approvalApplications.getId()); - PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query); - return R.ok(items); - } - @ApiOperation(value = "物品领用审批详情") - @GetMapping(value = "/detailGrab") - public R<GrabDetailVO> detailGrab(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationAsset approvalApplicationAsset = approvalApplicationAssetService.lambdaQuery() - .eq(OaApprovalApplicationAsset::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - GrabDetailVO res = new GrabDetailVO(); - - - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.GRAB.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setApplicationReason(approvalApplications.getApplicationReason()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - res.setOperateTime(approvalApplicationAsset.getOperateTime()); - res.setTitle(approvalApplicationAsset.getTitle()); - AssetType assetType = assetTypeService.getById(approvalApplicationAsset.getAssetTypeId()); - if (assetType!=null){ - res.setAssetTypeName(assetType.getTypeName()); - } - return R.ok(res); - } - @ApiOperation(value = "资产入库-入库资产列表") - @PostMapping(value = "/detailInStockList") - public R<PageInfo<StorageListVO>> detailInStockList(@RequestBody ApprovalDetailQuery query) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId()); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - query.setId(approvalApplications.getId()); - PageInfo<StorageListVO> items = approvalApplicationStorageService.pageList(query); - return R.ok(items); - } - @ApiOperation(value = "资产入库审批详情") - @GetMapping(value = "/detailInStock") - public R<StorageDetailVO> detailInStock(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationStorage approvalApplicationStorage = approvalApplicationStorageService.lambdaQuery() - .eq(OaApprovalApplicationStorage::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - StorageDetailVO res = new StorageDetailVO(); - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.IN_STOCK.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - res.setTitle(approvalApplicationStorage.getTitle()); - res.setStorageType(approvalApplicationStorage.getStorageType()); - res.setStorageTime(approvalApplicationStorage.getStorageTime()); - res.setRemarks(approvalApplicationStorage.getTitle()); - return R.ok(res); - } - @ApiOperation(value = "物品借用-借用资产列表") - @PostMapping(value = "/detailBurrowList") - public R<PageInfo<GrabListVO>> detailBurrowList(@RequestBody ApprovalDetailQuery query) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId()); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - query.setId(approvalApplications.getId()); - PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query); - return R.ok(items); - } - @ApiOperation(value = "物品借用审批详情") - @GetMapping(value = "/detailBurrow") - public R<BorrowDetailVO> detailBurrow(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationAsset approvalApplicationAsset = approvalApplicationAssetService.lambdaQuery() - .eq(OaApprovalApplicationAsset::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - BorrowDetailVO res = new BorrowDetailVO(); - - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.BURROW.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setApplicationReason(approvalApplications.getApplicationReason()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - res.setOperateTime(approvalApplicationAsset.getOperateTime()); - res.setExpectReturnDate(approvalApplicationAsset.getExpectReturnDate()); - return R.ok(res); - } - @ApiOperation(value = "物品借用归还-归还资产列表") - @PostMapping(value = "/detailBackList") - public R<PageInfo<GrabListVO>> detailBackList(@RequestBody ApprovalDetailQuery query) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId()); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - query.setId(approvalApplications.getId()); - PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query); - return R.ok(items); - } - @ApiOperation(value = "物品借用归还审批详情") - @GetMapping(value = "/detailBack") - public R<BackDetailVO> detailBack(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplicationsBack = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationAsset approvalApplicationAssetBack = approvalApplicationAssetService.lambdaQuery() - .eq(OaApprovalApplicationAsset::getApprovalApplicationId, approvalApplicationsBack.getId()) - .last("limit 1").one(); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalApplicationAssetBack.getBorrowApplicationId()); - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplicationsBack.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - BackDetailVO res = new BackDetailVO(); - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.RETURN.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplicationsBack.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplicationsBack.getId()); - res.setApplicationReason(approvalApplicationsBack.getApplicationReason()); - res.setAttachmentUrl(approvalApplicationsBack.getAttachmentUrl()); - res.setOperateTime(approvalApplicationAssetBack.getOperateTime()); - res.setExpectReturnDate(approvalApplicationAssetBack.getExpectReturnDate()); - res.setTitle(approvalApplicationAssetBack.getTitle()); - res.setApplicationCode(approvalApplications.getApplicationCode()); - return R.ok(res); - } - @ApiOperation(value = "资产处置-处置资产列表") - @PostMapping(value = "/detailDisposeList") - public R<PageInfo<GrabListVO>> detailDisposeList(@RequestBody ApprovalDetailQuery query) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId()); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - query.setId(approvalApplications.getId()); - PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query); - return R.ok(items); - } - @ApiOperation(value = "资产处置审批详情") - @GetMapping(value = "/detailDispose") - public R<DisposeDetailVO> detailDispose(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationDispose approvalApplicationDispose = approvalApplicationDisposeService.lambdaQuery() - .eq(OaApprovalApplicationDispose::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - DisposeDetailVO res = new DisposeDetailVO(); - - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.ASSET_DISPOSE.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setApplicationReason(approvalApplications.getApplicationReason()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - - res.setDisposeTime(approvalApplicationDispose.getDisposeTime()); - res.setTitle(approvalApplicationDispose.getTitle()); - AssetType assetType = assetTypeService.getById(approvalApplicationDispose.getAssetTypeId()); - if (assetType!=null){ - res.setAssetTypeName(assetType.getTypeName()); - } - res.setDisposeType(approvalApplicationDispose.getDisposeType()); - res.setDisposeTotalAmount(approvalApplicationDispose.getDisposeTotalAmount()); - return R.ok(res); - } - - @ApiOperation(value = "资产变更-变更资产列表") - @PostMapping(value = "/detailChangeList") - public R<PageInfo<GrabListVO>> detailChangeList(@RequestBody ApprovalDetailQuery query) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(query.getId()); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - query.setId(approvalApplications.getId()); - PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query); - return R.ok(items); - } - @ApiOperation(value = "资产变更审批详情") - @GetMapping(value = "/detailChange") - public R<ChangeDetailVO> detailChange(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationChange approvalApplicationChange = approvalApplicationChangeService.lambdaQuery() - .eq(OaApprovalApplicationChange::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - ChangeDetailVO res = new ChangeDetailVO(); - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.ASSET_CHANGE.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setApplicationReason(approvalApplications.getApplicationReason()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - AssetType assetType = assetTypeService.getById(approvalApplicationChange.getAssetTypeId()); - if (assetType!=null){ - res.setAssetTypeName(assetType.getTypeName()); - } - res.setChangeTime(approvalApplicationChange.getChangeTime()); - res.setTitle(approvalApplicationChange.getTitle()); - TDept dept = deptService.getById(approvalApplicationChange.getOwnershipDeptId()); - if (dept!=null){ - res.setOwnershipDeptName(dept.getDeptName()); - } - // todo 三阶段完善 仓库名称 - res.setWarehouseName("三阶段完善"); - res.setAddress(approvalApplicationChange.getAddress()); - return R.ok(res); - } - @ApiOperation(value = "报销申请审批详情") - @GetMapping(value = "/detailReimbursement") - public R<ReimbursementDetailVO> detailReimbursement(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationReimbursement approvalApplicationReimbursement = approvalApplicationReimbursementService.lambdaQuery() - .eq(OaApprovalApplicationReimbursement::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - List<OaApprovalApplicationReimbursementItem> oaApprovalApplicationReimbursementItems = approvalApplicationReimbursementItemService.lambdaQuery() - .eq(OaApprovalApplicationReimbursementItem::getApprovalApplicationId, approvalApplications.getId()) - .list(); - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - ReimbursementDetailVO res = new ReimbursementDetailVO(); - - - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.REIMBURSEMENT.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setApplicationReason(approvalApplications.getApplicationReason()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - - res.setType(approvalApplicationReimbursement.getType()); - res.setApprovalApplicationReimbursementItems(oaApprovalApplicationReimbursementItems); - return R.ok(res); - } - @ApiOperation(value = "款项申请审批详情") - @GetMapping(value = "/detailMoney") - public R<MoneyDetailVO> detailMoney(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationMoney approvalApplicationMoney = approvalApplicationMoneyService.lambdaQuery() - .eq(OaApprovalApplicationMoney::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - MoneyDetailVO res = new MoneyDetailVO(); - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.MONEY.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setApplicationReason(approvalApplications.getApplicationReason()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - res.setProjectName(approvalApplicationMoney.getProjectName()); - res.setApplyAmount(approvalApplicationMoney.getApplyAmount()); - res.setDescription(approvalApplicationMoney.getDescription()); - res.setPayer(approvalApplicationMoney.getPayer()); - res.setPayee(approvalApplicationMoney.getPayee()); - res.setPayeeContact(approvalApplicationMoney.getPayeeContact()); - res.setPayeeAccount(approvalApplicationMoney.getPayeeAccount()); - return R.ok(res); - } - @ApiOperation(value = "内部联系单审批详情") - @GetMapping(value = "/detailContact") - public R<ContactDetailVO> detailContact(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationMoney approvalApplicationMoney = approvalApplicationMoneyService.lambdaQuery() - .eq(OaApprovalApplicationMoney::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - ContactDetailVO res = new ContactDetailVO(); - - - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.CONTACT.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setApplicationReason(approvalApplications.getApplicationReason()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - res.setDescription(approvalApplicationMoney.getDescription()); - return R.ok(res); - } - @ApiOperation(value = "广告制作审批详情") - @GetMapping(value = "/detailAdvertisement") - public R<AdvertisementDetailVO> detailAdvertisement(@ApiParam("待办事项id")Integer id) { - OaApprovalTodo approvalTodo = approvalTodoService.getById(id); - OaApprovalApplications approvalApplications = approvalApplicationsService.getById(approvalTodo.getApplicationId()); - OaApprovalApplicationAdvertisement applicationAdvertisement = approvalApplicationAdvertisementService.lambdaQuery() - .eq(OaApprovalApplicationAdvertisement::getApprovalApplicationId, approvalApplications.getId()) - .last("limit 1").one(); - - List<OaApprovalFlowAudit> approvalFlowAudits = approvalFlowAuditService.lambdaQuery().eq(OaApprovalFlowAudit::getApprovalApplicationId, approvalApplications.getId()) - .orderByAsc(OaApprovalFlowAudit::getSortOrder) - .list(); - AdvertisementDetailVO res = new AdvertisementDetailVO(); - - - List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery() - .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.ADVERTISEMENT.getCode()) - .orderByAsc(OaApprovalFlowNode::getSortOrder) - .eq(OaApprovalFlowNode::getStatus, 1).list(); - SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue()); - if (sysUser!=null){ - res.setUserName(sysUser.getUserName()); - TDept dept = deptService.getById(sysUser.getDeptId()); - if (dept!=null){ - res.setDeptName(dept.getDeptName()); - } - } - List<ApprovalFlowNodeListVO> flowNodeList = getFlowNodeList(sysUser, approvalFlowAudits,approvalFlowNodes); - res.setApprovalFlowNodeListVOS(flowNodeList); - res.setApprovalApplicationId(approvalApplications.getId()); - res.setApplicationReason(approvalApplications.getApplicationReason()); - res.setAttachmentUrl(approvalApplications.getAttachmentUrl()); - res.setTitle(applicationAdvertisement.getTitle()); - res.setCreateTime(approvalApplications.getCreateTime()); - res.setContent(applicationAdvertisement.getContent()); - res.setNumber(applicationAdvertisement.getNumber()); - res.setTotalAmount(applicationAdvertisement.getTotalAmount()); - res.setSpec(applicationAdvertisement.getSpec()); - return R.ok(res); - } - private List<ApprovalFlowNodeListVO> getFlowNodeList(SysUser sysUser, List<OaApprovalFlowAudit> approvalFlowAudits - ,List<OaApprovalFlowNode> approvalFlowNodes) { - List<ApprovalFlowNodeListVO> approvalFlowNodeListVOS = new ArrayList<>(); - Map<Integer, OaApprovalFlowAudit> approvalFlowAuditMap = approvalFlowAudits.stream().collect(Collectors.toMap(OaApprovalFlowAudit::getFlowNodeId, e -> e)); - - ApprovalFlowNodeListVO approvalFlowNodeListVO = new ApprovalFlowNodeListVO(); - approvalFlowNodeListVO.setFlowName("发起"); - if (sysUser!=null){ - approvalFlowNodeListVO.setUserName(sysUser.getUserName()); - } - approvalFlowNodeListVOS.add(approvalFlowNodeListVO); - for (OaApprovalFlowNode approvalFlowNode : approvalFlowNodes) { - ApprovalFlowNodeListVO approvalFlowNodeVO = new ApprovalFlowNodeListVO(); - - OaApprovalFlowAudit approvalFlowAudit = approvalFlowAuditMap.get(approvalFlowNode.getId()); - if (approvalFlowAudit!=null){ - approvalFlowNodeVO.setFlowName(approvalFlowAudit.getFlowName()); - approvalFlowNodeVO.setUserName(approvalFlowAudit.getUserName()); - approvalFlowNodeVO.setSignPicUrl(approvalFlowAudit.getSignPicUrl()); - approvalFlowNodeVO.setApprovalStatus(approvalFlowAudit.getApprovalStatus()); - }else{ - approvalFlowNodeVO.setFlowName(approvalFlowNode.getFlowName()); - } - approvalFlowNodeListVOS.add(approvalFlowNodeVO); - } - return approvalFlowNodeListVOS; - } - - @Log(title = "审批-通用审批接口", businessType = BusinessType.INSERT) @ApiOperation(value = "通用审批接口") @PostMapping(value = "/audit") + @Transactional public R addLeave(@RequestBody AuditDTO dto) { OaApprovalApplications approvalApplications = approvalApplicationsService.getById(dto.getApprovalApplicationId()); @@ -1022,14 +552,14 @@ approvalTodoService.updateById(approvalTodo); OaApproval approval = approvalService.getById(approvalApplications.getApprovalId()); - if (dto.getApprovalStatus()==0){ + if (dto.getApprovalStatus() == 0) { // 中断审批流程 approvalApplications.setApprovalStatus(3); approvalApplicationsService.updateById(approvalApplications); // 删除除当前审批人该申请单的未处理的所有待办 approvalTodoService.remove(new LambdaQueryWrapper<OaApprovalTodo>() .eq(OaApprovalTodo::getApplicationId, approvalApplications.getId()) - .eq(OaApprovalTodo::getStatus,0)); + .eq(OaApprovalTodo::getStatus, 0)); } OaApprovalFlowNode oaApprovalFlowNode = approvalFlowNodeService.getById(currentFlowNodeId); OaApprovalFlowAudit approvalFlowAudit = new OaApprovalFlowAudit(); @@ -1044,20 +574,21 @@ approvalFlowAudit.setReason(dto.getReason()); approvalFlowAuditService.save(approvalFlowAudit); List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery().eq(OaApprovalFlowNode::getApprovalId, approval.getId()) + .eq(OaApprovalFlowNode::getStatus,1) .orderByAsc(OaApprovalFlowNode::getSortOrder).list(); - if (dto.getApprovalStatus()==1){ + if (dto.getApprovalStatus() == 1) { // 判断当前是否处于最后一个节点 - if(approvalApplications.getCurrentFlowNodeId().equals(approvalFlowNodes.get(approvalFlowNodes.size()-1).getId())){ + 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){ + if (approval.getApprovalCategory() == 10 || approval.getApprovalCategory() == 7 + || approval.getApprovalCategory() == 8 || approval.getApprovalCategory() == 9) { List<OaApprovalApplicationAssetItem> approvalApplicationAssetItems = approvalApplicationAssetItemService.lambdaQuery() .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, approvalApplications.getId()).list(); List<Integer> AssetMainIds = approvalApplicationAssetItems.stream().map(OaApprovalApplicationAssetItem::getAssetMainId).collect(Collectors.toList()); List<AssetMain> assetMains = assetMainService.lambdaQuery().in(AssetMain::getId, AssetMainIds).list(); - switch (approval.getApprovalCategory()){ + switch (approval.getApprovalCategory()) { case 10: assetMains.forEach(assetMain -> { assetMain.setDisposed(1); @@ -1076,22 +607,28 @@ } assetMainService.updateBatchById(assetMains); } - }else{ + //如果为资产入库审批,处理审批通过逻辑,创建该审批的资产信息 + if (approval.getApprovalCategory().equals(ApprovalTypeEnum.IN_STOCK.getCode())) { + assetMainService.saveAssetByApprovalApplicationId(approvalApplications.getId()); + } + } else { + log.info("不为最后一个审批节点"); // 生成下一个节点的待办事项 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()); + if (approvalApplications.getCurrentFlowNodeId().equals(approvalFlowNodes.get(i).getId())) { + log.info("匹配到审批流程,进入下一节点,当前节点id:{}", approvalFlowNodes.get(i)); + // 申请单审批流程修改为下一节点 + approvalApplications.setCurrentFlowNodeId(approvalFlowNodes.get(i + 1).getId()); + approvalApplicationsService.updateById(approvalApplications); + OaApprovalFlowNode oaApprovalFlowNode1 = approvalFlowNodes.get(i + 1); approvalTodoService.createApprovalTodos(approvalApplications.getId(), approvalApplications.getApplicationCode(), oaApprovalFlowNode1, approvalApplications.getDeptId()); + break; } } } - } - return R.ok(); + } } - -- Gitblit v1.7.1