From 3e5e22f5358156ff7430ee117546123ffe042611 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期日, 20 九月 2026 20:23:52 +0800
Subject: [PATCH] feat(stock): 实现出品出库绑定销售台账功能
---
src/main/java/com/ruoyi/stock/service/StockOutRecordService.java | 66 ++++++++++++++++++++++++++++++++
1 files changed, 65 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/ruoyi/stock/service/StockOutRecordService.java b/src/main/java/com/ruoyi/stock/service/StockOutRecordService.java
index 9d5b9b1..7f762d9 100644
--- a/src/main/java/com/ruoyi/stock/service/StockOutRecordService.java
+++ b/src/main/java/com/ruoyi/stock/service/StockOutRecordService.java
@@ -1,7 +1,17 @@
package com.ruoyi.stock.service;
-import com.ruoyi.stock.pojo.StockOutRecord;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.sales.dto.SalesLedgerDto;
+import com.ruoyi.sales.pojo.SalesLedger;
+import com.ruoyi.stock.dto.OilOutAvailableDto;
+import com.ruoyi.stock.dto.StockOutRecordDto;
+import com.ruoyi.stock.pojo.StockOutRecord;
+
+import jakarta.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
+import java.util.List;
/**
* <p>
@@ -12,5 +22,59 @@
* @since 2026-01-21 05:27:04
*/
public interface StockOutRecordService extends IService<StockOutRecord> {
+ IPage<StockOutRecordDto> listPage(Page page, StockOutRecordDto stockOutRecordDto);
+ int add(StockOutRecordDto stockOutRecordDto);
+
+ int update(Long id, StockOutRecordDto stockOutRecordDto);
+
+ int batchDelete(List<Long> ids);
+
+ int batchDeletePending(List<Long> ids);
+
+ void exportStockOutRecord(HttpServletResponse response, StockOutRecordDto stockOutRecordDto);
+
+ int batchApprove(List<Long> ids, Integer approvalStatus);
+
+ int batchReAudit(List<Long> ids);
+
+ /**
+ * 褰曞叆銆屾湰娆¢�佸畬璐у悗鍓╀綑娌归噺銆嶃��
+ * 鍙洿鏂� residual_oil锛屼笉鍔ㄥ叾浠栧垪锛涜蛋 {@link #update} 浼氭妸鏈紶鐨勫瓧娈靛叏閮ㄧ疆绌猴紝鏁呭崟鐙紑涓�涓帴鍙�
+ *
+ * @param id 鍑哄簱璁板綍id
+ * @param residualOil 鍓╀綑娌归噺(鍚�)锛屼笉鑳戒负绌恒�佷笉鑳藉皬浜�0銆佷笉鑳藉ぇ浜庡嚭搴撴暟閲�
+ */
+ int updateResidualOil(Long id, BigDecimal residualOil);
+
+ /**
+ * 娌瑰搧鍑哄簱鍙敤閲忥細涓嬫鍙戣揣 = 涓婃鍓╀綑娌归噺 + 褰撳墠搴撳瓨閲�
+ *
+ * @param query 闇�甯� vehicleId銆乸roductModelId锛宐atchNo 鍙��
+ * @return 涓婃鍓╀綑娌归噺 / 褰撳墠搴撳瓨 / 鍙敤閲�
+ */
+ OilOutAvailableDto getOilOutAvailableQty(StockOutRecordDto query);
+
+ /**
+ * 鎸夋潵婧愭槑缁唅d鎵归噺鏌ヨ鍑哄簱璁板綍锛屼笉鍙楁暟鎹潈闄愮害鏉熴��
+ * 渚涗笟鍔″崟鎹仛銆屽嚭搴撴槸鍚﹀凡瀹℃壒銆嶈繖绫昏嚜韬姸鎬佹満鏍¢獙锛屾崲璐﹀彿鎵ц涔熷繀椤荤湅鍒板悓涓�鎵硅褰�
+ *
+ * @param recordIds 鏉ユ簮鏄庣粏id锛屼负绌鸿繑鍥炵┖闆嗗悎
+ * @param recordType 鍑哄簱绫诲瀷锛岃 StockInQualifiedRecordTypeEnum
+ */
+ List<StockOutRecord> listByRecordIds(List<Long> recordIds, String recordType);
+
+ /**
+ * 閲婃斁鏉ユ簮鏄庣粏鍏宠仈鐨勫嚭搴撹褰曪細瀹℃壒閫氳繃杩囩殑鎸夋壒娆″綊杩樺簱瀛橀噺锛岀劧鍚庡垹闄よ褰曘��
+ * 寰呭鎵�/椹冲洖鐨勮褰曟病鎵h繃搴撳瓨锛屽垹鎺夊嵆閲婃斁鍗犵敤
+ *
+ * @return 鍒犻櫎鐨勮褰曟暟
+ */
+ int releaseByRecordIds(List<Long> recordIds, String recordType);
+
+ /**
+ * 娌瑰搧鍑哄簱鍙粦瀹氱殑閿�鍞彴璐︿笅鎷夛紝鏀寔鎸夊悎鍚屽彿/瀹㈡埛鍚�/椤圭洰鍚嶆ā绯婄瓫閫夛紝涓嶅垎 ledgerType锛堜唬鍌ㄥ彴璐︿篃鑳界粦锛夈��
+ * 涓嶅彈鏁版嵁鏉冮檺绾︽潫锛岀悊鐢辫 {@code StockOutRecordMapper#bindableSalesLedgerPage}
+ */
+ IPage<SalesLedger> listBindableSalesLedger(Page page, SalesLedgerDto salesLedgerDto);
}
--
Gitblit v1.9.3