From adac0a0877656f6a1fcff3873496084b5f38058f Mon Sep 17 00:00:00 2001 From: linfso Date: Thu, 15 Aug 2024 18:02:34 +0800 Subject: [PATCH] md --- .../web/emis/EmisSettleSubBillController.java | 21 ++++++-- .../impl/EmisSettleBillServiceImpl.java | 7 ++- .../EmisWaybillAjustApplyServiceImpl.java | 17 +----- .../mapper/EmisTmsScanRecordMapper.xml | 54 ++++++++++++++----- 4 files changed, 65 insertions(+), 34 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleSubBillController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleSubBillController.java index f173ecba6..b41dc42b7 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleSubBillController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleSubBillController.java @@ -16,13 +16,13 @@ import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletResponse; -import com.xdadan.erp.emis.domain.EmisSitePrepaidRecharge; -import com.xdadan.erp.emis.domain.EmisWaybill; -import com.xdadan.erp.emis.domain.EmisWaybillAjustApply; +import com.xdadan.erp.emis.domain.*; import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType; import com.xdadan.erp.emis.domain.exception.EmisBizError; import com.xdadan.erp.emis.service.EmisBaseService; +import com.xdadan.erp.emis.service.IEmisSettleBillService; import com.xdadan.erp.emis.utils.WaybillHelper; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -42,7 +42,6 @@ import com.xdadan.erp.common.core.page.TableDataInfo; import com.xdadan.erp.common.enums.BusinessType; import com.xdadan.erp.common.utils.poi.ExcelUtil; -import com.xdadan.erp.emis.domain.EmisSettleSubBill; import com.xdadan.erp.emis.service.IEmisSettleSubBillService; /** @@ -61,6 +60,10 @@ public class EmisSettleSubBillController extends EmisBaseController @Autowired private EmisBaseService emisBaseService; + @Autowired + private IEmisSettleBillService emisSettleBillService; + + /** * 查询结算子账单列表 @@ -240,6 +243,16 @@ public class EmisSettleSubBillController extends EmisBaseController emisBaseService.confirmBillByCenter(emisSettleSubBill); + // 判断账单是否已经被合并,若被合并则需要重新计算费用 + // 重新计算总账单费用 + // 获取账单是否已经被合并,若合并则更新账单费用 + if(!StringUtils.isEmpty(old.getSettleBillNo())) { + EmisSettleBill oldSettleBill=emisSettleBillService.selectEmisSettleBillBySettleBillNo(old.getSettleBillNo()); + if(oldSettleBill!=null) { + emisSettleBillService.reCalcSettleBillFee(oldSettleBill); + } + } + }catch (Exception ex){ ex.printStackTrace(); // 返回子定义异常 diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java index 5dc3fc848..740d4b62b 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java @@ -344,9 +344,12 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS // 部分收款 emisSettleBill.setPaymentStatus("2"); } - } - //发票状态不改变 + // 如果已开票,则调整为部分开票 + if("1".equals(emisSettleBill.getOpenBillStatus())){ + emisSettleBill.setOpenBillStatus("2"); + } + } // 账单总金额 return emisSettleBillMapper.updateEmisSettleBill(emisSettleBill); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillAjustApplyServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillAjustApplyServiceImpl.java index 50d4e58d5..50e341e36 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillAjustApplyServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillAjustApplyServiceImpl.java @@ -45,8 +45,6 @@ public class EmisWaybillAjustApplyServiceImpl extends EmisBaseService implements @Autowired private IEmisWaybillService emisWaybillService; - @Autowired - private IEmisSettleBillService emisSettleBillService; /** * 查询运单调整申请 @@ -212,20 +210,7 @@ public class EmisWaybillAjustApplyServiceImpl extends EmisBaseService implements emisWaybillService.reUpdateWayBill(emisWaybillOld,emisWaybillSave); - // 重新计算总账单费用 - // 获取账单是否已经被合并,若合并则更新账单费用 - if(!CollectionUtils.isEmpty(emisSettleSubBillList)) { - // 如果只有一个子账单,则更新总账单 - if(emisSettleSubBillList.size()==1) { - EmisSettleSubBill emisSettleSubBill=emisSettleSubBillList.get(0); - if(!StringUtils.isEmpty(emisSettleSubBill.getSettleBillNo())) { - EmisSettleBill old=emisSettleBillService.selectEmisSettleBillBySettleBillNo(emisSettleSubBill.getSettleBillNo()); - if(old!=null) { - emisSettleBillService.reCalcSettleBillFee(old); - } - } - } - } + // 审核通过 return emisWaybillAjustApplyMapper.auditCenterPass(emisWaybillAjustApply); diff --git a/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml b/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml index 0b5fdb9dd..194866080 100644 --- a/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisTmsScanRecordMapper.xml @@ -169,7 +169,7 @@ - + - select a.main_bill_code as bill_code,a.main_bill_code,a.bl_sub_bill,a.scan_type,max(scan_date) as scan_date, + select a.main_bill_code as bill_code,a.main_bill_code,a.bl_sub_bill,a.scan_type,scan_date as scan_date, a.pre_or_next_station,a.pre_or_next_station_code,a.scan_site, a.scan_site_code,a.scan_man,a.scan_man_code from emis_tms_scan_record a,emis_waybill b where a.del_flag='0' and b.del_flag='0' and a.main_bill_code=b.bill_code and b.bl_sign!='1' - and a.main_bill_code in( - select distinct x.main_bill_code - from emis_tms_scan_record x - where x.del_flag='0' and x.scan_site_code=#{scanSiteCode} - and x.scan_type=#{scanType} - and x.pre_or_next_station_code=#{preOrNextStationCode} - and x.scan_man_code=#{scanManCode} - and x.scan_date = ]]> #{params.beginScanDate} - and x.scan_date #{params.endScanDate} - ) + and a.id in( + ) + + +