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