From c1732c22a4d1d278fe3a8388f95b65978bb83e06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Mon, 25 Apr 2022 01:59:35 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E7=94=9F=E6=88=90=E5=B7=A5?= =?UTF-8?q?=E6=97=B6=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xm/core/ctrl/XmTaskSbillController.java | 2 +- .../core/service/XmTaskSbillDetailService.java | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java index 582a0858..855dc677 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java @@ -240,7 +240,7 @@ public class XmTaskSbillController { detail.setSbillId(batchJoinToSbill.getSbillId()); detail.setProjectId(projectId); detail.setCtime(new Date()); - this.xmTaskSbillDetailService.calcSamt(detail); + this.xmTaskSbillDetailService.preCalcSamt(detail); canAdd.add(detail); } this.xmTaskSbillService.batchJoinToSbill(canAdd,details); diff --git a/xm-core/src/main/java/com/xm/core/service/XmTaskSbillDetailService.java b/xm-core/src/main/java/com/xm/core/service/XmTaskSbillDetailService.java index 345a5862..cb6fe9db 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmTaskSbillDetailService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmTaskSbillDetailService.java @@ -67,15 +67,17 @@ public class XmTaskSbillDetailService extends BaseService { public void preCalcSamt(XmTaskSbillDetail detail) { if(detail.getQuoteAt()!=null){ detail.setSamt(detail.getQuoteAt()); - return; - } - if(detail.getBudgetAt()==null && detail.getQuoteAt()==null){ + }else if(detail.getBudgetAt()==null && detail.getQuoteAt()==null){ detail.setSamt(BigDecimal.ZERO); - return; - } - if(detail.getBudgetAt()!=null){ + }else if(detail.getBudgetAt()!=null){ detail.setSamt(detail.getBudgetAt()); - return; + } + if("1".equals(detail.getOshare())){ + if(detail.getShareFee()!=null && detail.getShareFee().compareTo(BigDecimal.ZERO)>0){ + if(detail.getSamt()!=null){ + detail.setSamt(detail.getSamt().subtract(detail.getShareFee())); + } + } } }