From baed9b68c8cb6b693d3c010f039d2c55bf242e0e Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 16 十月 2025 18:09:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java | 133 +++++++++++++++++--------------------------
1 files changed, 53 insertions(+), 80 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..911b992 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));
@@ -360,11 +303,11 @@
}
break;
case 17:
- OaApprovalApplicationAdvertisement oaApprovalApplicationAdvertisement = approvalApplicationAdvertisementMap.get(approvalApplication.getId());
- if (oaApprovalApplicationAdvertisement!=null){
- approvalTodoVO.setTitle(oaApprovalApplicationAdvertisement.getTitle());
- 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;
}
@@ -416,9 +359,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));
@@ -561,11 +504,11 @@
}
break;
case 17:
- OaApprovalApplicationAdvertisement oaApprovalApplicationAdvertisement = approvalApplicationAdvertisementMap.get(approvalApplication.getId());
- if (oaApprovalApplicationAdvertisement!=null){
- approvalTodoVO.setTitle(oaApprovalApplicationAdvertisement.getTitle());
- 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;
}
@@ -655,20 +598,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 +629,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 +655,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