34 lines
1.3 KiB
C#
34 lines
1.3 KiB
C#
using Web.Core.Common.Dapper;
|
|
using Web.Core.IServices.Canteen;
|
|
using Web.Core.Model.Entity;
|
|
|
|
namespace Web.Core.Services.Canteen;
|
|
|
|
public class CanteenServices(IDapperHelper dapperHelper) : ICanteenServices
|
|
{
|
|
public async Task<Ordermeal> GetMealsAmountAsync(string date)
|
|
{
|
|
var sql1 = """
|
|
WITH temp AS (SELECT Card_id,Dins1,Dins2,Dins1Cancel,Dins2Cancel FROM MealQuery(@date,@date))
|
|
SELECT ISNULL(SUM(CASE WHEN ISNULL(a.Dins1,0)=1 AND ISNULL(a.Dins1Cancel,0)=0 THEN 1 ELSE 0 END),0) AS lunch ,
|
|
ISNULL(SUM(CASE WHEN ISNULL(a.Dins2,0)=1 AND ISNULL(a.Dins2Cancel,0)=0 THEN 1 ELSE 0 END),0) AS dinner
|
|
FROM temp a
|
|
""";
|
|
var sql2 =
|
|
"SELECT LunchNumber as lunch,DinnerNumber as dinner FROM dbo.MealCommitNumbers WHERE RecodeTime=@date";
|
|
|
|
var ordermeal1 =
|
|
await dapperHelper.QueryFirstOrDefaultAsync<Ordermeal>(DapperHelper.SysName.Canteen, sql1, new { date });
|
|
|
|
|
|
var ordermeal2 =
|
|
await dapperHelper.QueryFirstOrDefaultAsync<Ordermeal>(DapperHelper.SysName.GYAPP, sql2,
|
|
new { date });
|
|
|
|
return new Ordermeal
|
|
{
|
|
lunch = ordermeal1.lunch + (ordermeal2?.lunch ?? 0),
|
|
dinner = ordermeal1.dinner + (ordermeal2?.dinner ?? 0)
|
|
};
|
|
}
|
|
} |