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 |  162 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 117 insertions(+), 45 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 d090997..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;
@@ -84,6 +48,8 @@
 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;
@@ -108,7 +74,8 @@
  */
 @RestController
 @RequestMapping("/oa-approval-flow-audit")
-@Api(tags = "我审批的/我发起的/通用审批接口")
+@Api(tags = "我审批的-我发起的-通用审批接口")
+@Slf4j
 public class OaApprovalFlowAuditController {
     @Resource
     private OaApprovalTodoService approvalTodoService;
@@ -141,6 +108,9 @@
     private OaApprovalApplicationMoneyService approvalApplicationMoneyService;
     @Resource
     private AssetMainService assetMainService;
+    @Resource
+
+    private AssetInventoryRecordService assetInventoryRecordService;
     @Resource
     private OaApprovalApplicationStorageAssetService oaApprovalApplicationStorageAssetService;
     @Resource
@@ -226,6 +196,8 @@
         List<OaApprovalApplications> approvalApplications = approvalApplicationsService.lambdaQuery().in(OaApprovalApplications::getId, applicationIds).list();
         for (OaApprovalApplications approvalApplication : approvalApplications) {
             ApprovalTodoVO approvalTodoVO = new ApprovalTodoVO();
+            approvalTodoVO.setApprovalStatus(approvalApplication.getApprovalStatus());
+            approvalTodoVO.setApplicationReason(approvalApplication.getApplicationReason());
             approvalTodoVO.setApprovalCategory(approvalMap.get(approvalApplication.getApprovalId()).getApprovalCategory());
             switch (approvalTodoVO.getApprovalCategory()){
                 case 1:
@@ -243,7 +215,7 @@
             }
             SysUser sysUser = userMap.get(approvalApplication.getApplicantUserId().longValue());
             if (sysUser!=null){
-                approvalTodoVO.setApplyUserName(sysUser.getUserName());
+                approvalTodoVO.setApplyUserName(sysUser.getNickName());
                 TDept tDept = deptMap.get(Integer.parseInt(sysUser.getDeptId()));
                 if (tDept!=null){
                     approvalTodoVO.setApplyDeptName(tDept.getDeptName());
@@ -257,17 +229,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) {
@@ -287,24 +267,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){
@@ -315,12 +303,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());
 
@@ -329,6 +319,8 @@
                 case 15:
                     OaApprovalApplicationPayment oaApprovalApplicationPayment = approvalApplicationPaymentMap.get(approvalApplication.getId());
                     if (oaApprovalApplicationPayment!=null){
+                        // todo 当前阶段没有项目id 后续完善
+                        approvalTodoVO.setProjectName("项目名称");
                         approvalTodoVO.setAmount(oaApprovalApplicationPayment.getApplyAmount());
                         approvalTodoVO.setDescription(approvalApplication.getApplicationReason());
 
@@ -337,6 +329,7 @@
                 case 17:
                     OaApprovalApplicationAdvertisement oaApprovalApplicationAdvertisement = approvalApplicationAdvertisementMap.get(approvalApplication.getId());
                     if (oaApprovalApplicationAdvertisement!=null){
+                        approvalTodoVO.setTitle(oaApprovalApplicationAdvertisement.getTitle());
                         approvalTodoVO.setContent(oaApprovalApplicationAdvertisement.getContent());
                         approvalTodoVO.setAmount(oaApprovalApplicationAdvertisement.getTotalAmount());
                     }
@@ -404,6 +397,8 @@
         List<OaApprovalApplications> approvalApplications = approvalApplicationsService.lambdaQuery().in(OaApprovalApplications::getId, applicationIds).list();
         for (OaApprovalApplications approvalApplication : approvalApplications) {
             ApprovalTodoVO approvalTodoVO = new ApprovalTodoVO();
+            approvalTodoVO.setApprovalStatus(approvalApplication.getApprovalStatus());
+            approvalTodoVO.setApplicationReason(approvalApplication.getApplicationReason());
             approvalTodoVO.setApprovalCategory(approvalMap.get(approvalApplication.getApprovalId()).getApprovalCategory());
             switch (approvalTodoVO.getApprovalCategory()){
                 case 1:
@@ -421,7 +416,7 @@
             }
             SysUser sysUser = userMap.get(approvalApplication.getApplicantUserId().longValue());
             if (sysUser!=null){
-                approvalTodoVO.setApplyUserName(sysUser.getUserName());
+                approvalTodoVO.setApplyUserName(sysUser.getNickName());
                 TDept tDept = deptMap.get(Integer.parseInt(sysUser.getDeptId()));
                 if (tDept!=null){
                     approvalTodoVO.setApplyDeptName(tDept.getDeptName());
@@ -435,17 +430,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) {
@@ -465,24 +468,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){
@@ -493,12 +504,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());
 
@@ -507,6 +520,8 @@
                 case 15:
                     OaApprovalApplicationPayment oaApprovalApplicationPayment = approvalApplicationPaymentMap.get(approvalApplication.getId());
                     if (oaApprovalApplicationPayment!=null){
+                        // todo 当前阶段没有项目id 后续完善
+                        approvalTodoVO.setProjectName("项目名称");
                         approvalTodoVO.setAmount(oaApprovalApplicationPayment.getApplyAmount());
                         approvalTodoVO.setDescription(approvalApplication.getApplicationReason());
 
@@ -515,6 +530,7 @@
                 case 17:
                     OaApprovalApplicationAdvertisement oaApprovalApplicationAdvertisement = approvalApplicationAdvertisementMap.get(approvalApplication.getId());
                     if (oaApprovalApplicationAdvertisement!=null){
+                        approvalTodoVO.setTitle(oaApprovalApplicationAdvertisement.getTitle());
                         approvalTodoVO.setContent(oaApprovalApplicationAdvertisement.getContent());
                         approvalTodoVO.setAmount(oaApprovalApplicationAdvertisement.getTotalAmount());
                     }
@@ -532,6 +548,7 @@
     @Log(title = "审批-通用审批接口", businessType = BusinessType.INSERT)
     @ApiOperation(value = "通用审批接口")
     @PostMapping(value = "/audit")
+    @Transactional
     public R addLeave(@RequestBody AuditDTO dto) {
 
         OaApprovalApplications approvalApplications = approvalApplicationsService.getById(dto.getApprovalApplicationId());
@@ -570,6 +587,7 @@
         approvalFlowAudit.setReason(dto.getReason());
         approvalFlowAuditService.save(approvalFlowAudit);
         List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery().eq(OaApprovalFlowNode::getApprovalId, approval.getId())
+                .eq(OaApprovalFlowNode::getStatus,1)
                 .orderByAsc(OaApprovalFlowNode::getSortOrder).list();
         if (dto.getApprovalStatus() == 1) {
             // 判断当前是否处于最后一个节点
@@ -584,20 +602,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);
@@ -606,20 +653,45 @@
                 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("不为最后一个审批节点");
                 // 生成下一个节点的待办事项
                 for (int i = 0; i < approvalFlowNodes.size(); i++) {
-                    if (approvalApplications.getCurrentFlowNodeId()
-                            .equals(approvalFlowNodes.get(i).getId())) {
+                    if (approvalApplications.getCurrentFlowNodeId().equals(approvalFlowNodes.get(i).getId())) {
+                        log.info("匹配到审批流程,进入下一节点,当前节点id:{}", approvalFlowNodes.get(i));
+                        // 申请单审批流程修改为下一节点
                         approvalApplications.setCurrentFlowNodeId(approvalFlowNodes.get(i + 1).getId());
-                        OaApprovalFlowNode oaApprovalFlowNode1 = approvalFlowNodeService.getById(approvalFlowNodes.get(i + 1).getId());
+                        approvalApplicationsService.updateById(approvalApplications);
+                        OaApprovalFlowNode oaApprovalFlowNode1 = approvalFlowNodes.get(i + 1);
                         approvalTodoService.createApprovalTodos(approvalApplications.getId(),
                                 approvalApplications.getApplicationCode(), oaApprovalFlowNode1, approvalApplications.getDeptId());
+                        break;
                     }
                 }
             }
         }
         return R.ok();
+    }
 
+    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