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>
|
/// <returns></returns>
|
||||||
Task<int> GoodsStaticsTotalWarn(int goodsStocksWarn);
|
Task<int> GoodsStaticsTotalWarn(int goodsStocksWarn);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取库存报警数量(返回商品序列)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="goodsStocksWarn"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<int>> GoodsStaticsTotalWarnByGoodIds(int goodsStocksWarn);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取关联商品的货品列表数据
|
/// 获取关联商品的货品列表数据
|
||||||
|
|||||||
@@ -52,6 +52,12 @@ namespace CoreCms.Net.IServices
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> GoodsStaticsTotalWarn(int goodsStocksWarn);
|
Task<int> GoodsStaticsTotalWarn(int goodsStocksWarn);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取库存报警数量(返回商品序列)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="goodsStocksWarn"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<int>> GoodsStaticsTotalWarnByGoodIds(int goodsStocksWarn);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取关联商品的货品列表数据
|
/// 获取关联商品的货品列表数据
|
||||||
|
|||||||
@@ -74,25 +74,72 @@ namespace CoreCms.Net.Repository
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<int> GoodsStaticsTotalWarn(int goodsStocksWarn)
|
public async Task<int> GoodsStaticsTotalWarn(int goodsStocksWarn)
|
||||||
{
|
{
|
||||||
var sql = @"SELECT COUNT(*) AS number
|
var sql = @"SELECT COUNT(id) FROM dbo.CoreCmsGoods WHERE id IN
|
||||||
FROM ( SELECT t.goodsId
|
(SELECT goodsId
|
||||||
FROM ( SELECT goodsId ,
|
FROM
|
||||||
( CASE WHEN stock < freezeStock THEN 0
|
(
|
||||||
ELSE stock - freezeStock
|
SELECT t.goodsId
|
||||||
END ) AS number
|
FROM
|
||||||
FROM CoreCmsProducts
|
(
|
||||||
) t
|
SELECT goodsId,
|
||||||
WHERE t.number < " + goodsStocksWarn + @"
|
(CASE
|
||||||
GROUP BY t.goodsId
|
WHEN stock < freezeStock THEN
|
||||||
) d";
|
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 dt = await DbClient.Ado.GetDataTableAsync(sql);
|
var dt = await DbClient.Ado.GetDataTableAsync(sql, new { goodsStocksWarnNumber = goodsStocksWarn });
|
||||||
var number = dt.Rows[0][0].ObjectToInt(0);
|
var number = dt.Rows[0][0].ObjectToInt(0);
|
||||||
return number;
|
return number;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#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 获取关联商品的货品列表数据
|
#region 获取关联商品的货品列表数据
|
||||||
/// <summary>
|
/// <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 获取关联商品的货品列表数据
|
#region 获取关联商品的货品列表数据
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取关联商品的货品列表数据
|
/// 获取关联商品的货品列表数据
|
||||||
|
|||||||
@@ -1930,7 +1930,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
|
|
||||||
//库存报警
|
//库存报警
|
||||||
var goodsStaticsTotalWarn = await _productsServices.GoodsStaticsTotalWarn(goodsStocksWarn);
|
var goodsStaticsTotalWarn = await _productsServices.GoodsStaticsTotalWarn(goodsStocksWarn);
|
||||||
|
|
||||||
//返回数据
|
//返回数据
|
||||||
jm.code = 0;
|
jm.code = 0;
|
||||||
jm.msg = "数据调用成功!";
|
jm.msg = "数据调用成功!";
|
||||||
@@ -1939,11 +1939,9 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
unpaidCount,
|
unpaidCount,
|
||||||
unshipCount,
|
unshipCount,
|
||||||
aftersalesCount,
|
aftersalesCount,
|
||||||
goodsStaticsTotalWarn
|
goodsStaticsTotalWarn,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return jm;
|
return jm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -231,14 +231,22 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
//获取库存
|
//获取库存
|
||||||
var allConfigs = await _settingServices.GetConfigDictionaries();
|
var allConfigs = await _settingServices.GetConfigDictionaries();
|
||||||
var kc = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.GoodsStocksWarn);
|
var kc = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.GoodsStocksWarn);
|
||||||
|
var kcNumer = kc.ObjectToInt();
|
||||||
if (kc != null)
|
if (kc != null)
|
||||||
{
|
{
|
||||||
var kcNumer = kc.ObjectToInt();
|
var ids = await _productsServices.GoodsStaticsTotalWarnByGoodIds(kcNumer);
|
||||||
where = where.And(p => p.stock <= kcNumer && p.isDel == false && p.isMarketable);
|
if (ids.Any())
|
||||||
|
{
|
||||||
|
where = where.And(p=>ids.Contains(p.id));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
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)
|
if (kc != null)
|
||||||
{
|
{
|
||||||
var kcNumer = kc.ObjectToInt();
|
var kcNumer = kc.ObjectToInt();
|
||||||
totalWarn = await _coreCmsGoodsServices.GetCountAsync(p =>
|
//返回数量
|
||||||
p.stock <= kcNumer && p.isDel == false && p.isMarketable);
|
totalWarn = await _productsServices.GoodsStaticsTotalWarn(kcNumer);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
totalWarn = await _coreCmsGoodsServices.GetCountAsync(p =>
|
//返回数量
|
||||||
p.stock <= 0 && p.isDel == false && p.isMarketable);
|
totalWarn = await _productsServices.GoodsStaticsTotalWarn(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取商品分类
|
//获取商品分类
|
||||||
|
|||||||
@@ -229,7 +229,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="layui-col-xs6">
|
<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>
|
<h3>库存报警</h3>
|
||||||
<p><cite style="color: #FF5722;">{{d.goodsStaticsTotalWarn || '0'}}</cite></p>
|
<p><cite style="color: #FF5722;">{{d.goodsStaticsTotalWarn || '0'}}</cite></p>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
Reference in New Issue
Block a user