From b0ba33dce8487581d2bb3c49f886d158724dc44e Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期一, 08 六月 2026 17:19:49 +0800
Subject: [PATCH] fix:产品列表接口

---
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ContractInvoiceController.java |  126 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 126 insertions(+), 0 deletions(-)

diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ContractInvoiceController.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ContractInvoiceController.java
new file mode 100644
index 0000000..8f9f36c
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ContractInvoiceController.java
@@ -0,0 +1,126 @@
+package com.by4cloud.platformx.business.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.by4cloud.platformx.business.dto.GenInvoiceInfoDTO;
+import com.by4cloud.platformx.business.entity.Contract;
+import com.by4cloud.platformx.business.service.ContractInvoiceService;
+import com.by4cloud.platformx.business.service.ContractService;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.common.data.mybatis.BaseModel;
+import com.by4cloud.platformx.common.security.annotation.Inner;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.security.SecurityRequirement;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+import org.springdoc.core.annotations.ParameterObject;
+import org.springframework.http.HttpHeaders;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 鍚堝悓寮�绁�
+ *
+ * @author syt
+ * @date 2026骞�6鏈�5鏃� 08:13:55
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/contractInvoice" )
+@Tag(description = "contract" , name = "鍚堝悓寮�绁�" )
+@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
+public class ContractInvoiceController {
+
+	private final ContractService contractService;
+	private final ContractInvoiceService contractInvoiceService;
+
+	/**
+	 * 鍒嗛〉鏌ヨ
+	 * @param page 鍒嗛〉瀵硅薄
+	 * @param contract 鍚堝悓绠$悊
+	 * @return
+	 */
+	@Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
+	@GetMapping("/page" )
+	public R getContractPage(@ParameterObject Page page, @ParameterObject Contract contract) {
+		LambdaQueryWrapper<Contract> wrapper = Wrappers.lambdaQuery();
+		wrapper.like(StringUtils.isNotBlank(contract.getContractName()),Contract::getContractName,contract.getContractName());
+		wrapper.like(StringUtils.isNotBlank(contract.getPartyA()),Contract::getPartyA,contract.getPartyA());
+		wrapper.eq(Contract::getBillingStatus,contract.getBillingStatus());
+		if (StrUtil.equals(contract.getBillingStatus(),"1")){
+			wrapper.orderByDesc(BaseModel::getCreateTime);
+		}else {
+			wrapper.orderByAsc(BaseModel::getCreateTime);
+		}
+
+		return R.ok(contractService.pageByScope(page, wrapper));
+	}
+
+	/**
+	 * 鑾峰彇鍚堝悓鍑哄簱淇℃伅
+	 * @return
+	 */
+	@GetMapping("/getContractOutBound/{contractId}" )
+	public R getContractOutBound(@PathVariable("contractId")Long contractId) {
+		return contractInvoiceService.getContractOutBound(contractId);
+	}
+
+	/**
+	 * 鐢熸垚寮�绁ㄩ瑙堜俊鎭�
+	 * @return
+	 */
+	@PostMapping("/genInvoiceInfo" )
+	public R genInvoiceInfo(@RequestBody GenInvoiceInfoDTO genInvoiceInfoDTO) {
+		return contractInvoiceService.genInvoiceInfo(genInvoiceInfoDTO);
+	}
+
+	/**
+	 * 寮�钃濈エ
+	 * @return
+	 */
+	@PostMapping("/toInvoice" )
+	public R toInvoice(@RequestBody GenInvoiceInfoDTO genInvoiceInfoDTO) {
+		return contractInvoiceService.toInvoice(genInvoiceInfoDTO);
+	}
+
+	/**
+	 * 鑾峰彇宸插紑鍙戠エ
+	 * @return
+	 */
+	@GetMapping("/getContractInvoiceList/{contractId}" )
+	public R getContractInvoiceList(@PathVariable("contractId")Long contractId) {
+		return contractInvoiceService.getContractInvoiceList(contractId);
+	}
+
+	/**
+	 * 钃濈エ鏌ヨ
+	 * @return
+	 */
+	@Inner(value = false)
+	@GetMapping("/queryBlueInvoice")
+	public R queryBlueInvoice() {
+		return contractInvoiceService.queryBlueInvoice();
+	}
+
+	/**
+	 * 寮�绾㈢エ
+	 * @return
+	 */
+	@GetMapping("/toRedInvoice/{invoiceId}")
+	public R toRedInvoice(@PathVariable("invoiceId")Long invoiceId) {
+		return contractInvoiceService.toRedInvoice(invoiceId);
+	}
+
+	/**
+	 * 绾㈢エ鏌ヨ
+	 * @return
+	 */
+	@Inner(value = false)
+	@GetMapping("/queryRedInvoice")
+	public R queryRedInvoice() {
+		return contractInvoiceService.queryRedInvoice();
+	}
+}

--
Gitblit v1.9.1