diff --git a/hiver-admin/test-output/test-report.html b/hiver-admin/test-output/test-report.html index f779fe9d..3b2d869d 100644 --- a/hiver-admin/test-output/test-report.html +++ b/hiver-admin/test-output/test-report.html @@ -35,7 +35,7 @@ Hiver
  • -���� 04, 2024 16:50:15 +���� 04, 2024 18:32:59
  • @@ -84,7 +84,7 @@

    passTest

    -

    16:50:16 ���� / 0.016 secs

    +

    18:32:59 ���� / 0.026 secs

    @@ -92,9 +92,9 @@
    #test-id=1
    passTest
    -08.04.2024 16:50:16 -08.04.2024 16:50:16 -0.016 secs +08.04.2024 18:32:59 +08.04.2024 18:32:59 +0.026 secs
    @@ -104,7 +104,7 @@ Pass - 16:50:16 + 18:32:59 Test passed @@ -128,13 +128,13 @@

    Started

    -

    ���� 04, 2024 16:50:15

    +

    ���� 04, 2024 18:32:59

    Ended

    -

    ���� 04, 2024 16:50:16

    +

    ���� 04, 2024 18:32:59

    diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/bill/service/impl/BillServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/bill/service/impl/BillServiceImpl.java index 764dc485..3109f309 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/bill/service/impl/BillServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/bill/service/impl/BillServiceImpl.java @@ -81,7 +81,7 @@ public class BillServiceImpl implements BillService { if (saleArrearsVo != null) { customerBillDataVo.setArrears(saleArrearsVo.getArrears()); customerBillDataVo.setTotalSale(saleArrearsVo.getTotalSale()); - }else{ + } else { customerBillDataVo.setArrears(BigDecimal.ZERO); customerBillDataVo.setTotalSale(BigDecimal.ZERO); } @@ -90,7 +90,7 @@ public class BillServiceImpl implements BillService { final ArrearsVo returnSaleArrearsVo = returnSaleService.getTotalReturn(customerBillQueryVo); if (returnSaleArrearsVo != null) { customerBillDataVo.setTotalReturn(returnSaleArrearsVo.getTotalReturn()); - }else{ + } else { customerBillDataVo.setTotalReturn(BigDecimal.ZERO); } // 根据客户id及日期范围对账单明细 @@ -99,13 +99,13 @@ public class BillServiceImpl implements BillService { // 获取saleId,去查询销售单的商品明细,及退货单的商品明细 final List saleIdList = new ArrayList<>(); - if(records.isEmpty()){ + if (records.isEmpty()) { //未开单,查询客户欠款,作为初期欠款和期末欠款 - final Debt debt = debtService.selectByUserId(customerBillQueryVo.getShopId(),customerBillQueryVo.getCustomerId()); + final Debt debt = debtService.selectByUserId(customerBillQueryVo.getShopId(), customerBillQueryVo.getCustomerId()); // 要查新客户的创建时间,根据用户的创建时间来判断; // 如果查询时间小于创建时间,那么初期欠款和期末欠款应该为0 // 如果查询的时间大于创建时间,那么初期欠款和期末欠款应该为客户欠款 - if(debt != null){ + if (debt != null) { final Date createTime = debt.getCreateTime(); final String endDate = customerBillQueryVo.getEndDate(); final Date enddate; @@ -115,18 +115,18 @@ public class BillServiceImpl implements BillService { throw new RuntimeException(e); } // 以为现在创建客户就创建了欠款信息,那么就按照欠款信息的创建时间作为标识 - if(createTime.after(enddate)){ + if (createTime.after(enddate)) { customerBillDataVo.setInitialArrears(BigDecimal.ZERO); customerBillDataVo.setEndArrears(BigDecimal.ZERO); - }else{ + } else { customerBillDataVo.setInitialArrears(debt.getAmountOwed()); customerBillDataVo.setEndArrears(debt.getAmountOwed()); } } - }else{ + } else { for (int i = 0; i < records.size(); i++) { - if(StringUtils.isNotEmpty(records.get(i).getSaleId())){ + if (StringUtils.isNotEmpty(records.get(i).getSaleId())) { saleIdList.add(records.get(i).getSaleId()); } // 根据时间升序查询的,这里获取第一个的初期欠款当做本次查询的初期欠款 @@ -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{ + } else { + supplierBillDataVo.setArrears(BigDecimal.ZERO); supplierBillDataVo.setTotalSale(BigDecimal.ZERO); } @@ -306,13 +308,13 @@ public class BillServiceImpl implements BillService { // 获取saleId,去查询销售单的商品明细,及退货单的商品明细 final List purchaseIdList = new ArrayList<>(); - if(records.isEmpty()){ + if (records.isEmpty()) { //未开单,查询客户欠款,作为初期欠款和期末欠款 - final Debt debt = debtService.selectByUserId(supplierBillQueryVo.getShopId(),supplierBillQueryVo.getSupplierId()); + final Debt debt = debtService.selectByUserId(supplierBillQueryVo.getShopId(), supplierBillQueryVo.getSupplierId()); // 要查新客户的创建时间,根据用户的创建时间来判断; // 如果查询时间小于创建时间,那么初期欠款和期末欠款应该为0 // 如果查询的时间大于创建时间,那么初期欠款和期末欠款应该为客户欠款 - if(debt != null){ + if (debt != null) { final Date createTime = debt.getCreateTime(); final String endDate = supplierBillQueryVo.getEndDate(); Date enddate = new Date(); @@ -324,18 +326,18 @@ public class BillServiceImpl implements BillService { throw new RuntimeException(e); } // 以为现在创建客户就创建了欠款信息,那么就按照欠款信息的创建时间作为标识 - if(createTime.after(enddate)){ + if (createTime.after(enddate)) { supplierBillDataVo.setInitialArrears(BigDecimal.ZERO); supplierBillDataVo.setEndArrears(BigDecimal.ZERO); - }else{ + } else { supplierBillDataVo.setInitialArrears(debt.getAmountOwed()); supplierBillDataVo.setEndArrears(debt.getAmountOwed()); } } - }else{ + } else { for (int i = 0; i < records.size(); i++) { - if(StringUtils.isNotEmpty(records.get(i).getPurchaseId())){ + if (StringUtils.isNotEmpty(records.get(i).getPurchaseId())) { purchaseIdList.add(records.get(i).getPurchaseId()); } // 根据时间升序查询的,这里获取第一个的初期欠款当做本次查询的初期欠款 @@ -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()) { @@ -368,7 +370,7 @@ public class BillServiceImpl implements BillService { } // 获取入库单规格明细 final List stockLogList = stockLogService.getPurchaseDetails(purchaseIdList); - final Map> stockLogMap = new HashMap<>(); + final Map> stockLogMap = new HashMap<>(); for (StockLog stockLog : stockLogList) { final String detailId = stockLog.getDetailId(); if (stockLogMap.containsKey(detailId)) { diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/DealingsRecordMapper.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/DealingsRecordMapper.java index 749e22e5..a68b55c0 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/DealingsRecordMapper.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/DealingsRecordMapper.java @@ -69,4 +69,8 @@ public interface DealingsRecordMapper extends BaseMapper { * @date 2024/8/2 */ void deleteDealingsRecord(@Param("id") String id); + + BigDecimal getArrearsByUserId(@Param("customerBillQueryVo") CustomerBillQueryVo customerBillQueryVo); + + BigDecimal getArrearsBySupplierId(@Param("supplierBillQueryVo") SupplierBillQueryVo supplierBillQueryVo); } \ No newline at end of file diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/DealingsRecordService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/DealingsRecordService.java index 4daba7b2..200a9141 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/DealingsRecordService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/DealingsRecordService.java @@ -63,4 +63,24 @@ public interface DealingsRecordService extends IService { * @date 2024/8/2 */ void deleteDealingsRecord(String id); + + /** + * 获取客户期末欠款 + * + * @param customerBillQueryVo + * @return Page + * @author 王富康 + * @date 2024/7/6 + */ + BigDecimal getArrearsByUserId(CustomerBillQueryVo customerBillQueryVo); + + /** + * 获取供应商期末欠款 + * + * @param supplierBillQueryVo + * @return Page + * @author 王富康 + * @date 2024/7/6 + */ + BigDecimal getArrearsBySupplierId(SupplierBillQueryVo supplierBillQueryVo); } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/DealingsRecordServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/DealingsRecordServiceImpl.java index 3075c98d..96987be1 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/DealingsRecordServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/DealingsRecordServiceImpl.java @@ -85,4 +85,14 @@ public class DealingsRecordServiceImpl extends ServiceImpl + + + + \ No newline at end of file diff --git a/hiver-modules/hiver-mall/src/main/resources/mapper/PurchaseMapper.xml b/hiver-modules/hiver-mall/src/main/resources/mapper/PurchaseMapper.xml index e923e16d..aa904b50 100644 --- a/hiver-modules/hiver-mall/src/main/resources/mapper/PurchaseMapper.xml +++ b/hiver-modules/hiver-mall/src/main/resources/mapper/PurchaseMapper.xml @@ -550,6 +550,7 @@