Browse Source

客户、供应商期末欠款优化;

dev
wangfukang 2 years ago
parent
commit
8e52e4d51d
  1. 16
      hiver-admin/test-output/test-report.html
  2. 22
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/bill/service/impl/BillServiceImpl.java
  3. 4
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/DealingsRecordMapper.java
  4. 20
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/DealingsRecordService.java
  5. 10
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/DealingsRecordServiceImpl.java
  6. 47
      hiver-modules/hiver-mall/src/main/resources/mapper/DealingsRecordMapper.xml
  7. 1
      hiver-modules/hiver-mall/src/main/resources/mapper/PurchaseMapper.xml

16
hiver-admin/test-output/test-report.html

@ -35,7 +35,7 @@
<a href="#"><span class="badge badge-primary">Hiver</span></a>
</li>
<li class="m-r-10">
<a href="#"><span class="badge badge-primary">八月 04, 2024 16:50:15</span></a>
<a href="#"><span class="badge badge-primary">八月 04, 2024 18:32:59</span></a>
</li>
</ul>
</div>
@ -84,7 +84,7 @@
<div class="test-detail">
<span class="meta text-white badge badge-sm"></span>
<p class="name">passTest</p>
<p class="text-sm"><span>16:50:16 下午</span> / <span>0.016 secs</span></p>
<p class="text-sm"><span>18:32:59 下午</span> / <span>0.026 secs</span></p>
</div>
<div class="test-contents d-none">
<div class="detail-head">
@ -92,9 +92,9 @@
<div class="info">
<div class='float-right'><span class='badge badge-default'>#test-id=1</span></div>
<h5 class="test-status text-pass">passTest</h5>
<span class='badge badge-success'>08.04.2024 16:50:16</span>
<span class='badge badge-danger'>08.04.2024 16:50:16</span>
<span class='badge badge-default'>0.016 secs</span>
<span class='badge badge-success'>08.04.2024 18:32:59</span>
<span class='badge badge-danger'>08.04.2024 18:32:59</span>
<span class='badge badge-default'>0.026 secs</span>
</div>
<div class="m-t-10 m-l-5"></div>
</div>
@ -104,7 +104,7 @@
<tbody>
<tr class="event-row">
<td><span class="badge log pass-bg">Pass</span></td>
<td>16:50:16</td>
<td>18:32:59</td>
<td>
Test passed
</td>
@ -128,13 +128,13 @@
<div class="col-md-3">
<div class="card"><div class="card-body">
<p class="m-b-0">Started</p>
<h3>八月 04, 2024 16:50:15</h3>
<h3>八月 04, 2024 18:32:59</h3>
</div></div>
</div>
<div class="col-md-3">
<div class="card"><div class="card-body">
<p class="m-b-0">Ended</p>
<h3>八月 04, 2024 16:50:16</h3>
<h3>八月 04, 2024 18:32:59</h3>
</div></div>
</div>
<div class="col-md-3">

22
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/bill/service/impl/BillServiceImpl.java

