From d91966256d4b507b3f49d9f1b231b258e52a019b Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期四, 07 九月 2023 18:03:22 +0800
Subject: [PATCH] 1.仓库、仓位功能 1.设备类型、设备功能

---
 VueWebCoreApi/Controllers/BasicSettingController.cs     |   85 +++
 VueWebCoreApi/Controllers/ImportExcelController.cs      |   57 ++
 VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs            |   25 
 VueWebCoreApi/Controllers/DeviceManagerController.cs    |  147 +++++
 VueWebCoreApi/DLL/DAL/DeviceManagerDAL.cs               |  792 ++++++++++++---------------
 VueWebCoreApi/DLL/DAL/LoginDAL.cs                       |    4 
 VueWebCoreApi/ApiGroup/OpenApiGroup.cs                  |    8 
 VueWebCoreApi/DLL/BLL/GeneralBasicDataBLL.cs            |    7 
 VueWebCoreApi/Tools/ExcelList.cs                        |    1 
 VueWebCoreApi/Controllers/GeneralBasicDataController.cs |   15 
 VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs                |   29 +
 VueWebCoreApi/DLL/BLL/DeviceManagerBLL.cs               |  100 +-
 VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs                |  367 ++++++++++++-
 VueWebCoreApi/Startup.cs                                |   33 +
 VueWebCoreApi/appsettings.json                          |    4 
 15 files changed, 1,155 insertions(+), 519 deletions(-)

diff --git a/VueWebCoreApi/ApiGroup/OpenApiGroup.cs b/VueWebCoreApi/ApiGroup/OpenApiGroup.cs
index 7aa563e..e2c3fe5 100644
--- a/VueWebCoreApi/ApiGroup/OpenApiGroup.cs
+++ b/VueWebCoreApi/ApiGroup/OpenApiGroup.cs
@@ -16,6 +16,8 @@
         鍩烘湰璧勬枡 = 3,
         [Description("鐗╂枡绠$悊")]
         鐗╂枡绠$悊 = 4,
+        [Description("璁惧绠$悊")]
+        璁惧绠$悊 = 5,
         [Description("鍛ㄦ湡浠诲姟")]
         鍛ㄦ湡浠诲姟 = 9,
         [Description("绯荤粺璁剧疆")]
@@ -23,8 +25,10 @@
         [Description("閫氱敤鍩虹璧勬枡")]
         閫氱敤鍩虹璧勬枡 = 11,
         [Description("鐣呮嵎閫欵RP鍩虹鏁版嵁鍚屾")]
-        鐣呮嵎閫欵RP鍩虹鏁版嵁鍚屾 = 12
-
+        鐣呮嵎閫欵RP鍩虹鏁版嵁鍚屾 = 12,
+        [Description("Excel瀵煎叆")]
+        Excel瀵煎叆 = 13
+            
 
     }
 }
diff --git a/VueWebCoreApi/Controllers/BasicSettingController.cs b/VueWebCoreApi/Controllers/BasicSettingController.cs
index 6ddba30..5130dc8 100644
--- a/VueWebCoreApi/Controllers/BasicSettingController.cs
+++ b/VueWebCoreApi/Controllers/BasicSettingController.cs
@@ -678,5 +678,90 @@
             return Json(mes);
         }
         #endregion
+
+
+        #region[浠撲綅鏍戝瀷淇℃伅]
+        /// <summary>
+        /// 浠撲綅鏍戝瀷淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        [Route(template: "TSecLocaTree")]
+        [HttpGet]
+        public JsonResult TSecLocaTree()
+        {
+            var token = HttpContext.Request.Headers["Token"].ToString();
+            User us = JwtTools.Denocode(token.ToString());
+            mes = BasicSettingBLL.TSecLocaTree();
+            return Json(mes);
+        }
+        #endregion
+
+        #region[浠撲綅淇℃伅鍒楄〃]
+        /// <summary>
+        /// 浠撲綅淇℃伅鍒楄〃
+        /// </summary>
+        /// <param name="stckcode">浠撳簱缂栫爜瀛楃涓查泦</param>
+        /// <param name="locacode">浠撲綅缂栫爜</param>
+        /// <param name="locaname">浠撲綅鍚嶇О</param>
+        /// <param name="page">椤电爜</param>
+        /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+        /// <param name="prop">鎺掑簭瀛楁</param>
+        /// <param name="order">鎺掑簭瑙勫垯</param>
+        /// <returns></returns>
+        [Route(template: "TSecLocaData")]
+        [HttpGet]
+        public JsonResult TSecLocaData(string stckcode, string locacode, string locaname, int page = 0, int rows = 0, string prop = null, string order = null)
+        {
+            var token = HttpContext.Request.Headers["Token"].ToString();
+            User us = JwtTools.Denocode(token.ToString());
+            int startNum = rows * (page - 1) + 1;  //璧峰璁板綍rowNum
+            int endNum = rows * page;   //缁撴潫璁板綍 rowNum
+            mes = BasicSettingBLL.TSecLocaData(stckcode, locacode, locaname, startNum, endNum, prop, order);
+            return Json(mes);
+        }
+        #endregion
+
+        #region[浠撲綅淇℃伅鏂板/缂栬緫淇濆瓨]
+        /// <summary>
+        /// 浠撲綅淇℃伅鏂板/缂栬緫淇濆瓨
+        /// </summary>
+        /// <param name="obj">鎻愪氦鏁版嵁</param>
+        /// <returns></returns>
+        [Route(template: "TSecLocaAddUpdate")]
+        [HttpPost]
+        public JsonResult TSecLocaAddUpdate([FromBody] JObject obj)
+        {
+            var token = HttpContext.Request.Headers["Token"].ToString();
+            User us = JwtTools.Denocode(token.ToString());
+            string data_sources = obj["data_sources"].ToString(); //鏁版嵁鏉ユ簮:ERP/MES
+            string locacode = obj["locacode"].ToString(); //璐т綅缂栫爜
+            string locaname = obj["locaname"].ToString(); //璐т綅鍚嶇О
+            string stckcode = obj["stckcode"].ToString(); //瀵瑰簲浠撳簱缂栫爜
+            string parentlocacode = obj["parentlocacode"].ToString(); //涓婄骇璐т綅缂栫爜
+            string status = obj["status"].ToString(); //鐘舵��
+            string description = obj["description"].ToString(); //澶囨敞
+            string OperType = obj["OperType"].ToString();  //鎿嶄綔绫诲瀷
+            mes = BasicSettingBLL.TSecLocaAddUpdate(data_sources, locacode, locaname, stckcode, parentlocacode, status, description, OperType, us);
+            return Json(mes);
+        }
+        #endregion
+
+        #region[浠撲綅淇℃伅鍒犻櫎]
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="data_sources">鏁版嵁鏉ユ簮:ERP/MES</param>
+        /// <param name="locacode">浠撳簱缂栫爜</param>
+        /// <returns></returns>
+        [Route(template: "TSecLocaDelete")]
+        [HttpPost]
+        public JsonResult TSecLocaDelete(string data_sources, string locacode)
+        {
+            var token = HttpContext.Request.Headers["Token"].ToString();
+            User us = JwtTools.Denocode(token.ToString());
+            mes = BasicSettingBLL.TSecLocaDelete(data_sources, locacode, us);
+            return Json(mes);
+        }
+        #endregion
     }
 }
