using System; using System.Collections.Generic; using System.Text; using System.IRepositories; using System.Model; using System.Common; using System.Data; using SqlSugar; using System.Threading.Tasks; using NLog.Web.LayoutRenderers; namespace System.Repositories { public class Bus_OrderRepository : BaseRepository, IBus_OrderRepository { /// /// 获取某月员工绩效 发单总数 发单总金额 0 未发出 1未签收2签收3改代收4拒收 /// /// 某员工 /// 时间所在月 /// public async Task> SendTotleNumber(int userid,DateTime dtStart) { List intarry = new List() { -1, -0.00M }; try { List sugarParameter = new List(); sugarParameter.Add(new SugarParameter("@userid", userid)); sugarParameter.Add(new SugarParameter("@startTime", dtStart)); sugarParameter.Add(new SugarParameter("@endTime", dtStart.AddMonths(1))); DataTable dt = await GetTableSugar("SELECT COUNT(1),SUM(F_ShouldPrice) FROM T_Bus_Order WHERE F_Belong= @userid AND F_State>=6 AND F_AddTime BETWEEN @startTime AND @endTime", sugarParameter); if (dt != null && dt.Rows.Count > 0) { intarry.Clear(); intarry.Add(dt.Rows[0][0].ObjToInt()); intarry.Add(dt.Rows[0][1].ObjToDecimal()); } return intarry; } catch { return intarry; } } /// /// 获取某月员工绩效 签收 0 未发出 1未签收2签收3改代收4拒收 /// /// 某员工 /// 时间所在月 /// public async Task> SignNumber(int userid, DateTime dtStart) { List intarry = new List() { -1, -0.00M }; try { List sugarParameter = new List(); sugarParameter.Add(new SugarParameter("@userid", userid)); sugarParameter.Add(new SugarParameter("@startTime", dtStart)); sugarParameter.Add(new SugarParameter("@endTime", dtStart.AddMonths(1))); DataTable dt = await GetTableSugar("SELECT COUNT(1),SUM(F_ShouldPrice) FROM T_Bus_Order WHERE F_Belong= @userid AND F_State>=6 AND (F_Status = 2 OR F_Status = 3) AND F_AddTime BETWEEN @startTime AND @endTime", sugarParameter); if (dt != null && dt.Rows.Count > 0) { intarry.Clear(); intarry.Add(dt.Rows[0][0].ObjToInt()); intarry.Add(dt.Rows[0][1].ObjToDecimal()); } return intarry; } catch { return intarry; } } /// /// 获取某月员工绩效 拒收 0 未发出 1未签收2签收3改代收4拒收 /// /// 某员工 /// 时间所在月 /// public async Task> RefuseNumber(int userid, DateTime dtStart) { List intarry = new List() { -1, -0.00M }; try { List sugarParameter = new List(); sugarParameter.Add(new SugarParameter("@userid", userid)); sugarParameter.Add(new SugarParameter("@startTime", dtStart)); sugarParameter.Add(new SugarParameter("@endTime", dtStart.AddMonths(1))); DataTable dt = await GetTableSugar("SELECT COUNT(1),SUM(F_ShouldPrice) FROM T_Bus_Order WHERE F_Belong= @userid AND F_State>=6 AND F_Status = 4 AND F_AddTime BETWEEN @startTime AND @endTime", sugarParameter); if (dt != null && dt.Rows.Count > 0) { intarry.Clear(); intarry.Add(dt.Rows[0][0].ObjToInt()); intarry.Add(dt.Rows[0][1].ObjToDecimal()); } return intarry; } catch { return intarry; } } /// /// 获取某月员工绩效 录入错误上上月 有可能拒改签,有可能签改拒 /// /// 某员工 /// 时间所在月(下一个月) /// public async Task> ErrorNumber(int userid, DateTime dtStart) { List intarry = new List(); List intarry1 = new List() { 0, 0 }; List intarry2 = new List() { 0, 0 }; try { List sugarParameter = new List(); sugarParameter.Add(new SugarParameter("@userid", userid)); sugarParameter.Add(new SugarParameter("@startTime", dtStart.AddMonths(-1))); sugarParameter.Add(new SugarParameter("@endTime", dtStart)); DataTable dt = await GetTableSugar("SELECT COUNT(1),SUM(F_ShouldPrice) FROM T_Bus_Order WHERE F_Belong= @userid AND F_State>=6 AND F_Tag LIKE '拒改签' AND F_Status > 1 AND F_AddTime BETWEEN @startTime AND @endTime", sugarParameter); if (dt != null && dt.Rows.Count > 0) { intarry1.Clear(); intarry1.Add(dt.Rows[0][0].ObjToInt()); intarry1.Add(dt.Rows[0][1].ObjToDecimal()); } await GetTableSugar("SELECT COUNT(1),SUM(F_ShouldPrice) FROM T_Bus_Order WHERE F_Belong= @userid AND F_State>=6 AND F_Tag LIKE '签改拒' AND F_Status > 1 AND F_AddTime BETWEEN @startTime AND @endTime", sugarParameter); if (dt != null && dt.Rows.Count > 0) { intarry2.Clear(); intarry2.Add(dt.Rows[0][0].ObjToInt()); intarry2.Add(dt.Rows[0][1].ObjToDecimal()); } intarry.Add(intarry1[0]- intarry2[0]); intarry.Add(intarry1[1] - intarry2[1]); return intarry; } catch { return intarry; } } /// /// 获取某月员工绩效 单独统计的物品 特殊统计物品 F_ClassId 1鞋垫 2袜子 /// /// 某员工 /// 时间所在月 /// public async Task AlongMoney(int userid, DateTime dtStart) { decimal intarry = 0.00M ; try { List sugarParameter = new List(); sugarParameter.Add(new SugarParameter("@userid", userid)); sugarParameter.Add(new SugarParameter("@startTime", dtStart)); sugarParameter.Add(new SugarParameter("@endTime", dtStart.AddMonths(1))); DataTable dt = await GetTableSugar("SELECT SUM(F_TotlePrice) FROM `T_Bus_OrderDetail` WHERE F_OrderId IN(SELECT F_Id FROM T_Bus_Order WHERE F_Belong= @userid AND F_State>=6 AND (F_Status = 2 OR F_Status = 3) AND F_AddTime BETWEEN @startTime AND @endTime) AND `F_ProductId` IN (SELECT F_ProductId FROM `T_Bus_Product` WHERE F_ClassId IN (1,2))", sugarParameter); if (dt != null && dt.Rows.Count > 0) { intarry = dt.Rows[0][0].ObjToDecimal(); } return intarry; } catch { return intarry; } } } }