From 9c634fd767aec36ef97c3a814bf7a29c67d20ee1 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 29 三月 2024 10:57:35 +0800
Subject: [PATCH] 修改单据重复显示问题,增加工单源单id关联

---
 VueWebApi/DLL/DAL/KanBanManagerentDAL.cs |  127 +++++++++++++++++++++++++++++++++++------
 1 files changed, 107 insertions(+), 20 deletions(-)

diff --git a/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs b/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
index 3993537..aadb785 100644
--- a/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
+++ b/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
@@ -57,7 +57,7 @@
                 if (shopcode != null || shopcode != "") //浜х嚎缂栫爜涓嶄负绌�
                 {
                     string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[] 
-                    //鏌ヨ浜х嚎涓嬪凡寮�宸ョ殑鍔犲伐鍗曚俊鎭�
+                    //鏌ヨ浜х嚎涓嬪凡寮�宸ョ殑鍔犲伐鍗曚俊鎭�(褰撳勾)
                     sql = @"select *  from ( 
                                     select distinct E.saleOrderCode,A.wo_code,P.plan_qty,M.partcode,M.partname,M.partspec,T.name as uomname,S.good_qty,S.ng_qty,S.bad_qty   from TK_Wrk_Record A
                                     inner join TK_Wrk_Man P on A.wo_code=P.wo_code
@@ -67,8 +67,8 @@
                                     left join (
                                       select wo_code,sum(good_qty) as good_qty,sum(ng_qty) as ng_qty,sum(bad_qty) as bad_qty  from TK_Wrk_Step where isend='Y' group by wo_code
                                     ) S on P.wo_code=S.wo_code
-                                    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)";
+                                    where P.status<>'CLOSED' and P.status<>'NEW' and P.wkshp_code in @shopcode and A.style='S' and A.step_seq='1' and year(P.lm_date) = YEAR(GETDATE())
+                                    ) 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)
@@ -93,7 +93,7 @@
                             lineone.children = new List<TreeTwo>();
 
                             //鏌ユ柊宸ュ崟涓嬪伐搴忎俊鎭�
-                            sql = @"select A.seq,T.stepcode,T.stepname,A.plan_qty,A.good_qty,A.ng_qty,A.status  
+                            sql = @"select A.seq,T.stepcode,T.stepname,A.plan_qty,A.start_qty,A.good_qty,A.ng_qty,A.status  
                                             from TK_Wrk_Step A
                                             left join TStep T on A.step_code=T.stepcode
                                             where A.wo_code=@wo_code";
@@ -105,6 +105,7 @@
                                 string stepcode = data1.Rows[k]["STEPCODE"].ToString();//宸ュ簭缂栫爜
                                 string stepname = data1.Rows[k]["STEPNAME"].ToString();//宸ュ簭鍚嶇О
                                 string planqty = data1.Rows[k]["PLAN_QTY"].ToString();//浠诲姟鏁伴噺
+                                string startqty = data1.Rows[k]["START_QTY"].ToString();//寮�宸ユ暟閲�
                                 string good_qty = data1.Rows[k]["GOOD_QTY"].ToString();//鎶ュ伐鏁伴噺
                                 string ng_qty = data1.Rows[k]["NG_QTY"].ToString();//涓嶈壇鏁伴噺
                                 string status = data1.Rows[k]["STATUS"].ToString();//鐘舵��
@@ -113,6 +114,7 @@
                                 linetwo.stepcode = stepcode;
                                 linetwo.stepname = stepname;
                                 linetwo.planqty = planqty;
+                                linetwo.startqty = startqty;
                                 linetwo.goodqty = good_qty;
                                 linetwo.ngqty = ng_qty;
                                 linetwo.status = status;
@@ -157,7 +159,7 @@
             string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[] 
             try
             {
-                //鑾峰彇浠诲姟鍒楄〃淇℃伅
+                //鑾峰彇浠诲姟鍒楄〃淇℃伅(褰撳勾)
                 sql = @"select A.*,ROW_NUMBER() OVER(ORDER BY (case when A.warning<=2 then A.planenddate end) asc ,A.planstartdate asc) AS RowNum from(
                          select  A.status,A.lm_date,E.saleOrderCode,A.wo_code,M.partcode,M.partname,M.partspec,U.name,
                          A.plan_qty,B.good_qty,B.ng_qty,E.planstartdate,E.planenddate, datediff(day,getdate(),E.planenddate) warning
@@ -167,7 +169,7 @@
                          left  join TMateriel_Info M on A.materiel_code=M.partcode
                          left  join TUom U on M.uom_code=U.code
                          where A.status<>'CLOSED' and A.wkshp_code in @shopcode and A.is_delete<>'1' and B.isend='Y'
-                         and A.plan_qty>(B.good_qty+B.ng_qty+B.bad_qty)
+                         and A.plan_qty>=(B.good_qty+B.ng_qty+B.bad_qty) and year(A.lm_date) = YEAR(GETDATE())
                          )as A ";
                 var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
                 mes.code = "200";
