生成账单费用合并;

This commit is contained in:
王奎兴
2026-03-14 18:57:06 +08:00
parent e029cbcb1f
commit 0d61ae880b
6 changed files with 23 additions and 10 deletions
@@ -83,8 +83,8 @@ public class Ysitem {
@ApiModelProperty( "") @ApiModelProperty( "")
private String def75; private String def75;
@ApiModelProperty( "") // @ApiModelProperty( "")
private String def29; // private String def29;
//税率id //税率id
private String taxcodeid; private String taxcodeid;
@@ -235,7 +235,7 @@ public class BillManageImpl extends ServiceImpl<BillManageMapper, BillManage> im
} }
} }
String invoiceItemName = String.join(",", names); String invoiceItemName = String.join(",", names);
item.setDef29(invoiceItemName); //item.setDef29(invoiceItemName);
item.setScomment("业务部:应收"+appointShipper+invoiceItemName+invoiceNumber); item.setScomment("业务部:应收"+appointShipper+invoiceItemName+invoiceNumber);
// item.setPk_currtype("CNY"); // item.setPk_currtype("CNY");
item.setPk_currtype(settlementCurrencyNcCode); item.setPk_currtype(settlementCurrencyNcCode);
@@ -212,14 +212,14 @@ public class BillManageDomainService {
billOperationLogDO.setOperationType(1); billOperationLogDO.setOperationType(1);
boolean three = billOperationLogDomainService.saveBillOperationLog(billOperationLogDO); boolean three = billOperationLogDomainService.saveBillOperationLog(billOperationLogDO);
//修改流水记录 //修改流水记录
billingStatementDTO.getBillingStatementList().forEach(billingStatementADDVO -> { /*billingStatementDTO.getBillingStatementList().forEach(billingStatementADDVO -> {
billingStatementMapper.update(null, billingStatementMapper.update(null,
new LambdaUpdateWrapper<BillingStatement>().set(BillingStatement::getTaxAmount,billingStatementADDVO.getTaxAmount()) new LambdaUpdateWrapper<BillingStatement>().set(BillingStatement::getTaxAmount,billingStatementADDVO.getTaxAmount())
.set(BillingStatement::getTaxRate,billingStatementADDVO.getTaxRate()) .set(BillingStatement::getTaxRate,billingStatementADDVO.getTaxRate())
.set(BillingStatement::getTaxFreeFee,billingStatementADDVO.getTaxFreeFee()) .set(BillingStatement::getTaxFreeFee,billingStatementADDVO.getTaxFreeFee())
.set(BillingStatement::getSettlementCurrency,billingStatementADDVO.getSettlementCurrency()) .set(BillingStatement::getSettlementCurrency,billingStatementADDVO.getSettlementCurrency())
.eq(BillingStatement::getBillingStatementId,billingStatementADDVO.getBillingStatementId())); .eq(BillingStatement::getBillingStatementId,billingStatementADDVO.getBillingStatementId()));
}); });*/
return flag && flagTwo && three; return flag && flagTwo && three;
} }
@@ -240,8 +240,8 @@ public class BillManageDomainService {
List<BillingStatementPO> billingStatementPOS = billingStatementDomainService.queryList(billingStatementDO); List<BillingStatementPO> billingStatementPOS = billingStatementDomainService.queryList(billingStatementDO);
List<BillingStatementADDVO> billingStatementList = billingStatementDTO.getBillingStatementList(); List<BillingStatementADDVO> billingStatementList = billingStatementDTO.getBillingStatementList();
for (BillingStatementPO billingStatementPO : billingStatementPOS) { for (BillingStatementPO billingStatementPO : billingStatementPOS) {
Long billingStatementId = billingStatementPO.getBillingStatementId(); String billingStatementId = billingStatementPO.getBillingStatementId() == null ? "" : String.valueOf(billingStatementPO.getBillingStatementId());
BillingStatementADDVO billingStatementADDVO = billingStatementList.stream().filter(billingStatementADDVO1 -> billingStatementADDVO1.getBillingStatementId().equals(billingStatementId)).findFirst().orElse(null); BillingStatementADDVO billingStatementADDVO = billingStatementList.stream().filter(billingStatementADDVO1 -> billingStatementADDVO1.getBillingStatementId().contains(billingStatementId)).findFirst().orElse(null);
billingStatementPO.setTaxAmount(billingStatementADDVO.getTaxAmount()); // 设置税额 billingStatementPO.setTaxAmount(billingStatementADDVO.getTaxAmount()); // 设置税额
billingStatementPO.setTaxRate(billingStatementADDVO.getTaxRate()); // 设置税率 billingStatementPO.setTaxRate(billingStatementADDVO.getTaxRate()); // 设置税率
billingStatementPO.setTaxFreeFee(billingStatementADDVO.getTaxFreeFee()); // 设置税免金额 billingStatementPO.setTaxFreeFee(billingStatementADDVO.getTaxFreeFee()); // 设置税免金额
@@ -249,11 +249,23 @@ public class BillManageDomainService {
billingStatementPO.setFeeType(billingStatementADDVO.getFeeType()); billingStatementPO.setFeeType(billingStatementADDVO.getFeeType());
billingStatementPO.setInvoiceItem(billingStatementADDVO.getInvoiceItem()); billingStatementPO.setInvoiceItem(billingStatementADDVO.getInvoiceItem());
billingStatementPO.setInvoiceItemName(billingStatementADDVO.getInvoiceItemName()); billingStatementPO.setInvoiceItemName(billingStatementADDVO.getInvoiceItemName());
billingStatementPO.setBillingAmount(billingStatementADDVO.getBillingAmount());
billingStatementPO.setBillingStatementIdStr(billingStatementADDVO.getBillingStatementId());
} }
List<BillingStatementPO> distinctList = billingStatementPOS.stream()
.filter(Objects::nonNull)
.collect(Collectors.toMap(
BillingStatementPO::getBillingStatementIdStr, // key:去重字段
po -> po, // value:对象本身
(existing, replacement) -> existing // 重复时保留第一个
))
.values()
.stream().collect(Collectors.toList());
if(billingStatementPOS==null || billingStatementPOS.size()==0){ if(billingStatementPOS==null || billingStatementPOS.size()==0){
throw new ServiceException("所选流水信息未找到"); throw new ServiceException("所选流水信息未找到");
} }
return saveBill(billingStatementPOS,billingStatementDTO.getBillingRemark(),billingStatementDTO.getBillCreateTime(),billingStatementDTO); return saveBill(distinctList,billingStatementDTO.getBillingRemark(),billingStatementDTO.getBillCreateTime(),billingStatementDTO);
} }
@@ -23,7 +23,7 @@ public class BillingStatementADDVO extends BaseVOEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty("计费流水id") @ApiModelProperty("计费流水id")
private Long billingStatementId; private String billingStatementId;
@ApiModelProperty("结算对象") @ApiModelProperty("结算对象")
@Excel(name = "结算对象") @Excel(name = "结算对象")
@@ -214,5 +214,6 @@ public class BillingStatementPO extends BaseVOEntity{
private String invoiceItemName; private String invoiceItemName;
@ApiModelProperty(value = "费用类别") @ApiModelProperty(value = "费用类别")
private String feeType; private String feeType;
private String billingStatementIdStr;
} }
@@ -721,7 +721,7 @@ public class ReconciliationImpl extends ServiceImpl<ReconciliationMapper, Reconc
} }
} }
String invoiceItemName = String.join(",", names); String invoiceItemName = String.join(",", names);
item.setDef29(invoiceItemName); //item.setDef29(invoiceItemName);
item.setScomment("业务部:应收"+appointShipper+invoiceItemName+invoiceNumber); item.setScomment("业务部:应收"+appointShipper+invoiceItemName+invoiceNumber);
// item.setPk_currtype("CNY"); // item.setPk_currtype("CNY");
item.setPk_currtype(settlementCurrencyNcCode); item.setPk_currtype(settlementCurrencyNcCode);