Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
mini-wms
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
周海峰
mini-wms
Commits
f40a381f
Commit
f40a381f
authored
Dec 10, 2025
by
zhangtw
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
首页统计入库次数、入库数量金额Top10、库存物料预警接口
parent
66587bed
显示空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
205 行增加
和
13 行删除
+205
-13
ruoyi-admin/src/main/java/com/ruoyi/web/controller/inventory/InboundOrdersController.java
+33
-0
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Materials.java
+3
-5
ruoyi-inventory/src/main/java/com/ruoyi/inventory/controller/InventoryController.java
+15
-8
ruoyi-inventory/src/main/java/com/ruoyi/inventory/mapper/InboundOrdersMapper.java
+22
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/mapper/InventoryMapper.java
+8
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/IInboundOrdersService.java
+21
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/IInventoryService.java
+8
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/impl/InboundOrdersServiceImpl.java
+32
-0
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/impl/InventoryServiceImpl.java
+6
-0
ruoyi-inventory/src/main/resources/mapper/inventory/InboundOrdersMapper.xml
+36
-0
ruoyi-inventory/src/main/resources/mapper/inventory/InventoryMapper.xml
+21
-0
没有找到文件。
ruoyi-admin/src/main/java/com/ruoyi/web/controller/inventory/InboundOrdersController.java
View file @
f40a381f
...
@@ -7,6 +7,7 @@ import com.ruoyi.common.utils.uuid.UUID;
...
@@ -7,6 +7,7 @@ import com.ruoyi.common.utils.uuid.UUID;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
com.ruoyi.inventory.domain.InboundOrderItems
;
import
com.ruoyi.inventory.domain.InboundOrderItems
;
import
com.ruoyi.inventory.domain.vo.InboundMaterialTotalVO
;
import
com.ruoyi.inventory.domain.vo.InboundTemplateVO
;
import
com.ruoyi.inventory.domain.vo.InboundTemplateVO
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -136,4 +137,36 @@ public class InboundOrdersController extends BaseController
...
@@ -136,4 +137,36 @@ public class InboundOrdersController extends BaseController
String
message
=
inboundOrdersService
.
importInboundOrders
(
inboundOrders
,
updateSupport
,
operName
);
String
message
=
inboundOrdersService
.
importInboundOrders
(
inboundOrders
,
updateSupport
,
operName
);
return
success
(
message
);
return
success
(
message
);
}
}
/**
* 首页入库次数统计api
*
*/
@GetMapping
(
"/inboundCount"
)
public
AjaxResult
inboundCount
(){
int
count
=
inboundOrdersService
.
countInboundOrders
();
return
AjaxResult
.
success
(
count
);
}
/**
* 按数量统计本月入库物料Top前10
* @return 结果
*/
@GetMapping
(
"/countQuantity"
)
public
TableDataInfo
countQuantity
(){
startPage
();
List
<
InboundMaterialTotalVO
>
list
=
inboundOrdersService
.
countInboundMaterialQuantity
();
return
getDataTable
(
list
);
}
/**
* 按金额统计本月入库物料Top前10
* @return 结果
*/
@GetMapping
(
"/countMoney"
)
public
TableDataInfo
countMoney
(){
startPage
();
List
<
InboundMaterialTotalVO
>
list
=
inboundOrdersService
.
countInboundMaterialMoney
();
return
getDataTable
(
list
);
}
}
}
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/Materials.java
View file @
f40a381f
...
@@ -19,17 +19,15 @@ public class Materials extends BaseEntity
...
@@ -19,17 +19,15 @@ public class Materials extends BaseEntity
private
String
id
;
private
String
id
;
/** 物料编码 检索条件 */
/** 物料编码 检索条件 */
@Excel
(
name
=
"物料编码"
)
private
String
materialCode
;
private
String
materialCode
;
/** SAP物料号 检索条件 */
@Excel
(
name
=
"SAP物料号"
)
private
String
sapNo
;
/** 物料名称 检索条件 */
/** 物料名称 检索条件 */
@Excel
(
name
=
"物料名称"
)
@Excel
(
name
=
"物料名称"
)
private
String
materialName
;
private
String
materialName
;
/** SAP物料号 检索条件 */
@Excel
(
name
=
"SAP物料号"
)
private
String
sapNo
;
/** TS Code 检索条件 */
/** TS Code 检索条件 */
@Excel
(
name
=
"TS Code"
)
@Excel
(
name
=
"TS Code"
)
private
String
tsCode
;
private
String
tsCode
;
...
...
ruoyi-inventory/src/main/java/com/ruoyi/inventory/controller/InventoryController.java
View file @
f40a381f
...
@@ -3,17 +3,12 @@ package com.ruoyi.inventory.controller;
...
@@ -3,17 +3,12 @@ package com.ruoyi.inventory.controller;
import
java.util.List
;
import
java.util.List
;
import
java.util.UUID
;
import
java.util.UUID
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
com.ruoyi.inventory.domain.vo.InventoryExceedWarnVO
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.EasyExcel
;
import
com.ruoyi.common.annotation.Log
;
import
com.ruoyi.common.annotation.Log
;
import
com.ruoyi.common.core.controller.BaseController
;
import
com.ruoyi.common.core.controller.BaseController
;
...
@@ -24,6 +19,7 @@ import com.ruoyi.inventory.domain.vo.InventorySummaryVO;
...
@@ -24,6 +19,7 @@ import com.ruoyi.inventory.domain.vo.InventorySummaryVO;
import
com.ruoyi.inventory.service.IInventoryService
;
import
com.ruoyi.inventory.service.IInventoryService
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
org.springframework.web.multipart.MultipartFile
;
/**
/**
* 库存Controller
* 库存Controller
...
@@ -171,4 +167,15 @@ public class InventoryController extends BaseController
...
@@ -171,4 +167,15 @@ public class InventoryController extends BaseController
{
{
return
toAjax
(
inventoryService
.
insertInventoryList
(
inventoryList
));
return
toAjax
(
inventoryService
.
insertInventoryList
(
inventoryList
));
}
}
/**
* 统计库存物料超出预警值
*/
@GetMapping
(
"/exceed"
)
public
TableDataInfo
exceedWarnValue
()
{
startPage
();
List
<
InventoryExceedWarnVO
>
list
=
inventoryService
.
selectInventoryExceedWarnList
();
return
getDataTable
(
list
);
}
}
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/mapper/InboundOrdersMapper.java
View file @
f40a381f
...
@@ -3,6 +3,7 @@ package com.ruoyi.inventory.mapper;
...
@@ -3,6 +3,7 @@ package com.ruoyi.inventory.mapper;
import
java.util.List
;
import
java.util.List
;
import
com.ruoyi.inventory.domain.InboundOrders
;
import
com.ruoyi.inventory.domain.InboundOrders
;
import
com.ruoyi.inventory.domain.InboundOrderItems
;
import
com.ruoyi.inventory.domain.InboundOrderItems
;
import
com.ruoyi.inventory.domain.vo.InboundMaterialTotalVO
;
/**
/**
* 入库单主Mapper接口
* 入库单主Mapper接口
...
@@ -91,4 +92,25 @@ public interface InboundOrdersMapper
...
@@ -91,4 +92,25 @@ public interface InboundOrdersMapper
* @return 结果
* @return 结果
*/
*/
public
int
deleteInboundOrderItemsByOrderId
(
String
id
);
public
int
deleteInboundOrderItemsByOrderId
(
String
id
);
/**
* 统计本月入库次数
* @param monthParam yy-MM
* @return 结果
*/
public
int
countInboundOrders
(
String
monthParam
);
/**
* 按数量统计本月入库物料Top前10
* @param monthParam yy-MM
* @return 结果
*/
public
List
<
InboundMaterialTotalVO
>
countInboundMaterialQuantity
(
String
monthParam
);
/**
* 按金额统计本月入库物料Top前10
* @param monthParam yy-MM
* @return 结果
*/
public
List
<
InboundMaterialTotalVO
>
countInboundMaterialMoney
(
String
monthParam
);
}
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/mapper/InventoryMapper.java
View file @
f40a381f
...
@@ -6,6 +6,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
...
@@ -6,6 +6,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
import
com.ruoyi.inventory.domain.Inventory
;
import
com.ruoyi.inventory.domain.Inventory
;
import
com.ruoyi.inventory.domain.StocktakeItems
;
import
com.ruoyi.inventory.domain.StocktakeItems
;
import
com.ruoyi.inventory.domain.TO.StocktakeItemsTo
;
import
com.ruoyi.inventory.domain.TO.StocktakeItemsTo
;
import
com.ruoyi.inventory.domain.vo.InventoryExceedWarnVO
;
/**
/**
* 库存Mapper接口
* 库存Mapper接口
...
@@ -97,4 +98,11 @@ public interface InventoryMapper
...
@@ -97,4 +98,11 @@ public interface InventoryMapper
* @return 库存明细集合
* @return 库存明细集合
*/
*/
public
List
<
Inventory
>
selectInventoryDetailList
(
Inventory
inventory
);
public
List
<
Inventory
>
selectInventoryDetailList
(
Inventory
inventory
);
/**
* 统计物料库存超出预警库存数量
*
* @return 超出预警值物料信息集合
*/
public
List
<
InventoryExceedWarnVO
>
selectInventoryExceedWarnList
();
}
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/IInboundOrdersService.java
View file @
f40a381f
...
@@ -4,6 +4,7 @@ import java.util.List;
...
@@ -4,6 +4,7 @@ import java.util.List;
import
com.ruoyi.inventory.domain.InboundOrderItems
;
import
com.ruoyi.inventory.domain.InboundOrderItems
;
import
com.ruoyi.inventory.domain.InboundOrders
;
import
com.ruoyi.inventory.domain.InboundOrders
;
import
com.ruoyi.inventory.domain.vo.InboundMaterialTotalVO
;
import
com.ruoyi.inventory.domain.vo.InboundTemplateVO
;
import
com.ruoyi.inventory.domain.vo.InboundTemplateVO
;
/**
/**
...
@@ -69,4 +70,24 @@ public interface IInboundOrdersService
...
@@ -69,4 +70,24 @@ public interface IInboundOrdersService
* @return 结果
* @return 结果
*/
*/
public
String
importInboundOrders
(
List
<
InboundTemplateVO
>
inboundOrders
,
Boolean
isUpdateSupport
,
String
operName
);
public
String
importInboundOrders
(
List
<
InboundTemplateVO
>
inboundOrders
,
Boolean
isUpdateSupport
,
String
operName
);
/**
* 统计本月入库数量
*
* @return 结果
*/
public
int
countInboundOrders
();
/**
* 按数量统计本月入库物料Top前10
* @return 结果
*/
public
List
<
InboundMaterialTotalVO
>
countInboundMaterialQuantity
();
/**
* 按金额统计本月入库物料Top前10
* @return 结果
*/
public
List
<
InboundMaterialTotalVO
>
countInboundMaterialMoney
();
}
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/IInventoryService.java
View file @
f40a381f
...
@@ -8,6 +8,7 @@ import com.ruoyi.inventory.domain.Inventory;
...
@@ -8,6 +8,7 @@ import com.ruoyi.inventory.domain.Inventory;
import
com.ruoyi.inventory.domain.OutboundOrderItems
;
import
com.ruoyi.inventory.domain.OutboundOrderItems
;
import
com.ruoyi.inventory.domain.StocktakeItems
;
import
com.ruoyi.inventory.domain.StocktakeItems
;
import
com.ruoyi.inventory.domain.TO.StocktakeItemsTo
;
import
com.ruoyi.inventory.domain.TO.StocktakeItemsTo
;
import
com.ruoyi.inventory.domain.vo.InventoryExceedWarnVO
;
/**
/**
* 库存Service接口
* 库存Service接口
...
@@ -107,4 +108,11 @@ public interface IInventoryService
...
@@ -107,4 +108,11 @@ public interface IInventoryService
*/
*/
public
List
<
Inventory
>
selectInventoryDetailList
(
Inventory
inventory
);
public
List
<
Inventory
>
selectInventoryDetailList
(
Inventory
inventory
);
/**
* 统计库存物料超出预警值
*
* @return 超出预警物料信息集合
*/
public
List
<
InventoryExceedWarnVO
>
selectInventoryExceedWarnList
();
}
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/impl/InboundOrdersServiceImpl.java
View file @
f40a381f
package
com
.
ruoyi
.
inventory
.
service
.
impl
;
package
com
.
ruoyi
.
inventory
.
service
.
impl
;
import
java.time.LocalDate
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
com.ruoyi.inventory.domain.vo.InboundMaterialTotalVO
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
com.ruoyi.common.exception.ServiceException
;
import
com.ruoyi.common.exception.ServiceException
;
import
com.ruoyi.common.utils.DateUtils
;
import
com.ruoyi.common.utils.DateUtils
;
...
@@ -293,4 +297,32 @@ public class InboundOrdersServiceImpl implements IInboundOrdersService
...
@@ -293,4 +297,32 @@ public class InboundOrdersServiceImpl implements IInboundOrdersService
return
finalSuccessMsg
;
return
finalSuccessMsg
;
}
}
}
}
/**
* 统计本月入库数量
*
* @return 结果
*/
@Override
public
int
countInboundOrders
()
{
String
monthParam
=
LocalDate
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM"
));
return
inboundOrdersMapper
.
countInboundOrders
(
monthParam
);
}
/**
* 按数量统计本月入库物料Top前10
* @return 结果
*/
@Override
public
List
<
InboundMaterialTotalVO
>
countInboundMaterialQuantity
()
{
String
monthParam
=
LocalDate
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM"
));
return
inboundOrdersMapper
.
countInboundMaterialQuantity
(
monthParam
);
}
/**
* 按金额统计本月入库物料Top前10
* @return 结果
*/
@Override
public
List
<
InboundMaterialTotalVO
>
countInboundMaterialMoney
()
{
String
monthParam
=
LocalDate
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM"
));
return
inboundOrdersMapper
.
countInboundMaterialMoney
(
monthParam
);
}
}
}
ruoyi-inventory/src/main/java/com/ruoyi/inventory/service/impl/InventoryServiceImpl.java
View file @
f40a381f
...
@@ -8,6 +8,7 @@ import com.ruoyi.common.utils.DateUtils;
...
@@ -8,6 +8,7 @@ import com.ruoyi.common.utils.DateUtils;
import
com.ruoyi.inventory.domain.OutboundOrderItems
;
import
com.ruoyi.inventory.domain.OutboundOrderItems
;
import
com.ruoyi.inventory.domain.OutboundOrderLog
;
import
com.ruoyi.inventory.domain.OutboundOrderLog
;
import
com.ruoyi.inventory.domain.TO.StocktakeItemsTo
;
import
com.ruoyi.inventory.domain.TO.StocktakeItemsTo
;
import
com.ruoyi.inventory.domain.vo.InventoryExceedWarnVO
;
import
com.ruoyi.inventory.domain.vo.InventorySummaryVO
;
import
com.ruoyi.inventory.domain.vo.InventorySummaryVO
;
import
com.ruoyi.inventory.mapper.OutboundOrderItemsMapper
;
import
com.ruoyi.inventory.mapper.OutboundOrderItemsMapper
;
import
com.ruoyi.inventory.mapper.OutboundOrderLogMapper
;
import
com.ruoyi.inventory.mapper.OutboundOrderLogMapper
;
...
@@ -259,4 +260,9 @@ public class InventoryServiceImpl implements IInventoryService
...
@@ -259,4 +260,9 @@ public class InventoryServiceImpl implements IInventoryService
{
{
return
inventoryMapper
.
selectInventoryDetailList
(
inventory
);
return
inventoryMapper
.
selectInventoryDetailList
(
inventory
);
}
}
@Override
public
List
<
InventoryExceedWarnVO
>
selectInventoryExceedWarnList
()
{
return
inventoryMapper
.
selectInventoryExceedWarnList
();
}
}
}
ruoyi-inventory/src/main/resources/mapper/inventory/InboundOrdersMapper.xml
View file @
f40a381f
...
@@ -228,4 +228,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -228,4 +228,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
( #{item.id}, #{item.orderId}, #{item.materialId}, #{item.batchId}, #{item.warehouseId}, #{item.locationId}, #{item.plannedQuantity}, #{item.actualQuantity}, #{item.plannedPackages}, #{item.actualPackages}, #{item.divisor}, #{item.labelColor}, #{item.voucherNumber}, #{item.unitPrice}, #{item.itemStatus}, #{item.receivedAt}, #{item.receivedBy}, #{item.remark}, #{item.isUsed}, #{item.sortNo}, #{item.createTime}, #{item.createUserCode}, #{item.updateTime}, #{item.updateUserCode}, #{item.inboundOrderId})
( #{item.id}, #{item.orderId}, #{item.materialId}, #{item.batchId}, #{item.warehouseId}, #{item.locationId}, #{item.plannedQuantity}, #{item.actualQuantity}, #{item.plannedPackages}, #{item.actualPackages}, #{item.divisor}, #{item.labelColor}, #{item.voucherNumber}, #{item.unitPrice}, #{item.itemStatus}, #{item.receivedAt}, #{item.receivedBy}, #{item.remark}, #{item.isUsed}, #{item.sortNo}, #{item.createTime}, #{item.createUserCode}, #{item.updateTime}, #{item.updateUserCode}, #{item.inboundOrderId})
</foreach>
</foreach>
</insert>
</insert>
<!-- 统计入库次数-->
<select
id=
"countInboundOrders"
resultType=
"int"
parameterType=
"String"
>
select count(id)
from inbound_orders
where DATE_FORMAT(inbound_date, '%Y-%m') = #{monthParam};
</select>
<!-- 统计入库物料数量Top10-->
<resultMap
id=
"InboundMaterialTotalResultMap"
type=
"com.ruoyi.inventory.domain.vo.InboundMaterialTotalVO"
>
<result
column=
"material_name"
property=
"materialName"
jdbcType=
"VARCHAR"
/>
<result
column=
"total_quantity"
property=
"totalQuantity"
jdbcType=
"BIGINT"
/>
<result
column=
"total_money"
property=
"totalMoney"
jdbcType=
"DECIMAL"
/>
</resultMap>
<select
id=
"countInboundMaterialQuantity"
resultMap=
"InboundMaterialTotalResultMap"
parameterType=
"String"
>
select ioi.material_name,sum(ioi.actual_quantity) as total_quantity
from inbound_order as io
inner join inbound_order_items as ioi on io.id = ioi.inbound_order_id
inner join materials as m on ioi.material_id = m.id
where io.order_status = 2
group by m.id
order by total_quantity desc
limit 10
</select>
<select
id=
"countInboundMaterialMoney"
resultMap=
"InboundMaterialTotalResultMap"
parameterType=
"String"
>
select ioi.material_name,sum(ioi.actual_quantity * ioi.unit_price) as total_money
from inbound_order as io
inner join inbound_order_items as ioi on io.id = ioi.inbound_order_id
inner join materials as m on ioi.material_id = m.id
where io.order_status = 2
group by m.id
order by total_money desc
limit 10
</select>
</mapper>
</mapper>
\ No newline at end of file
ruoyi-inventory/src/main/resources/mapper/inventory/InventoryMapper.xml
View file @
f40a381f
...
@@ -317,4 +317,24 @@ and inventory_status = '1'
...
@@ -317,4 +317,24 @@ and inventory_status = '1'
#{id}
#{id}
</foreach>
</foreach>
</delete>
</delete>
<!-- 库存物料超出预警值统计-->
<resultMap
id=
"InventoryExceedWarnResultMap"
type=
"com.ruoyi.inventory.domain.vo.InventoryExceedWarnVO"
>
<result
column=
"material_name"
property=
"materialName"
jdbcType=
"VARCHAR"
/>
<result
column=
"category_name"
property=
"categoryName"
jdbcType=
"VARCHAR"
/>
<result
column=
"sap_no"
property=
"sapNo"
jdbcType=
"VARCHAR"
/>
<result
column=
"quantity"
property=
"quantity"
jdbcType=
"BIGINT"
/>
<result
column=
"min_stock_level"
property=
"minStockLevel"
jdbcType=
"BIGINT"
/>
<result
column=
"max_stock_level"
property=
"maxStockLevel"
jdbcType=
"BIGINT"
/>
</resultMap>
<select
id=
"selectInventoryExceedWarnList"
resultMap=
"InventoryExceedWarnResultMap"
>
select m.material_name,mc.category_name,m.sap_no,
COALESCE(i.quantity, 0) AS quantity,
COALESCE(m.min_stock_level, 0) AS min_stock_level,
COALESCE(m.max_stock_level, 9999) AS max_stock_level
from materials as m
inner join inventory as i on i.material_id = m.id
inner join materials_category as mc on m.category_code = mc.id
where COALESCE(i.quantity, 0)
>
COALESCE(m.max_stock_level, 999999)
or COALESCE(i.quantity, 0)
<
COALESCE(m.min_stock_level, 0)
</select>
</mapper>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论