mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 17:13:26 +08:00
后台【修复】:修复库存显示数据错误,链接错误,商品库存异常列表数据错误的问题。
This commit is contained in:
@@ -29,6 +29,12 @@ namespace CoreCms.Net.IRepository
|
||||
/// <returns></returns>
|
||||
Task<int> GoodsStaticsTotalWarn(int goodsStocksWarn);
|
||||
|
||||
/// <summary>
|
||||
/// 获取库存报警数量(返回商品序列)
|
||||
/// </summary>
|
||||
/// <param name="goodsStocksWarn"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<int>> GoodsStaticsTotalWarnByGoodIds(int goodsStocksWarn);
|
||||
|
||||
/// <summary>
|
||||
/// 获取关联商品的货品列表数据
|
||||
|
||||
@@ -52,6 +52,12 @@ namespace CoreCms.Net.IServices
|
||||
/// <returns></returns>
|
||||
Task<int> GoodsStaticsTotalWarn(int goodsStocksWarn);
|
||||
|
||||
/// <summary>
|
||||
/// 获取库存报警数量(返回商品序列)
|
||||
/// </summary>
|
||||
/// <param name="goodsStocksWarn"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<int>> GoodsStaticsTotalWarnByGoodIds(int goodsStocksWarn);
|
||||
|
||||
/// <summary>
|
||||
/// 获取关联商品的货品列表数据
|
||||
|
||||
@@ -74,25 +74,72 @@ namespace CoreCms.Net.Repository
|
||||
/// <returns></returns>
|
||||
public async Task<int> GoodsStaticsTotalWarn(int goodsStocksWarn)
|
||||
{
|
||||
var sql = @"SELECT COUNT(*) AS number
|
||||
FROM ( SELECT t.goodsId
|
||||
FROM ( SELECT goodsId ,
|
||||
( CASE WHEN stock < freezeStock THEN 0
|
||||
ELSE stock - freezeStock
|
||||
END ) AS number
|
||||
var sql = @"SELECT COUNT(id) FROM dbo.CoreCmsGoods WHERE id IN
|
||||
(SELECT goodsId
|
||||
FROM
|
||||
(
|
||||
SELECT t.goodsId
|
||||
FROM
|
||||
(
|
||||
SELECT goodsId,
|
||||
(CASE
|
||||
WHEN stock < freezeStock THEN
|
||||
0
|
||||
ELSE
|
||||
stock - freezeStock
|
||||
END
|
||||
) AS number,
|
||||
isDel
|
||||
FROM CoreCmsProducts
|
||||
WHERE isDel = 0
|
||||
) t
|
||||
WHERE t.number < " + goodsStocksWarn + @"
|
||||
WHERE t.number < @goodsStocksWarnNumber
|
||||
GROUP BY t.goodsId
|
||||
) d";
|
||||
) d) AND isDel =0 ";
|
||||
|
||||
var dt = await DbClient.Ado.GetDataTableAsync(sql);
|
||||
var dt = await DbClient.Ado.GetDataTableAsync(sql, new { goodsStocksWarnNumber = goodsStocksWarn });
|
||||
var number = dt.Rows[0][0].ObjectToInt(0);
|
||||
return number;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 获取库存报警数量(返回商品序列)
|
||||
/// <summary>
|
||||
/// 获取库存报警数量(返回商品序列)
|
||||
/// </summary>
|
||||
/// <param name="goodsStocksWarn"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<int>> GoodsStaticsTotalWarnByGoodIds(int goodsStocksWarn)
|
||||
{
|
||||
var sql = @"SELECT id FROM dbo.CoreCmsGoods WHERE id IN
|
||||
(SELECT goodsId
|
||||
FROM
|
||||
(
|
||||
SELECT t.goodsId
|
||||
FROM
|
||||
(
|
||||
SELECT goodsId,
|
||||
(CASE
|
||||
WHEN stock < freezeStock THEN
|
||||
0
|
||||
ELSE
|
||||
stock - freezeStock
|
||||
END
|
||||
) AS number,
|
||||
isDel
|
||||
FROM CoreCmsProducts
|
||||
WHERE isDel = 0
|
||||
) t
|
||||
WHERE t.number < @goodsStocksWarnNumber
|
||||
GROUP BY t.goodsId
|
||||
) d) AND isDel =0 ";
|
||||
|
||||
var result = await DbClient.Ado.SqlQueryAsync<int>(sql, new { goodsStocksWarnNumber = goodsStocksWarn });
|
||||
return result;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region 获取关联商品的货品列表数据
|
||||
/// <summary>
|
||||
/// 获取关联商品的货品列表数据
|
||||
|
||||
@@ -318,6 +318,17 @@ namespace CoreCms.Net.Services
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取库存报警数量(返回商品序列)
|
||||
/// </summary>
|
||||
/// <param name="goodsStocksWarn"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<int>> GoodsStaticsTotalWarnByGoodIds(int goodsStocksWarn)
|
||||
{
|
||||
return await _dal.GoodsStaticsTotalWarnByGoodIds(goodsStocksWarn);
|
||||
}
|
||||
|
||||
|
||||
#region 获取关联商品的货品列表数据
|
||||
/// <summary>
|
||||
/// 获取关联商品的货品列表数据
|
||||
|
||||
@@ -1939,11 +1939,9 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
unpaidCount,
|
||||
unshipCount,
|
||||
aftersalesCount,
|
||||
goodsStaticsTotalWarn
|
||||
goodsStaticsTotalWarn,
|
||||
};
|
||||
|
||||
|
||||
|
||||
return jm;
|
||||
}
|
||||
|
||||
|
||||
@@ -231,14 +231,22 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
//获取库存
|
||||
var allConfigs = await _settingServices.GetConfigDictionaries();
|
||||
var kc = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.GoodsStocksWarn);
|
||||
var kcNumer = kc.ObjectToInt();
|
||||
if (kc != null)
|
||||
{
|
||||
var kcNumer = kc.ObjectToInt();
|
||||
where = where.And(p => p.stock <= kcNumer && p.isDel == false && p.isMarketable);
|
||||
var ids = await _productsServices.GoodsStaticsTotalWarnByGoodIds(kcNumer);
|
||||
if (ids.Any())
|
||||
{
|
||||
where = where.And(p=>ids.Contains(p.id));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
where = where.And(p => p.stock <= 0 && p.isDel == false && p.isMarketable);
|
||||
var ids = await _productsServices.GoodsStaticsTotalWarnByGoodIds(0);
|
||||
if (ids.Any())
|
||||
{
|
||||
where = where.And(p => ids.Contains(p.id));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -295,13 +303,13 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
if (kc != null)
|
||||
{
|
||||
var kcNumer = kc.ObjectToInt();
|
||||
totalWarn = await _coreCmsGoodsServices.GetCountAsync(p =>
|
||||
p.stock <= kcNumer && p.isDel == false && p.isMarketable);
|
||||
//返回数量
|
||||
totalWarn = await _productsServices.GoodsStaticsTotalWarn(kcNumer);
|
||||
}
|
||||
else
|
||||
{
|
||||
totalWarn = await _coreCmsGoodsServices.GetCountAsync(p =>
|
||||
p.stock <= 0 && p.isDel == false && p.isMarketable);
|
||||
//返回数量
|
||||
totalWarn = await _productsServices.GoodsStaticsTotalWarn(0);
|
||||
}
|
||||
|
||||
//获取商品分类
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="layui-col-xs6">
|
||||
<a lay-href="/order/orders/" class="layadmin-backlog-body">
|
||||
<a lay-href="/good/goods/" class="layadmin-backlog-body">
|
||||
<h3>库存报警</h3>
|
||||
<p><cite style="color: #FF5722;">{{d.goodsStaticsTotalWarn || '0'}}</cite></p>
|
||||
</a>
|
||||
|
||||
Reference in New Issue
Block a user