瀏覽代碼

采购付款功能修改

yzc 1 年之前
父節點
當前提交
177d39bb2d

+ 1 - 1
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountPaymentServiceImpl.java

@@ -99,7 +99,7 @@ public class AccountPaymentServiceImpl extends ServiceImpl<AccountPaymentMapper,
 
         //权限过滤:打款-子公司看自己的
         wrapper.in("ap.company_id", SecurityUtils.getCompanyIds());
-        wrapper.eq("ap.company_id", dto.getCompanyId());
+        wrapper.eq(ObjectUtil.isNotEmpty(dto.getCompanyId()), "ap.company_id", dto.getCompanyId());
 
 
         Page<AccountPaymentVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);

+ 21 - 9
hx-sale/src/main/java/com/fjhx/sale/flow/PayFlow.java

@@ -18,7 +18,9 @@ import com.fjhx.purchase.entity.pay.po.PayDetail;
 import com.fjhx.purchase.service.pay.PayDetailService;
 import com.fjhx.purchase.service.pay.PayService;
 import com.fjhx.sale.entity.purchase.po.EhsdPurchase;
+import com.fjhx.sale.entity.purchase.po.PurchaseBack;
 import com.fjhx.sale.service.purchase.EhsdPurchaseService;
+import com.fjhx.sale.service.purchase.PurchaseBackService;
 import com.fjhx.supply.entity.supplier.po.SupplierInfo;
 import com.fjhx.supply.service.supplier.SupplierInfoService;
 import com.ruoyi.common.core.domain.BasePo;
@@ -28,10 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -58,6 +57,8 @@ public class PayFlow extends FlowDelegate {
 
     @Autowired
     private SupplierInfoService supplierInfoService;
+    @Autowired
+    private PurchaseBackService purchaseBackService;
 
     @Override
     public String getFlowKey() {
@@ -176,6 +177,13 @@ public class PayFlow extends FlowDelegate {
         // 获取合同列表
         List<EhsdPurchase> purchaseList = purchaseService.listByIds(purchaseIdList);
 
+
+        //获取采购退货金额
+        Map<Long, List<PurchaseBack>> purchaseBackMap = purchaseBackService.mapKGroup(PurchaseBack::getPurchaseId, q -> q
+                .in(PurchaseBack::getPurchaseId, purchaseIdList)
+                .in(PurchaseBack::getStatus, FlowStatusEnum1.PASS, FlowStatusEnum1.UPDATE_LOADING)
+        );
+
         for (EhsdPurchase purchase : purchaseList) {
 
             Integer payStatus = purchase.getPayStatus();
@@ -187,11 +195,15 @@ public class PayFlow extends FlowDelegate {
 
             // 获取合同付款金额
             BigDecimal payMoney = map.getOrDefault(purchase.getId(), BigDecimal.ZERO);
-            // 获取合同金额
-            BigDecimal amount = purchase.getAmount();
-
-            // 合同付款金额大于等于合同金额,已付款
-            if (payMoney.compareTo(amount) >= 0) {
+//            // 获取合同金额
+//            BigDecimal amount = purchase.getAmount();
+            //获取应付金额
+            List<PurchaseBack> purchaseBackList = purchaseBackMap.getOrDefault(purchase.getId(), new ArrayList<>());
+            BigDecimal backAmount = purchaseBackList.stream().map(PurchaseBack::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+            BigDecimal payableAmount = purchase.getAmount().subtract(backAmount);
+
+            // 合同付款金额大于等于应付金额,已付款
+            if (payMoney.compareTo(payableAmount) >= 0) {
                 purchase.setPayStatus(20);
             }
             // 否则进行中