diff --git a/VueWebCoreApi/Controllers/DeviceManagerController.cs b/VueWebCoreApi/Controllers/DeviceManagerController.cs
new file mode 100644
index 0000000..6084e0a
--- /dev/null
+++ b/VueWebCoreApi/Controllers/DeviceManagerController.cs
@@ -0,0 +1,147 @@
+锘縰sing Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using VueWebCoreApi.DLL.BLL;
+using VueWebCoreApi.Models;
+using VueWebCoreApi.Tools;
+
+namespace VueWebCoreApi.Controllers
+{
+    [ApiExplorerSettings(GroupName = "璁惧绠$悊")]
+    [ApiController]
+    [Route("api/[controller]")]
+    [ChannelActionFilter]
+    public class DeviceManagerController : Controller
+    {
+        //瀹氫箟鍏ㄥ眬淇℃伅杩斿洖鍙橀噺
+        ToMessage mes = new ToMessage();
+        RedisHelper redis = new RedisHelper();
+
+        #region[璁惧绫诲瀷鏌ヨ]
+        /// <summary>
+        /// 璁惧绫诲瀷鏌ヨ
+        /// </summary>
+        /// <param name="page">椤电爜</param>
+        /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+        /// <param name="prop">鎺掑簭瀛楁</param>
+        /// <param name="order">鎺掑簭瑙勫垯</param>
+        /// <returns></returns>
+        [Route(template: "DeviceTypeSearch")]
+        [HttpGet]
+        public JsonResult DeviceTypeSearch(int page = 0, int rows = 0, string prop = null, string order = null)
+        {
+            var token = HttpContext.Request.Headers["Token"].ToString();
+            User us = JwtTools.Denocode(token.ToString());
+            int startNum = rows * (page - 1) + 1;  //璧峰璁板綍rowNum
+            int endNum = rows * page;   //缁撴潫璁板綍 rowNum
+            mes = DeviceManagerBLL.DeviceTypeSearch(startNum, endNum, prop, order);
+            return Json(mes);
+        }
+        #endregion
+
+        #region[璁惧绫诲瀷鏂板]
+        /// <summary>
+        /// 璁惧绫诲瀷鏂板
+        /// </summary>
+        /// <param name="json">鎻愪氦鏁版嵁瀵硅薄</param>
+        /// <returns></returns>
+        [Route(template: "AddUpdateDeviceType")]
+        [HttpPost]
+        public JsonResult AddUpdateDeviceType(List<ObjectDataCont> json)
+        {
+            var token = HttpContext.Request.Headers["Token"].ToString();
+            User us = JwtTools.Denocode(token.ToString());
+            mes = DeviceManagerBLL.AddUpdateDeviceType(json, us);
+            return Json(mes);
+        }
+        #endregion
+
+        #region[璁惧绫诲瀷鍒犻櫎]
+        /// <summary>
+        /// 璁惧绫诲瀷鍒犻櫎
+        /// </summary>
+        /// <param name="devicetypecode">璁惧绫诲瀷缂栫爜</param>
+        /// <returns></returns>
+        [Route(template: "DeleteDeviceType")]
+        [HttpPost]
+        public JsonResult DeleteDeviceType(string devicetypecode)
+        {
+            var token = HttpContext.Request.Headers["Token"].ToString();
+            User us = JwtTools.Denocode(token.ToString());
+            mes = DeviceManagerBLL.DeleteDeviceType(devicetypecode, us);
+            return Json(mes);
+        }
+        #endregion
+
+
+        #region[璁惧鍒楄〃鏌ヨ]
+        /// <summary>
+        /// 璁惧鍒楄〃鏌ヨ
+        /// </summary>
+        /// <param name="devicecode">璁惧缂栫爜</param>
+        /// <param name="devicename">璁惧鍚嶇О</param>
+        /// <param name="status">浣跨敤鐘舵��</param>
+        /// <param name="storgcode">鎵�灞炵粍缁�</param>
+        /// <param name="devicetype">璁惧绫诲瀷</param>
+        /// <param name="page">椤电爜</param>
+        /// <param name="rows">姣忛〉鏄剧ず鏉℃暟</param>
+        /// <param name="prop">鎺掑簭瀛楁</param>
+        /// <param name="order">鎺掑簭瑙勫垯</param>
+        /// <returns></returns>
+        [Route(template: "DeviceMangerSearch")]
+        [HttpGet]
+        public JsonResult DeviceMangerSearch(string devicecode = null, string devicename = null, string status = null, string storgcode = null, string devicetype = null, int page = 0, int rows = 0, string prop = null, string order = null)
+        {
+            var token = HttpContext.Request.Headers["Token"].ToString();
+            User us = JwtTools.Denocode(token.ToString());
+            int startNum = rows * (page - 1) + 1;  //璧峰璁板綍rowNum
+            int endNum = rows * page;   //缁撴潫璁板綍 rowNum
+            mes = DeviceManagerBLL.DeviceMangerSearch(devicecode, devicename, status, storgcode, devicetype, startNum, endNum, prop, order);
+            return Json(mes);
+        }
+        #endregion
+
+        #region[璁惧淇℃伅鏂板缂栬緫]
+        /// <summary>
+        /// 璁惧娓呭崟鏂板缂栬緫
+        /// </summary>
+        /// <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
+        /// <returns></returns>
+        [Route(template: "AddUpdateDeviceManger")]
+        [HttpPost]
+        public JsonResult AddUpdateDeviceManger([FromBody] JObject obj)
+        {
+            var token = HttpContext.Request.Headers["Token"].ToString();
+            User us = JwtTools.Denocode(token.ToString());
+            string devicecode = obj["devicecode"].ToString(); //璁惧缂栫爜
+            string devicename = obj["devicename"].ToString(); //璁惧鍚嶇О
+            string devicetype = obj["devicetypecode"].ToString(); //璁惧绫诲瀷缂栫爜
+            string storgcode = obj["storgcode"].ToString(); //鎵�灞炵粍缁囩紪鐮�
+            string status = obj["status"].ToString(); //浣跨敤鐘舵��
+            string OperType = obj["OperType"].ToString();  //鎿嶄綔绫诲瀷
+            mes = DeviceManagerBLL.AddUpdateDeviceManger(devicecode, devicename, devicetype, storgcode, status,OperType, us);
+            return Json(mes);
+        }
+        #endregion
+
+        #region[璁惧淇℃伅鍒犻櫎]
+        /// <summary>
+        /// 璁惧淇℃伅鍒犻櫎
+        /// </summary>
+        /// <param name="devicecode">璁惧缂栫爜</param>
+        /// <returns></returns>
+        [Route(template: "DeleteDeviceManger")]
+        [HttpPost]
+        public JsonResult DeleteDeviceManger(string devicecode)
+        {
+            var token = HttpContext.Request.Headers["Token"].ToString();
+            User us = JwtTools.Denocode(token.ToString());
+            mes = DeviceManagerBLL.DeleteDeviceManger(devicecode, us);
+            return Json(mes);
+        }
+        #endregion
+    }
+}
diff --git a/VueWebCoreApi/Controllers/GeneralBasicDataController.cs b/VueWebCoreApi/Controllers/GeneralBasicDataController.cs
index a253813..d253f6c 100644
--- a/VueWebCoreApi/Controllers/GeneralBasicDataController.cs
+++ b/VueWebCoreApi/Controllers/GeneralBasicDataController.cs
@@ -90,7 +90,6 @@
         }
         #endregion
 
-
         #region[鍗曚綅淇℃伅鏌ヨ]
         /// <summary>
         /// 鍗曚綅淇℃伅鏌ヨ
@@ -105,5 +104,19 @@
             return Json(mes);
         }
         #endregion
+
+        #region[璁惧绫诲瀷淇℃伅鏌ヨ]
+        /// <summary>
+        /// 璁惧绫诲瀷淇℃伅鏌ヨ
+        /// </summary>
+        /// <returns></returns>
+        [Route(template: "DeviceTypeData")]
+        [HttpGet]
+        public JsonResult DeviceTypeData()
+        {
+            mes = GeneralBasicDataBLL.DeviceTypeData();
+            return Json(mes);
+        }
+        #endregion
     }
 }
diff --git a/VueWebCoreApi/Controllers/ImportExcelController.cs b/VueWebCoreApi/Controllers/ImportExcelController.cs
new file mode 100644
index 0000000..2838ec1
--- /dev/null
+++ b/VueWebCoreApi/Controllers/ImportExcelController.cs
@@ -0,0 +1,57 @@
+锘縰sing Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Threading.Tasks;
+using VueWebCoreApi.Tools;
+
+namespace VueWebCoreApi.Controllers
+{
+    [ApiExplorerSettings(GroupName = "Excel瀵煎叆")]
+    [ApiController]
+    [Route("api/[controller]")]
+    //[ChannelActionFilter]
+    public class ImportExcelController : Controller
+    {
+        //瀹氫箟鍏ㄥ眬淇℃伅杩斿洖鍙橀噺
+        ToMessage mes = new ToMessage();
+
+        #region[Excel瀵煎叆妯℃澘鍒楄〃]
+        /// <summary>
+        /// Excel瀵煎叆妯℃澘鍒楄〃
+        /// </summary>
+        /// <returns></returns>
+        [Route(template: "ExcelModelData")]
+        [HttpGet]
+        public JsonResult ExcelModelData()
+        {
+            List<ScoreReport> list = ExcelList.ExcelData();
+            mes.code = "200";
+            mes.data = list;
+            return Json(mes);
+        }
+        #endregion
+
+        #region [Excel瀵煎叆妯℃澘涓嬭浇]
+        /// <summary>
+        /// Excel瀵煎叆妯℃澘涓嬭浇
+        /// </summary>
+        /// <param name="FileCode"></param>
+        /// <returns></returns>
+        [Route(template: "DownLoadExcel")]
+        [HttpGet]
+        public JsonResult DownLoadExcel(string FileCode = null)
+        {
+            List<ScoreReport> list = ExcelList.ExcelData();
+            list = list.Where(s => s.FileCode == FileCode).ToList();
+            var filename = list[0].FileName + ".xls";
+            string fileip = AppSetting.GetAppSetting("FileIP");
+            var msg = fileip + "/Excel/" + filename;
+            mes.code = "200";
+            mes.data = msg;
+            return Json(mes);
+        }
+        #endregion
+    }
+}
diff --git a/VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs b/VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs
index 088a0ce..171e822 100644
--- a/VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs
@@ -342,5 +342,34 @@
             return BasicSettingDAL.TSecStckDelete(data_sources,stckcode,us);
         }
         #endregion
+
+
+        #region[浠撲綅鏍戝瀷淇℃伅]
+        public static ToMessage TSecLocaTree()
+        {
+            return BasicSettingDAL.TSecLocaTree();
+        }
+        #endregion
+
+        #region[浠撲綅淇℃伅鍒楄〃]
+        public static ToMessage TSecLocaData(string stckcode, string locacode, string locaname, int startNum, int endNum, string prop, string order)
+        {
+            return BasicSettingDAL.TSecLocaData(stckcode, locacode, locaname, startNum, endNum, prop, order);
+        }
+        #endregion
+
+        #region[浠撲綅淇℃伅鏂板/缂栬緫淇濆瓨]
+        public static ToMessage TSecLocaAddUpdate(string data_sources, string locacode, string locaname, string stckcode, string parentlocacode, string status, string description, string OperType, User us)
+        {
+            return BasicSettingDAL.TSecStckAddUpdate(data_sources, locacode, locaname, stckcode, parentlocacode, status, description, OperType, us);
+        }
+        #endregion
+
+        #region[浠撲綅淇℃伅鍒犻櫎]
+        public static ToMessage TSecLocaDelete(string data_sources, string locacode, User us)
+        {
+            return BasicSettingDAL.TSecLocaDelete(data_sources, locacode, us);
+        }
+        #endregion
     }
 }
