using Dapper; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Threading.Tasks; using VueWebCoreApi.Tools; namespace VueWebCoreApi.DLL.DAL { public class KanBanManagerentDAL { public static ToMessage mes = new ToMessage(); //定义全局返回信息对象 #region[车间看板,上生产信息] public static ToMessage WorkShopProduceTopData(string wkshopcode) { string sql = ""; var dynamicParams = new DynamicParameters(); try { string[] wkshoplist = Array.ConvertAll(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[] sql = @"select * from h_v_JLKanBan_WorkshopTop where wkshp_code in @wkshoplist"; dynamicParams.Add("@wkshoplist", wkshoplist); var data = DapperHelper.selectdata(sql, dynamicParams); mes.code = "200"; mes.message = "查询成功!"; mes.data = data; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[车间看板,下左近一周不良趋势] public static ToMessage WorkShopProduceBottomLeftData(string wkshopcode) { string sql = ""; Dictionary dir = new Dictionary(); try { //存储过程名(当前时间往前一周) string[] wkshoplist = Array.ConvertAll(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[] sql = @"h_p_JLKanBan_WorkshopBottomLeft"; for (int i = 0; i < wkshoplist.Length; i++) { var dynamicParams = new DynamicParameters(); dynamicParams.Add("@wkshop_code", wkshoplist[i].ToString()); var dt = DapperHelper.selectProcedure(sql, dynamicParams); dir.Add(wkshoplist[i].ToString(), dt); } mes.code = "200"; mes.message = "查询成功!"; mes.data = dir; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[车间看板,下右近一月不良统计] public static ToMessage WorkShopProduceBottomRightData(string wkshopcode) { string sql = ""; var dynamicParams = new DynamicParameters(); try { string[] wkshoplist = Array.ConvertAll(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[] sql = @"select * from h_v_JLKanBan_WorkshopBottomRight where wkshp_code in @wkshoplist"; dynamicParams.Add("@wkshoplist", wkshoplist); var data = DapperHelper.selectdata(sql, dynamicParams); mes.code = "200"; mes.message = "查询成功!"; mes.data = data; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[车间综合看板,左上生产订单] public static ToMessage WorkShopCompreLeftTop(string wkshopcode) { var sql = ""; var dynamicParams = new DynamicParameters(); Dictionary dir = new Dictionary(); Dictionary dir0 = new Dictionary(); Dictionary dir1 = new Dictionary(); try { string[] wkshoplist = Array.ConvertAll(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[] sql = @"select * from h_v_JLKanBan_WorkShopCompreLeftTop"; var data = DapperHelper.selecttable(sql); sql = @"select * from h_v_JLKanBan_WorkShopCompreLeftCenter"; var data1 = DapperHelper.selecttable(sql); for (int i = 0; i < wkshoplist.Length; i++) { var top0 = data.AsEnumerable() .Where(row => row.Field("wkshp_code") == wkshoplist[i].ToString()) // 添加查询条件 .Select(group => new { wkshp_code = group.Field("wkshp_code"), plan_qty = group.Field("plan_qty"), good_qty = group.Field("good_qty") }).DefaultIfEmpty(new { wkshp_code = wkshoplist[i].ToString(), plan_qty = 0m, good_qty = 0m })//为空时指定默认值 .ToList(); dir0.Add(wkshoplist[i].ToString(), top0); var top1 = data1.AsEnumerable() .Where(row => row.Field("wkshp_code") == wkshoplist[i].ToString()) // 添加查询条件 .Select(group => new { wkshp_code = group.Field("wkshp_code"), plan_qty = group.Field("plan_qty"), quantity = group.Field("quantity") }).DefaultIfEmpty(new { wkshp_code = wkshoplist[i].ToString(), plan_qty = 0m, quantity = 0m })//为空时指定默认值 .ToList(); dir1.Add(wkshoplist[i].ToString(), top1); } dir.Add("LeftTop", dir0); dir.Add("LeftBottom", dir1); mes.code = "200"; mes.message = "查询成功!"; mes.data = dir; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[车间综合看板,右上销售订单] public static ToMessage WorkShopCompreRightTop() { var sql = ""; Dictionary dir = new Dictionary(); try { sql = @"select * from h_v_JLKanBan_WorkShopCompreRightTop"; var data = DapperHelper.selecttable(sql); sql = @"select * from h_v_JLKanBan_WorkShopCompreRightCenter"; var data1 = DapperHelper.selecttable(sql); dir.Add("RightTop", data); dir.Add("RightBottom", data1); mes.code = "200"; mes.message = "查询成功!"; mes.data = dir; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[车间综合看板,右下库存] public static ToMessage WorkShopCompreRightBottom() { var sql = ""; Dictionary dir = new Dictionary(); try { sql = @"select * from h_v_JLKanBan_WorkShopCompreRightBottom"; var data = DapperHelper.selecttable(sql); dir.Add("Y", data.Rows[0]["BaseQuantity"].ToString()); dir.Add("B", data.Rows[1]["BaseQuantity"].ToString()); dir.Add("C", data.Rows[2]["BaseQuantity"].ToString()); mes.code = "200"; mes.message = "查询成功!"; mes.data = dir; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[仓库看板,左上产品待入库列表] public static ToMessage WareHouseTopLeftData() { string sql = ""; try { //获取仓库生产加工单待入库列表 sql = @"select * from h_v_ALKKanBan_WareHouseTopLeft order by voucherdate"; var data = DapperHelper.selecttable(sql); mes.code = "200"; mes.message = "查询成功!"; mes.data = data; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[仓库看板,左下产品待发货列表] public static ToMessage WareHouseTopBottomData() { string sql = ""; try { //获取仓库生产加工单待入库列表 sql = @"select * from h_v_ALKKanBan_WareHouseTopBottom order by voucherdate"; var data = DapperHelper.selecttable(sql); mes.code = "200"; mes.message = "查询成功!"; mes.data = data; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[仓库看板,右上成品库、半成品库top5库存排行] public static ToMessage WareHouseRightTopData() { string sql = ""; try { sql = @"select * from h_v_ALKKanBan_WareHouseRightTop"; var data = DapperHelper.selecttable(sql); mes.code = "200"; mes.message = "查询成功!"; mes.data = data; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[仓库看板,右下原料库库top5库存排行] public static ToMessage WareHouseRightBottomData() { string sql = ""; try { sql = @"select * from h_v_ALKKanBan_WareHouseRightBottom"; var data = DapperHelper.selecttable(sql); mes.code = "200"; mes.message = "查询成功!"; mes.data = data; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion } }