From 6b969ca247b98e5a793e61ec5b0d89f4fccb3318 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期三, 10 六月 2026 16:25:18 +0800
Subject: [PATCH] feat:抵抹账条件新增付款金额小于开票金额,红票审核拒绝后蓝票可重新开红票

---
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractDelayOutServiceImpl.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractDelayOutServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractDelayOutServiceImpl.java
new file mode 100644
index 0000000..167d897
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractDelayOutServiceImpl.java
@@ -0,0 +1,54 @@
+package com.by4cloud.platformx.business.service.impl;
+
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.business.entity.Contract;
+import com.by4cloud.platformx.business.entity.ContractDelayOut;
+import com.by4cloud.platformx.business.mapper.ContractDelayOutMapper;
+import com.by4cloud.platformx.business.mapper.ContractMapper;
+import com.by4cloud.platformx.business.service.ContractDelayOutService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class ContractDelayOutServiceImpl  extends ServiceImpl<ContractDelayOutMapper, ContractDelayOut> implements ContractDelayOutService {
+
+	private final ContractMapper contractMapper;
+
+	@Override
+	public void approvalPass(Long contractId) {
+		ContractDelayOut delayOut = baseMapper.selectOne(Wrappers.<ContractDelayOut>lambdaQuery().eq(ContractDelayOut::getContractId,contractId)
+				.eq(ContractDelayOut::getDelayStatus,"0").last("limit 1"));
+		if (ObjUtil.isNull(delayOut)){
+			log.error("鍚堝悓寤舵湡鍙戣揣瀹℃壒鍚屾剰鍚庢煡璇㈠鎵规暟鎹紓甯�");
+			return;
+		}
+		delayOut.setDelayStatus("1");
+		baseMapper.updateById(delayOut);
+		Contract contract = contractMapper.selectById(contractId);
+		if (ObjUtil.isNull(contract)){
+			log.error("鍚堝悓寤舵湡鍙戣揣瀹℃壒鍚屾剰鍚庢煡璇㈠悎鍚屾暟鎹紓甯�");
+			return;
+		}
+		contract.setExpirationDate(DateUtil.offsetDay(contract.getExpirationDate(),delayOut.getDelayDay()));
+		contractMapper.updateById(contract);
+	}
+
+	@Override
+	public void refuseApproval(Long contractId) {
+		ContractDelayOut delayOut = baseMapper.selectOne(Wrappers.<ContractDelayOut>lambdaQuery().eq(ContractDelayOut::getContractId,contractId)
+				.eq(ContractDelayOut::getDelayStatus,"0").last("limit 1"));
+		if (ObjUtil.isNull(delayOut)){
+			log.error("鍚堝悓寤舵湡鍙戣揣瀹℃壒鍚屾剰鍚庢煡璇㈠鎵规暟鎹紓甯�");
+			return;
+		}
+		delayOut.setDelayStatus("2");
+		baseMapper.updateById(delayOut);
+	}
+}

--
Gitblit v1.9.1