@ -134,11 +134,10 @@ public class BillServiceImpl implements BillService {
final BigDecimal lastDebtAmount = records.get(0).getLastDebtAmount();
customerBillDataVo.setInitialArrears(lastDebtAmount);
}
// 获取最后一个的剩余欠款当做本次查询的剩余欠款
if (i == records.size() - 1) {
customerBillDataVo.setEndArrears(records.get(i).getBalanceDue());
}
}
// 因为记录分页了,所以这里不能获取最后一条数据作为获期末欠款,应该单独查询一下
final BigDecimal arrearsByUserId = dealingsRecordService.getArrearsByUserId(customerBillQueryVo);
customerBillDataVo.setEndArrears(arrearsByUserId);
}
if (!saleIdList.isEmpty()) {
@ -272,10 +271,11 @@ public class BillServiceImpl implements BillService {
/**
* 获取供应商对账单
* @author 王富康
* @date 2024/7/23
*
* @param supplierBillQueryVo
* @return SupplierBillDataVo
* @author 王富康
* @date 2024/7/23
*/
@Override
public SupplierBillDataVo getPurchaseBill(SupplierBillQueryVo supplierBillQueryVo) {
@ -295,8 +295,10 @@ public class BillServiceImpl implements BillService {
// 获取本期全部拿货总金额
final ArrearsVo saleArrearsVo = purchaseService.getArrearsAndTotalSale(supplierBillQueryVo);
if (saleArrearsVo != null) {
supplierBillDataVo.setArrears(saleArrearsVo.getArrears());
supplierBillDataVo.setTotalSale(saleArrearsVo.getTotalSale());
} else {
supplierBillDataVo.setArrears(BigDecimal.ZERO);
supplierBillDataVo.setTotalSale(BigDecimal.ZERO);
}
@ -343,11 +345,11 @@ public class BillServiceImpl implements BillService {
final BigDecimal lastDebtAmount = records.get(0).getLastDebtAmount();
supplierBillDataVo.setInitialArrears(lastDebtAmount);
}
// 获取最后一个的剩余欠款当做本次查询的剩余欠款
if (i == records.size() - 1) {
supplierBillDataVo.setEndArrears(records.get(i).getBalanceDue());
}
}
// 因为记录分页了,所以这里不能获取最后一条数据作为获期末欠款,应该单独查询一下
final BigDecimal arrearsBySupplierId = dealingsRecordService.getArrearsBySupplierId(supplierBillQueryVo);
supplierBillDataVo.setEndArrears(arrearsBySupplierId);
}
if (!purchaseIdList.isEmpty()) {

4
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/DealingsRecordMapper.java

@ -69,4 +69,8 @@ public interface DealingsRecordMapper extends BaseMapper<DealingsRecord> {
* @date 2024/8/2
*/
void deleteDealingsRecord(@Param("id") String id);
BigDecimal getArrearsByUserId(@Param("customerBillQueryVo") CustomerBillQueryVo customerBillQueryVo);
BigDecimal getArrearsBySupplierId(@Param("supplierBillQueryVo") SupplierBillQueryVo supplierBillQueryVo);
}

20
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/DealingsRecordService.java

@ -63,4 +63,24 @@ public interface DealingsRecordService extends IService<DealingsRecord> {
* @date 2024/8/2
*/
void deleteDealingsRecord(String id);
/**
* 获取客户期末欠款
*
* @param customerBillQueryVo
* @return Page<BillDealingsRecordVo>
* @author 王富康
* @date 2024/7/6
*/
BigDecimal getArrearsByUserId(CustomerBillQueryVo customerBillQueryVo);
/**
* 获取供应商期末欠款
*
* @param supplierBillQueryVo
* @return Page<BillDealingsRecordVo>
* @author 王富康
* @date 2024/7/6
*/
BigDecimal getArrearsBySupplierId(SupplierBillQueryVo supplierBillQueryVo);
}

10
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/DealingsRecordServiceImpl.java

@ -85,4 +85,14 @@ public class DealingsRecordServiceImpl extends ServiceImpl<DealingsRecordMapper,
dealingsRecordMapper.deleteDealingsRecord(id);
}
@Override
public BigDecimal getArrearsByUserId(CustomerBillQueryVo customerBillQueryVo) {
return dealingsRecordMapper.getArrearsByUserId(customerBillQueryVo);
}
@Override
public BigDecimal getArrearsBySupplierId(SupplierBillQueryVo supplierBillQueryVo) {
return dealingsRecordMapper.getArrearsBySupplierId(supplierBillQueryVo);
}
}

47
hiver-modules/hiver-mall/src/main/resources/mapper/DealingsRecordMapper.xml

@ -209,4 +209,51 @@
set del_flag = 2
where id = #{id}
</update>
<select id="getArrearsByUserId" resultType="java.math.BigDecimal">
select
tdr.balance_due
from
t_dealings_record tdr
left join t_sale ts on ts.id = tdr.sale_id and ts.shop_id = #{customerBillQueryVo.shopId} and ts.status not in ('6', '7' )
left join (
select
n.sale_id,
sum( n.total_amount ) as return_sale_total_amount
from
t_sale m
left join t_return_sale n on m.id = n.sale_id
group by
n.sale_id
) trs on ts.id = trs.sale_id
WHERE
<!--20240802 排除掉删除的交易记录-->
tdr.del_flag != 2
and tdr.dealings_user_id = #{customerBillQueryVo.customerId}
and tdr.shop_id = #{customerBillQueryVo.shopId}
<if test='customerBillQueryVo.startDate !=null and customerBillQueryVo.endDate !=null'>
and tdr.create_time BETWEEN #{customerBillQueryVo.startDate} AND #{customerBillQueryVo.endDate}
</if>
order by tdr.create_time desc
limit 1
</select>
<select id="getArrearsBySupplierId" resultType="java.math.BigDecimal">
select
tdr.balance_due
from
t_dealings_record tdr
left join t_purchase ts on ts.id = tdr.sale_id and ts.shop_id = #{supplierBillQueryVo.shopId}
WHERE
<!--20240802 排除掉删除的交易记录-->
tdr.del_flag != 2
and tdr.dealings_user_id = #{supplierBillQueryVo.supplierId}
and tdr.shop_id = #{supplierBillQueryVo.shopId}
and (tdr.sale_id is null or ts.in_storage_status = '1')
<if test='supplierBillQueryVo.startDate !=null and supplierBillQueryVo.endDate !=null'>
and tdr.create_time BETWEEN #{supplierBillQueryVo.startDate} AND #{supplierBillQueryVo.endDate}
</if>
order by tdr.create_time desc
limit 1
</select>
</mapper>

1
hiver-modules/hiver-mall/src/main/resources/mapper/PurchaseMapper.xml

@ -550,6 +550,7 @@
<select id="getArrearsAndTotalSale" resultType="cc.hiver.mall.bill.vo.ArrearsVo">
select
sum(tp.no_pay) as arrears,
sum(tp.should_pay) as total_sale
from
t_purchase tp

Loading…
Cancel
Save