From 010838be5afbc9659d8ce143ca4f712ff376bcf3 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期一, 04 三月 2024 18:31:32 +0800
Subject: [PATCH] 看板接口开发

---
 VueWebCoreApi/Controllers/ImportExcelController.cs      |   26 ++++
 VueWebCoreApi/Controllers/KanBanManagerentController.cs |   66 +++++++++--
 VueWebCoreApi/DLL/BLL/KanBanManagerentBLL.cs            |   41 +++++-
 VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs                |    2 
 VueWebCoreApi/DLL/DAL/KanBanManagerentDAL.cs            |  175 ++++++++++++++++++----------
 VueWebCoreApi/appsettings.json                          |    4 
 6 files changed, 228 insertions(+), 86 deletions(-)

diff --git a/VueWebCoreApi/Controllers/ImportExcelController.cs b/VueWebCoreApi/Controllers/ImportExcelController.cs
index 1617421..030a603 100644
--- a/VueWebCoreApi/Controllers/ImportExcelController.cs
+++ b/VueWebCoreApi/Controllers/ImportExcelController.cs
@@ -218,5 +218,31 @@
             return mes;
         }
         #endregion
+
+        #region[娴嬩技淇濆瓨鍥剧墖鎻愪氦鏁版嵁]
+        /// <summary>
+        /// 娴嬩技淇濆瓨鍥剧墖鎻愪氦鏁版嵁
+        /// </summary>
+        /// <param name="imageBase64s">娴嬩技淇濆瓨鍥剧墖鎻愪氦鏁版嵁</param>
+        /// <returns></returns>
+        [Route(template: "UploadImages")]
+        [HttpPost]
+        [ApiExplorerSettings(IgnoreApi = true)]
+        public async Task<IActionResult> UploadImages([FromBody] List<string> imageBase64s)
+        {
+            foreach (var imageBase64 in imageBase64s)
+            {
+                byte[] imageBytes = Convert.FromBase64String(imageBase64);
+                string imagePath = Path.Combine("wwwroot/MouldRecordImage/", $"image_{Guid.NewGuid()}.png"); // 鐢熸垚鍞竴鐨勬枃浠跺悕  
+
+                using (FileStream fs = new FileStream(imagePath, FileMode.Create))
+                {
+                    await fs.WriteAsync(imageBytes, 0, imageBytes.Length);
+                }
+            }
+
+            return Ok("Images uploaded successfully.");
+        }
+        #endregion
     }
 }
diff --git a/VueWebCoreApi/Controllers/KanBanManagerentController.cs b/VueWebCoreApi/Controllers/KanBanManagerentController.cs
index 942d390..bbcfae3 100644
--- a/VueWebCoreApi/Controllers/KanBanManagerentController.cs
+++ b/VueWebCoreApi/Controllers/KanBanManagerentController.cs
@@ -21,13 +21,12 @@
         /// <summary>
         /// 杞﹂棿鐪嬫澘,涓婄敓浜т俊鎭�
         /// </summary>
-        /// <param name="wkshopcode">杞﹂棿缂栫爜</param>
         /// <returns></returns>
         [Route(template: "WorkShopProduceTopData")]
         [HttpGet]
-        public JsonResult WorkShopProduceTopData(string wkshopcode)
+        public JsonResult WorkShopProduceTopData()
         {
-            mes = KanBanManagerentBLL.WorkShopProduceTopData(wkshopcode);
+            mes = KanBanManagerentBLL.WorkShopProduceTopData();
             return Json(mes);
         }
         #endregion
@@ -36,13 +35,12 @@
         /// <summary>
         /// 杞﹂棿鐪嬫澘,涓嬪乏杩戜竴鍛ㄤ笉鑹秼鍔�
         /// </summary>
-        /// <param name="wkshopcode">杞﹂棿缂栫爜</param>
         /// <returns></returns>
         [Route(template: "WorkShopProduceBottomLeftData")]
         [HttpGet]
-        public JsonResult WorkShopProduceBottomLeftData(string wkshopcode)
+        public JsonResult WorkShopProduceBottomLeftData()
         {
-            mes = KanBanManagerentBLL.WorkShopProduceBottomLeftData(wkshopcode);
+            mes = KanBanManagerentBLL.WorkShopProduceBottomLeftData();
             return Json(mes);
         }
         #endregion
@@ -51,13 +49,12 @@
         /// <summary>
         /// 杞﹂棿鐪嬫澘,涓嬪彸杩戜竴鏈堜笉鑹粺璁�
         /// </summary>