diff --git a/VueWebCoreApi/DLL/BLL/DeviceManagerBLL.cs b/VueWebCoreApi/DLL/BLL/DeviceManagerBLL.cs
index f16ac38..499400f 100644
--- a/VueWebCoreApi/DLL/BLL/DeviceManagerBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/DeviceManagerBLL.cs
@@ -10,34 +10,8 @@
 {
     public class DeviceManagerBLL
     {
-        #region[璁惧绫诲瀷鏌ヨ]
-        public static ToMessage DeviceTypeSearch(int startNum, int endNum, string prop, string order)
-        {
-            return DeviceManagerDAL.DeviceTypeSearch(startNum, endNum, prop, order);
-        }
-        #endregion
 
-        #region[璁惧绫诲瀷鏂板]
-        public static ToMessage AddUpdateDeviceType(List<ObjectDataCont> json, string username)
-        {
-            return DeviceManagerDAL.AddUpdateDeviceType(json, username);
-        }
-        #endregion
-
-        #region[璁惧绫诲瀷鍒犻櫎]
-        public static ToMessage DeleteDeviceType(string devicetypecode)
-        {
-            return DeviceManagerDAL.DeleteDeviceType(devicetypecode);
-        }
-        #endregion
-
-
-        #region[璁惧绫诲瀷涓嬫媺妗嗘帴鍙
-        public static ToMessage DeviceTypeSelect()
-        {
-            return DeviceManagerDAL.DeviceTypeSelect();
-        }
-        #endregion
+        
 
         #region[璁惧缁勬煡璇
         public static ToMessage DeviceGroupSearch(int startNum, int endNum, string prop, string order)
@@ -81,28 +55,6 @@
             return DeviceManagerDAL.WorkShopSelectLine(workshopcode);
         }
         #endregion
-
-        #region [璁惧娓呭崟鏌ヨ]
-        public static ToMessage DeviceMangerSearch(string stu_torgcode, string description, string deviceCode, string deviceName, string status, string workShop, string deviceType, string deviceGroup, int startNum, int endNum, string prop, string order)
-        {
-            return DeviceManagerDAL.DeviceMangerSearch(stu_torgcode, description, deviceCode, deviceName, status, workShop, deviceType, deviceGroup, startNum, endNum, prop, order);
-        }
-        #endregion
-
-        #region[璁惧娓呭崟鏂板缂栬緫]
-        public static ToMessage AddUpdateDeviceManger(string deviceid, string devicecode, string devicename, string devicetype, string devicegroup, string importdate, string workshop, string linecode, string status, string ratio, string usercode, string operType)
-        {
-            return DeviceManagerDAL.AddUpdateDeviceManger(deviceid, devicecode, devicename, devicetype, devicegroup, importdate, workshop, linecode, status, ratio, usercode, operType);
-        }
-        #endregion
-
-        #region[璁惧娓呭崟鍒犻櫎]
-        public static ToMessage DeleteDeviceManger(string devicecode)
-        {
-            return DeviceManagerDAL.DeleteDeviceManger(devicecode);
-        }
-        #endregion
-
 
 
 
@@ -319,5 +271,55 @@
             return DeviceManagerDAL.DeviceUpdateOutExcel(stu_torgcode, description, wkshopcode, eqpcode, eqpname, reportuser, repairuser, vrifcatuser, reportopendate, reportclosedate, repairopendate, repairclosedate, vrifcatopendate, vrifcatclosedate);
         }
         #endregion
+
+
+
+
+
+
+
+
+        #region[璁惧绫诲瀷鏌ヨ]
+        public static ToMessage DeviceTypeSearch(int startNum, int endNum, string prop, string order)
+        {
+            return DeviceManagerDAL.DeviceTypeSearch(startNum, endNum, prop, order);
+        }
+        #endregion
+
+        #region[璁惧绫诲瀷鏂板]
+        public static ToMessage AddUpdateDeviceType(List<ObjectDataCont> json, User us)
+        {
+            return DeviceManagerDAL.AddUpdateDeviceType(json, us);
+        }
+        #endregion
+
+        #region[璁惧绫诲瀷鍒犻櫎]
+        public static ToMessage DeleteDeviceType(string devicetypecode, User us)
+        {
+            return DeviceManagerDAL.DeleteDeviceType(devicetypecode,us);
+        }
+        #endregion
+
+
+        #region [璁惧娓呭崟鏌ヨ]
+        public static ToMessage DeviceMangerSearch(string devicecode, string devicename, string status, string storgcode, string devicetype, int startNum, int endNum, string prop, string order)
+        {
+            return DeviceManagerDAL.DeviceMangerSearch(devicecode, devicename, status, storgcode, devicetype, startNum, endNum, prop, order);
+        }
+        #endregion
+
+        #region[璁惧淇℃伅鏂板缂栬緫]
+        public static ToMessage AddUpdateDeviceManger(string devicecode, string devicename, string devicetype, string storgcode, string status, string OperType, User us)
+        {
+            return DeviceManagerDAL.AddUpdateDeviceManger(devicecode, devicename, devicetype, storgcode, status, OperType, us);
+        }
+        #endregion
+
+        #region[#region[璁惧淇℃伅鍒犻櫎]]
+        public static ToMessage DeleteDeviceManger(string devicecode,User us)
+        {
+            return DeviceManagerDAL.DeleteDeviceManger(devicecode,us);
+        }
+        #endregion
     }
 }
diff --git a/VueWebCoreApi/DLL/BLL/GeneralBasicDataBLL.cs b/VueWebCoreApi/DLL/BLL/GeneralBasicDataBLL.cs
index a91e75f..c89b75e 100644
--- a/VueWebCoreApi/DLL/BLL/GeneralBasicDataBLL.cs
+++ b/VueWebCoreApi/DLL/BLL/GeneralBasicDataBLL.cs
@@ -59,5 +59,12 @@
             return GeneralBasicDataDAL.UnitSerch(tunittype);
         }
         #endregion
+
+        #region[璁惧绫诲瀷淇℃伅鏌ヨ]
+        public static ToMessage DeviceTypeData()
+        {
+            return GeneralBasicDataDAL.DeviceTypeData();
+        }
+        #endregion
     }
 }
