From 8de09297dcc5393cc8542f29318b17f5696d4f8d Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期五, 17 七月 2026 09:28:46 +0800
Subject: [PATCH] feat:单点登录 首页及首页跳转

---
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractInvoiceServiceImpl.java |   45 ++++++++++++++++++++++++++++++---------------
 1 files changed, 30 insertions(+), 15 deletions(-)

diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractInvoiceServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractInvoiceServiceImpl.java
index 675e5aa..5916741 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractInvoiceServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractInvoiceServiceImpl.java
@@ -20,6 +20,7 @@
 import com.by4cloud.platformx.admin.api.feign.RemoteDeptService;
 import com.by4cloud.platformx.business.api.feign.RemoteFlowProcessService;
 import com.by4cloud.platformx.business.constant.FlowNameEnum;
+import com.by4cloud.platformx.business.dto.ContractInvoiceQueryDTO;
 import com.by4cloud.platformx.business.dto.GenInvoiceInfoDTO;
 import com.by4cloud.platformx.business.entity.*;
 import com.by4cloud.platformx.business.mapper.*;
@@ -27,6 +28,7 @@
 import com.by4cloud.platformx.business.service.PaymentConfirmService;
 import com.by4cloud.platformx.business.vo.*;
 import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.common.data.datascope.DataScope;
 import com.by4cloud.platformx.common.data.mybatis.BaseModel;
 import com.by4cloud.platformx.common.security.util.SecurityUtils;
 import com.by4cloud.platformx.flow.task.dto.ProcessInstanceParamDto;
@@ -627,11 +629,12 @@
 					}
 				}
 			}
-			//鏇存柊鍚堝悓寮�绁ㄧ姸鎬�
-			contract.setBillingStatus("2");
-			contract.setBillingAmout(contract.getBillingAmout().subtract(invoice.getInvoiceTotalPriceTax()));
-			contractMapper.updateById(contract);
-
+			//鏇存柊鍚堝悓寮�绁ㄧ姸鎬� 鍓嶆彁鍑哄簱瀹屾垚
+			if (StrUtil.equals(contract.getBillingStatus(),"3")) {
+				contract.setBillingStatus("2");
+				contract.setBillingAmout(contract.getBillingAmout().subtract(invoice.getInvoiceTotalPriceTax()));
+				contractMapper.updateById(contract);
+			}
 			blueInvoice.setRedReversal("1");
 			baseMapper.updateById(blueInvoice);
 
@@ -652,18 +655,30 @@
 	@Override
 	public void refuseApproval(Long id) {
 		ContractInvoice invoice = baseMapper.selectById(id);
-		//鏇存柊鍚堝悓鍑哄簱鍗曠姸鎬�
-		String[] outBoundIds = invoice.getOutBoundId().split(",");
-		Arrays.stream(outBoundIds).forEach(outBoundId -> {
-			ContractOutBound bound = contractOutBoundMapper.selectById(outBoundId);
-			bound.setInvoiceStatus("0");
-			contractOutBoundMapper.updateById(bound);
-		});
 		invoice.setApprovalStatus("2");
 		baseMapper.updateById(invoice);
+		//钃濈エ
+		if (invoice.getInvoiceCategory().equals("1")) {
+			//鏇存柊鍚堝悓鍑哄簱鍗曠姸鎬�
+			List<ContractOutBoundInvoiceVo> outBoundInvoiceVoList = BeanUtil.copyToList(JSONArray.parseArray(invoice.getInvoicePreviewParam()),ContractOutBoundInvoiceVo.class);
+			if (ArrayUtil.isNotEmpty(outBoundInvoiceVoList.toArray())){
+				outBoundInvoiceVoList.stream().forEach(contractOutBoundInvoiceVo -> {
+					ContractOutBound contractOutBound = contractOutBoundMapper.selectById(contractOutBoundInvoiceVo.getContractOutBoundId());
+					contractOutBound.setInvoiceNum(contractOutBound.getInvoiceNum().subtract(contractOutBoundInvoiceVo.getInvoiceNum()));
+					contractOutBoundMapper.updateById(contractOutBound);
+				});
+			}
+		}
+		//绾㈢エ
+		if (invoice.getInvoiceCategory().equals("2")) {
+			ContractInvoice blueInvoice = baseMapper.selectById(invoice.getBlueInvoiceId());
+			blueInvoice.setRedReversal("0");
+			baseMapper.updateById(blueInvoice);
+		}
+	}
 
-		ContractInvoice blueInvoice = baseMapper.selectById(invoice.getBlueInvoiceId());
-		blueInvoice.setRedReversal("0");
-		baseMapper.updateById(blueInvoice);
+	@Override
+	public Page pageInvoice(Page page, ContractInvoiceQueryDTO queryDTO) {
+		return baseMapper.pageInvoice(page,queryDTO, DataScope.of("comp_id"));
 	}
 }

--
Gitblit v1.9.1