From 0b000122279046106df19d5f18f242659677e6c5 Mon Sep 17 00:00:00 2001 From: linfso Date: Mon, 8 Jul 2024 16:53:58 +0800 Subject: [PATCH] md --- .../erp/web/emis/EmisCommonController.java | 27 +++++++++++++++++ .../EmisSettleSubBillFeeitemMapper.java | 3 ++ .../emis/mapper/EmisSettleSubBillMapper.java | 4 +++ .../erp/emis/service/EmisBaseService.java | 29 ++++++++++++++----- .../mapper/EmisSettleSubBillFeeitemMapper.xml | 8 +++-- .../mapper/EmisSettleSubBillMapper.xml | 7 +++-- 6 files changed, 66 insertions(+), 12 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 2e178d081..ec8000d8a 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 @@ -469,6 +469,33 @@ public class EmisCommonController extends EmisBaseController } + /** + * 单独出账 + * @return + */ + @GetMapping("/redoBillByBillCode") + public AjaxResult redoBillByBillCode(String billCode){ + String lockKey="redoBillByBillCode_"+billCode; + // 加锁查询 + redissonService.lock(lockKey,300); + try{ + emisBaseService.redoGenerateBill(billCode); + } + catch (Exception ex){ + redissonService.unlock(lockKey); + + ex.printStackTrace(); + // 返回子定义异常 + if(ex instanceof EmisBizError){ + return AjaxResult.error(ex.getMessage(),((EmisBizError)ex).getErrorCode()); + } + + return AjaxResult.error("确认异常,联系客服"); + } + redissonService.unlock(lockKey); + return AjaxResult.success("发送成功"); + + } /** * 自动出账触发 diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSettleSubBillFeeitemMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSettleSubBillFeeitemMapper.java index 67a7a4087..594369447 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSettleSubBillFeeitemMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSettleSubBillFeeitemMapper.java @@ -77,4 +77,7 @@ public interface EmisSettleSubBillFeeitemMapper extends BaseMapper * @return 结果 */ public int deleteEmisSettleSubBillByIds(Long[] ids); + + + public int deleteEmisSettleSubBillByBillCode(String billCode); + } 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 9438a079c..b4566b686 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 @@ -950,16 +950,32 @@ public class EmisBaseService { List list = emisWaybillMapper.selectWaitDoBillList(qEmisWaybill); if(!CollectionUtil.isEmpty(list)){ for(EmisWaybill dt:list){ - redoGenerateBill(dt.getBillCode()); + try { + redoGenerateBill(dt.getBillCode()); + }catch (Exception ex){ + ex.printStackTrace(); + } + } } } - public void redoGenerateBill(String billCode){ + public void redoGenerateBill(String billCode) throws EmisBizError{ log.error("===>Start 运单出账:"+billCode); - try { + + // 已确认的不允许出账 + EmisSettleSubBill querySubBill=getSettleSubBillByBillCode(billCode); + if(!"0".equals(querySubBill.getBlConfirm())){ + log.error("===>账单财务确认不允许出账!"); + throw new EmisBizError(EmisBizErrorType.FAIL,"账单财务确认不允许出账"); + } + + // 删除已出账单 + emisSettleSubBillMapper.deleteEmisSettleSubBillByBillCode(billCode); + emisSettleSubBillFeeitemMapper.deleteEmisSettleSubBillFeeitemByBillCode(billCode); + + // 重新出账 EmisWaybill dt=emisWaybillMapper.selectEmisWaybillByBillCode(billCode); - // 需要先删除账单 // 生成分账单明细 EmisSettleSubBill emisSettleSubBill=new EmisSettleSubBill(); @@ -1011,16 +1027,13 @@ public class EmisBaseService { emisSettleSubBillFeeitem.setFeeCode(feeitem.getFeeCode()); emisSettleSubBillFeeitem.setFeeName(feeitem.getFeeName()); emisSettleSubBillFeeitem.setOrigFee(feeitem.getRealFee()); - emisSettleSubBillFeeitem.setRemark("运费明细:"+feeitem.getFeeName()); + emisSettleSubBillFeeitem.setRemark(feeitem.getRemark()); emisSettleSubBillFeeitemMapper.insertEmisSettleSubBillFeeitem(emisSettleSubBillFeeitem); } } // 出账标识 emisWaybillMapper.updateHasDoBill(dt); - }catch (Exception ex){ - ex.printStackTrace(); - } log.error("===>End 运单出账"); } diff --git a/emis-biz/src/main/resources/mapper/EmisSettleSubBillFeeitemMapper.xml b/emis-biz/src/main/resources/mapper/EmisSettleSubBillFeeitemMapper.xml index 8bbcd3c71..a4a0da045 100644 --- a/emis-biz/src/main/resources/mapper/EmisSettleSubBillFeeitemMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisSettleSubBillFeeitemMapper.xml @@ -138,12 +138,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + update emis_settle_sub_bill_feeitem set del_flag='1' where bill_code = #{billCode} and del_flag='0' + + - delete from emis_settle_sub_bill_feeitem where id = #{id} + update emis_settle_sub_bill_feeitem set del_flag='1' where id = #{id} - delete from emis_settle_sub_bill_feeitem where id in + update emis_settle_sub_bill_feeitem set del_flag='1' where id in #{id} diff --git a/emis-biz/src/main/resources/mapper/EmisSettleSubBillMapper.xml b/emis-biz/src/main/resources/mapper/EmisSettleSubBillMapper.xml index febb44053..449fd3227 100644 --- a/emis-biz/src/main/resources/mapper/EmisSettleSubBillMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisSettleSubBillMapper.xml @@ -486,13 +486,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + update emis_settle_sub_bill set del_flag='1' where bill_code = #{billCode} and del_flag='0' + - delete from emis_settle_sub_bill where id = #{id} + update emis_settle_sub_bill set del_flag='1' where id = #{id} - delete from emis_settle_sub_bill where id in + update emis_settle_sub_bill set del_flag='1' where id in #{id}