diff --git a/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs b/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
index 5f3f5aa..ae634a7 100644
--- a/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
@@ -764,7 +764,7 @@
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗙粍缁�:"+ OrganCode, us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗙粍缁�:" + OrganCode, us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "鏂板鎿嶄綔鎴愬姛!";
@@ -862,7 +862,7 @@
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗙粍缁�:"+ OrganCode, us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗙粍缁�:" + OrganCode, us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "淇敼鎿嶄綔鎴愬姛!";
@@ -922,7 +922,7 @@
                 if (cont > 0)
                 {
                     //鍐欏叆鎿嶄綔璁板綍琛�
-                    LogHelper.DbOperateLog(us.usercode, "鏂板", "鍒犻櫎浜嗙粍缁�:"+orgcode, us.usertype);
+                    LogHelper.DbOperateLog(us.usercode, "鏂板", "鍒犻櫎浜嗙粍缁�:" + orgcode, us.usertype);
                     mes.code = "200";
                     mes.count = 0;
                     mes.Message = "鍒犻櫎鎿嶄綔鎴愬姛!";
@@ -1032,7 +1032,7 @@
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗗矖浣�:"+ postcode, us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗗矖浣�:" + postcode, us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "鏂板鎿嶄綔鎴愬姛!";
@@ -1083,7 +1083,7 @@
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗗矖浣�:"+ postcode, us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗗矖浣�:" + postcode, us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "淇敼鎿嶄綔鎴愬姛!";
@@ -1134,7 +1134,7 @@
                 if (cont > 0)
                 {
                     //鍐欏叆鎿嶄綔璁板綍琛�
-                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗗矖浣�:"+ postcode, us.usertype);
+                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗗矖浣�:" + postcode, us.usertype);
                     mes.code = "200";
                     mes.count = 0;
                     mes.Message = "鍒犻櫎鎿嶄綔鎴愬姛!";
@@ -1325,7 +1325,7 @@
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗙敤鎴�:"+ usercode, us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗙敤鎴�:" + usercode, us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "鏂板鎿嶄綔鎴愬姛!";
@@ -1369,7 +1369,7 @@
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗙敤鎴�:"+usercode, us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗙敤鎴�:" + usercode, us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "淇敼鎿嶄綔鎴愬姛!";
@@ -1411,7 +1411,7 @@
                 if (aa)
                 {
                     //鍐欏叆鎿嶄綔璁板綍琛�
-                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗙敤鎴�:"+ usercode, us.usertype);
+                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗙敤鎴�:" + usercode, us.usertype);
                     mes.code = "200";
                     mes.count = 0;
                     mes.Message = "鍒犻櫎鐢ㄦ埛鎴愬姛!";
@@ -1520,7 +1520,7 @@
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗙彮缁�:"+ groupcode, us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗙彮缁�:" + groupcode, us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "鏂板鎿嶄綔鎴愬姛!";
@@ -1571,7 +1571,7 @@
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗙彮缁�:"+ groupcode, us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗙彮缁�:" + groupcode, us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "淇敼鎿嶄綔鎴愬姛!";
@@ -1622,7 +1622,7 @@
                 if (cont > 0)
                 {
                     //鍐欏叆鎿嶄綔璁板綍琛�
-                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗙彮缁�:"+ groupcode, us.usertype);
+                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗙彮缁�:" + groupcode, us.usertype);
                     mes.code = "200";
                     mes.count = 0;
                     mes.Message = "鍒犻櫎鎿嶄綔鎴愬姛!";
@@ -1750,7 +1750,7 @@
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗚鑹�:"+ ((List<string>)mes.data)[0].ToString(), us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗚鑹�:" + ((List<string>)mes.data)[0].ToString(), us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "鎴愬姛!";
@@ -1839,7 +1839,7 @@
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗚鑹插悕绉�:"+ rolecode, us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗚鑹插悕绉�:" + rolecode, us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "鎴愬姛!";
@@ -1896,7 +1896,7 @@
                 if (aa)
                 {
                     //鍐欏叆鎿嶄綔璁板綍琛�
-                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗚鑹�:"+ rolecode, us.usertype);
+                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗚鑹�:" + rolecode, us.usertype);
                     mes.code = "200";
                     mes.count = 0;
                     mes.Message = "鎴愬姛!";
@@ -2044,7 +2044,7 @@
                 if (aa)
                 {
                     //鍐欏叆鎿嶄綔璁板綍琛�
-                    LogHelper.DbOperateLog(us.usercode, "鍙栨秷", "鍙栨秷浜嗚鑹插叧鑱旂殑鐢ㄦ埛:"+ string.Join(",", user), us.usertype);
+                    LogHelper.DbOperateLog(us.usercode, "鍙栨秷", "鍙栨秷浜嗚鑹插叧鑱旂殑鐢ㄦ埛:" + string.Join(",", user), us.usertype);
                     mes.code = "200";
                     mes.count = 0;
                     mes.Message = "鎴愬姛!";
@@ -2177,7 +2177,7 @@
                 //鏌ヨ鎵�鏈夐粯璁よ彍鍗曞強鎸夐挳銆佹暟鎹�
                 sql = @"select menucode,menuname,parent_id,buttoncodelist 
                         from TMenu 
-                        where Type=@type";
+                        where is_show='Y' and Type=@type ";
                 dynamicParams.Add("@type", type);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 if (data.Rows.Count > 0)
@@ -2256,7 +2256,7 @@
                 if (aa)
                 {
                     //鍐欏叆鎿嶄綔璁板綍琛�
-                    LogHelper.DbOperateLog(us.usercode, "鍒嗛厤", "鍒嗛厤浜嗚鑹叉潈闄�:"+"-->瑙掕壊:"+rolecode, us.usertype);
+                    LogHelper.DbOperateLog(us.usercode, "鍒嗛厤", "鍒嗛厤浜嗚鑹叉潈闄�:" + "-->瑙掕壊:" + rolecode, us.usertype);
                     mes.code = "200";
                     mes.count = 0;
                     mes.Message = "鎴愬姛!";
@@ -2375,7 +2375,7 @@
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗗線鏉ュ崟浣嶅垎绫�:"+ customerclasscode, us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗗線鏉ュ崟浣嶅垎绫�:" + customerclasscode, us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "鏂板鎿嶄綔鎴愬姛!";
@@ -2423,7 +2423,7 @@
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗗線鏉ュ崟浣嶅垎绫�:"+ customerclasscode, us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗗線鏉ュ崟浣嶅垎绫�:" + customerclasscode, us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "淇敼鎿嶄綔鎴愬姛!";
@@ -2484,7 +2484,7 @@
                 if (aa)
                 {
                     //鍐欏叆鎿嶄綔璁板綍琛�
-                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗗線鏉ュ崟浣嶅垎绫�:"+ string.Join(",", classcode), us.usertype);
+                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗗線鏉ュ崟浣嶅垎绫�:" + string.Join(",", classcode), us.usertype);
                     mes.code = "200";
                     mes.count = 0;
                     mes.Message = "淇敼鎿嶄綔鎴愬姛!";
@@ -2616,7 +2616,7 @@
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗗線鏉ュ崟浣�:"+ customercode, us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗗線鏉ュ崟浣�:" + customercode, us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "鏂板鎿嶄綔鎴愬姛!";
@@ -2668,7 +2668,7 @@
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗗線鏉ュ崟浣�:"+ customercode, us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗗線鏉ュ崟浣�:" + customercode, us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "淇敼鎿嶄綔鎴愬姛!";
@@ -2719,7 +2719,7 @@
                 if (aa)
                 {
                     //鍐欏叆鎿嶄綔璁板綍琛�
-                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗗線鏉ュ崟浣�:"+ customercode, us.usertype);
+                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗗線鏉ュ崟浣�:" + customercode, us.usertype);
                     mes.code = "200";
                     mes.count = 0;
                     mes.Message = "鍒犻櫎鎿嶄綔鎴愬姛!";
@@ -2735,7 +2735,7 @@
             }
             catch (Exception e)
             {
-             
+
                 mes.code = "300";
                 mes.count = 0;
                 mes.Message = e.Message;
@@ -2774,9 +2774,9 @@
                     search += "and S.ishasPosition=@ishasPosition ";
                     dynamicParams.Add("@ishasPosition", ishasPosition);
                 }
-                sql = @"select S.code,S.name,S.status,S.ishasPosition,S.description,S.lm_user as usercode,U.username,S.data_sources  
+                sql = @"select S.code,S.name,S.status,S.ishasPosition,S.description,S.lm_user as usercode,U.username,S.lm_date,S.data_sources  
                         from TSecStck S
-                        left join TUser U on C.lm_user=U.usercode
+                        left join TUser U on S.lm_user=U.usercode
                         where 1=1 " + search;
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
@@ -2853,7 +2853,7 @@
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗕粨搴�:"+ stckcode, us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗕粨搴�:" + stckcode, us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "鏂板鎿嶄綔鎴愬姛!";
@@ -2883,7 +2883,7 @@
                         return mes;
                     }
                     //鏇存柊浠撳簱
-                    sql = @"update TCustomer set name=@name,status=@status,ishasPosition=@ishasPosition,description=@description,lm_user=@lm_user,lm_date=@lm_date
+                    sql = @"update TSecStck set name=@name,status=@status,ishasPosition=@ishasPosition,description=@description,lm_user=@lm_user,lm_date=@lm_date
                             where code=@code";
                     list.Add(new
                     {
@@ -2899,11 +2899,26 @@
                             lm_date = DateTime.Now.ToString()
                         }
                     });
+                    if (status == "1")  //浠撳簱鍋滅敤鏃�,涓嬮潰鎵�鏈夌殑浠撲綅鍋滅敤
+                    {
+                        //鏇存柊搴撲綅鐘舵�佷负绂佺敤
+                        sql = @"update TSecLoca set status=@status where idwarehouse=@code";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                status = status,
+                                code = stckcode
+                            }
+                        });
+                    }
+
                     bool aa = DapperHelper.DoTransaction(list);
                     if (aa)
                     {
                         //鍐欏叆鎿嶄綔璁板綍琛�
-                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗕粨搴�:"+ stckcode, us.usertype);
+                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗕粨搴�:" + stckcode, us.usertype);
                         mes.code = "200";
                         mes.count = 0;
                         mes.Message = "淇敼鎿嶄綔鎴愬姛!";
@@ -2964,7 +2979,297 @@
                 if (aa)
                 {
                     //鍐欏叆鎿嶄綔璁板綍琛�
-                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗕粨搴�:"+ stckcode, us.usertype);
+                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗕粨搴�:" + stckcode, us.usertype);
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鍒犻櫎鎿嶄綔鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鍒犻櫎鎿嶄綔澶辫触!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+
+        #region[浠撲綅鏍戝瀷淇℃伅]
+        public static ToMessage TSecLocaTree()
+        {
+            string sql = "";
+            try
+            {
+                //鑾峰彇寮�鍚粨浣嶇鎺х殑浠撳簱淇℃伅
+                sql = @"select S.code,S.name,'-1' as idparent   from TSecStck S where S.ishasPosition='1'
+	                    union all
+	                    select L.code,L.name,case when L.idparent is NULL or L.idparent='' then L.idwarehouse else L.idparent end as idparent 
+	                    from TSecLoca L ";
+                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 TSecLocaData(string stckcode, string locacode, string locaname, int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "", sql = "";
+            IEnumerable<object> data;
+            try
+            {
+                if (stckcode != "" && stckcode != null)
+                {
+                    string[] classcode = Array.ConvertAll<string, string>(stckcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[]
+                    search += "and C.idparent in @classcode ";
+                    dynamicParams.Add("@classcode", classcode);
+                }
+                if (locacode != "" && locacode != null)
+                {
+                    search += "and C.code like '%'+@locacode+'%' ";
+                    dynamicParams.Add("@locacode", locacode);
+                }
+                if (locaname != "" && locaname != null)
+                {
+                    search += "and C.name like '%'+@locaname+'%' ";
+                    dynamicParams.Add("@locaname", locaname);
+                }
+                sql = @"select C.code,C.name,C.status,C.description,C.idwarehouse as stckcode,T.name as stckname,C.idparent as parentcode,L.name as parentname,
+                        C.lm_user as usercode,U.username,C.lm_date,C.data_sources   
+                        from (
+                        select L.code,L.name,L.idwarehouse,L.status,L.description,L.lm_user,L.lm_date,L.data_sources,case when L.idparent is NULL or L.idparent='' then L.idwarehouse else L.idparent end as idparent 
+                        from TSecLoca L
+                        ) as C
+                        left join TSecStck T  on C.idwarehouse=T.code
+                        left join TSecLoca L  on C.idparent=L.code
+                        left join TUser U on C.lm_user=U.usercode
+                        where 1=1 " + search;
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[浠撲綅淇℃伅鏂板/缂栬緫淇濆瓨]
+        public static ToMessage TSecStckAddUpdate(string data_sources, string locacode, string locaname, string stckcode, string parentlocacode, string status, string description, string OperType, User us)
+        {
+            string sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                if (OperType == "Add")
+                {
+                    //鍒ゆ柇浠撲綅缂栫爜鏄惁閲嶅
+                    sql = @"select *  from TSecLoca where code=@locacode";
+                    dynamicParams.Add("@locacode", locacode);
+                    var data = DapperHelper.selectdata(sql, dynamicParams);
+                    if (data.Rows.Count > 0)
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "浠撲綅缂栫爜宸插瓨鍦�,璇烽噸鏂拌緭鍏�!";
+                        mes.data = null;
+                        return mes;
+                    }
+                    //鍒ゆ柇寰�鏉ュ崟浣嶅悕绉版槸鍚﹂噸澶�
+                    sql = @"select *  from TSecLoca where name=@locaname";
+                    dynamicParams.Add("@locaname", locaname);
+                    var data1 = DapperHelper.selectdata(sql, dynamicParams);
+                    if (data1.Rows.Count > 0)
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "浠撲綅宸插瓨鍦�,璇烽噸鏂拌緭鍏�!";
+                        mes.data = null;
+                        return mes;
+                    }
+                    //鍐欏叆寰�鏉ュ崟浣�
+                    sql = @"insert into TSecLoca(code,name,idwarehouse,idparent,status,description,lm_user,lm_date,data_sources) 
+                            values(@code,@name,@idwarehouse,@idparent,@status,@description,@lm_user,@lm_date,@data_sources)";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            code = locacode,
+                            name = locaname,
+                            idwarehouse = stckcode,
+                            idparent = parentlocacode,
+                            status = status,
+                            description = description,
+                            lm_user = us.usercode,
+                            lm_date = DateTime.Now.ToString(),
+                            data_sources = data_sources
+                        }
+                    });
+                    bool aa = DapperHelper.DoTransaction(list);
+                    if (aa)
+                    {
+                        //鍐欏叆鎿嶄綔璁板綍琛�
+                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗕粨浣�:" + locacode, us.usertype);
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "鏂板鎿嶄綔鎴愬姛!";
+                        mes.data = null;
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鏂板鎿嶄綔澶辫触!";
+                        mes.data = null;
+                    }
+                }
+                if (OperType == "Update")
+                {
+                    //鍒ゆ柇寰�鏉ュ崟浣嶅悕绉版槸鍚﹂噸澶�
+                    sql = @"select *  from TSecLoca where  code<>@code and name=@name";
+                    dynamicParams.Add("@code", locacode);
+                    dynamicParams.Add("@name", locaname);
+                    var data1 = DapperHelper.selectdata(sql, dynamicParams);
+                    if (data1.Rows.Count > 0)
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "浠撲綅鍚嶇О宸插瓨鍦�,璇烽噸鏂拌緭鍏�!";
+                        mes.data = null;
+                        return mes;
+                    }
+                    //鏇存柊瀛樿揣鍒嗙被
+                    sql = @"update TSecLoca set name=@name,idwarehouse=@idwarehouse,idparent=@idparent,status=@status,description=@description,lm_user=@lm_user,lm_date=@lm_date
+                            where code=@code";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            code = locacode,
+                            name = locaname,
+                            idwarehouse = stckcode,
+                            idparent = parentlocacode,
+                            status = status,
+                            description = description,
+                            lm_user = us.usercode,
+                            lm_date = DateTime.Now.ToString()
+                        }
+                    });
+                    if (status == "1")  //浠撲綅鍋滅敤鏃�,涓嬮潰鎵�鏈夌殑浠撲綅鍋滅敤
+                    {
+                        //鏇存柊搴撲綅鐘舵�佷负绂佺敤
+                        sql = @"update TSecLoca set status=@status where idparent=@code";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                status = status,
+                                code = locacode
+                            }
+                        });
+                    }
+                    bool aa = DapperHelper.DoTransaction(list);
+                    if (aa)
+                    {
+                        //鍐欏叆鎿嶄綔璁板綍琛�
+                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗕粨浣�:" + locacode, us.usertype);
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "淇敼鎿嶄綔鎴愬姛!";
+                        mes.data = null;
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "淇敼鎿嶄綔澶辫触!";
+                        mes.data = null;
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[浠撲綅淇℃伅鍒犻櫎]
+        public static ToMessage TSecLocaDelete(string data_sources, string locacode, User us)
+        {
+            string sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鍒ゆ柇褰撳墠浠撲綅涓嬫槸鍚︽湁瀛愰」
+                sql = @"select *  from TSecLoca where idparent=@locacode";
+                dynamicParams.Add("@locacode", locacode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "褰撳墠浠撲綅涓嬪瓨鍦ㄥ瓙椤�,涓嶅厑璁稿垹闄�!";
+                    mes.data = null;
+                    return mes;
+                }
+                //鍒犻櫎浠撲綅
+                sql = @"delete TSecLoca  where code=@code and data_sources=@data_sources";
+                list.Add(new
+                {
+                    str = sql,
+                    parm = new
+                    {
+                        code = locacode,
+                        data_sources = data_sources
+                    }
+                });
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    //鍐欏叆鎿嶄綔璁板綍琛�
+                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗕粨浣�:" + locacode, us.usertype);
                     mes.code = "200";
                     mes.count = 0;
                     mes.Message = "鍒犻櫎鎿嶄綔鎴愬姛!";
diff --git a/VueWebCoreApi/DLL/DAL/DeviceManagerDAL.cs b/VueWebCoreApi/DLL/DAL/DeviceManagerDAL.cs
index 997f1d4..6e80d4d 100644
--- a/VueWebCoreApi/DLL/DAL/DeviceManagerDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/DeviceManagerDAL.cs
@@ -19,179 +19,6 @@
         public static List<SqlParameter> listStr = new List<SqlParameter>(); //瀹氫箟鍏ㄥ眬鍙傛暟闆嗗悎
         public static SqlParameter[] parameters; //瀹氫箟鍏ㄥ眬SqlParameter鍙傛暟鏁扮粍
 
-        #region[璁惧绫诲瀷鏌ヨ]
-        public static ToMessage DeviceTypeSearch(int startNum, int endNum, string prop, string order)
-        {
-            var dynamicParams = new DynamicParameters();
-            try
-            {
-                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
-                var total = 0; //鎬绘潯鏁�
-                var sql = @"select id, code,name,remark 
-                            from TEqpType 
-                            where  is_delete<>'1' ";
-                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
-                mes.code = "200";
-                mes.Message = "鏌ヨ鎴愬姛!";
-                mes.count = total;
-                mes.data = data.ToList();
-            }
-            catch (Exception e)
-            {
-                mes.code = "300";
-                mes.count = 0;
-                mes.Message = e.Message;
-                mes.data = null;
-            }
-            return mes;
-        }
-        #endregion
-
-        #region[璁惧绫诲瀷鏂板]
-        public static ToMessage AddUpdateDeviceType(List<ObjectDataCont> json, string username)
-        {
-            var sql = "";
-            List<object> list = new List<object>();
-            var dynamicParams = new DynamicParameters();
-            try
-            {
-                list.Clear();
-                //寰幆鍐欏叆璁惧绫诲瀷琛�
-                for (int i = 0; i < json.Count; i++)
-                {
-                    sql = @"insert into TEqpType(code,name,lm_user,lm_date,remark) values(@code,@name,@username,@createdate,@description)";
-                    list.Add(new
-                    {
-                        str = sql,
-                        parm = new
-                        {
-                            code = json[i].code,
-                            name = json[i].name,
-                            username = username,
-                            createdate = DateTime.Now.ToString(),
-                            description = json[i].description
-                        }
-                    });
-                }
-                bool aa = DapperHelper.DoTransaction(list);
-                if (aa)
-                {
-                    mes.code = "200";
-                    mes.count = 0;
-                    mes.Message = "鎿嶄綔鎴愬姛!";
-                    mes.data = null;
-                }
-                else
-                {
-                    mes.code = "300";
-                    mes.count = 0;
-                    mes.Message = "鎿嶄綔澶辫触!";
-                    mes.data = null;
-                }
-            }
-            catch (Exception e)
-            {
-                mes.code = "300";
-                mes.count = 0;
-                mes.Message = e.Message;
-                mes.data = null;
-            }
-            return mes;
-        }
-        #endregion
-
-        #region[璁惧绫诲瀷鍒犻櫎]
-        public static ToMessage DeleteDeviceType(string devicetypecode)
-        {
-            var sql = "";
-            List<object> list = new List<object>();
-            var dynamicParams = new DynamicParameters();
-            try
-            {
-                list.Clear();
-                //鍒ゆ柇璁惧绫诲瀷涓嬫槸鍚﹀叧鑱旇澶囩粍
-                sql = @"select *  from TEqpGroup where eqptype_code=@devicetypecode and is_delete<>'1'";
-                dynamicParams.Add("@devicetypecode", devicetypecode);
-                var data = DapperHelper.selectdata(sql, dynamicParams);
-                if (data.Rows.Count > 0)
-                {
-                    mes.code = "300";
-                    mes.count = 0;
-                    mes.Message = "褰撳墠璁惧绫诲瀷宸叉湁鍏宠仈璁惧缁�,涓嶅厑璁稿垹闄�!";
-                    mes.data = null;
-                }
-                else
-                {
-                    //鍒ゆ柇璁惧鏈夋棤鍏宠仈璁惧绫诲瀷
-                    sql = @"select *  from TEqpInfo where eqptype_code=@devicetypecode and is_delete<>'1'";
-                    dynamicParams.Add("@devicetypecode", devicetypecode);
-                    var data0 = DapperHelper.selectdata(sql, dynamicParams);
-                    if (data0.Rows.Count > 0)
-                    {
-                        mes.code = "300";
-                        mes.count = 0;
-                        mes.Message = "褰撳墠璁惧绫诲瀷宸叉湁鍏宠仈璁惧缁�,涓嶅厑璁稿垹闄�!";
-                        mes.data = null;
-                    }
-                    else
-                    {
-                        sql = @"delete TEqpType where code=@devicetypecode";
-                        list.Add(new { str = sql, parm = new { devicetypecode = devicetypecode } });
-                        bool aa = DapperHelper.DoTransaction(list);
-                        if (aa)
-                        {
-                            mes.code = "200";
-                            mes.count = 0;
-                            mes.Message = "鍒犻櫎鎴愬姛!";
-                            mes.data = null;
-                        }
-                        else
-                        {
-                            mes.code = "300";
-                            mes.count = 0;
-                            mes.Message = "鍒犻櫎澶辫触!";
-                            mes.data = null;
-                        }
-                    }
-                }
-            }
-            catch (Exception e)
-            {
-                mes.code = "300";
-                mes.count = 0;
-                mes.Message = e.Message;
-                mes.data = null;
-            }
-            return mes;
-        }
-        #endregion
-
-
-        #region[璁惧绫诲瀷涓嬫媺妗嗘帴鍙
-        public static ToMessage DeviceTypeSelect()
-        {
-            string sql = "";
-            var dynamicParams = new DynamicParameters();
-            List<TreeObejct> list = new List<TreeObejct>();
-            try
-            {
-                //鑾峰彇璁惧绫诲瀷鏁版嵁
-                sql = @"select code,name from TEqpType where is_delete<>'1'";
-                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 DeviceGroupSearch(int startNum, int endNum, string prop, string order)
@@ -431,262 +258,6 @@
         }
         #endregion
 
-        #region [璁惧娓呭崟鏌ヨ]
-        public static ToMessage DeviceMangerSearch(string stu_torgcode, string description, string deviceCode, string deviceName, string status, string workShop, string deviceType, string deviceGroup, int startNum, int endNum, string prop, string order)
-        {
-            var dynamicParams = new DynamicParameters();
-            string search = "";
-            try
-            {
-                if (workShop != "" && workShop != null)
-                {
-                    search += "and A.wksp_code=@workShop ";
-                    dynamicParams.Add("@workShop", workShop);
-                }
-                else
-                {
-                    switch (description)
-                    {
-                        case "":
-                            search += "and T.description=@description ";
-                            dynamicParams.Add("@description", "W");
-                            break;
-                        case "D":
-                            search += "and  L.org_code=@stu_torgcode ";
-                            dynamicParams.Add("@stu_torgcode", stu_torgcode);
-                            break;
-                    }
-                }
-                if (deviceCode != "" && deviceCode != null)
-                {
-                    search += "and A.code like '%'+@deviceCode+'%' ";
-                    dynamicParams.Add("@deviceCode", deviceCode);
-                }
-                if (deviceName != "" && deviceName != null)
-                {
-                    search += "and A.name like '%'+@deviceName+'%' ";
-                    dynamicParams.Add("@deviceName", deviceName);
-                }
-                if (status != "" && status != null)
-                {
-                    search += "and A.enable=@status ";
-                    dynamicParams.Add("@status", status);
-                }
-                if (deviceType != "" && deviceType != null)
-                {
-                    search += "and A.eqptype_code=@deviceType ";
-                    dynamicParams.Add("@deviceType", deviceType);
-                }
-                if (deviceGroup != "" && deviceGroup != null)
-                {
-                    search += "and A.eqpgroup_code=@deviceGroup ";
-                    dynamicParams.Add("@deviceGroup", deviceGroup);
-                }
-                if (search == "")
-                {
-                    search = "and 1=1 ";
-                }
-                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
-                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
-                var total = 0; //鎬绘潯鏁�
-                var sql = @"select A.id,A.code,A.name,A.eqptype_code,B.name as eqptype_name,A.eqpgroup_code,G.name as eqpgroup_name,A.enable,
-                            A.input_date,A.wksp_code,T.org_name as wksp_name,A.Line_code,L.org_name as Line_name,A.opc_uom,A.operation_ration,U.username as lm_user,A.lm_date
-                            from TEqpInfo A
-                            left join TEqpType B on A.eqptype_code=B.code
-                            left join TEqpGroup G on A.eqpgroup_code=G.code
-                            left join TOrganization T on A.wksp_code=T.org_code 
-                            left join TOrganization as L on T.parent_id=L.id 
-                            left join TUser U on A.lm_user=U.usercode
-                            where A.is_delete<>'1' " + search;
-                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
-                mes.code = "200";
-                mes.Message = "鏌ヨ鎴愬姛!";
-                mes.count = total;
-                mes.data = data.ToList();
-            }
-            catch (Exception e)
-            {
-                mes.code = "300";
-                mes.count = 0;
-                mes.Message = e.Message;
-                mes.data = null;
-            }
-            return mes;
-        }
-        #endregion
-
-        #region[璁惧娓呭崟鏂板缂栬緫]
-        public static ToMessage AddUpdateDeviceManger(string deviceid, string devicecode, string devicename, string devicetype, string devicegroup, string importdate, string workshop, string linecode, string status, string ratio, string usercode, string operType)
-        {
-            var dynamicParams = new DynamicParameters();
-            try
-            {
-                if (operType == "Add")
-                {
-                    var sql = @"insert into TEqpInfo(code,name,eqptype_code,eqpgroup_code,wksp_code,line_code,input_date,operation_ration,enable,opc_uom,lm_user,lm_date) 
-                            values(@devicecode,@devicename,@devicetype,@devicegroup,@workshop,@linecode,@importdate,@ratio,@status,@uom,@usercode,@CreateDate)";
-                    dynamicParams.Add("@devicecode", devicecode);
-                    dynamicParams.Add("@devicename", devicename);
-                    dynamicParams.Add("@devicetype", devicetype);
-                    dynamicParams.Add("@devicegroup", devicegroup);
-                    dynamicParams.Add("@workshop", workshop);
-                    dynamicParams.Add("@linecode", linecode);
-                    dynamicParams.Add("@importdate", importdate);
-                    dynamicParams.Add("@ratio", ratio);
-                    dynamicParams.Add("@status", status);
-                    dynamicParams.Add("@uom", "鍙�");
-                    dynamicParams.Add("@usercode", usercode);
-                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
-                    int cont = DapperHelper.SQL(sql, dynamicParams);
-                    if (cont > 0)
-                    {
-                        mes.code = "200";
-                        mes.count = 0;
-                        mes.Message = "鏂板鎿嶄綔鎴愬姛!";
-                        mes.data = null;
-                    }
-                    else
-                    {
-                        mes.code = "300";
-                        mes.count = 0;
-                        mes.Message = "鏂板鎿嶄綔澶辫触!";
-                        mes.data = null;
-                    }
-                }
-                if (operType == "Update")
-                {
-                    var sql = @"update TEqpInfo set name=@devicename,eqptype_code=@devicetype,eqpgroup_code=@devicegroup,input_date=@importdate,
-                                wksp_code=@workshop,line_code=@linecode,enable=@status,operation_ration=@ratio,lm_user=@usercode,lm_date=@CreateDate
-                                where id=@deviceid";
-                    dynamicParams.Add("@deviceid", deviceid);
-                    dynamicParams.Add("@devicename", devicename);
-                    dynamicParams.Add("@devicetype", devicetype);
-                    dynamicParams.Add("@devicegroup", devicegroup);
-                    dynamicParams.Add("@workshop", workshop);
-                    dynamicParams.Add("@linecode", linecode);
-                    dynamicParams.Add("@importdate", importdate);
-                    dynamicParams.Add("@ratio", ratio);
-                    dynamicParams.Add("@status", status);
-                    dynamicParams.Add("@usercode", usercode);
-                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
-                    int cont = DapperHelper.SQL(sql, dynamicParams);
-                    if (cont > 0)
-                    {
-                        mes.code = "200";
-                        mes.count = 0;
-                        mes.Message = "淇敼鎿嶄綔鎴愬姛!";
-                        mes.data = null;
-                    }
-                    else
-                    {
-                        mes.code = "300";
-                        mes.count = 0;
-                        mes.Message = "淇敼鎿嶄綔澶辫触!";
-                        mes.data = null;
-                    }
-                }
-            }
-            catch (Exception e)
-            {
-                mes.code = "300";
-                mes.count = 0;
-                mes.Message = e.Message;
-                mes.data = null;
-            }
-            return mes;
-        }
-        #endregion
-
-        #region[璁惧娓呭崟鍒犻櫎]
-        public static ToMessage DeleteDeviceManger(string devicecode)
-        {
-            var sql = "";
-            List<object> list = new List<object>();
-            var dynamicParams = new DynamicParameters();
-            try
-            {
-                list.Clear();
-                //鍒ゆ柇璁惧鏄惁鏈夊叧鑱斿伐鑹鸿矾绾跨殑鐢熶骇璁㈠崟(鏈叧闂�),涓嶅厑璁稿垹闄�
-                sql = @"select A.code,M.wo_code,R.name  from TEqpInfo A
-                        inner join TFlw_Rteqp B on A.code=B.eqp_code 
-                        inner join TStep C on B.step_code=C.stepcode 
-                        inner join TFlw_Rtdt D on C.stepcode=D.step_code
-                        inner join TFlw_Rout R on D.rout_code=R.code 
-                        inner join TK_Wrk_Man M on R.code=M.route_code 
-                        where  A.code=@devicecode";
-                dynamicParams.Add("@devicecode", devicecode);
-                var data = DapperHelper.selectdata(sql, dynamicParams);
-                if (data.Rows.Count > 0)
-                {
-                    mes.code = "300";
-                    mes.count = 0;
-                    mes.Message = "褰撳墠璁惧琚伐鍗曞紩鐢�,涓嶅厑璁稿垹闄�!";
-                    mes.data = null;
-                    return mes;
-                }
-                //鍒ゆ柇璁惧鏄惁鏈夊叧鑱斿伐鑹鸿矾绾垮伐搴�,涓嶅厑璁稿垹闄�
-                sql = @"select *  from TFlw_Rteqp
-                        where eqp_code=@devicecode";
-                dynamicParams.Add("@devicecode", devicecode);
-                var data0 = DapperHelper.selectdata(sql, dynamicParams);
-                if (data.Rows.Count > 0)
-                {
-                    mes.code = "300";
-                    mes.count = 0;
-                    mes.Message = "褰撳墠璁惧宸插叧鑱斿伐搴�,涓嶅厑璁稿垹闄�!";
-                    mes.data = null;
-                    return mes;
-                }
-                //鍒ゆ柇璁惧鏄惁鎸囧畾鑺傛媿宸ヤ环,涓嶅厑璁稿垹闄�
-                sql = @"select *  from TPrteEqp_Stad
-                        where eqp_code=@devicecode";
-                dynamicParams.Add("@devicecode", devicecode);
-                var data1 = DapperHelper.selectdata(sql, dynamicParams);
-                if (data.Rows.Count > 0)
-                {
-                    mes.code = "300";
-                    mes.count = 0;
-                    mes.Message = "褰撳墠璁惧宸叉寚瀹氳妭鎷嶅伐浠�,涓嶅厑璁稿垹闄�!";
-                    mes.data = null;
-                    return mes;
-                }
-
-                //鍒犻櫎璁惧
-                sql = @"update TEqpInfo set is_delete='1' where code=@devicecode";
-                list.Add(new { str = sql, parm = new { devicecode = devicecode } });
-                //鍒犻櫎璁惧鍏宠仈鐐规鏍囧噯琛�
-                sql = @"delete TEqpchk_Eqp  where eqp_code=@devicecode";
-                list.Add(new { str = sql, parm = new { devicecode = devicecode } });
-                //鍒犻櫎璁惧缁戝畾淇濆吇鏍囧噯琛�
-                sql = @"delete TEqpmai_Eqp  where eqp_code=@devicecode";
-                list.Add(new { str = sql, parm = new { devicecode = devicecode } });
-                bool aa = DapperHelper.DoTransaction(list);
-                if (aa)
-                {
-                    mes.code = "200";
-                    mes.count = 0;
-                    mes.Message = "鍒犻櫎鎴愬姛!";
-                    mes.data = null;
-                }
-                else
-                {
-                    mes.code = "300";
-                    mes.count = 0;
-                    mes.Message = "鍒犻櫎澶辫触!";
-                    mes.data = null;
-                }
-
-            }
-            catch (Exception e)
-            {
-                mes.code = "300";
-                mes.count = 0;
-                mes.Message = e.Message;
-                mes.data = null;
-            }
-            return mes;
-        }
-        #endregion
 
 
 
@@ -2796,5 +2367,368 @@
             return mes;
         }
         #endregion
+
+
+
+
+
+
+
+        #region[璁惧绫诲瀷鏌ヨ]
+        public static ToMessage DeviceTypeSearch(int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select id, code,name,remark 
+                            from TEqpType";
+                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[璁惧绫诲瀷鏂板]
+        public static ToMessage AddUpdateDeviceType(List<ObjectDataCont> json, User us)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                list.Clear();
+                //寰幆鍐欏叆璁惧绫诲瀷琛�
+                for (int i = 0; i < json.Count; i++)
+                {
+                    sql = @"insert into TEqpType(code,name,lm_user,lm_date,remark) values(@code,@name,@username,@createdate,@description)";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            code = json[i].code,
+                            name = json[i].name,
+                            username = us.usercode,
+                            createdate = DateTime.Now.ToString(),
+                            description = json[i].description
+                        }
+                    });
+                }
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    //鍐欏叆鎿嶄綔璁板綍琛�
+                    LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗚澶囩被鍨�:" + string.Join(",", json.Select(m => m.code)), us.usertype);
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鎿嶄綔鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鎿嶄綔澶辫触!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[璁惧绫诲瀷鍒犻櫎]
+        public static ToMessage DeleteDeviceType(string devicetypecode, User us)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                list.Clear();
+                //鍒ゆ柇璁惧鏈夋棤鍏宠仈璁惧绫诲瀷
+                sql = @"select *  from TEqpInfo where eqptype_code=@devicetypecode";
+                dynamicParams.Add("@devicetypecode", devicetypecode);
+                var data0 = DapperHelper.selectdata(sql, dynamicParams);
+                if (data0.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "褰撳墠璁惧绫诲瀷宸叉湁鍏宠仈璁惧,涓嶅厑璁稿垹闄�!";
+                    mes.data = null;
+                }
+                else
+                {
+                    sql = @"delete TEqpType where code=@devicetypecode";
+                    list.Add(new { str = sql, parm = new { devicetypecode = devicetypecode } });
+                    bool aa = DapperHelper.DoTransaction(list);
+                    if (aa)
+                    {
+                        //鍐欏叆鎿嶄綔璁板綍琛�
+                        LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗚澶囩被鍨�:" + devicetypecode, us.usertype);
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "鍒犻櫎鎴愬姛!";
+                        mes.data = null;
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鍒犻櫎澶辫触!";
+                        mes.data = null;
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+
+
+        #region [璁惧娓呭崟鏌ヨ]
+        public static ToMessage DeviceMangerSearch(string devicecode, string devicename, string status, string storgcode, string devicetype, int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (devicecode != "" && devicecode != null)
+                {
+                    search += "and A.code like '%'+@devicecode+'%' ";
+                    dynamicParams.Add("@devicecode", devicecode);
+                }
+                if (devicename != "" && devicename != null)
+                {
+                    search += "and A.name like '%'+@devicename+'%' ";
+                    dynamicParams.Add("@devicename", devicename);
+                }
+                if (status != "" && status != null)
+                {
+                    search += "and A.enable=@status ";
+                    dynamicParams.Add("@status", status);
+                }
+                if (storgcode != "" && storgcode != null)
+                {
+                    search += "and A.torg_code=@storgcode ";
+                    dynamicParams.Add("@storgcode", storgcode);
+                }
+                if (devicetype != "" && devicetype != null)
+                {
+                    search += "and A.eqptype_code=@devicetype ";
+                    dynamicParams.Add("@devicetype", devicetype);
+                }
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.id,A.code,A.name,A.eqptype_code,B.name as eqptype_name,A.enable,A.torg_code,T.torg_name,A.opc_uom,U.username as lm_user,A.lm_date
+                            from TEqpInfo A
+                            left join TEqpType B on A.eqptype_code=B.code
+                            left join TOrganization T on A.torg_code=T.torg_code 
+                            left join TUser U on A.lm_user=U.usercode
+                            where 1=1 " + search;
+                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[璁惧淇℃伅鏂板缂栬緫]
+        public static ToMessage AddUpdateDeviceManger(string devicecode, string devicename, string devicetype, string storgcode, string status, string OperType, User us)
+        {
+            var dynamicParams = new DynamicParameters();
+            string sql = "";
+            try
+            {
+                if (OperType == "Add")
+                {
+                    //鍒ゆ柇璁惧缂栫爜鏄惁閲嶅
+                    sql = @"select *  from TEqpInfo where code=@devicecode";
+                    dynamicParams.Add("@devicecode", devicecode);
+                    var data = DapperHelper.selectdata(sql, dynamicParams);
+                    if (data.Rows.Count > 0)
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "璁惧缂栫爜宸插瓨鍦�,璇烽噸鏂拌緭鍏�!";
+                        mes.data = null;
+                        return mes;
+                    }
+                    //鍒ゆ柇璁惧鍚嶇О鏄惁閲嶅
+                    sql = @"select *  from TEqpInfo where name=@devicename";
+                    dynamicParams.Add("@devicename", devicename);
+                    var data1 = DapperHelper.selectdata(sql, dynamicParams);
+                    if (data1.Rows.Count > 0)
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "璁惧鍚嶇О宸插瓨鍦�,璇烽噸鏂拌緭鍏�!";
+                        mes.data = null;
+                        return mes;
+                    }
+
+                    sql = @"insert into TEqpInfo(code,name,eqptype_code,torg_code,enable,opc_uom,lm_user,lm_date) 
+                            values(@devicecode,@devicename,@devicetype,@torg_code,@status,@uom,@usercode,@CreateDate)";
+                    dynamicParams.Add("@devicecode", devicecode);
+                    dynamicParams.Add("@devicename", devicename);
+                    dynamicParams.Add("@devicetype", devicetype);
+                    dynamicParams.Add("@torg_code", storgcode);
+                    dynamicParams.Add("@status", status);
+                    dynamicParams.Add("@uom", "鍙�");
+                    dynamicParams.Add("@usercode", us.usercode);
+                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
+                    int cont = DapperHelper.SQL(sql, dynamicParams);
+                    if (cont > 0)
+                    {
+                        //鍐欏叆鎿嶄綔璁板綍琛�
+                        LogHelper.DbOperateLog(us.usercode, "鏂板", "鏂板浜嗚澶�:" + devicecode, us.usertype);
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "鏂板鎿嶄綔鎴愬姛!";
+                        mes.data = null;
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "鏂板鎿嶄綔澶辫触!";
+                        mes.data = null;
+                    }
+                }
+                if (OperType == "Update")
+                {
+                    //鍒ゆ柇璁惧鍚嶇О鏄惁閲嶅
+                    sql = @"select *  from TEqpInfo where  code<>@code and name=@name";
+                    dynamicParams.Add("@code", devicecode);
+                    dynamicParams.Add("@name", devicename);
+                    var data1 = DapperHelper.selectdata(sql, dynamicParams);
+                    if (data1.Rows.Count > 0)
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "璁惧鍚嶇О宸插瓨鍦�,璇烽噸鏂拌緭鍏�!";
+                        mes.data = null;
+                        return mes;
+                    }
+                    sql = @"update TEqpInfo set name=@devicename,eqptype_code=@devicetype,torg_code=@torg_code,enable=@status,lm_user=@usercode,lm_date=@CreateDate
+                                where code=@devicecode";
+                    dynamicParams.Add("@devicecode", devicecode);
+                    dynamicParams.Add("@devicename", devicename);
+                    dynamicParams.Add("@devicetype", devicetype);
+                    dynamicParams.Add("@torg_code", storgcode);
+                    dynamicParams.Add("@status", status);
+                    dynamicParams.Add("@usercode", us.usercode);
+                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
+                    int cont = DapperHelper.SQL(sql, dynamicParams);
+                    if (cont > 0)
+                    {
+                        //鍐欏叆鎿嶄綔璁板綍琛�
+                        LogHelper.DbOperateLog(us.usercode, "淇敼", "淇敼浜嗚澶�:" + devicecode, us.usertype);
+                        mes.code = "200";
+                        mes.count = 0;
+                        mes.Message = "淇敼鎿嶄綔鎴愬姛!";
+                        mes.data = null;
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "淇敼鎿嶄綔澶辫触!";
+                        mes.data = null;
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[璁惧淇℃伅鍒犻櫎]
+        public static ToMessage DeleteDeviceManger(string devicecode,User us)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                list.Clear();
+                //鍒ゆ柇璁惧鏄惁鏈夊紑鎶ュ伐,涓嶅厑璁稿垹闄�
+
+                //鍒犻櫎璁惧
+                sql = @"delete TEqpInfo  where code=@devicecode";
+                list.Add(new { str = sql, parm = new { devicecode = devicecode } });
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    //鍐欏叆鎿嶄綔璁板綍琛�
+                    LogHelper.DbOperateLog(us.usercode, "鍒犻櫎", "鍒犻櫎浜嗚澶�:" + devicecode, us.usertype);
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鍒犻櫎鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鍒犻櫎澶辫触!";
+                    mes.data = null;
+                }
+
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+
     }
 }
diff --git a/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs b/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs
index 16061ed..bfaa72d 100644
--- a/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs
@@ -234,5 +234,30 @@
             return mes;
         }
         #endregion
