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 | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 51 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 f18d50c..7f762d9 100644
--- a/src/main/java/com/ruoyi/stock/service/StockOutRecordService.java
+++ b/src/main/java/com/ruoyi/stock/service/StockOutRecordService.java
@@ -3,10 +3,14 @@
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 javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
import java.util.List;
/**
@@ -26,5 +30,51 @@
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