From ac900593f17102f1ef453e24f1339d795c765586 Mon Sep 17 00:00:00 2001 From: linfso Date: Fri, 14 Mar 2025 18:08:08 +0800 Subject: [PATCH] md --- .../erp/web/emis/EmisCommonController.java | 25 +++++++++ .../emis/mapper/EmisCreditCustomerMapper.java | 9 ++- .../emis/mapper/EmisCreditSalesmenMapper.java | 10 +++- .../erp/emis/service/EmisBaseService.java | 55 +++++++++++++------ .../mapper/EmisCreditCustomerMapper.xml | 4 +- .../mapper/EmisCreditSalesmenMapper.xml | 4 +- 6 files changed, 83 insertions(+), 24 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java index cbfdd431d..6d45daf5c 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java @@ -710,6 +710,31 @@ public class EmisCommonController extends EmisBaseController } + /** + * 自动出账触发 + * @return + */ + @GetMapping("/autoDoCreditTrigger") + public AjaxResult autoDoCreditTrigger(){ + String lockKey="autoDoCreditTrigger"; + log.info("autoDoCreditTrigger start"); + + // 加锁查询 + redissonService.lock(lockKey,300); + try{ + emisBaseService.autoDoCredit(); + }catch(Exception ex){ + ex.printStackTrace(); + log.error("autoDoCreditTrigger exception:"+ex.getMessage()); + } + log.info("autoDoCreditTrigger end"); + + redissonService.unlock(lockKey); + return AjaxResult.success("发送成功"); + + } + + /** * 单独出账 diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCreditCustomerMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCreditCustomerMapper.java index cd2531fa2..957dbbb40 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCreditCustomerMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCreditCustomerMapper.java @@ -76,8 +76,13 @@ public interface EmisCreditCustomerMapper extends BaseMapper */ public int updateEmisCreditCustomer(EmisCreditCustomer emisCreditCustomer); - - public int changeBalance(@Param("accCode") String accCode,@Param("changeMoney") BigDecimal changeMoney); + /** + * 改变使用金额 + * @param id + * @param useMoney + * @return + */ + public int updateUseMoney(@Param("id") Long id,@Param("useMoney") BigDecimal useMoney); /** * 删除 diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCreditSalesmenMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCreditSalesmenMapper.java index b5745f5a9..2d75ff18d 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCreditSalesmenMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCreditSalesmenMapper.java @@ -73,7 +73,15 @@ public interface EmisCreditSalesmenMapper extends BaseMapper */ public int updateEmisCreditSalesmen(EmisCreditSalesmen emisCreditSalesmen); - public int changeBalance(@Param("accCode") String accCode, @Param("changeMoney") BigDecimal changeMoney); + /** + * 改变占用额度 + * @param id + * @param useMoney + * @return + */ + public int updateUseMoney(@Param("id") Long id,@Param("useMoney") BigDecimal useMoney); + + /** * 删除 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 7c9a2d94c..4d5c19ca1 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 @@ -353,10 +353,7 @@ public class EmisBaseService { Map useMoneyMap=emisCreditCustomerMapper.getUseMoneyMap(item0); BigDecimal useMoney = (BigDecimal)useMoneyMap.get("useMoney"); - EmisCreditCustomer upd = new EmisCreditCustomer(); - upd.setId(item0.getId()); - upd.setUseMoney(useMoney); - emisCreditCustomerMapper.updateEmisCreditCustomer(upd); + emisCreditCustomerMapper.updateUseMoney(item0.getId(),useMoney); } } else if ("1".equals(oldPaymentType) || "3".equals(oldPaymentType)) { // 现金额度占用 @@ -368,10 +365,7 @@ public class EmisBaseService { Map useMoneyMap=emisCreditSalesmenMapper.getUseMoneyMap(item0); BigDecimal useMoney = (BigDecimal)useMoneyMap.get("useMoney"); - EmisCreditSalesmen upd = new EmisCreditSalesmen(); - upd.setId(item0.getId()); - upd.setUseMoney(useMoney); - emisCreditSalesmenMapper.updateEmisCreditSalesmen(upd); + emisCreditSalesmenMapper.updateUseMoney(item0.getId(),useMoney); } } } @@ -392,10 +386,7 @@ public class EmisBaseService { Map useMoneyMap=emisCreditCustomerMapper.getUseMoneyMap(item0); BigDecimal useMoney = (BigDecimal)useMoneyMap.get("useMoney"); - EmisCreditCustomer upd = new EmisCreditCustomer(); - upd.setId(item0.getId()); - upd.setUseMoney(useMoney); - emisCreditCustomerMapper.updateEmisCreditCustomer(upd); + emisCreditCustomerMapper.updateUseMoney(item0.getId(),useMoney); } } else if ("1".equals(newPaymentType) || "3".equals(newPaymentType)) { // 现金额度占用 @@ -405,11 +396,7 @@ public class EmisBaseService { // 获取已使用金额 Map useMoneyMap=emisCreditSalesmenMapper.getUseMoneyMap(item0); BigDecimal useMoney = (BigDecimal)useMoneyMap.get("useMoney"); - - EmisCreditSalesmen upd = new EmisCreditSalesmen(); - upd.setId(item0.getId()); - upd.setUseMoney(useMoney); - emisCreditSalesmenMapper.updateEmisCreditSalesmen(upd); + emisCreditSalesmenMapper.updateUseMoney(item0.getId(),useMoney); } } @@ -1471,6 +1458,40 @@ public class EmisBaseService { } } + /** + * 每日自动计算额度 + */ + public void autoDoCredit() { + // 计算销售员额度 + EmisCreditSalesmen querySalesmen = new EmisCreditSalesmen(); + List listSalemen = emisCreditSalesmenMapper.selectEmisCreditSalesmenList(querySalesmen); + if(!CollectionUtil.isEmpty(listSalemen)){ + for(EmisCreditSalesmen item:listSalemen){ + try { + Map useMoneyMap=emisCreditSalesmenMapper.getUseMoneyMap(item); + BigDecimal useMoney = (BigDecimal)useMoneyMap.get("useMoney"); + emisCreditSalesmenMapper.updateUseMoney(item.getId(),useMoney); + }catch (Exception ex){ + ex.printStackTrace(); + } + } + } + + // 计算月结额度 + EmisCreditCustomer queryCreditCustomer= new EmisCreditCustomer(); + List listCreditCustomer = emisCreditCustomerMapper.selectEmisCreditCustomerList(queryCreditCustomer); + if(!CollectionUtil.isEmpty(listCreditCustomer)){ + for(EmisCreditCustomer item:listCreditCustomer){ + try { + Map useMoneyMap=emisCreditCustomerMapper.getUseMoneyMap(item); + BigDecimal useMoney = (BigDecimal)useMoneyMap.get("useMoney"); + emisCreditCustomerMapper.updateUseMoney(item.getId(),useMoney); + }catch (Exception ex){ + ex.printStackTrace(); + } + } + } + } @Transactional diff --git a/emis-biz/src/main/resources/mapper/EmisCreditCustomerMapper.xml b/emis-biz/src/main/resources/mapper/EmisCreditCustomerMapper.xml index 391051107..bb5616076 100644 --- a/emis-biz/src/main/resources/mapper/EmisCreditCustomerMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisCreditCustomerMapper.xml @@ -214,8 +214,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - update emis_credit_customer set use_money = use_money + #{changeMoney} where acc_code = #{accCode} + + update emis_credit_customer set use_money = #{useMoney} where id = #{id} diff --git a/emis-biz/src/main/resources/mapper/EmisCreditSalesmenMapper.xml b/emis-biz/src/main/resources/mapper/EmisCreditSalesmenMapper.xml index a0fd97bf1..be804afe4 100644 --- a/emis-biz/src/main/resources/mapper/EmisCreditSalesmenMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisCreditSalesmenMapper.xml @@ -182,8 +182,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - update emis_credit_salesmen set use_money = use_money + #{changeMoney} where acc_code = #{accCode} + + update emis_credit_salesmen set use_money = #{useMoney} where id = #{id}