|
@@ -2,6 +2,8 @@ package com.zkqy.business.service.impl;
|
|
|
|
|
|
import java.text.DecimalFormat;
|
|
|
import java.util.List;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import com.zkqy.business.domain.*;
|
|
|
import com.zkqy.business.domain.vo.FinishedProductInvoiceVo;
|
|
@@ -65,7 +67,24 @@ public class SaleAccountsReceivableDetailServiceImpl implements ISaleAccountsRec
|
|
|
@Override
|
|
|
public List<SaleAccountsReceivableDetail> selectSaleAccountsReceivableDetailList(SaleAccountsReceivableDetail saleAccountsReceivableDetail)
|
|
|
{
|
|
|
- return saleAccountsReceivableDetailMapper.selectSaleAccountsReceivableDetailList(saleAccountsReceivableDetail);
|
|
|
+ List<SaleAccountsReceivableDetail> list = saleAccountsReceivableDetailMapper.selectSaleAccountsReceivableDetailList(saleAccountsReceivableDetail);
|
|
|
+ if(saleAccountsReceivableDetail.getStatus().equals("1")){
|
|
|
+ //获取客户编号
|
|
|
+ Set<Long> customerIds = list.stream().map(SaleAccountsReceivableDetail::getCustomerId).collect(Collectors.toSet());
|
|
|
+ for (Long customerId : customerIds){
|
|
|
+ Customer customer = customerMapper.selectCustomerById(customerId);
|
|
|
+ //查询客户余额
|
|
|
+ Double amount = customer.getAmount();
|
|
|
+ for (SaleAccountsReceivableDetail detail : list){
|
|
|
+ if (detail.getCustomerId().equals(customerId)){
|
|
|
+ amount += detail.getAmountReceivable();
|
|
|
+ detail.setAmounts(handlingWeight(amount));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -255,17 +274,18 @@ public class SaleAccountsReceivableDetailServiceImpl implements ISaleAccountsRec
|
|
|
saleAccountsReceivableDetailMapper.deleteSaleAccountsReceivableDetailById(saleAccountsReceivableDetail.getId());
|
|
|
|
|
|
// 计算客户余额
|
|
|
- //查询该客户所有的应收帐明细
|
|
|
- SaleAccountsReceivableDetail saleAccountsReceivableDetail1 = new SaleAccountsReceivableDetail();
|
|
|
- saleAccountsReceivableDetail1.setCustomerId(saleAccountsReceivableDetail.getCustomerId());
|
|
|
- saleAccountsReceivableDetail1.setStatus("2");//审核通过明细
|
|
|
- List<SaleAccountsReceivableDetail> list = saleAccountsReceivableDetailMapper.selectAccountsReceivableDetailList(saleAccountsReceivableDetail1);
|
|
|
+ //查询该客户当前明细后所有的应收帐明细
|
|
|
+ List<SaleAccountsReceivableDetail> list = saleAccountsReceivableDetailMapper.selectAfterAccountsReceivableDetailList(saleAccountsReceivableDetail.getCustomerId(),saleAccountsReceivableDetail.getId());
|
|
|
|
|
|
|
|
|
//根据客户编号查询客户信息和余额
|
|
|
Customer customer = customerMapper.selectCustomerById(saleAccountsReceivableDetail.getCustomerId());
|
|
|
//客户余额
|
|
|
- Double amount = 0.0;
|
|
|
+ Double amount = customer.getAmount();
|
|
|
+ amount += saleAccountsReceivableDetail.getReceivedAmount();
|
|
|
+ customer.setAmount(handlingWeight(amount));
|
|
|
+ customerMapper.updateCustomer(customer);
|
|
|
+
|
|
|
|
|
|
for (SaleAccountsReceivableDetail detail : list){
|
|
|
//如果是账务类型是收款或其他收款
|
|
@@ -285,10 +305,7 @@ public class SaleAccountsReceivableDetailServiceImpl implements ISaleAccountsRec
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 修改客户余额
|
|
|
- customer.setAmount(amount);
|
|
|
-
|
|
|
- return customerMapper.updateCustomer(customer);
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
@@ -306,14 +323,10 @@ public class SaleAccountsReceivableDetailServiceImpl implements ISaleAccountsRec
|
|
|
productOutboundRecord.getProductColour().equals(saleAccountsReceivableDetail.getProductColour()) &&
|
|
|
productOutboundRecord.getLevels().equals(saleAccountsReceivableDetail.getProductLevel()) &&
|
|
|
productOutboundRecord.getLotNum().equals(saleAccountsReceivableDetail.getLotNumber())){
|
|
|
-
|
|
|
-
|
|
|
+ // 删除当前出库编号
|
|
|
+ productOutboundRecordBatchMapper.deleteProductOutboundRecordBatchByOutBoundRecordId(productOutboundRecord.getId());
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
// 删除收款明细
|
|
|
saleAccountsReceivableDetailMapper.deleteSaleAccountsReceivableDetailById(saleAccountsReceivableDetail.getId());
|
|
|
|