yl
2023-09-12 54cf93766639d96ed2bdd101440d2ce9f2538e7e
VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
@@ -20,7 +20,7 @@
        public static List<SqlParameter> listStr = new List<SqlParameter>(); //定义全局参数集合
        public static SqlParameter[] parameters; //定义全局SqlParameter参数数组
        #region[大岛车间综合看板,获取生产车间]
        #region[正清和车间看板,获取生产车间]
        public static ToMessage ShopSearch()
        {
            string sql = "";
@@ -46,7 +46,7 @@
        }
        #endregion
        #region[大岛车间综合看板,左上产线加工任务接口]
        #region[正清和车间看板,左上产线加工任务接口]
        public static ToMessage LineSearchTopLeftData(string shopcode)
        {
            string sql = "";
@@ -149,7 +149,7 @@
        }
        #endregion\
        #region[大岛车间综合看板,左下列表接口]
        #region[正清和车间看板,左下列表接口]
        public static ToMessage LineSearchBottomLeftData(string shopcode)
        {
            string sql = "";
@@ -185,7 +185,7 @@
        }
        #endregion
        #region[大岛车间综合看板,右上top排行接口,当日]
        #region[正清和车间看板,右上top排行接口,当日]
        public static ToMessage LineSearchTopRightData(string shopcode)
        {
            string sql = "";
@@ -224,7 +224,7 @@
        }
        #endregion
        #region[大岛车间综合看板,右下top排行接口,当前时间往前一周]
        #region[正清和车间看板,右下top排行接口,当前时间往前一周]
        public static ToMessage LineSearchBottomRightData(string shopcode)
        {
            string sql = "";
@@ -232,12 +232,12 @@
            string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[] 
            try
            {
                //获取报工不良top5信息
                sql = @"select isnull(COUNT(B.name),0) cont,B.name
                //获取报工不良次数top5信息
                sql = @"select B.name, COUNT(*) as cont
                        from CSR_WorkRecord_Defect A
                        inner join TDefect B on A.defect_code=B.code
                        inner join  TDefect B on CHARINDEX(',' + B.code + ',', ',' + A.defect_code + ',') > 0
                        inner join TK_Wrk_Man M on A.wo_code=M.wo_code
                        where DateDiff(dd,A.lm_date,getdate())<=7 and M.wkshp_code in @shopcode
                        where M.wkshp_code in @shopcode
                        group by B.name order by cont desc";
                var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
                mes.code = "200";
@@ -256,18 +256,40 @@
        #endregion
        #region[采购订单跟踪管理看板,左上本月采购订单数、本月采购进货单数、本月采购入库单数]
        public static ToMessage PurchaseLeftTop()
        #region[正清和车间质量数字化看板,top5不良]
        public static ToMessage QCBadTop(string wkshopcode)
        {
            string sql = "";
            var sql = "";
            var dynamicParams = new DynamicParameters();
            Dictionary<object, object> dir = new Dictionary<object, object>();
            try
            {
                //获取本月采购订单数、本月采购进货单数、本月采购入库单数
                sql = @"select * from h_v_DDKanBan_PurchaseLeftTop ";
                string[] wkshoplist = Array.ConvertAll<string, string>(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                sql = @"select * from h_v_DDKanBan_QCBadTop";
                var data = DapperHelper.selecttable(sql);
                var top = data.AsEnumerable().GroupBy(row => row.Field<string>("name"))
                .Select(group => new
                {
                    name = group.Key,
                    cont = group.Sum(row => row.Field<int>("cont"))
                }).ToList();
                dir.Add("ALL", top);
                for (int i = 0; i < wkshoplist.Length; i++)
                {
                    var top0 = data.AsEnumerable()
                               .Where(row => row.Field<string>("wkshp_code")== wkshoplist[i].ToString()) // 添加查询条件
                               .GroupBy(row =>row.Field<string>("name"))
                               .Select(group => new
                               {
                                   name = group.Key,
                                   cont = group.Sum(row => row.Field<int>("cont"))
                               }).ToList();
                    dir.Add(wkshoplist[i].ToString(), top0);
                }
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;
                mes.data = dir;
            }
            catch (Exception e)
            {
@@ -280,18 +302,28 @@
        }
        #endregion
        #region[采购订单跟踪管理看板,左下采购订单跟踪列表]
        public static ToMessage PurchaseLeftBottom()
        #region[正清和车间质量数字化看板,左中周不良趋势]
        public static ToMessage QCBadCenterLeftWeek(string wkshopcode)
        {
            string sql = "";
            Dictionary<object, object> dir = new Dictionary<object, object>();
            try
            {
                //获取采购订单跟踪列表
                sql = @"select * from h_v_DDKanBan_PurchaseLeftBottom ";
                var data = DapperHelper.selecttable(sql);
                //富尔达车间质量数字化看板,周不良趋势(当前时间往前一周)
                //存储过程名
                string[] wkshoplist = Array.ConvertAll<string, string>(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                sql = @"h_p_KanBan_QCBadCenterLeft";
                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 = data;
                mes.data = dir;
            }
            catch (Exception e)
            {
@@ -304,15 +336,56 @@
        }
        #endregion
        #region[采购订单跟踪管理看板,右侧Top]
        public static ToMessage PurchaseRight()
        #region[正清和车间质量数字化看板,右中周完成数/率]
        public static ToMessage QCBadCenterRightWeek(string wkshopcode)
        {
            string sql = "";
            var sql = "";
            var dynamicParams = new DynamicParameters();
            Dictionary<object, object> dir = new Dictionary<object, object>();
            try
            {
                //获取采购订单跟踪列表
                sql = @"select * from h_v_DDKanBan_PurchaseRight ";
                string[] wkshoplist = Array.ConvertAll<string, string>(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                sql = @"select * from h_v_DDKanBan_QCBadCenterRight";
                var data = DapperHelper.selecttable(sql);
                for (int i = 0; i < wkshoplist.Length; i++)
                {
                    var top0 = data.AsEnumerable()
                               .Where(row => row.Field<string>("wkshp_code") == wkshoplist[i].ToString()) // 添加查询条件
                               .Select(group => new
                               {
                                   wkshp_code = group.Field<string>("wkshp_code"),
                                   plan_qty= group.Field<decimal>("plan_qty"),
                                   good_qty = group.Field<decimal>("good_qty"),
                                   radio = group.Field<decimal>("radio")
                               }).ToList();
                    dir.Add(wkshoplist[i].ToString(), top0);
                }
                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 QCBadBottomWeek(string wkshopcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                string[] wkshoplist = Array.ConvertAll<string, string>(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                sql = @"select * from h_v_DDKanBan_QCBadBottom where wkshp_code in @wkshoplist";
                dynamicParams.Add("@wkshoplist", wkshoplist);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;