From 2b82b1e1d31671b8581d2e463ad762bdf63dad30 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 17 十月 2025 16:43:11 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java | 198 ++++++++++++++++++++++++++++++------------------- 1 files changed, 120 insertions(+), 78 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 cd68061..6f23f78 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 @@ -11,47 +11,10 @@ import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.AuditDTO; import com.ruoyi.system.emums.ApprovalTypeEnum; -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.model.*; import com.ruoyi.system.query.ApprovalTodoListQuery; -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.*; + import com.ruoyi.system.service.OaApprovalApplicationsService; import com.ruoyi.system.service.OaApprovalFlowAuditService; import com.ruoyi.system.service.OaApprovalFlowNodeService; @@ -59,35 +22,12 @@ 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.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -133,7 +73,7 @@ @Resource private OaApprovalApplicationsService approvalApplicationsService; @Resource - private OaApprovalApplicationAdvertisementService approvalApplicationAdvertisementService; + private OaApprovalApplicationAdService approvalApplicationAdvertisementService; @Resource private OaApprovalApplicationContactService approvalApplicationContactService; @Resource @@ -144,6 +84,9 @@ private OaApprovalApplicationMoneyService approvalApplicationMoneyService; @Resource private AssetMainService assetMainService; + @Resource + + private AssetInventoryRecordService assetInventoryRecordService; @Resource private OaApprovalApplicationStorageAssetService oaApprovalApplicationStorageAssetService; @Resource @@ -215,9 +158,9 @@ 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, OaApprovalApplicationAd> approvalApplicationAdMap = approvalApplicationAdvertisementService.lambdaQuery() + .in(OaApprovalApplicationAd::getApprovalApplicationId, applicationIds).list() + .stream().collect(Collectors.toMap(OaApprovalApplicationAd::getApprovalApplicationId, e -> e)); Map<Integer, OaApprovalApplicationAttendance> applicationAttendanceMap = approvalApplicationAttendanceService.lambdaQuery() .in(OaApprovalApplicationAttendance::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationAttendance::getApprovalApplicationId, e -> e)); @@ -229,6 +172,9 @@ List<OaApprovalApplications> approvalApplications = approvalApplicationsService.lambdaQuery().in(OaApprovalApplications::getId, applicationIds).list(); for (OaApprovalApplications approvalApplication : approvalApplications) { ApprovalTodoVO approvalTodoVO = new ApprovalTodoVO(); + approvalTodoVO.setReason(approvalApplication.getReason()); + approvalTodoVO.setApprovalStatus(approvalApplication.getApprovalStatus()); + approvalTodoVO.setApplicationReason(approvalApplication.getApplicationReason()); approvalTodoVO.setApprovalCategory(approvalMap.get(approvalApplication.getApprovalId()).getApprovalCategory()); switch (approvalTodoVO.getApprovalCategory()){ case 1: @@ -260,17 +206,25 @@ case 5: OaApprovalApplicationPurchase oaApprovalApplicationPurchase = approvalApplicationPurchaseMap.get(approvalApplication.getId()); if (oaApprovalApplicationPurchase!=null){ + approvalTodoVO.setTitle(oaApprovalApplicationPurchase.getTitle()); + approvalTodoVO.setAmount(oaApprovalApplicationPurchase.getTotalAmount()); } break; case 6: OaApprovalApplicationStorage oaApprovalApplicationStorage = applicationStorageMap.get(approvalApplication.getId()); if (oaApprovalApplicationStorage!=null){ + approvalTodoVO.setTitle(oaApprovalApplicationStorage.getTitle()); + approvalTodoVO.setStorageType(oaApprovalApplicationStorage.getStorageType()); } break; case 7: StringBuilder temp = new StringBuilder(); + OaApprovalApplicationAsset oaApprovalApplicationAsset = approvalApplicationAssetMap.get(approvalApplication.getId()); + if (oaApprovalApplicationAsset!=null){ + approvalTodoVO.setTitle(oaApprovalApplicationAsset.getTitle()); + } List<OaApprovalApplicationAssetItem> oaApprovalApplicationAssetItems = approvalApplicationAssetItemMap.get(approvalApplication.getId()); if (oaApprovalApplicationAssetItems!=null){ for (OaApprovalApplicationAssetItem oaApprovalApplicationAssetItem : oaApprovalApplicationAssetItems) { @@ -290,24 +244,32 @@ case 8: OaApprovalApplicationAsset oaApprovalApplicationAssetOut = approvalApplicationAssetMap.get(approvalApplication.getId()); if (oaApprovalApplicationAssetOut!=null){ + approvalTodoVO.setTitle(oaApprovalApplicationAssetOut.getTitle()); + approvalTodoVO.setOperateTime(oaApprovalApplicationAssetOut.getOperateTime()); } break; case 9: OaApprovalApplicationAsset oaApprovalApplicationAssetBack = approvalApplicationAssetMap.get(approvalApplication.getId()); if (oaApprovalApplicationAssetBack!=null){ + approvalTodoVO.setTitle(oaApprovalApplicationAssetBack.getTitle()); + approvalTodoVO.setOperateTime(oaApprovalApplicationAssetBack.getExpectReturnDate()); } break; case 10: OaApprovalApplicationDispose oaApprovalApplicationDispose = approvalApplicationDisposeMap.get(approvalApplication.getId()); if (oaApprovalApplicationDispose!=null){ + approvalTodoVO.setTitle(oaApprovalApplicationDispose.getTitle()); + approvalTodoVO.setDisposeType(oaApprovalApplicationDispose.getDisposeType()); } break; case 11: OaApprovalApplicationChange oaApprovalApplicationChange = approvalApplicationChangeMap.get(approvalApplication.getId()); if (oaApprovalApplicationChange!=null){ + approvalTodoVO.setTitle(oaApprovalApplicationChange.getTitle()); + Integer ownershipDeptId = oaApprovalApplicationChange.getOwnershipDeptId(); TDept tDept = deptMap.get(ownershipDeptId); if (tDept!=null){ @@ -318,12 +280,14 @@ case 12: OaApprovalApplicationReimbursement oaApprovalApplicationReimbursement = approvalApplicationReimbursementMap.get(approvalApplication.getId()); if (oaApprovalApplicationReimbursement!=null){ + approvalTodoVO.setType(oaApprovalApplicationReimbursement.getType()); approvalTodoVO.setAmount(oaApprovalApplicationReimbursement.getReimbursementAmount()); } break; case 13: OaApprovalApplicationMoney oaApprovalApplicationMoney = oaApprovalApplicationMoneyMap.get(approvalApplication.getId()); if (oaApprovalApplicationMoney!=null){ + approvalTodoVO.setProjectName(oaApprovalApplicationMoney.getProjectName()); approvalTodoVO.setAmount(oaApprovalApplicationMoney.getApplyAmount()); approvalTodoVO.setDescription(oaApprovalApplicationMoney.getDescription()); @@ -332,16 +296,19 @@ case 15: OaApprovalApplicationPayment oaApprovalApplicationPayment = approvalApplicationPaymentMap.get(approvalApplication.getId()); if (oaApprovalApplicationPayment!=null){ + // todo 当前阶段没有项目id 后续完善 + approvalTodoVO.setProjectName("项目名称"); 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()); + OaApprovalApplicationAd oaApprovalApplicationAd = approvalApplicationAdMap.get(approvalApplication.getId()); + if (oaApprovalApplicationAd !=null){ + approvalTodoVO.setTitle(oaApprovalApplicationAd.getTitle()); + approvalTodoVO.setContent(oaApprovalApplicationAd.getContent()); + approvalTodoVO.setAmount(oaApprovalApplicationAd.getTotalAmount()); } break; } @@ -393,9 +360,9 @@ 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, OaApprovalApplicationAd> approvalApplicationAdMap = approvalApplicationAdvertisementService.lambdaQuery() + .in(OaApprovalApplicationAd::getApprovalApplicationId, applicationIds).list() + .stream().collect(Collectors.toMap(OaApprovalApplicationAd::getApprovalApplicationId, e -> e)); Map<Integer, OaApprovalApplicationAttendance> applicationAttendanceMap = approvalApplicationAttendanceService.lambdaQuery() .in(OaApprovalApplicationAttendance::getApprovalApplicationId, applicationIds).list() .stream().collect(Collectors.toMap(OaApprovalApplicationAttendance::getApprovalApplicationId, e -> e)); @@ -407,6 +374,9 @@ List<OaApprovalApplications> approvalApplications = approvalApplicationsService.lambdaQuery().in(OaApprovalApplications::getId, applicationIds).list(); for (OaApprovalApplications approvalApplication : approvalApplications) { ApprovalTodoVO approvalTodoVO = new ApprovalTodoVO(); + approvalTodoVO.setReason(approvalApplication.getReason()); + approvalTodoVO.setApprovalStatus(approvalApplication.getApprovalStatus()); + approvalTodoVO.setApplicationReason(approvalApplication.getApplicationReason()); approvalTodoVO.setApprovalCategory(approvalMap.get(approvalApplication.getApprovalId()).getApprovalCategory()); switch (approvalTodoVO.getApprovalCategory()){ case 1: @@ -438,17 +408,25 @@ case 5: OaApprovalApplicationPurchase oaApprovalApplicationPurchase = approvalApplicationPurchaseMap.get(approvalApplication.getId()); if (oaApprovalApplicationPurchase!=null){ + approvalTodoVO.setTitle(oaApprovalApplicationPurchase.getTitle()); + approvalTodoVO.setAmount(oaApprovalApplicationPurchase.getTotalAmount()); } break; case 6: OaApprovalApplicationStorage oaApprovalApplicationStorage = applicationStorageMap.get(approvalApplication.getId()); if (oaApprovalApplicationStorage!=null){ + approvalTodoVO.setTitle(oaApprovalApplicationStorage.getTitle()); + approvalTodoVO.setStorageType(oaApprovalApplicationStorage.getStorageType()); } break; case 7: StringBuilder temp = new StringBuilder(); + OaApprovalApplicationAsset oaApprovalApplicationAsset = approvalApplicationAssetMap.get(approvalApplication.getId()); + if (oaApprovalApplicationAsset!=null){ + approvalTodoVO.setTitle(oaApprovalApplicationAsset.getTitle()); + } List<OaApprovalApplicationAssetItem> oaApprovalApplicationAssetItems = approvalApplicationAssetItemMap.get(approvalApplication.getId()); if (oaApprovalApplicationAssetItems!=null){ for (OaApprovalApplicationAssetItem oaApprovalApplicationAssetItem : oaApprovalApplicationAssetItems) { @@ -468,24 +446,32 @@ case 8: OaApprovalApplicationAsset oaApprovalApplicationAssetOut = approvalApplicationAssetMap.get(approvalApplication.getId()); if (oaApprovalApplicationAssetOut!=null){ + approvalTodoVO.setTitle(oaApprovalApplicationAssetOut.getTitle()); + approvalTodoVO.setOperateTime(oaApprovalApplicationAssetOut.getOperateTime()); } break; case 9: OaApprovalApplicationAsset oaApprovalApplicationAssetBack = approvalApplicationAssetMap.get(approvalApplication.getId()); if (oaApprovalApplicationAssetBack!=null){ + approvalTodoVO.setTitle(oaApprovalApplicationAssetBack.getTitle()); + approvalTodoVO.setOperateTime(oaApprovalApplicationAssetBack.getExpectReturnDate()); } break; case 10: OaApprovalApplicationDispose oaApprovalApplicationDispose = approvalApplicationDisposeMap.get(approvalApplication.getId()); if (oaApprovalApplicationDispose!=null){ + approvalTodoVO.setTitle(oaApprovalApplicationDispose.getTitle()); + approvalTodoVO.setDisposeType(oaApprovalApplicationDispose.getDisposeType()); } break; case 11: OaApprovalApplicationChange oaApprovalApplicationChange = approvalApplicationChangeMap.get(approvalApplication.getId()); if (oaApprovalApplicationChange!=null){ + approvalTodoVO.setTitle(oaApprovalApplicationChange.getTitle()); + Integer ownershipDeptId = oaApprovalApplicationChange.getOwnershipDeptId(); TDept tDept = deptMap.get(ownershipDeptId); if (tDept!=null){ @@ -496,12 +482,14 @@ case 12: OaApprovalApplicationReimbursement oaApprovalApplicationReimbursement = approvalApplicationReimbursementMap.get(approvalApplication.getId()); if (oaApprovalApplicationReimbursement!=null){ + approvalTodoVO.setType(oaApprovalApplicationReimbursement.getType()); approvalTodoVO.setAmount(oaApprovalApplicationReimbursement.getReimbursementAmount()); } break; case 13: OaApprovalApplicationMoney oaApprovalApplicationMoney = oaApprovalApplicationMoneyMap.get(approvalApplication.getId()); if (oaApprovalApplicationMoney!=null){ + approvalTodoVO.setProjectName(oaApprovalApplicationMoney.getProjectName()); approvalTodoVO.setAmount(oaApprovalApplicationMoney.getApplyAmount()); approvalTodoVO.setDescription(oaApprovalApplicationMoney.getDescription()); @@ -510,16 +498,19 @@ case 15: OaApprovalApplicationPayment oaApprovalApplicationPayment = approvalApplicationPaymentMap.get(approvalApplication.getId()); if (oaApprovalApplicationPayment!=null){ + // todo 当前阶段没有项目id 后续完善 + approvalTodoVO.setProjectName("项目名称"); 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()); + OaApprovalApplicationAd oaApprovalApplicationAd = approvalApplicationAdMap.get(approvalApplication.getId()); + if (oaApprovalApplicationAd !=null){ + approvalTodoVO.setTitle(oaApprovalApplicationAd.getTitle()); + approvalTodoVO.setContent(oaApprovalApplicationAd.getContent()); + approvalTodoVO.setAmount(oaApprovalApplicationAd.getTotalAmount()); } break; } @@ -555,6 +546,7 @@ if (dto.getApprovalStatus() == 0) { // 中断审批流程 approvalApplications.setApprovalStatus(3); + approvalApplications.setReason(dto.getReason()); approvalApplicationsService.updateById(approvalApplications); // 删除除当前审批人该申请单的未处理的所有待办 approvalTodoService.remove(new LambdaQueryWrapper<OaApprovalTodo>() @@ -589,20 +581,49 @@ 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 9: + // 借用归还资产条数 + List<OaApprovalApplicationAssetItem> back = approvalApplicationAssetItemService.lambdaQuery() + .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, approvalApplications.getId()) + .list(); + // 借用资产条数 + OaApprovalApplicationAsset borrowApplications = approvalApplicationAssetService.lambdaQuery() + .eq(OaApprovalApplicationAsset::getApprovalApplicationId, approvalApplications.getId()) + .last("limit 1").one(); + List<OaApprovalApplicationAssetItem> borrow = approvalApplicationAssetItemService.lambdaQuery() + .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, borrowApplications.getId()) + .list(); + if (back.size()==borrow.size()){ + borrowApplications.setReturnStatus(2); + }else if (!back.isEmpty()){ + borrowApplications.setReturnStatus(1); + }else{ + borrowApplications.setReturnStatus(0); + } + approvalApplicationAssetService.updateById(borrowApplications); + saveAssetRecord(0,ApprovalTypeEnum.RETURN.getDesc(),back.stream().map(OaApprovalApplicationAssetItem::getAssetMainId) + .collect(Collectors.toList())); + case 10: assetMains.forEach(assetMain -> { assetMain.setDisposed(1); }); + saveAssetRecord(null,ApprovalTypeEnum.ASSET_DISPOSE.getDesc(),assetMains + .stream().map(AssetMain::getId).collect(Collectors.toList())); break; case 7: assetMains.forEach(assetMain -> { assetMain.setInUse(1); }); + saveAssetRecord(1,ApprovalTypeEnum.GRAB.getDesc(),assetMains + .stream().map(AssetMain::getId).collect(Collectors.toList())); break; default: assetMains.forEach(assetMain -> { assetMain.setBorrowed(1); }); + saveAssetRecord(1,ApprovalTypeEnum.BORROW.getDesc(),assetMains + .stream().map(AssetMain::getId).collect(Collectors.toList())); break; } assetMainService.updateBatchById(assetMains); @@ -611,6 +632,14 @@ if (approval.getApprovalCategory().equals(ApprovalTypeEnum.IN_STOCK.getCode())) { assetMainService.saveAssetByApprovalApplicationId(approvalApplications.getId()); } + // 资产变更 + if (approval.getApprovalCategory().equals(ApprovalTypeEnum.ASSET_CHANGE.getCode())) { + List<OaApprovalApplicationAssetItem> approvalApplicationAssetItems = approvalApplicationAssetItemService.lambdaQuery() + .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, approvalApplications.getId()).list(); + List<Integer> AssetMainIds = approvalApplicationAssetItems.stream().map(OaApprovalApplicationAssetItem::getAssetMainId).collect(Collectors.toList()); + saveAssetRecord(1,ApprovalTypeEnum.ASSET_CHANGE.getDesc(),AssetMainIds); + } + } else { log.info("不为最后一个审批节点"); // 生成下一个节点的待办事项 @@ -629,6 +658,19 @@ } } return R.ok(); + } + private void saveAssetRecord(Integer type, String approvalType,List<Integer> assetMainIds) { + List<AssetInventoryRecord> res = new ArrayList<>(); + Map<Integer, Integer> warehouseMap = assetMainService.lambdaQuery().isNotNull(AssetMain::getWarehouseId).list().stream().collect(Collectors.toMap(AssetMain::getId, AssetMain::getWarehouseId)); + for (Integer assetMainId : assetMainIds) { + AssetInventoryRecord assetInventoryRecord = new AssetInventoryRecord(); + assetInventoryRecord.setAssetMainId(assetMainId); + assetInventoryRecord.setWarehouseId(warehouseMap.get(assetMainId)); + assetInventoryRecord.setType(type); + assetInventoryRecord.setRemarks(approvalType); + res.add(assetInventoryRecord); + } + assetInventoryRecordService.saveBatch(res); } } -- Gitblit v1.7.1