-        /// <param name="wkshopcode">杞﹂棿缂栫爜</param>
         /// <returns></returns>
         [Route(template: "WorkShopProduceBottomRightData")]
         [HttpGet]
-        public JsonResult WorkShopProduceBottomRightData(string wkshopcode)
+        public JsonResult WorkShopProduceBottomRightData()
         {
-            mes = KanBanManagerentBLL.WorkShopProduceBottomRightData(wkshopcode);
+            mes = KanBanManagerentBLL.WorkShopProduceBottomRightData();
             return Json(mes);
         }
         #endregion
@@ -67,13 +64,12 @@
         /// <summary>
         /// 杞﹂棿缁煎悎鐪嬫澘,宸︿笂鐢熶骇璁㈠崟
         /// </summary>
-        /// <param name="wkshopcode">杞﹂棿缂栫爜瀛楃涓查泦</param>
         /// <returns></returns>
         [Route(template: "WorkShopCompreLeftTop")]
         [HttpGet]
-        public JsonResult WorkShopCompreLeftTop(string wkshopcode)
+        public JsonResult WorkShopCompreLeftTop()
         {
-            mes = KanBanManagerentBLL.WorkShopCompreLeftTop(wkshopcode);
+            mes = KanBanManagerentBLL.WorkShopCompreLeftTop();
             return Json(mes);
         }
         #endregion
@@ -105,5 +101,51 @@
             return Json(mes);
         }
         #endregion
+
+
+
+        #region[浠撳簱鐪嬫澘,宸︿笂浜у搧寰呭叆搴撳垪琛╙
+        /// <summary>
+        /// 浠撳簱鐪嬫澘,宸︿笂浜у搧寰呭叆搴撳垪琛�
+        /// </summary>
+        /// <returns></returns>
+        [Route(template: "WareHouseTopLeftData")]
+        [HttpGet]
+        public JsonResult WareHouseTopLeftData()
+        {
+            mes = KanBanManagerentBLL.WareHouseTopLeftData();
+            return Json(mes);
+        }
+        #endregion
+
+        #region[浠撳簱鐪嬫澘,宸︿笅浜у搧寰呭彂璐у垪琛╙
+        /// <summary>
+        /// 浠撳簱鐪嬫澘,宸︿笅浜у搧寰呭彂璐у垪琛�
+        /// </summary>
+        /// <returns></returns>
+        [Route(template: "WareHouseTopBottomData")]
+        [HttpGet]
+        public JsonResult WareHouseTopBottomData()
+        {
+            mes = KanBanManagerentBLL.WareHouseTopBottomData();
+            return Json(mes);
+        }
+        #endregion
+
+        #region[浠撳簱鐪嬫澘,鍙冲嵆鏃跺簱瀛榏
+        /// <summary>
+        /// 浠撳簱鐪嬫澘,鍙充笂鎴愬搧搴撱�佸崐鎴愬搧搴搕op5搴撳瓨鎺掕
+        /// </summary>
+        /// <returns></returns>
+        [Route(template: "WareHouseRightTopData")]
+        [HttpGet]
+        public JsonResult WareHouseRightTopData()
+        {
+            mes = KanBanManagerentBLL.WareHouseRightTopData();
+            return Json(mes);
+        }
+        #endregion
+
+        
     }
 }
diff --git a/VueWebCoreApi/DLL/BLL/KanBanManagerentBLL.cs b/VueWebCoreApi/DLL/BLL/KanBanManagerentBLL.cs
index a6f15e4..81b8bb8 100644
--- a/VueWebCoreApi/DLL/BLL/KanBanManagerentBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/KanBanManagerentBLL.cs
@@ -10,31 +10,31 @@
     public class KanBanManagerentBLL
     {
         #region[杞﹂棿鐪嬫澘,涓婄敓浜т俊鎭痌
-        public static ToMessage WorkShopProduceTopData(string wkshopcode)
+        public static ToMessage WorkShopProduceTopData()
         {
-            return KanBanManagerentDAL.WorkShopProduceTopData(wkshopcode);
+            return KanBanManagerentDAL.WorkShopProduceTopData();
         }
         #endregion
 
         #region[杞﹂棿鐪嬫澘,涓嬪乏杩戜竴鍛ㄤ笉鑹秼鍔縘
-        public static ToMessage WorkShopProduceBottomLeftData(string wkshopcode)
+        public static ToMessage WorkShopProduceBottomLeftData()
         {
-            return KanBanManagerentDAL.WorkShopProduceBottomLeftData(wkshopcode);
+            return KanBanManagerentDAL.WorkShopProduceBottomLeftData();
         }
         #endregion
 
         #region[杞﹂棿鐪嬫澘,涓嬪彸杩戜竴鏈堜笉鑹粺璁
-        public static ToMessage WorkShopProduceBottomRightData(string wkshopcode)
+        public static ToMessage WorkShopProduceBottomRightData()
         {
-            return KanBanManagerentDAL.WorkShopProduceBottomRightData(wkshopcode);
+            return KanBanManagerentDAL.WorkShopProduceBottomRightData();
         }
         #endregion
 
 
         #region[杞﹂棿缁煎悎鐪嬫澘,宸︿笂鐢熶骇璁㈠崟]
-        public static ToMessage WorkShopCompreLeftTop(string wkshopcode)
+        public static ToMessage WorkShopCompreLeftTop()
         {
-            return KanBanManagerentDAL.WorkShopCompreLeftTop(wkshopcode);
+            return KanBanManagerentDAL.WorkShopCompreLeftTop();
         }
         #endregion
 
@@ -51,5 +51,30 @@
             return KanBanManagerentDAL.WorkShopCompreRightBottom();
         }
         #endregion