+
+        #region[璁惧绫诲瀷淇℃伅鏌ヨ]
+        public static ToMessage DeviceTypeData()
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇璁惧绫诲瀷鏁版嵁
+                sql = @"select code,name from TEqpType";
+                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
     }
 }
diff --git a/VueWebCoreApi/DLL/DAL/LoginDAL.cs b/VueWebCoreApi/DLL/DAL/LoginDAL.cs
index 330b9c1..666a512 100644
--- a/VueWebCoreApi/DLL/DAL/LoginDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/LoginDAL.cs
@@ -172,7 +172,7 @@
                         string codeString = string.Join(",", menuCodes);
                         //鏌ヨ鑿滃崟鏁版嵁
                         sql = @"select menucode,menuname,menu_seq,imgurl,'0' as flag,parent_id,is_show    
-                                from TMenu where Type=@usertype order by menu_seq";
+                                from TMenu where is_show='Y' and Type=@usertype order by menu_seq";
                         dynamicParams.Add("@usertype", usertype);
                         var data0 = DapperHelper.selectdata(sql, dynamicParams);
                         if (data0.Rows.Count > 0)
@@ -267,7 +267,7 @@
                         string codeString = string.Join(",", menuCodes);
                         //鏌ヨ鑿滃崟鏁版嵁
                         sql = @"select menucode,menuname,menu_seq,imgurl,'0' as flag,parent_id,is_show   