@@ -401,9 +403,9 @@
         }
         #endregion
 
-        
 
-        #region[澶у矝浠撳簱鐪嬫澘,宸︿笂浜у搧寰呭叆搴撳垪琛╙
+
+        #region[姝f竻鍜屼粨搴撶湅鏉�,宸︿笂浜у搧寰呭叆搴撳垪琛╙
         public static ToMessage WareHouseTopLeftData()
         {
             string sql = "";
@@ -427,7 +429,7 @@
         }
         #endregion
 
-        #region[澶у矝浠撳簱鐪嬫澘,宸︿笅浜у搧寰呭彂璐у垪琛╙
+        #region[姝f竻鍜屼粨搴撶湅鏉�,宸︿笅浜у搧寰呭彂璐у垪琛╙
         public static ToMessage WareHouseTopBottomData()
         {
             string sql = "";
@@ -451,7 +453,7 @@
         }
         #endregion
 
-        #region[澶у矝浠撳簱鐪嬫澘,鍙充笂鎴愬搧搴撱�佸崐鎴愬搧搴搕op5搴撳瓨鎺掕]
+        #region[姝f竻鍜屼粨搴撶湅鏉�,鍙充笂鎴愬搧搴撱�佸崐鎴愬搧搴搕op5搴撳瓨鎺掕]
         public static ToMessage WareHouseRightTopData()
         {
             string sql = "";
@@ -474,7 +476,7 @@
         }
         #endregion
 
-        #region[澶у矝浠撳簱鐪嬫澘,鍙充笅鍘熸枡搴撳簱top5搴撳瓨鎺掕]
+        #region[姝f竻鍜屼粨搴撶湅鏉�,鍙充笅鍘熸枡搴撳簱top5搴撳瓨鎺掕]
         public static ToMessage WareHouseRightBottomData()
         {
             string sql = "";
@@ -498,21 +500,106 @@
         #endregion
 
 
-        #region[杞﹂棿鐪嬫澘鍏憡]
-        public static ToMessage WkspReportNotice(string shopcode)
+
+        #region[姝f竻鍜岃溅闂寸患鍚堢湅鏉�,宸︿笂鐢熶骇璁㈠崟]
+        public static ToMessage WorkShopCompreLeftTop(string wkshopcode)
         {
-            string sql = "";
+            var sql = "";
             var dynamicParams = new DynamicParameters();
+            Dictionary<object, object> dir = new Dictionary<object, object>();
+            Dictionary<object, object> dir0 = new Dictionary<object, object>();
+            Dictionary<object, object> dir1 = new Dictionary<object, object>();
             try
             {
-                string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[] 
-                //鑾峰彇杞﹂棿鍏憡淇℃伅
-                sql = @"select contents  from TSystemAnnouncement
-                       where wksp_code in @shopcode";
-                var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
+                string[] wkshoplist = Array.ConvertAll<string, string>(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[] 
+                sql = @"select * from h_v_DDKanBan_WorkShopCompreLeftTop";
+                var data = DapperHelper.selecttable(sql);
+                sql = @"select * from h_v_DDKanBan_WorkShopCompreLeftCenter";
+                var data1 = 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")
+                               }).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<string>("wkshp_code") == wkshoplist[i].ToString()) // 娣诲姞鏌ヨ鏉′欢
+                               .Select(group => new
+                               {
+                                   wkshp_code = group.Field<string>("wkshp_code"),
+                                   plan_qty = group.Field<decimal>("plan_qty"),
+                                   quantity = group.Field<decimal>("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 = data;
+                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 WorkShopCompreRightTop()
+        {
+            var sql = "";
+            Dictionary<object, object> dir = new Dictionary<object, object>();
+            try
+            {
+                sql = @"select * from h_v_DDKanBan_WorkShopCompreRightTop";
+                var data = DapperHelper.selecttable(sql);
+                sql = @"select * from h_v_DDKanBan_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[姝f竻鍜岃溅闂寸患鍚堢湅鏉�,鍙充笅搴撳瓨]
+        public static ToMessage WorkShopCompreRightBottom()
+        {
+            var sql = "";
+            Dictionary<object, object> dir = new Dictionary<object, object>();
+            try
+            {
+                sql = @"select * from h_v_DDKanBan_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)
             {

--
Gitblit v1.9.3