+
+
+
+        #region[浠撳簱鐪嬫澘,宸︿笂浜у搧寰呭叆搴撳垪琛╙
+        public static ToMessage WareHouseTopLeftData()
+        {
+            return KanBanManagerentDAL.WareHouseTopLeftData();
+        }
+        #endregion
+
+        #region[浠撳簱鐪嬫澘,宸︿笅浜у搧寰呭彂璐у垪琛╙
+        public static ToMessage WareHouseTopBottomData()
+        {
+            return KanBanManagerentDAL.WareHouseTopBottomData();
+        }
+        #endregion
+
+        #region[浠撳簱鐪嬫澘,鍙冲嵆鏃跺簱瀛榏
+        public static ToMessage WareHouseRightTopData()
+        {
+            return KanBanManagerentDAL.WareHouseRightTopData();
+        }
+        #endregion
+
+        
     }
 }
diff --git a/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs b/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
index 45686f7..54087f6 100644
--- a/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
@@ -2519,7 +2519,7 @@
                 if (customerclasscode != "" && customerclasscode != null)
                 {
                     string[] classcode = Array.ConvertAll<string, string>(customerclasscode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[]
-                    search += "and C.customertype in @classcode ";
+                    search += "and C.customertype in @classcode";
                     dynamicParams.Add("@classcode", classcode);
                 }
                 if (customercode != "" && customercode != null)
diff --git a/VueWebCoreApi/DLL/DAL/KanBanManagerentDAL.cs b/VueWebCoreApi/DLL/DAL/KanBanManagerentDAL.cs
index 9765700..17387e8 100644
--- a/VueWebCoreApi/DLL/DAL/KanBanManagerentDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/KanBanManagerentDAL.cs
@@ -13,16 +13,13 @@
         public static ToMessage mes = new ToMessage(); //瀹氫箟鍏ㄥ眬杩斿洖淇℃伅瀵硅薄
 
         #region[杞﹂棿鐪嬫澘,涓婄敓浜т俊鎭痌
-        public static ToMessage WorkShopProduceTopData(string wkshopcode)
+        public static ToMessage WorkShopProduceTopData()
         {
             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_JLKanBan_WorkshopTop where wkshp_code in @wkshoplist";
-                dynamicParams.Add("@wkshoplist", wkshoplist);
-                var data = DapperHelper.selectdata(sql, dynamicParams);
+                sql = @"select * from h_v_JLKanBan_WorkshopTop";
+                var data = DapperHelper.selecttable(sql);
                 mes.code = "200";
                 mes.message = "鏌ヨ鎴愬姛!";
                 mes.data = data;
@@ -39,26 +36,17 @@
         #endregion
 
         #region[杞﹂棿鐪嬫澘,涓嬪乏杩戜竴鍛ㄤ笉鑹秼鍔縘
-        public static ToMessage WorkShopProduceBottomLeftData(string wkshopcode)
+        public static ToMessage WorkShopProduceBottomLeftData()
         {
             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_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);
-                }
-
+                var data = DapperHelper.lissql(sql);
                 mes.code = "200";
                 mes.message = "鏌ヨ鎴愬姛!";
-                mes.data = dir;
+                mes.data = data;
             }
             catch (Exception e)
             {
@@ -72,16 +60,13 @@
         #endregion
 
         #region[杞﹂棿鐪嬫澘,涓嬪彸杩戜竴鏈堜笉鑹粺璁
-        public static ToMessage WorkShopProduceBottomRightData(string wkshopcode)
+        public static ToMessage WorkShopProduceBottomRightData()
         {
             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_JLKanBan_WorkshopBottomRight where wkshp_code in @wkshoplist";
-                dynamicParams.Add("@wkshoplist", wkshoplist);
-                var data = DapperHelper.selectdata(sql, dynamicParams);
+                sql = @"select * from h_v_JLKanBan_WorkshopBottomRight";
+                var data = DapperHelper.selecttable(sql);
                 mes.code = "200";
                 mes.message = "鏌ヨ鎴愬姛!";
                 mes.data = data;
@@ -99,46 +84,18 @@
 
 
         #region[杞﹂棿缁煎悎鐪嬫澘,宸︿笂鐢熶骇璁㈠崟]
-        public static ToMessage WorkShopCompreLeftTop(string wkshopcode)
+        public static ToMessage WorkShopCompreLeftTop()
         {
             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[] wkshoplist = Array.ConvertAll<string, string>(wkshopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[] 
                 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<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);
+                dir.Add("LeftTop", data);
+                dir.Add("LeftBottom", data1);
                 mes.code = "200";
                 mes.message = "鏌ヨ鎴愬姛!";
                 mes.data = dir;
@@ -189,14 +146,31 @@
             Dictionary<object, object> dir = new Dictionary<object, object>();
             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;
+                //瀛樺偍杩囩▼鍚�
+                sql = @"h_p_IFCLD_StockInventory";
+                var data = DapperHelper.lissql(sql);
+                if (data.Rows.Count > 0)
+                {
+                    // 浣跨敤Lambda琛ㄨ揪寮忓qty鍒楄繘琛屾眹鎬伙紝骞堕�氳繃type鍒楀垎缁�
+                    var groupedData = data.AsEnumerable()
+                    .GroupBy(row => row.Field<string>("FErpCls"))
+                    .Select(group => new
+                    {
+                        Type = group.Key,
+                        Qty = group.Sum(row => row.Field<decimal>("FCUUQty"))
+                    }).ToList();
+                    
+                    mes.code = "200";
+                    mes.message = "鏌ヨ鎴愬姛!";
+                    mes.data = groupedData;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.message = "鏆傛棤搴撳瓨淇℃伅!";
+                    mes.data = null;
+                }
             }
             catch (Exception e)
             {
@@ -208,5 +182,80 @@
             return mes;
         }
         #endregion
+
+
+
+        #region[浠撳簱鐪嬫澘,宸︿笂浜у搧寰呭叆搴撳垪琛╙
+        public static ToMessage WareHouseTopLeftData()
+        {
+            string sql = "";
+            try
+            {
+                //鑾峰彇浠撳簱鐢熶骇鍔犲伐鍗曞緟鍏ュ簱鍒楄〃
+                sql = @"select * from h_v_MHKanBan_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_MHKanBan_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[浠撳簱鐪嬫澘,鍙冲嵆鏃跺簱瀛榏
+        public static ToMessage WareHouseRightTopData()
+        {
+            string sql = "";
+            try
+            {
+                sql = @"h_p_IFCLD_SumStockInventory";
+                var data = DapperHelper.lissql(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
+
+        
     }
 }
diff --git a/VueWebCoreApi/appsettings.json b/VueWebCoreApi/appsettings.json
index 9b7ac9f..d0161ee 100644
--- a/VueWebCoreApi/appsettings.json
+++ b/VueWebCoreApi/appsettings.json
@@ -9,7 +9,7 @@
   "AllowedHosts": "*",
   //鏈嶅姟鍣ㄧ幆澧�
   "ConnectionStrings": {
-    "DBServer": "Data Source=121.196.36.24,1533;Initial Catalog=vmes_JL;User ID=sa;Password=xkd@20230101;pooling=false",
+    "DBServer": "Data Source=192.168.1.190;Initial Catalog=vmes;User ID=sa;Password=Xkd123456;pooling=false",
     //浼佷笟缂栫爜
     "CompanyCode": "000",
     //浼佷笟鍚嶇О
@@ -25,7 +25,7 @@
     //session澶辨晥鏃堕棿
     "InProc": "240",
     //Excel瀵煎嚭妯℃澘閰嶇疆IP
-    "FileIP": "http://121.196.36.24:8021/",
+    "FileIP": "http://192.168.1.190:8000/",
     //jwtkey
     "SigningKey": "Hello World"
   }

--
Gitblit v1.9.3