From 6e3f63bc953e8d47d4bf013d13058198a6ff7d64 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 28 十月 2025 18:56:13 +0800
Subject: [PATCH] 广告物料整体项目结算表接口修改
---
ruoyi-system/src/main/resources/mapper/system/AssetAdMaterialIntegralSettlementMapper.xml | 1 +
ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdMaterialIntegralSettlement.java | 4 ++++
ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/AssetAdMaterialIntegralSettlementDTO.java | 5 +++++
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetAdMaterialIntegralSettlementServiceImpl.java | 9 ++++++++-
ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetAdMaterialIntegralSettlementVO.java | 4 ++++
5 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/AssetAdMaterialIntegralSettlementDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/AssetAdMaterialIntegralSettlementDTO.java
index 4d6d712..3935250 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/AssetAdMaterialIntegralSettlementDTO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/AssetAdMaterialIntegralSettlementDTO.java
@@ -8,6 +8,7 @@
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
@@ -42,6 +43,10 @@
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate installationDate;
+ @ApiModelProperty(value = "合计金额")
+ @NotNull(message = "合计金额不能为空")
+ private BigDecimal totalAmount;
+
@ApiModelProperty(value = "明细列表")
@NotEmpty(message = "明细列表不能为空")
private List<AssetAdMaterialIntegralSettlementInfoDTO> infos;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdMaterialIntegralSettlement.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdMaterialIntegralSettlement.java
index c542705..89f064c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdMaterialIntegralSettlement.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdMaterialIntegralSettlement.java
@@ -11,6 +11,7 @@
import lombok.experimental.Accessors;
import java.io.Serializable;
+import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
@@ -53,6 +54,9 @@
@ApiModelProperty(value = "安装时间")
private LocalDate installationDate;
+ @ApiModelProperty(value = "合计金额")
+ private BigDecimal totalAmount;
+
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetAdMaterialIntegralSettlementServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetAdMaterialIntegralSettlementServiceImpl.java
index 6638e68..20da403 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetAdMaterialIntegralSettlementServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetAdMaterialIntegralSettlementServiceImpl.java
@@ -33,6 +33,8 @@
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
@@ -68,6 +70,7 @@
uploadToOss(list);
// 保存主表
AssetAdMaterialIntegralSettlement assetAdMaterialIntegralSettlement = BeanUtil.copyProperties(dto, AssetAdMaterialIntegralSettlement.class);
+ assetAdMaterialIntegralSettlement.setTotalAmount(calculateTotalAmount(list));
assetAdMaterialIntegralSettlement.setCreateBy(SecurityUtils.getLoginUser().getUser().getNickName());
assetAdMaterialIntegralSettlement.setDeptId(Integer.parseInt(SecurityUtils.getLoginUser().getUser().getDeptId()));
save(assetAdMaterialIntegralSettlement);
@@ -79,7 +82,11 @@
throw new RuntimeException(e);
}
}
-
+ private BigDecimal calculateTotalAmount(List<AssetAdMaterialIntegralSettlementInfoImport> list) {
+ return list.stream().map(item -> BigDecimal.valueOf(item.getQuantity())
+ .multiply(item.getUnitPrice()).setScale(2, RoundingMode.HALF_UP))
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ }
private void validateFields(List<AssetAdMaterialIntegralSettlementInfoImport> list) {
Optional<AssetAdMaterialIntegralSettlementInfoImport> any = list.stream()
.filter(item -> StringUtils.isBlank(item.getAdName())).findAny();
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetAdMaterialIntegralSettlementVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetAdMaterialIntegralSettlementVO.java
index 4ada16e..69b9aef 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetAdMaterialIntegralSettlementVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetAdMaterialIntegralSettlementVO.java
@@ -5,6 +5,7 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
@@ -34,6 +35,9 @@
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDate installationDate;
+ @ApiModelProperty(value = "合计金额")
+ private BigDecimal totalAmount;
+
@ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime createTime;
diff --git a/ruoyi-system/src/main/resources/mapper/system/AssetAdMaterialIntegralSettlementMapper.xml b/ruoyi-system/src/main/resources/mapper/system/AssetAdMaterialIntegralSettlementMapper.xml
index bd646cf..276822a 100644
--- a/ruoyi-system/src/main/resources/mapper/system/AssetAdMaterialIntegralSettlementMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/AssetAdMaterialIntegralSettlementMapper.xml
@@ -11,6 +11,7 @@
aamis.settlement_institution,
aamis.address,
aamis.installation_date,
+ aamis.total_amount,
aamis.create_time,
aamis.create_by,
aamis.update_time,
--
Gitblit v1.7.1