From c8e7921fc1a15d0f17794212a1b3d221c54a9bf0 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Tue, 13 May 2025 18:14:55 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20=E7=8E=B0=E9=87=91/=E6=9C=88=E7=BB=93?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E9=A2=9D=E5=BA=A6=E4=B8=B4=E6=97=B6=E9=A2=9D?= =?UTF-8?q?=E5=BA=A6=E6=9F=A5=E8=AF=A2/=E8=BF=87=E6=BB=A4=E8=B0=83?= =?UTF-8?q?=E6=95=B4=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EmisCreditCustomerServiceImpl.java | 6 -- .../impl/EmisCreditSalesmenServiceImpl.java | 9 +-- .../mapper/EmisCreditCustomerMapper.xml | 68 ++++++++++++++++-- .../mapper/EmisCreditSalesmenMapper.xml | 72 +++++++++++++++++-- 4 files changed, 131 insertions(+), 24 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCreditCustomerServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCreditCustomerServiceImpl.java index 471b5ec22..ccce9dd18 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCreditCustomerServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCreditCustomerServiceImpl.java @@ -67,12 +67,6 @@ public class EmisCreditCustomerServiceImpl extends EmisBaseService public List selectEmisCreditCustomerList(EmisCreditCustomer emisCreditCustomer) { log.info("开始查询客户信用额度列表, 查询条件: {}", emisCreditCustomer); List list = emisCreditCustomerMapper.selectEmisCreditCustomerList(emisCreditCustomer); - - // 计算每个记录的临时额度总额 - for (EmisCreditCustomer item : list) { - item.setTempCreditMoney(calculateCustomerTempCreditMoney(item)); - } - log.info("查询到{}条客户信用额度记录", list.size()); return list; } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCreditSalesmenServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCreditSalesmenServiceImpl.java index 24e99e65f..0408d756f 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCreditSalesmenServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCreditSalesmenServiceImpl.java @@ -66,14 +66,7 @@ public class EmisCreditSalesmenServiceImpl extends EmisBaseService implements IE @Override public List selectEmisCreditSalesmenList(EmisCreditSalesmen emisCreditSalesmen) { log.info("开始查询销售信用额度列表"); - List list = emisCreditSalesmenMapper.selectEmisCreditSalesmenList(emisCreditSalesmen); - - // 计算每个记录的临时额度总额 - for (EmisCreditSalesmen item : list) { - item.setTempCreditMoney(calculateSalesmenTempCreditMoney(item)); - } - - return list; + return emisCreditSalesmenMapper.selectEmisCreditSalesmenList(emisCreditSalesmen); } /** diff --git a/emis-biz/src/main/resources/mapper/EmisCreditCustomerMapper.xml b/emis-biz/src/main/resources/mapper/EmisCreditCustomerMapper.xml index db067a87d..74de56fbe 100644 --- a/emis-biz/src/main/resources/mapper/EmisCreditCustomerMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisCreditCustomerMapper.xml @@ -30,7 +30,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, acc_code, salesmen, credit_money, use_money, over_term_money, in_term_money, currency, trans_type, start_date, end_date, bl_open, remark, tenant_id, del_flag, create_by, create_time, update_by, update_time, create_site, update_site + select + a.id, a.acc_code, a.salesmen, a.credit_money, + COALESCE(a.credit_money, 0) + COALESCE( + (select temp_credit_money_adjust + from emis_temp_credit_salesmen t + where t.acc_code = a.acc_code + and t.del_flag = '0' + and NOW() between t.start_date and t.end_date + order by t.create_time desc + limit 1), 0 + ) as temp_credit_money, + a.use_money, a.over_term_money, a.in_term_money, a.currency, + a.trans_type, a.start_date, a.end_date, a.bl_open, + a.remark, a.tenant_id, a.del_flag, a.create_by, + a.create_time, a.update_by, a.update_time, a.create_site, a.update_site from emis_credit_salesmen a del_flag='0' @@ -48,17 +62,65 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and update_site like concat('%', #{updateSite}, '%') - and (a.credit_money-a.use_money) = ]]> #{params.beginCurMoney} + and (COALESCE(a.credit_money, 0) + COALESCE( + (select temp_credit_money_adjust + from emis_temp_credit_salesmen t + where t.acc_code = a.acc_code + and t.del_flag = '0' + and NOW() between t.start_date and t.end_date + order by t.create_time desc + limit 1), 0 + ) - a.use_money) = ]]> #{params.beginCurMoney} - and (a.credit_money-a.use_money) #{params.endCurMoney} + and (COALESCE(a.credit_money, 0) + COALESCE( + (select temp_credit_money_adjust + from emis_temp_credit_salesmen t + where t.acc_code = a.acc_code + and t.del_flag = '0' + and NOW() between t.start_date and t.end_date + order by t.create_time desc + limit 1), 0 + ) - a.use_money) #{params.endCurMoney} - and ((a.credit_money-a.use_money)/a.credit_money)*100 = ]]> #{params.beginCurMoneyRate} + and ((COALESCE(a.credit_money, 0) + COALESCE( + (select temp_credit_money_adjust + from emis_temp_credit_salesmen t + where t.acc_code = a.acc_code + and t.del_flag = '0' + and NOW() between t.start_date and t.end_date + order by t.create_time desc + limit 1), 0 + ) - a.use_money)/(COALESCE(a.credit_money, 0) + COALESCE( + (select temp_credit_money_adjust + from emis_temp_credit_salesmen t + where t.acc_code = a.acc_code + and t.del_flag = '0' + and NOW() between t.start_date and t.end_date + order by t.create_time desc + limit 1), 0 + )))*100 = ]]> #{params.beginCurMoneyRate} - and ((a.credit_money-a.use_money)/a.credit_money)*100 #{params.endCurMoneyRate} + and ((COALESCE(a.credit_money, 0) + COALESCE( + (select temp_credit_money_adjust + from emis_temp_credit_salesmen t + where t.acc_code = a.acc_code + and t.del_flag = '0' + and NOW() between t.start_date and t.end_date + order by t.create_time desc + limit 1), 0 + ) - a.use_money)/(COALESCE(a.credit_money, 0) + COALESCE( + (select temp_credit_money_adjust + from emis_temp_credit_salesmen t + where t.acc_code = a.acc_code + and t.del_flag = '0' + and NOW() between t.start_date and t.end_date + order by t.create_time desc + limit 1), 0 + )))*100 #{params.endCurMoneyRate}