-                                from TMenu where Type=@usertype order by menu_seq";
+                                from TMenu where is_show='Y' and Type=@usertype order by menu_seq";
                         dynamicParams.Add("@usertype", usertype);
                         var data0 = DapperHelper.selectdata(sql, dynamicParams);
                         if (data0.Rows.Count > 0)
diff --git a/VueWebCoreApi/Startup.cs b/VueWebCoreApi/Startup.cs
index 9113269..c149a4c 100644
--- a/VueWebCoreApi/Startup.cs
+++ b/VueWebCoreApi/Startup.cs
@@ -10,6 +10,7 @@
 using Microsoft.AspNetCore.HttpsPolicy;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.AspNetCore.Mvc.Authorization;
+using Microsoft.AspNetCore.StaticFiles;
 using Microsoft.Extensions.Configuration;
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.DependencyInjection.Extensions;
@@ -99,7 +100,7 @@
             });
             //设置SignalR
             services.AddSignalR();
-           
+
 
             //设置session,并设置超时时间
             services.AddSession(o =>
@@ -110,7 +111,6 @@
             services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie();
 
         }
-
         // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
         public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime applicationLeftTime, ILoggerFactory loggerFactory)
         {
@@ -122,6 +122,7 @@
             {
                 DataOperator.SetConnectionString1(Convert.ToString(AppSetting.GetAppSetting("DBServer")));
             });
