From dc17fd68722d2fa1fc35f4ba37452cee8d2f5516 Mon Sep 17 00:00:00 2001 From: jishenghua <752718920@qq.com> Date: Tue, 6 Jan 2026 12:17:55 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=99=E9=87=87=E8=B4=AD=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E5=92=8C=E9=94=80=E5=94=AE=E5=87=BA=E5=BA=93=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=9C=80=E7=BB=88=E6=AC=A0=E6=AC=BE=E7=9A=84=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mappers/AccountHeadMapperEx.java | 4 +-- .../erp/datasource/vo/DepotHeadVo4List.java | 16 +++++++++- .../jsh/erp/service/AccountHeadService.java | 4 +-- .../com/jsh/erp/service/DepotHeadService.java | 29 ++++++++----------- .../mapper_xml/AccountHeadMapperEx.xml | 7 +++-- jshERP-web/src/views/bill/PurchaseInList.vue | 7 +++-- jshERP-web/src/views/bill/SaleOutList.vue | 7 +++-- 7 files changed, 43 insertions(+), 31 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java index f363a999..be14215e 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/AccountHeadMapperEx.java @@ -38,7 +38,7 @@ public interface AccountHeadMapperEx { List getAccountHeadListByHandsPersonIds(@Param("handsPersonIds") String[] handsPersonIds); - List getFinancialBillNoByBillIdList( + List getFinancialBillPriceByBillIdList( @Param("idList") List idList); List getFinancialBillNoByBillId( @@ -46,4 +46,4 @@ public interface AccountHeadMapperEx { BigDecimal getFinancialAllPriceByOrganId( @Param("organId") Long organId); -} \ No newline at end of file +} diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/vo/DepotHeadVo4List.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/vo/DepotHeadVo4List.java index cc8b58c1..9140a667 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/vo/DepotHeadVo4List.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/vo/DepotHeadVo4List.java @@ -47,6 +47,12 @@ public class DepotHeadVo4List extends DepotHead{ * 是否有付款单或收款单 */ private Boolean hasFinancialFlag; + + /** + * 最终欠款 + */ + private BigDecimal lastDebt; + /** * 是否有退款单 */ @@ -229,6 +235,14 @@ public class DepotHeadVo4List extends DepotHead{ this.hasFinancialFlag = hasFinancialFlag; } + public BigDecimal getLastDebt() { + return lastDebt; + } + + public void setLastDebt(BigDecimal lastDebt) { + this.lastDebt = lastDebt; + } + public Boolean getHasBackFlag() { return hasBackFlag; } @@ -276,4 +290,4 @@ public class DepotHeadVo4List extends DepotHead{ public void setPhoneNum(String phoneNum) { this.phoneNum = phoneNum; } -} \ No newline at end of file +} diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/AccountHeadService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/AccountHeadService.java index e183734a..db0bbd86 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/AccountHeadService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/AccountHeadService.java @@ -410,8 +410,8 @@ public class AccountHeadService { return resList; } - public List getFinancialBillNoByBillIdList(List idList) { - return accountHeadMapperEx.getFinancialBillNoByBillIdList(idList); + public List getFinancialBillPriceByBillIdList(List idList) { + return accountHeadMapperEx.getFinancialBillPriceByBillIdList(idList); } public List getFinancialBillNoByBillId(Long billId) { diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/DepotHeadService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/DepotHeadService.java index 128ffe44..cfded2bf 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/DepotHeadService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/DepotHeadService.java @@ -133,7 +133,7 @@ public class DepotHeadService { } //通过批量查询去构造map Map finishDepositMap = getFinishDepositMapByNumberList(numberList); - Map financialBillNoMap = getFinancialBillNoMapByBillIdList(idList); + Map financialBillPriceMap = getFinancialBillPriceMapByBillIdList(idList); Map billSizeMap = getBillSizeMapByLinkNumberList(numberList); Map materialsListMap = findMaterialsListMapByHeaderIdList(idList); Map materialCountListMap = getMaterialCountListMapByHeaderIdList(idList); @@ -180,10 +180,11 @@ public class DepotHeadService { BigDecimal changeAmount = dh.getChangeAmount()!=null?dh.getChangeAmount():BigDecimal.ZERO; BigDecimal debt = discountLastMoney.add(otherMoney).subtract((deposit.add(changeAmount))); dh.setDebt(roleService.parseBillPriceByLimit(debt, billCategory, priceLimit, request)); - //是否有付款单或收款单 - if(financialBillNoMap!=null) { - Integer financialBillNoSize = financialBillNoMap.get(dh.getId()); - dh.setHasFinancialFlag(financialBillNoSize!=null && financialBillNoSize>0); + //最终欠款的金额 + if(financialBillPriceMap!=null) { + BigDecimal financialBillPrice = financialBillPriceMap.get(dh.getId())!=null?financialBillPriceMap.get(dh.getId()):BigDecimal.ZERO; + BigDecimal lastDebt = debt.subtract(financialBillPrice); + dh.setLastDebt(roleService.parseBillPriceByLimit(lastDebt, billCategory, priceLimit, request)); } //是否有退款单 if(billSizeMap!=null) { @@ -345,14 +346,14 @@ public class DepotHeadService { return billListMap; } - public Map getFinancialBillNoMapByBillIdList(List idList) { - Map billListMap = new HashMap<>(); - if(idList.size()>0) { - List list = accountHeadService.getFinancialBillNoByBillIdList(idList); - if(list!=null && list.size()>0) { + private Map getFinancialBillPriceMapByBillIdList(List idList) { + Map billListMap = new HashMap<>(); + if(!idList.isEmpty()) { + List list = accountHeadService.getFinancialBillPriceByBillIdList(idList); + if(list!=null && !list.isEmpty()) { for (AccountItem accountItem : list) { if(accountItem!=null) { - billListMap.put(accountItem.getBillId(), list.size()); + billListMap.put(accountItem.getBillId(), accountItem.getEachAmount().abs()); } } } @@ -982,7 +983,6 @@ public class DepotHeadService { numberList.add(dh.getNumber()); } //通过批量查询去构造map - Map financialBillNoMap = getFinancialBillNoMapByBillIdList(idList); Map billSizeMap = getBillSizeMapByLinkNumberList(numberList); Map materialsListMap = findMaterialsListMapByHeaderIdList(idList); Map materialCountListMap = getMaterialCountListMapByHeaderIdList(idList); @@ -1023,11 +1023,6 @@ public class DepotHeadService { BigDecimal changeAmount = dh.getChangeAmount()!=null?dh.getChangeAmount():BigDecimal.ZERO; BigDecimal debt = discountLastMoney.add(otherMoney).subtract((deposit.add(changeAmount))); dh.setDebt(roleService.parseBillPriceByLimit(debt, billCategory, priceLimit, request)); - //是否有付款单或收款单 - if(financialBillNoMap!=null) { - Integer financialBillNoSize = financialBillNoMap.get(dh.getId()); - dh.setHasFinancialFlag(financialBillNoSize!=null && financialBillNoSize>0); - } //是否有退款单 if(billSizeMap!=null) { Integer billListSize = billSizeMap.get(dh.getNumber()); diff --git a/jshERP-boot/src/main/resources/mapper_xml/AccountHeadMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/AccountHeadMapperEx.xml index 5ad8f90d..d2c4a090 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/AccountHeadMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/AccountHeadMapperEx.xml @@ -133,8 +133,8 @@ and ifnull(delete_flag,'0') !='1' - + select ai.bill_id, sum(ai.each_amount) each_amount from jsh_account_head ah left join jsh_account_item ai on ah.id=ai.header_id and ifnull(ai.delete_flag,'0') !='1' where 1=1 @@ -144,6 +144,7 @@ and ifnull(ah.delete_flag,'0') !='1' + group by ai.bill_id - \ No newline at end of file + diff --git a/jshERP-web/src/views/bill/PurchaseInList.vue b/jshERP-web/src/views/bill/PurchaseInList.vue index a7f49269..61ae760d 100644 --- a/jshERP-web/src/views/bill/PurchaseInList.vue +++ b/jshERP-web/src/views/bill/PurchaseInList.vue @@ -186,10 +186,10 @@ @@ -279,7 +279,7 @@ }, // 默认索引 defDataIndex:['action','organName','number','materialsList','operTimeStr','userName','materialCount','totalPrice','totalTaxLastMoney', - 'needInMoney','changeAmount','debt','status'], + 'changeAmount','debt','lastDebt','status'], // 默认列 defColumns: [ { @@ -326,6 +326,7 @@ { title: '本次欠款', dataIndex: 'debt',width:80, scopedSlots: { customRender: 'customRenderDebt' } }, + { title: '最终欠款', dataIndex: 'lastDebt',width:80}, { title: '备注', dataIndex: 'remark',width:200}, { title: '状态', dataIndex: 'status', width: 80, align: "center", scopedSlots: { customRender: 'customRenderStatus' } diff --git a/jshERP-web/src/views/bill/SaleOutList.vue b/jshERP-web/src/views/bill/SaleOutList.vue index cf415c74..eb22e473 100644 --- a/jshERP-web/src/views/bill/SaleOutList.vue +++ b/jshERP-web/src/views/bill/SaleOutList.vue @@ -196,10 +196,10 @@ @@ -289,7 +289,7 @@ }, // 默认索引 defDataIndex:['action','organName','number','materialsList','operTimeStr','userName','materialCount','totalPrice','totalTaxLastMoney', - 'needOutMoney','changeAmount','debt','status'], + 'changeAmount','debt','lastDebt','status'], // 默认列 defColumns: [ { @@ -336,6 +336,7 @@ { title: '本次欠款', dataIndex: 'debt',width:80, scopedSlots: { customRender: 'customRenderDebt' } }, + { title: '最终欠款', dataIndex: 'lastDebt',width:80}, { title: '销售人员', dataIndex: 'salesManStr',width:120}, { title: '备注', dataIndex: 'remark',width:200}, { title: '状态', dataIndex: 'status', width: 80, align: "center",