From 88f2a615a6c547adfd992334f42d7cd4aea8d55b Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 11 十月 2025 11:28:12 +0800
Subject: [PATCH] 资产报修

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java |   75 ++++++++++++++++++-------------------
 1 files changed, 36 insertions(+), 39 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 549aa10..192d1eb 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,11 @@
 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.model.*;
 import com.ruoyi.system.query.ApprovalDetailQuery;
 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;
@@ -144,6 +108,9 @@
     private OaApprovalApplicationMoneyService approvalApplicationMoneyService;
     @Resource
     private AssetMainService assetMainService;
+    @Resource
+
+    private AssetInventoryRecordService assetInventoryRecordService;
     @Resource
     private OaApprovalApplicationStorageAssetService oaApprovalApplicationStorageAssetService;
     @Resource
@@ -655,20 +622,29 @@
                                 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);
@@ -677,6 +653,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("不为最后一个审批节点");
                 // 生成下一个节点的待办事项
@@ -695,6 +679,19 @@
             }
         }
         return R.ok();
+    }
 
+    private  void saveAssetRecord(Integer type, String approvalType,List<Integer> assetMainIds) {
+        List<AssetInventoryRecord> res = new ArrayList<>();
+        Map<Integer, Integer> warehouseMap = assetMainService.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