From 54cf93766639d96ed2bdd101440d2ce9f2538e7e Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 12 九月 2023 18:54:44 +0800
Subject: [PATCH] 正清和质量看板接口功能 修改存货查询功能

---
 VueWebApi/DLL/DAL/KanBanManagerentDAL.cs |  201 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 137 insertions(+), 64 deletions(-)

diff --git a/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs b/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
index 5e67faf..3993537 100644
--- a/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
+++ b/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
@@ -20,7 +20,7 @@
         public static List<SqlParameter> listStr = new List<SqlParameter>(); //瀹氫箟鍏ㄥ眬鍙傛暟闆嗗悎
         public static SqlParameter[] parameters; //瀹氫箟鍏ㄥ眬SqlParameter鍙傛暟鏁扮粍
 
-        #region[澶у矝杞﹂棿缁煎悎鐪嬫澘,鑾峰彇鐢熶骇杞﹂棿]
+        #region[姝f竻鍜岃溅闂寸湅鏉�,鑾峰彇鐢熶骇杞﹂棿]
         public static ToMessage ShopSearch()
         {
             string sql = "";
@@ -46,7 +46,7 @@
         }
         #endregion
 
-        #region[澶у矝杞﹂棿缁煎悎鐪嬫澘,宸︿笂浜х嚎鍔犲伐浠诲姟鎺ュ彛]
+        #region[姝f竻鍜岃溅闂寸湅鏉�,宸︿笂浜х嚎鍔犲伐浠诲姟鎺ュ彛]
         public static ToMessage LineSearchTopLeftData(string shopcode)
         {
             string sql = "";
@@ -70,7 +70,7 @@
                                     where P.status<>'CLOSED' and P.status<>'NEW' and P.wkshp_code in @shopcode and A.style='S' and A.step_seq='1'
                                     ) as AA where AA.plan_qty>(AA.good_qty+aa.bad_qty+AA.ng_qty)";
                     var data0 = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
-                
+
                     if (data0.Rows.Count > 0)
                     {
                         for (int j = 0; j < data0.Rows.Count; j++)
@@ -149,7 +149,7 @@
         }
         #endregion\
 
-        #region[澶у矝杞﹂棿缁煎悎鐪嬫澘,宸︿笅鍒楄〃鎺ュ彛]
+        #region[姝f竻鍜岃溅闂寸湅鏉�,宸︿笅鍒楄〃鎺ュ彛]
         public static ToMessage LineSearchBottomLeftData(string shopcode)
         {
             string sql = "";
@@ -185,7 +185,7 @@
         }
         #endregion
 
-        #region[澶у矝杞﹂棿缁煎悎鐪嬫澘,鍙充笂top鎺掕鎺ュ彛,褰撴棩]
+        #region[姝f竻鍜岃溅闂寸湅鏉�,鍙充笂top鎺掕鎺ュ彛,褰撴棩]
         public static ToMessage LineSearchTopRightData(string shopcode)
         {
             string sql = "";
@@ -224,7 +224,7 @@
         }
         #endregion
 
-        #region[澶у矝杞﹂棿缁煎悎鐪嬫澘,鍙充笅top鎺掕鎺ュ彛,褰撳墠鏃堕棿寰�鍓嶄竴鍛╙
+        #region[姝f竻鍜岃溅闂寸湅鏉�,鍙充笅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鍒嗗壊杞瑂tring[] 
             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,15 +256,136 @@
         #endregion
 
 
-        #region[閲囪喘璁㈠崟璺熻釜绠$悊鐪嬫澘,宸︿笂鏈湀閲囪喘璁㈠崟鏁般�佹湰鏈堥噰璐繘璐у崟鏁般�佹湰鏈堥噰璐叆搴撳崟鏁癩
-        public static ToMessage PurchaseLeftTop()
+        #region[姝f竻鍜岃溅闂磋川閲忔暟瀛楀寲鐪嬫澘,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鍒嗗壊杞瑂tring[] 
+                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 = dir;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[姝f竻鍜岃溅闂磋川閲忔暟瀛楀寲鐪嬫澘,宸︿腑鍛ㄤ笉鑹秼鍔縘
+        public static ToMessage QCBadCenterLeftWeek(string wkshopcode)
+        {
+            string sql = "";
+            Dictionary<object, object> dir = new Dictionary<object, object>();
+            try
+            {
+                //瀵屽皵杈捐溅闂磋川閲忔暟瀛楀寲鐪嬫澘,鍛ㄤ笉鑹秼鍔�(褰撳墠鏃堕棿寰�鍓嶄竴鍛�)
+                //瀛樺偍杩囩▼鍚�
+                string[] wkshoplist = Array.ConvertAll<string, string>(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[] 
+                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 = dir;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[姝f竻鍜岃溅闂磋川閲忔暟瀛楀寲鐪嬫澘,鍙充腑鍛ㄥ畬鎴愭暟/鐜嘳
+        public static ToMessage QCBadCenterRightWeek(string wkshopcode)
+        {
+            var sql = "";
+            var dynamicParams = new DynamicParameters();
+            Dictionary<object, object> dir = new Dictionary<object, object>();
+            try
+            {
+                string[] wkshoplist = Array.ConvertAll<string, string>(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[] 
+                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[姝f竻鍜岃溅闂磋川閲忔暟瀛楀寲鐪嬫澘,涓嬩换鍔¤繘搴
+        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鍒嗗壊杞瑂tring[] 
+                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;
@@ -280,55 +401,7 @@
         }
         #endregion
 
-        #region[閲囪喘璁㈠崟璺熻釜绠$悊鐪嬫澘,宸︿笅閲囪喘璁㈠崟璺熻釜鍒楄〃]
-        public static ToMessage PurchaseLeftBottom()
-        {
-            string sql = "";
-            try
-            {
-                //鑾峰彇閲囪喘璁㈠崟璺熻釜鍒楄〃
-                sql = @"select * from h_v_DDKanBan_PurchaseLeftBottom ";
-                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[閲囪喘璁㈠崟璺熻釜绠$悊鐪嬫澘,鍙充晶Top]
-        public static ToMessage PurchaseRight()
-        {
-            string sql = "";
-            try
-            {
-                //鑾峰彇閲囪喘璁㈠崟璺熻釜鍒楄〃
-                sql = @"select * from h_v_DDKanBan_PurchaseRight ";
-                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 WareHouseTopLeftData()

--
Gitblit v1.9.3