From 84f47a3d7d22501d1b6d3991d7488e0e1185cd6a Mon Sep 17 00:00:00 2001 From: linfso Date: Tue, 11 Mar 2025 11:18:07 +0800 Subject: [PATCH] md --- .../erp/emis/service/EmisBaseService.java | 39 +++++++++++++++++++ .../service/impl/EmisWaybillServiceImpl.java | 8 ++++ .../mapper/EmisCreditCustomerMapper.xml | 4 ++ 3 files changed, 51 insertions(+) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java index e6ee165a0..240f3d5a6 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java @@ -56,7 +56,11 @@ package com.xdadan.erp.emis.service; public class EmisBaseService { + @Autowired + private EmisCreditCustomerMapper emisCreditCustomerMapper; + @Autowired + private EmisCreditSalesmenMapper emisCreditSalesmenMapper; @Autowired private ISysConfigService configService; @@ -206,6 +210,41 @@ public class EmisBaseService { return emisExchangeRateMapper.getValidExchangeRate(from, to,rateDate); } + /** + * 占用下单额度 + * @param emisWaybill + */ + public void occupyQuotaCredit(EmisWaybill emisWaybill) throws EmisBizError { + String paymentType=emisWaybill.getPaymentType(); + // 月结客户 + if("2".equals(paymentType) + || "4".equals(paymentType) + || "5".equals(paymentType) + ){ + // 月结额度占用 + EmisCreditCustomer queryCreditCustomer = new EmisCreditCustomer(); + queryCreditCustomer.setMonthlyPayCode(emisWaybill.getCustNo()); + queryCreditCustomer.getParams().put("sendDate",emisWaybill.getSendDate()); + queryCreditCustomer.setTransType(emisWaybill.getTransType()); + List listCreditCustomer=emisCreditCustomerMapper.selectEmisCreditCustomerList(queryCreditCustomer); + if(!CollectionUtils.isEmpty(listCreditCustomer)){ + EmisCreditCustomer item0=listCreditCustomer.get(0); + if(emisWaybill.getFreight().compareTo(item0.getCurMoney()) == 1 ){ + // 提示异常 + throw new EmisBizError(EmisBizErrorType.FAIL, "超出信用额度"); + }else{ + // 扣减额度,插入扣额度数据明细 + // 重算总额度 + } + } + }else{ + // 现金额度占用 + + } + + + } + /** diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index 79ab4d03b..d51b61eae 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -2296,6 +2296,13 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb throw new EmisBizError(EmisBizErrorType.FAIL, "网点余额不足,请充值"); } + // 判断客户额度,现金判断现金客户,月结判断月结客户额度 + // 获取月结客户现金额度 + + + + + // -------------------------- // 登记网点 if(isNew) { @@ -3002,6 +3009,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb // 公共计算部分 calcWayBillCommonInfo(emisWaybillSave,null,true); + String goodsPicsStr=emisWaybillSave.getGoodsPics(); if(!StringUtils.isEmpty(goodsPicsStr)) { emisWaybillSave.setGoodsPics("1"); diff --git a/emis-biz/src/main/resources/mapper/EmisCreditCustomerMapper.xml b/emis-biz/src/main/resources/mapper/EmisCreditCustomerMapper.xml index 60ab2e3c2..84806bb09 100644 --- a/emis-biz/src/main/resources/mapper/EmisCreditCustomerMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisCreditCustomerMapper.xml @@ -72,6 +72,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.cur_money_rate #{params.endCurMoneyRate} + + and ( a.start_date #{params.sendDate} ) and ( #{params.sendDate} a.end_date ) + + and b.payee = #{params.payee}