feat(backend): 出入库搜索重构 + 商品编码搜索 + KPI/确认售价/详细搜索

- 搜索 keyword 命中改为 单号/酒名(名+拼音)/商品编码,去掉往来单位匹配
- applyStockOrderDetailFilters 合并明细过滤为单条子查询(同一明细语义)+ 新增 product_code
- 新增出入库 KPI summary、出库确认售价(confirm-sale) 及路由
- 补充/更新对应单元测试

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-07-02 08:47:44 +08:00
parent 2c2bb7ccb3
commit 998bbab546
7 changed files with 421 additions and 21 deletions
+4
View File
@@ -147,6 +147,7 @@ func Setup(r *gin.Engine, db *gorm.DB) {
stockIn := api.Group("/stock-in")
{
stockIn.GET("/orders", stockInH.List)
stockIn.GET("/summary", stockInH.Summary)
stockIn.GET("/orders/:id", stockInH.Get)
stockIn.POST("/orders", stockInH.Create)
stockIn.PUT("/orders/:id", stockInH.Update)
@@ -166,6 +167,7 @@ func Setup(r *gin.Engine, db *gorm.DB) {
stockOut := api.Group("/stock-out")
{
stockOut.GET("/orders", stockOutH.List)
stockOut.GET("/summary", stockOutH.Summary)
stockOut.GET("/orders/:id", stockOutH.Get)
stockOut.POST("/orders", stockOutH.Create)
stockOut.PUT("/orders/:id", stockOutH.Update)
@@ -177,6 +179,8 @@ func Setup(r *gin.Engine, db *gorm.DB) {
stockOut.PUT("/orders/:id/withdraw", stockOutH.Withdraw)
// 退单(已审核单退货,库存加回+冲应收):管理员/超管 或 本人(service 内判权)
stockOut.POST("/orders/:id/return", stockOutH.Return)
// 确认售价(先出后定价,重算应收):仅管理员/超管(service 内判权)
stockOut.POST("/orders/:id/confirm-sale", stockOutH.ConfirmSale)
}
// 库存