+
             #region Swagger分组第二种
             app.UseSwagger();
             app.UseSwaggerUI(c =>
@@ -140,6 +141,17 @@
             app.UseRouting();
 
             app.UseAuthorization();
+            //添加静态文件中间件
+            app.UseDefaultFiles();
+            //添加授权文件
+            app.UseStaticFiles(new StaticFileOptions()
+            {
+                ContentTypeProvider = new FileExtensionContentTypeProvider()
+                {
+                    Mappings = { [".xls"] = "application/vnd.ms-excel" }
+                }
+            });
+            app.UseStaticFiles();
             //跨域
             app.UseCors("cors");
             //用户session服务
@@ -150,12 +162,27 @@
             app.UseStaticHostEnviroment();
             //Quartz
             app.UseQuartz(env).UseStaticHttpContext();
+            //配置Excel下载
+            //app.UseStaticFiles(
+            //    new StaticFileOptions
+            //    {
+            //      //设置不限制content-type 
+            //       ServeUnknownFileTypes = true
+            //    });
+            //app.UseStaticFiles(new StaticFileOptions()
+            //{
+            //    ContentTypeProvider = new FileExtensionContentTypeProvider()
+            //    {
+            //        Mappings = { [".exe"] = "application/octect-stream" }
+            //    }
+            //});
+          
             app.UseEndpoints(endpoints =>
             {
                 endpoints.MapControllers();
                 endpoints.MapHub<ChatHub>("/ChatHub", options =>
                 {
-                    options.Transports =
+                        options.Transports =
                         HttpTransportType.WebSockets |
                         HttpTransportType.LongPolling;
                 });
diff --git a/VueWebCoreApi/Tools/ExcelList.cs b/VueWebCoreApi/Tools/ExcelList.cs
index fc2de5b..376a937 100644
--- a/VueWebCoreApi/Tools/ExcelList.cs
+++ b/VueWebCoreApi/Tools/ExcelList.cs
@@ -12,6 +12,7 @@
 
             List<ScoreReport> list = new List<ScoreReport>
             {
+                new ScoreReport("0","缁勭粐鏋舵瀯"),
                 new ScoreReport("1","瑙掕壊娓呭崟"),
                 new ScoreReport("2","鐢ㄦ埛娓呭崟"),
                 new ScoreReport("3","宸ヤ綅娓呭崟"),
diff --git a/VueWebCoreApi/appsettings.json b/VueWebCoreApi/appsettings.json
index 648b6ca..9b7ac9f 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=newvmes;User ID=sa;Password=xkd@20230101;pooling=false",
+    "DBServer": "Data Source=121.196.36.24,1533;Initial Catalog=vmes_JL;User ID=sa;Password=xkd@20230101;pooling=false",
     //浼佷笟缂栫爜
     "CompanyCode": "000",
     //浼佷笟鍚嶇О
@@ -25,7 +25,7 @@
     //session澶辨晥鏃堕棿
     "InProc": "240",
     //Excel瀵煎嚭妯℃澘閰嶇疆IP
-    "FileIP": "http://121.196.36.24:8001/",
+    "FileIP": "http://121.196.36.24:8021/",
     //jwtkey
     "SigningKey": "Hello World"
   }

--
Gitblit v1.9.3