| | |
| | | |
| | | 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 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 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; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | private OaApprovalApplicationStorageService approvalApplicationStorageService; |
| | | @Resource |
| | | private OaApprovalApplicationPurchaseService approvalApplicationPurchaseService; |
| | | @Resource |
| | | private OaApprovalApplicationPurchaseItemService approvalApplicationPurchaseItemService; |
| | | @Resource |
| | | private OaApprovalApplicationAssetItemService approvalApplicationAssetItemService; |
| | | @Resource |
| | |
| | | @Resource |
| | | private TDeptService deptService; |
| | | @Resource |
| | | private AssetTypeService assetTypeService; |
| | | @Resource |
| | | private OaApprovalTodoService oaApprovalTodoService; |
| | | @Resource |
| | | private OaApprovalFlowService approvalFlowService; |
| | | private OaApprovalFlowService approvalFlowService; |
| | | |
| | | |
| | | |
| | | @ApiOperation("我审批的") |
| | | @PostMapping("/pageList") |
| | | public R<PageInfo<ApprovalTodoVO>> pageList(@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<OaApprovalTodo> pageInfo = approvalTodoService.pageListAudit(query); |
| | | List<OaApprovalTodo> list = pageInfo.getRecords(); |
| | | if (list.isEmpty()){ |
| | | return R.ok(new PageInfo<>()); |
| | | } |
| | | res.setTotal(pageInfo.getTotal()); |
| | | List<Integer> applicationIds = list.stream().map(OaApprovalTodo::getApplicationId).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<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)); |
| | | 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.getUserName()); |
| | | TDept tDept = deptMap.get(Integer.parseInt(sysUser.getDeptId())); |
| | | if (tDept!=null){ |
| | | approvalTodoVO.setApplyDeptName(tDept.getDeptName()); |
| | | } |
| | | } |
| | | 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(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; |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | @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(); |
| | |
| | | approvalFlowAudit.setReason(dto.getReason()); |
| | | approvalFlowAuditService.save(approvalFlowAudit); |
| | | List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery().eq(OaApprovalFlowNode::getApprovalId, approval.getId()) |
| | | .orderByDesc(OaApprovalFlowNode::getSortOrder).list(); |
| | | .orderByAsc(OaApprovalFlowNode::getSortOrder).list(); |
| | | if (dto.getApprovalStatus()==1){ |
| | | for (OaApprovalFlowNode approvalFlowNode : approvalFlowNodes) { |
| | | // 判断当前是否处于最后一个节点 |
| | | if(approvalApplications.getCurrentFlowNodeId().equals(approvalFlowNode.getId())){ |
| | | // 审批通过 审批流程结束 |
| | | approvalApplications.setApprovalStatus(2); |
| | | approvalApplicationsService.updateById(approvalApplications); |
| | | if (approval.getApprovalCategory()==1) |
| | | break; |
| | | // 判断当前是否处于最后一个节点 |
| | | if(approvalApplications.getCurrentFlowNodeId().equals(approvalFlowNodes.get(approvalFlowNodes.size()-1).getId())){ |
| | | // 审批通过 审批流程结束 |
| | | approvalApplications.setApprovalStatus(2); |
| | | approvalApplicationsService.updateById(approvalApplications); |
| | | if (approval.getApprovalCategory()==10||approval.getApprovalCategory()==7 |
| | | ||approval.getApprovalCategory()==8||approval.getApprovalCategory()==9){ |
| | | List<OaApprovalApplicationAssetItem> approvalApplicationAssetItems = approvalApplicationAssetItemService.lambdaQuery() |
| | | .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, approvalApplications.getId()).list(); |
| | | List<Integer> AssetMainIds = approvalApplicationAssetItems.stream().map(OaApprovalApplicationAssetItem::getAssetMainId).collect(Collectors.toList()); |
| | | List<AssetMain> assetMains = assetMainService.lambdaQuery().in(AssetMain::getId, AssetMainIds).list(); |
| | | switch (approval.getApprovalCategory()){ |
| | | case 10: |
| | | assetMains.forEach(assetMain -> { |
| | | assetMain.setDisposed(1); |
| | | }); |
| | | break; |
| | | case 7: |
| | | assetMains.forEach(assetMain -> { |
| | | assetMain.setInUse(1); |
| | | }); |
| | | break; |
| | | default: |
| | | assetMains.forEach(assetMain -> { |
| | | assetMain.setBorrowed(1); |
| | | }); |
| | | break; |
| | | } |
| | | assetMainService.updateBatchById(assetMains); |
| | | } |
| | | }else{ |
| | | // 生成下一个节点的待办事项 |
| | | for (int i = 0; i < approvalFlowNodes.size(); i++) { |
| | | if(approvalApplications.getCurrentFlowNodeId() |
| | | .equals(approvalFlowNodes.get(i).getId())){ |
| | | approvalApplications.setCurrentFlowNodeId(approvalFlowNodes.get(i+1).getId()); |
| | | OaApprovalFlowNode oaApprovalFlowNode1 = approvalFlowNodeService.getById(approvalFlowNodes.get(i + 1).getId()); |
| | | approvalTodoService.createApprovalTodos(approvalApplications.getId(), |
| | | approvalApplications.getApplicationCode(), oaApprovalFlowNode1, approvalApplications.getDeptId()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | return R.ok(); |