Browse Source

退款bug修复

liuj 5 months ago
parent
commit
58494ebbf8

+ 16 - 7
src/main/java/com/sunxung/factoring/service/refundsManagement/impl/RefundManagementServiceImpl.java

@@ -243,7 +243,9 @@ public class RefundManagementServiceImpl extends ServiceImpl<RefundManagementMap
                 List<LedgerFundGoodsAssign> ledgerFundGoodsAssignList = ledgerFundGoodsAssignService.lambdaQuery()
                 List<LedgerFundGoodsAssign> ledgerFundGoodsAssignList = ledgerFundGoodsAssignService.lambdaQuery()
                         .eq(LedgerFundGoodsAssign::getBusinessNumber, taskVo.getBusinessNumber())
                         .eq(LedgerFundGoodsAssign::getBusinessNumber, taskVo.getBusinessNumber())
                         .eq(LedgerFundGoodsAssign::getContractNo, taskVo.getContractNumber())
                         .eq(LedgerFundGoodsAssign::getContractNo, taskVo.getContractNumber())
-                        .eq(LedgerFundGoodsAssign::getQuotaDisburseBatch, taskVo.getQuotaDisburseBatch()).list();
+                        .eq(LedgerFundGoodsAssign::getQuotaDisburseBatch, taskVo.getQuotaDisburseBatch())
+                        .eq(LedgerFundGoodsAssign::getSubmit, true)
+                        .list();
 
 
                 if (CollectionUtil.isNotEmpty(ledgerFundGoodsAssignList)) {
                 if (CollectionUtil.isNotEmpty(ledgerFundGoodsAssignList)) {
                     LedgerFundGoodsAssign ledgerFundGoodsAssign = ledgerFundGoodsAssignList.get(0);
                     LedgerFundGoodsAssign ledgerFundGoodsAssign = ledgerFundGoodsAssignList.get(0);
@@ -666,11 +668,13 @@ public class RefundManagementServiceImpl extends ServiceImpl<RefundManagementMap
 
 
             //收方账户信息
             //收方账户信息
             List<LedgerFundGoodsAssign> fundGoodsAssignList = ledgerFundGoodsAssignService
             List<LedgerFundGoodsAssign> fundGoodsAssignList = ledgerFundGoodsAssignService
-                    .lambdaQuery().eq(LedgerFundGoodsAssign::getBusinessNumber, businessNumber).list();
+                    .lambdaQuery().eq(LedgerFundGoodsAssign::getBusinessNumber, businessNumber)
+                    .eq(LedgerFundGoodsAssign::getSubmit, true)
+                    .list();
             if (CollectionUtil.isNotEmpty(fundGoodsAssignList)) {
             if (CollectionUtil.isNotEmpty(fundGoodsAssignList)) {
-                List<LedgerAccountBasicInfo> ledgerAccountBasicInfos = fundGoodsAssignList.stream().map(fundGoodsAssign -> {
-                    return ledgerAccountBasicInfoService.getById(fundGoodsAssign.getLedgerAccountBasicInfoId());
-                }).sorted(Comparator.comparing(LedgerAccountBasicInfo::getGmtCreate).reversed()).collect(Collectors.toList());
+                List<LedgerAccountBasicInfo> ledgerAccountBasicInfos = fundGoodsAssignList.stream().map(fundGoodsAssign ->
+                     ledgerAccountBasicInfoService.getById(fundGoodsAssign.getLedgerAccountBasicInfoId())
+                ).sorted(Comparator.comparing(LedgerAccountBasicInfo::getGmtCreate).reversed()).collect(Collectors.toList());
                 List<RefundsApplyAccountInfo> accountInfoList = new ArrayList<>();
                 List<RefundsApplyAccountInfo> accountInfoList = new ArrayList<>();
                 if (CollectionUtil.isNotEmpty(ledgerAccountBasicInfos)) {
                 if (CollectionUtil.isNotEmpty(ledgerAccountBasicInfos)) {
                     LedgerAccountBasicInfo accountBasicInfo = ledgerAccountBasicInfos.get(0);
                     LedgerAccountBasicInfo accountBasicInfo = ledgerAccountBasicInfos.get(0);
@@ -728,6 +732,7 @@ public class RefundManagementServiceImpl extends ServiceImpl<RefundManagementMap
         //收方账户信息
         //收方账户信息
         List<LedgerFundGoodsAssign> fundGoodsAssignList = ledgerFundGoodsAssignService
         List<LedgerFundGoodsAssign> fundGoodsAssignList = ledgerFundGoodsAssignService
                 .lambdaQuery().eq(LedgerFundGoodsAssign::getBusinessNumber, businessNumber)
                 .lambdaQuery().eq(LedgerFundGoodsAssign::getBusinessNumber, businessNumber)
+                .eq(LedgerFundGoodsAssign::getSubmit, true)
                 .list();
                 .list();
         if (CollectionUtil.isNotEmpty(fundGoodsAssignList)) {
         if (CollectionUtil.isNotEmpty(fundGoodsAssignList)) {
             List<LedgerAccountBasicInfo> ledgerAccountBasicInfos = fundGoodsAssignList.stream().map(fundGoodsAssign -> {
             List<LedgerAccountBasicInfo> ledgerAccountBasicInfos = fundGoodsAssignList.stream().map(fundGoodsAssign -> {
@@ -800,7 +805,9 @@ public class RefundManagementServiceImpl extends ServiceImpl<RefundManagementMap
         List<LedgerFundGoodsAssign> fundGoodsAssigns = ledgerFundGoodsAssignService
         List<LedgerFundGoodsAssign> fundGoodsAssigns = ledgerFundGoodsAssignService
                 .lambdaQuery().eq(LedgerFundGoodsAssign::getBusinessNumber, businessNumber)
                 .lambdaQuery().eq(LedgerFundGoodsAssign::getBusinessNumber, businessNumber)
                 .eq(LedgerFundGoodsAssign::getContractNo, contractNo)
                 .eq(LedgerFundGoodsAssign::getContractNo, contractNo)
-                .eq(LedgerFundGoodsAssign::getQuotaDisburseBatch, quotaDisburseBatch).list();
+                .eq(LedgerFundGoodsAssign::getQuotaDisburseBatch, quotaDisburseBatch)
+                .eq(LedgerFundGoodsAssign::getSubmit, true)
+                .list();
         if (CollectionUtil.isNotEmpty(fundGoodsAssigns)) {
         if (CollectionUtil.isNotEmpty(fundGoodsAssigns)) {
             for (LedgerFundGoodsAssign fundGoodsAssign : fundGoodsAssigns) {
             for (LedgerFundGoodsAssign fundGoodsAssign : fundGoodsAssigns) {
                 mustReturn = mustReturn.add(fundGoodsAssign.getAccrualAmount().add(fundGoodsAssign.getDiscountAmount())
                 mustReturn = mustReturn.add(fundGoodsAssign.getAccrualAmount().add(fundGoodsAssign.getDiscountAmount())
@@ -957,7 +964,9 @@ public class RefundManagementServiceImpl extends ServiceImpl<RefundManagementMap
         List<LedgerFundGoodsAssign> ledgerFundGoodsAssignList = ledgerFundGoodsAssignService.lambdaQuery()
         List<LedgerFundGoodsAssign> ledgerFundGoodsAssignList = ledgerFundGoodsAssignService.lambdaQuery()
                 .eq(LedgerFundGoodsAssign::getBusinessNumber, businessNumber)
                 .eq(LedgerFundGoodsAssign::getBusinessNumber, businessNumber)
                 .eq(LedgerFundGoodsAssign::getContractNo, contractNo)
                 .eq(LedgerFundGoodsAssign::getContractNo, contractNo)
-                .eq(LedgerFundGoodsAssign::getQuotaDisburseBatch, quotaDisburseBatch).list();
+                .eq(LedgerFundGoodsAssign::getQuotaDisburseBatch, quotaDisburseBatch)
+                .eq(LedgerFundGoodsAssign::getSubmit, true)
+                .list();
 
 
         if (CollectionUtil.isNotEmpty(ledgerFundGoodsAssignList)) {
         if (CollectionUtil.isNotEmpty(ledgerFundGoodsAssignList)) {
             LedgerFundGoodsAssign ledgerFundGoodsAssign = ledgerFundGoodsAssignList.get(0);
             LedgerFundGoodsAssign ledgerFundGoodsAssign = ledgerFundGoodsAssignList.get(0);

+ 2 - 0
src/main/resources/mapper/refundManagement/RefundManagementMapper.xml

@@ -142,6 +142,7 @@
                  WHERE t.id = t2.ledger_fund_goods_assign_id
                  WHERE t.id = t2.ledger_fund_goods_assign_id
                    AND t.ledger_account_basic_info_id = t3.id
                    AND t.ledger_account_basic_info_id = t3.id
                    AND t2.cash_type IN ("outType_discount","performanceBond","retentionMoney")
                    AND t2.cash_type IN ("outType_discount","performanceBond","retentionMoney")
+                   AND t.is_submit = 1
              ) tt
              ) tt
                  LEFT JOIN refund_management a
                  LEFT JOIN refund_management a
                            ON a.contract_no = tt.contract_no AND a.quota_disburse_batch = tt.quota_disburse_batch
                            ON a.contract_no = tt.contract_no AND a.quota_disburse_batch = tt.quota_disburse_batch
@@ -174,6 +175,7 @@
                      WHERE t.id = t2.ledger_fund_goods_assign_id
                      WHERE t.id = t2.ledger_fund_goods_assign_id
                        AND t.ledger_account_basic_info_id = t3.id
                        AND t.ledger_account_basic_info_id = t3.id
                        AND t2.cash_type IN ("outType_discount","performanceBond","retentionMoney")
                        AND t2.cash_type IN ("outType_discount","performanceBond","retentionMoney")
+                       AND t.is_submit = 1
                  ) tt
                  ) tt
                      LEFT JOIN refund_management a ON a.contract_no = tt.contract_no
                      LEFT JOIN refund_management a ON a.contract_no = tt.contract_no
                 AND a.quota_disburse_batch = tt.quota_disburse_batch
                 AND a.quota_disburse_batch = tt.quota_disburse_batch