demand: TMS系统财务销账优化

committer: heyu
This commit is contained in:
aike 2025-09-17 10:13:27 +08:00
parent 2487a81ab0
commit 19f295c9db
2 changed files with 40 additions and 0 deletions

View File

@ -26,6 +26,8 @@ import org.springframework.web.bind.annotation.PathVariable;
import java.util.Arrays;
import java.util.List;
import java.math.BigDecimal;
import java.util.stream.Collectors;
/**
* 销账申请Controller
@ -68,6 +70,34 @@ public class EmisWriteoffApplyController extends EmisBaseController {
startPage();
List<EmisWriteoffApply> list = emisWriteoffApplyService.selectEmisWriteoffApplyList(emisWriteoffApply);
// 计算并设置申请账单相关字段
for (EmisWriteoffApply apply : list) {
if (apply.getDetailList() != null && !apply.getDetailList().isEmpty()) {
// 提取账单名称列表(去重)
List<String> billNames = apply.getDetailList().stream()
.map(detail -> detail.getEmisSettleBill() != null ? detail.getEmisSettleBill().getSettleBillName() : null)
.filter(name -> name != null && !name.trim().isEmpty())
.distinct()
.collect(Collectors.toList());
apply.setApplySettleBillName(String.join(",", billNames));
// 提取账单号列表(去重)
List<String> billNos = apply.getDetailList().stream()
.map(detail -> detail.getSettleBillNo())
.filter(no -> no != null && !no.trim().isEmpty())
.distinct()
.collect(Collectors.toList());
apply.setApplySettleBillNo(String.join(",", billNos));
// 计算账单金额总和
BigDecimal totalAmount = apply.getDetailList().stream()
.map(detail -> detail.getEmisSettleBill() != null ? detail.getEmisSettleBill().getRecMoney() : BigDecimal.ZERO)
.reduce(BigDecimal.ZERO, BigDecimal::add);
apply.setApplyRecMoney(totalAmount);
}
}
return getDataTable(list);
}

View File

@ -15,6 +15,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xdadan.erp.common.annotation.Excel;
import com.xdadan.erp.common.annotation.audit.DataAuditField;
import com.xdadan.erp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -42,6 +43,15 @@ public class EmisWriteoffApply extends BaseEntity {
@Excel(name = "申请编号")
private String applyNo;
/* 申请账单名称 */
private String applySettleBillName;
/* 申请账单号 */
private String applySettleBillNo;
/* 申请账单金额 */
private BigDecimal applyRecMoney;
/* 申请人编码 */
@Excel(name = "申请人编码")
private String applyManCode;