From 6fe3d6fc4e93f4cf31dc02d4f0cbc48d56c249b7 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 30 六月 2023 13:35:23 +0800
Subject: [PATCH] 多车间模式接口过滤

---
 VueWebApi/obj/Release/VueWebApi.pdb                                  |    0 
 VueWebApi/Excel/设备清单.xls                                             |    0 
 VueWebApi/DLL/BLL/AppAnalyticsBLL.cs                                 |    8 
 VueWebApi/DLL/DAL/BasicSettingDAL.cs                                 |   59 +
 VueWebApi/DLL/BLL/QualityManagementBLL.cs                            |    8 
 VueWebApi/Controllers/QualityManagementController.cs                 |    8 
 VueWebApi/Controllers/AppProductionManagementController.cs           |   16 
 VueWebApi/DLL/BLL/DeviceManagerBLL.cs                                |   16 
 .vs/VueWebApi/v16/.suo                                               |    0 
 VueWebApi/obj/Release/Package/PackageTmp/Excel/用户清单.xls              |    0 
 VueWebApi/DLL/DAL/ProductionManagementDAL.cs                         |   71 ++
 VueWebApi/Controllers/AppQualityManagementController.cs              |    8 
 VueWebApi/Tools/ImportExcelData.cs                                   |  473 ++++++++---------
 VueWebApi/Controllers/AppAnalyticsController.cs                      |   12 
 VueWebApi/DLL/DAL/LoginDAL.cs                                        |   32 +
 VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache |    0 
 VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb           |    0 
 VueWebApi/Controllers/ProductionManagementController.cs              |   18 
 VueWebApi/Controllers/DeviceManagerController.cs                     |   16 
 VueWebApi/bin/VueWebApi.pdb                                          |    0 
 VueWebApi/DLL/BLL/ProductModelBLL.cs                                 |    4 
 VueWebApi/Excel/角色清单.xls                                             |    0 
 VueWebApi/DLL/DAL/AppAnalyticsDAL.cs                                 |   77 ++
 VueWebApi/DLL/DAL/ProductModelDAL.cs                                 |  133 +++--
 VueWebApi/obj/Release/Package/PackageTmp/Excel/节拍工价.xls              |    0 
 VueWebApi/DLL/BLL/BasicSettingBLL.cs                                 |    4 
 VueWebApi/DLL/BLL/ProductionManagementBLL.cs                         |   16 
 VueWebApi/Excel/节拍工价.xls                                             |    0 
 VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user      |   18 
 VueWebApi/bin/VueWebApi.xml                                          |   55 +
 VueWebApi/Tools/ScanStartReport.cs                                   |  164 +++++
 VueWebApi/obj/Release/Package/PackageTmp/Excel/角色清单.xls              |    0 
 VueWebApi/obj/Release/Package/PackageTmp/Excel/设备清单.xls              |    0 
 VueWebApi/DLL/BLL/LoginBLL.cs                                        |    8 
 VueWebApi/Excel/用户清单.xls                                             |    0 
 VueWebApi/InExcel/2/用户清单.xls                                         |    0 
 VueWebApi/Controllers/BasicSettingController.cs                      |    5 
 VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml           |   55 +
 VueWebApi/DLL/DAL/ReportManagerDAL.cs                                |    2 
 VueWebApi/Controllers/ProductModelController.cs                      |    4 
 VueWebApi/DLL/DAL/QualityManagementDAL.cs                            |   40 +
 VueWebApi/Controllers/LoginController.cs                             |   11 
 VueWebApi/DLL/DAL/DeviceManagerDAL.cs                                |  179 ++++--
 43 files changed, 968 insertions(+), 552 deletions(-)

diff --git a/.vs/VueWebApi/v16/.suo b/.vs/VueWebApi/v16/.suo
index 34be664..830d9ef 100644
--- a/.vs/VueWebApi/v16/.suo
+++ b/.vs/VueWebApi/v16/.suo
Binary files differ
diff --git a/VueWebApi/Controllers/AppAnalyticsController.cs b/VueWebApi/Controllers/AppAnalyticsController.cs
index f10d71a..4e7b9d6 100644
--- a/VueWebApi/Controllers/AppAnalyticsController.cs
+++ b/VueWebApi/Controllers/AppAnalyticsController.cs
@@ -22,13 +22,15 @@
         /// <summary>
         /// App鐢熶骇鐪嬫澘
         /// </summary>
+        /// <param name="stu_torgcode">缁勭粐缂栫爜</param>
+        /// <param name="stu_torgtypecode">缁勭粐绫诲瀷</param>
         /// <param name="usercode">鐧诲綍浜哄憳</param>
         /// <param name="Ratetime">鏃堕棿</param>
         /// <param name="defecttype">缂洪櫡缁熻绫诲瀷</param>
         /// <returns></returns>
         [Route(template: "ProductionKanban")]
         [HttpGet]
-        public HttpResponseMessage ProductionKanban(string usercode, string Ratetime,string defecttype)
+        public HttpResponseMessage ProductionKanban(string stu_torgcode,string stu_torgtypecode,string usercode, string Ratetime,string defecttype)
         {
             string startopendate = "";  //寮�濮嬫椂闂�
             string endclosedate = "";    //缁撴潫鏃堕棿
@@ -37,7 +39,7 @@
                 startopendate = Ratetime.Split('~')[0].ToString();
                 endclosedate = Ratetime.Split('~')[1].ToString();
             }
-            mes = AppAnalyticsBLL.ProductionKanban(usercode, startopendate, endclosedate, defecttype);
+            mes = AppAnalyticsBLL.ProductionKanban(stu_torgcode, stu_torgtypecode,usercode, startopendate, endclosedate, defecttype);
             return TJson.toJson(mes);
         }
         #endregion
@@ -46,13 +48,15 @@
         /// <summary>
         /// App鐢熶骇杩涘害鐪嬫澘鍗曟嵁淇℃伅
         /// </summary>
+        /// <param name="stu_torgcode">缁勭粐缂栫爜</param>
+        /// <param name="stu_torgtypecode">缁勭粐绫诲瀷</param>
         /// <param name="ordertype">鍗曟嵁绫诲瀷(SO:閿�鍞鍗曘�丮O:鐢熶骇璁㈠崟銆丳O:鐢熶骇宸ュ崟)</param>
         /// <param name="partcode">浜у搧淇℃伅(鍙涓�)</param>
         /// <param name="Ratetime">鍗曟嵁鏃ユ湡鑼冨洿</param>
         /// <returns></returns>
         [Route(template: "ProductionScheduleKanban")]
         [HttpGet]
-        public HttpResponseMessage ProductionScheduleKanban(string ordertype, string partcode=null, string Ratetime=null)
+        public HttpResponseMessage ProductionScheduleKanban(string stu_torgcode, string stu_torgtypecode, string ordertype, string partcode=null, string Ratetime=null)
         {
             string startopendate = "";  //寮�濮嬫椂闂�
             string endclosedate = "";    //缁撴潫鏃堕棿
@@ -61,7 +65,7 @@
                 startopendate = Ratetime.Split('~')[0].ToString();
                 endclosedate = Ratetime.Split('~')[1].ToString();
             }
-            mes = AppAnalyticsBLL.ProductionScheduleKanban(ordertype,partcode, startopendate, endclosedate);
+            mes = AppAnalyticsBLL.ProductionScheduleKanban(stu_torgcode, stu_torgtypecode,ordertype, partcode, startopendate, endclosedate);
             return TJson.toJson(mes);
         }
         #endregion
diff --git a/VueWebApi/Controllers/AppProductionManagementController.cs b/VueWebApi/Controllers/AppProductionManagementController.cs
index 6d8dd95..abe8ee5 100644
--- a/VueWebApi/Controllers/AppProductionManagementController.cs
+++ b/VueWebApi/Controllers/AppProductionManagementController.cs
@@ -25,15 +25,16 @@
         /// <summary>
         /// 鐢熶骇寮�鎶ュ伐锛氬紑宸�(寮�濮�/鎶ュ伐)/澶栧崗(鍙戞枡/鏀舵枡)鏃舵潯浠跺垽鏂強鏁版嵁杩斿洖鎺ュ彛
         /// </summary>
+        /// <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
         /// <param name="OperType">鎿嶄綔绫诲瀷锛氳嚜鍒�(ZZ)/澶栧崗(WX)</param>
         /// <param name="SelectType">鎿嶄綔绫诲瀷锛氬鍗忓彂鏂欐爣璇�(OUT)/澶栧崗鏀舵枡鏍囪瘑(IN)</param>
         /// <param name="orderstepqrcode">鎵弿浜岀淮鐮佷俊鎭�</param>
         /// <returns></returns>
         [Route(template: "MesOrderStepStart")]
         [HttpGet]
-        public HttpResponseMessage MesOrderStepStart(string OperType, string orderstepqrcode, string SelectType = null)
+        public HttpResponseMessage MesOrderStepStart(string stu_torgcode, string OperType, string orderstepqrcode, string SelectType = null)
         {
-            mes = ProductionManagementBLL.MesOrderStepStart(OperType, SelectType, orderstepqrcode);
+            mes = ProductionManagementBLL.MesOrderStepStart(OperType, stu_torgcode, SelectType, orderstepqrcode);
             return TJson.toJson(mes);
         }
         #endregion
@@ -57,13 +58,15 @@
         /// <summary>
         /// 鐢熶骇寮�鎶ュ伐锛氭姤宸ユ椂鑾峰彇鐢熶骇鐝粍涓嬫媺妗�
         /// </summary>
+        /// <param name="stu_torgcode">缁勭粐缂栫爜</param>
+        /// <param name="stu_torgtypecode">缁勭粐绫诲瀷</param>
         /// <param name="wkshopcode">杞﹂棿缂栫爜</param>
         /// <returns></returns>
         [Route(template: "MesOrderStepReportSelectUserGroup")]
         [HttpGet]
-        public HttpResponseMessage MesOrderStepReportSelectUserGroup(string wkshopcode)
+        public HttpResponseMessage MesOrderStepReportSelectUserGroup(string stu_torgcode,string stu_torgtypecode, string wkshopcode)
         {
-            mes = ProductionManagementBLL.MesOrderStepReportSelectUserGroup(wkshopcode);
+            mes = ProductionManagementBLL.MesOrderStepReportSelectUserGroup(stu_torgcode, stu_torgtypecode,wkshopcode);
             return TJson.toJson(mes);
         }
         #endregion
@@ -72,13 +75,14 @@
         /// <summary>
         /// 鐢熶骇寮�鎶ュ伐锛氭牴鎹敓浜х彮缁勬煡鎵句汉鍛樺垪琛�
         /// </summary>
+        /// <param name="stu_torgcode">缁勭粐缂栫爜</param>
         /// <param name="usergroupcode">鐝粍缂栫爜</param>
         /// <returns></returns>
         [Route(template: "MesOrderGroupSelectUser")]
         [HttpGet]
-        public HttpResponseMessage MesOrderGroupSelectUser(string usergroupcode)
+        public HttpResponseMessage MesOrderGroupSelectUser(string stu_torgcode, string usergroupcode)
         {
-            mes = ProductionManagementBLL.MesOrderGroupSelectUser(usergroupcode);
+            mes = ProductionManagementBLL.MesOrderGroupSelectUser(stu_torgcode,usergroupcode);
             return TJson.toJson(mes);
         }
         #endregion
diff --git a/VueWebApi/Controllers/AppQualityManagementController.cs b/VueWebApi/Controllers/AppQualityManagementController.cs
index 6142892..228d01d 100644
--- a/VueWebApi/Controllers/AppQualityManagementController.cs
+++ b/VueWebApi/Controllers/AppQualityManagementController.cs
@@ -87,14 +87,15 @@
         /// <summary>
         /// 宸ュ簭妫�楠屾壂鐮佽幏鍙栦换鍔′俊鎭�
         /// </summary>
+        /// <param name="stu_torgcode">缁勭粐缂栫爜</param>
         /// <param name="orderstepqrcode">鎵弿宸ュ簭浜岀淮鐮佷俊鎭�</param>
         /// <param name="checktype">妫�楠屾柟寮廎irstCheck锛堥妫�锛� PatroCheck(宸℃)  EndCheck(瀹屽伐妫�)</param>
         /// <returns></returns>
         [Route(template: "StepCheckSearch")]
         [HttpGet]
-        public HttpResponseMessage StepCheckSearch(string orderstepqrcode,string checktype)
+        public HttpResponseMessage StepCheckSearch(string stu_torgcode,string orderstepqrcode,string checktype)
         {
-            mes = ProductionManagementBLL.MesOrderStepCheckSearch(orderstepqrcode, checktype);
+            mes = ProductionManagementBLL.MesOrderStepCheckSearch(stu_torgcode,orderstepqrcode, checktype);
             return TJson.toJson(mes);
         }
         #endregion
@@ -123,6 +124,7 @@
         [HttpPost]
         public HttpResponseMessage SaveStepCheckItem()
         {
+            string stu_torgcode = HttpContext.Current.Request["stu_torgcode"].ToString();//缁勭粐缂栫爜
             string wocode = HttpContext.Current.Request["wocode"].ToString();//宸ュ崟鍙�
             string partcode = HttpContext.Current.Request["partcode"].ToString();//鐗╂枡缂栫爜
             string stepcode = HttpContext.Current.Request["stepcode"].ToString();//宸ュ簭缂栫爜
@@ -136,7 +138,7 @@
             string ngqty = HttpContext.Current.Request["ngqty"].ToString();//涓嶅悎鏍兼暟閲�
             string checkitemcont = HttpContext.Current.Request["checkitemcont"].ToString();//妫�楠岄」鐩暟鎹�
             string username = HttpContext.Current.Request["admin"].ToString();//鎿嶄綔浜哄憳
-            mes = ProductionManagementBLL.SaveMesOrderStepCheckItem(wocode,partcode,stepcode,checkstandcode,check_type,sampmethod,qualitystatus,labqty,sampleqty,goodqty,ngqty,checkitemcont,username);
+            mes = ProductionManagementBLL.SaveMesOrderStepCheckItem(stu_torgcode,wocode, partcode,stepcode,checkstandcode,check_type,sampmethod,qualitystatus,labqty,sampleqty,goodqty,ngqty,checkitemcont,username);
             return TJson.toJson(mes);
         }
         #endregion
diff --git a/VueWebApi/Controllers/BasicSettingController.cs b/VueWebApi/Controllers/BasicSettingController.cs
index 2d860d2..e48a2e0 100644
--- a/VueWebApi/Controllers/BasicSettingController.cs
+++ b/VueWebApi/Controllers/BasicSettingController.cs
@@ -94,12 +94,13 @@
         /// 缁勭粐鏋舵瀯鍒犻櫎
         /// </summary>
         /// <param name="orgid">缁勭粐id</param>
+        /// <param name="orgcode">缁勭粐缂栫爜</param>
         /// <returns></returns>
         [Route(template: "DeleteOrganization")]
         [HttpPost]
-        public HttpResponseMessage DeleteOrganization(int orgid)
+        public HttpResponseMessage DeleteOrganization(int orgid,string orgcode)
         {
-            mes = BasicSettingBLL.DeleteOrganization(orgid);
+            mes = BasicSettingBLL.DeleteOrganization(orgid, orgcode);
             return TJson.toJson(mes);
         }
         #endregion
diff --git a/VueWebApi/Controllers/DeviceManagerController.cs b/VueWebApi/Controllers/DeviceManagerController.cs
index bbc0b87..78b82a2 100644
--- a/VueWebApi/Controllers/DeviceManagerController.cs
+++ b/VueWebApi/Controllers/DeviceManagerController.cs
@@ -417,9 +417,11 @@
         [HttpGet]
         public HttpResponseMessage DeviceCheckStandArdSearch(int page, int rows, string prop, string order,string checkstandcode = null, string checkstandname = null, string checkcontr = null)
         {
+            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //鎵�灞炵粍缁�
+            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //鎵�灞炵粍缁囩被鍨�
             int startNum = rows * (page - 1) + 1;  //璧峰璁板綍rowNum
             int endNum = rows * page;   //缁撴潫璁板綍 rowNum
-            mes = DeviceManagerBLL.DeviceCheckStandArdSearch(checkstandcode, checkstandname, checkcontr, startNum, endNum, prop, order);
+            mes = DeviceManagerBLL.DeviceCheckStandArdSearch(stu_torgcode, stu_torgtypecode,checkstandcode, checkstandname, checkcontr, startNum, endNum, prop, order);
             return TJson.toJson(mes);
         }
         #endregion
@@ -513,8 +515,10 @@
         [HttpPost]
         public HttpResponseMessage SaveDeviceCheckStanedAssociationEqp(string checkstand_code, List<ObjectData> json)
         {
+            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //鎵�灞炵粍缁�
+            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //鎵�灞炵粍缁囩被鍨�
             var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //鎿嶄綔浜哄憳
-            mes = DeviceManagerBLL.SaveDeviceCheckStanedAssociationEqp(checkstand_code, username, json);
+            mes = DeviceManagerBLL.SaveDeviceCheckStanedAssociationEqp(stu_torgcode, stu_torgtypecode,checkstand_code, username, json);
             return TJson.toJson(mes);
         }
         #endregion
@@ -537,9 +541,11 @@
         [HttpGet]
         public HttpResponseMessage DeviceRepairStandArdSearch(int page, int rows, string prop, string order,string repairstandcode = null, string repairstandname = null, string repairstanddescr = null)
         {
+            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //鎵�灞炵粍缁�
+            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //鎵�灞炵粍缁囩被鍨�
             int startNum = rows * (page - 1) + 1;  //璧峰璁板綍rowNum
             int endNum = rows * page;   //缁撴潫璁板綍 rowNum
-            mes = DeviceManagerBLL.DeviceRepairStandArdSearch(repairstandcode, repairstandname, repairstanddescr, startNum, endNum, prop, order);
+            mes = DeviceManagerBLL.DeviceRepairStandArdSearch(stu_torgcode, stu_torgtypecode,repairstandcode, repairstandname, repairstanddescr, startNum, endNum, prop, order);
             return TJson.toJson(mes);
         }
         #endregion
@@ -633,8 +639,10 @@
         [HttpPost]
         public HttpResponseMessage SaveDeviceRepairStanedAssociationEqp(string repairstand_code, List<ObjectData> json)
         {
+            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //鎵�灞炵粍缁�
+            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //鎵�灞炵粍缁囩被鍨�
             var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //鎿嶄綔浜哄憳
-            mes = DeviceManagerBLL.SaveDeviceRepairStanedAssociationEqp(repairstand_code, username, json);
+            mes = DeviceManagerBLL.SaveDeviceRepairStanedAssociationEqp(stu_torgcode, stu_torgtypecode, repairstand_code, username, json);
             return TJson.toJson(mes);
         }
         #endregion
diff --git a/VueWebApi/Controllers/LoginController.cs b/VueWebApi/Controllers/LoginController.cs
index b873add..5d97751 100644
--- a/VueWebApi/Controllers/LoginController.cs
+++ b/VueWebApi/Controllers/LoginController.cs
@@ -395,12 +395,13 @@
         /// <param name="usercode">鐢ㄦ埛缂栫爜</param>
         /// <param name="username">鐢ㄦ埛鍚�</param>
         /// <param name="usertype">鎿嶄綔绔疨C/APP</param>
+        /// <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
         /// <returns></returns>
         [Route(template: "LoginAppOut")]
         [HttpPost]
-        public HttpResponseMessage LoginAppOut(int userid, string usercode, string username, string usertype)
+        public HttpResponseMessage LoginAppOut(int userid, string usercode, string username, string usertype,string stu_torgcode)
         {
-            mes = LoginBLL.LoginAppOut(userid, usercode, username, usertype);
+            mes = LoginBLL.LoginAppOut(userid, usercode, username, usertype, stu_torgcode);
             return mes.ResponseMess(mes);
         }
         #endregion
@@ -413,12 +414,14 @@
         /// <param name="usercode">鐢ㄦ埛缂栫爜</param>
         /// <param name="username">鐢ㄦ埛鍚嶇О</param>
         /// <param name="usertype">鎿嶄綔绔疨C/APP</param>
+        /// <param name="stu_torgcode">鎵�灞炵紪鐮佺粍缁�</param>
+        /// <param name="stu_torgtypecode">鎵�灞炵粍缁囩被鍨�</param>
         /// <returns></returns>
         [Route(template: "LoginAppAnDonMessage")]
         [HttpPost]
-        public HttpResponseMessage LoginAppAnDonMessage(string rid, string usercode, string username, string usertype)
+        public HttpResponseMessage LoginAppAnDonMessage(string rid, string usercode, string username, string usertype,string stu_torgcode,string stu_torgtypecode)
         {
-            mes = LoginBLL.LoginAppAnDonMessage(rid, usercode, username, usertype);
+            mes = LoginBLL.LoginAppAnDonMessage(rid, usercode, username, usertype, stu_torgcode, stu_torgtypecode);
             return TJson.toJson(mes);
             //return mes.ResponseMess(mes);
         }
diff --git a/VueWebApi/Controllers/ProductModelController.cs b/VueWebApi/Controllers/ProductModelController.cs
index 7d3814c..e3cc28b 100644
--- a/VueWebApi/Controllers/ProductModelController.cs
+++ b/VueWebApi/Controllers/ProductModelController.cs
@@ -216,9 +216,11 @@
         [HttpGet]
         public HttpResponseMessage InventoryFileSelect(string partcode = null, string partname = null, string partspec = null, string stocktypecode = null, string materialtypecode = null, string storehousecode = null, int page = 0, int rows = 0, string prop = null, string order = null)
         {
+            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //鎵�灞炵粍缁�
+            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //鎵�灞炵粍缁囩被鍨�
             int startNum = rows * (page - 1) + 1;  //璧峰璁板綍rowNum
             int endNum = rows * page;   //缁撴潫璁板綍 rowNum
-            mes = ProductModelBLL.InventoryFileSelect(partcode, partname, partspec, stocktypecode, materialtypecode, storehousecode, startNum, endNum, prop, order);
+            mes = ProductModelBLL.InventoryFileSelect(stu_torgcode, stu_torgtypecode,partcode, partname, partspec, stocktypecode, materialtypecode, storehousecode, startNum, endNum, prop, order);
             return TJson.toJson(mes);
         }
         #endregion
diff --git a/VueWebApi/Controllers/ProductionManagementController.cs b/VueWebApi/Controllers/ProductionManagementController.cs
index 382a4fe..b3f861c 100644
--- a/VueWebApi/Controllers/ProductionManagementController.cs
+++ b/VueWebApi/Controllers/ProductionManagementController.cs
@@ -17,7 +17,7 @@
 {
     [RoutePrefix(prefix: "api/ProductionManagement")]
     [ControllerGroup("鐢熶骇绠$悊", "鍦ㄧ嚎鎺ュ彛")]
-    [ChannelActionFilter]
+    //[ChannelActionFilter]
     public class ProductionManagementController : ApiController
     {
         //瀹氫箟鍏ㄥ眬淇℃伅杩斿洖鍙橀噺
@@ -470,12 +470,13 @@
         /// <param name="OperType">鎿嶄綔绫诲瀷锛氳嚜鍒�(ZZ)/澶栧崗(WX)</param>
         /// <param name="SelectType">鎿嶄綔绫诲瀷锛氬鍗忓彂鏂欐爣璇�(OUT)/澶栧崗鏀舵枡鏍囪瘑(IN)</param>
         /// <param name="orderstepqrcode">鎵弿浜岀淮鐮佷俊鎭�</param>
+        /// <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
         /// <returns></returns>
         [Route(template: "MesOrderStepStart")]
         [HttpGet]
-        public HttpResponseMessage MesOrderStepStart(string OperType, string orderstepqrcode, string SelectType = null)
+        public HttpResponseMessage MesOrderStepStart(string OperType,string stu_torgcode, string orderstepqrcode, string SelectType = null)
         {
-            mes = ProductionManagementBLL.MesOrderStepStart(OperType, SelectType, orderstepqrcode);
+            mes = ProductionManagementBLL.MesOrderStepStart(OperType, stu_torgcode, SelectType, orderstepqrcode);
             return TJson.toJson(mes);
         }
         #endregion
@@ -522,7 +523,8 @@
         [HttpGet]
         public HttpResponseMessage MesOrderGroupSelectUser(string usergroupcode)
         {
-            mes = ProductionManagementBLL.MesOrderGroupSelectUser(usergroupcode);
+            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //鎵�灞炵粍缁�
+            mes = ProductionManagementBLL.MesOrderGroupSelectUser(stu_torgcode,usergroupcode);
             return TJson.toJson(mes);
         }
         #endregion
@@ -699,14 +701,15 @@
         /// <summary>
         /// 宸ュ簭妫�楠屾壂鐮佽幏鍙栦换鍔′俊鎭�
         /// </summary>
+        /// <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
         /// <param name="orderstepqrcode">鎵弿宸ュ簭浜岀淮鐮佷俊鎭�</param>
         /// <param name="checktype">妫�楠屾柟寮廎irstCheck锛堥妫�锛� PatroCheck(宸℃)  EndCheck(瀹屽伐妫�)</param>
         /// <returns></returns>
         [Route(template: "MesOrderStepCheckSearch")]
         [HttpGet]
-        public HttpResponseMessage MesOrderStepCheckSearch(string orderstepqrcode, string checktype)
+        public HttpResponseMessage MesOrderStepCheckSearch(string stu_torgcode, string orderstepqrcode, string checktype)
         {
-            mes = ProductionManagementBLL.MesOrderStepCheckSearch(orderstepqrcode, checktype);
+            mes = ProductionManagementBLL.MesOrderStepCheckSearch(stu_torgcode,orderstepqrcode, checktype);
             return TJson.toJson(mes);
         }
         #endregion
@@ -735,6 +738,7 @@
         [HttpPost]
         public HttpResponseMessage SaveMesOrderStepCheckItem([FromBody] JObject obj)
         {
+            string stu_torgcode = obj["stu_torgcode"].ToString(); //鎵�灞炵粍缁囩紪鍙�
             string wocode = obj["wocode"].ToString(); //宸ュ崟缂栧彿
             string partcode = obj["partcode"].ToString(); //浜у搧缂栫爜
             string stepcode = obj["stepcode"].ToString(); //宸ュ簭缂栫爜
@@ -748,7 +752,7 @@
             string ngqty = obj["ngqty"].ToString();//涓嶅悎鏍兼暟閲�
             string checkitemcont = obj["checkitemcont"].ToString(); //妫�楠岄」鐩暟鎹�
             var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //鎿嶄綔浜哄憳
-            mes = ProductionManagementBLL.SaveMesOrderStepCheckItem(wocode, partcode, stepcode, checkstandcode, check_type, sampmethod, qualitystatus, labqty, sampleqty, goodqty, ngqty, checkitemcont, username);
+            mes = ProductionManagementBLL.SaveMesOrderStepCheckItem(stu_torgcode,wocode, partcode, stepcode, checkstandcode, check_type, sampmethod, qualitystatus, labqty, sampleqty, goodqty, ngqty, checkitemcont, username);
             return TJson.toJson(mes);
         }
         #endregion
diff --git a/VueWebApi/Controllers/QualityManagementController.cs b/VueWebApi/Controllers/QualityManagementController.cs
index 81b6add..d108e32 100644
--- a/VueWebApi/Controllers/QualityManagementController.cs
+++ b/VueWebApi/Controllers/QualityManagementController.cs
@@ -252,9 +252,11 @@
         [HttpGet]
         public HttpResponseMessage StepCheckTableSearch(string wocode = null, string partcode = null, string partname = null, string partapec = null, string stepname = null,string standname=null, string checktype = null, string checkresult = null, int page = 0, int rows = 0, string prop = null, string order = null)
         {
+            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //鎵�灞炵粍缁�
+            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //鎵�灞炵粍缁囩被鍨�
             int startNum = rows * (page - 1) + 1;  //璧峰璁板綍rowNum
             int endNum = rows * page;   //缁撴潫璁板綍 rowNum
-            mes = QualityManagementBLL.StepCheckTableSearch(wocode, partcode, partname,partapec,stepname,standname,checktype,checkresult, startNum, endNum, prop, order);
+            mes = QualityManagementBLL.StepCheckTableSearch(stu_torgcode, stu_torgtypecode,wocode, partcode, partname,partapec,stepname,standname,checktype,checkresult, startNum, endNum, prop, order);
             return TJson.toJson(mes);
         }
         #endregion
@@ -293,7 +295,9 @@
         [HttpGet]
         public HttpResponseMessage StepCheckTableOutExcel(string wocode = null, string partcode = null, string partname = null, string partapec = null, string stepname = null, string standname = null, string checktype = null, string checkresult = null,string prop = null, string order = null)
         {
-            mes = QualityManagementBLL.StepCheckTableOutExcel(wocode, partcode, partname, partapec, stepname, standname, checktype, checkresult, prop, order);
+            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //鎵�灞炵粍缁�
+            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //鎵�灞炵粍缁囩被鍨�
+            mes = QualityManagementBLL.StepCheckTableOutExcel(stu_torgcode, stu_torgtypecode, wocode, partcode, partname, partapec, stepname, standname, checktype, checkresult, prop, order);
             return TJson.toJson(mes);
         }
         #endregion
diff --git a/VueWebApi/DLL/BLL/AppAnalyticsBLL.cs b/VueWebApi/DLL/BLL/AppAnalyticsBLL.cs
index fcd7424..d70bf00 100644
--- a/VueWebApi/DLL/BLL/AppAnalyticsBLL.cs
+++ b/VueWebApi/DLL/BLL/AppAnalyticsBLL.cs
@@ -10,16 +10,16 @@
     public class AppAnalyticsBLL
     {
         #region[App鐢熶骇鐪嬫澘]
-        public static ToMessage ProductionKanban(string usercode, string startopendate, string endclosedate,string defecttype)
+        public static ToMessage ProductionKanban(string stu_torgcode,string stu_torgtypecode,string usercode, string startopendate, string endclosedate,string defecttype)
         {
-            return AppAnalyticsDAL.ProductionKanban(usercode, startopendate, endclosedate, defecttype);
+            return AppAnalyticsDAL.ProductionKanban(stu_torgcode, stu_torgtypecode,usercode, startopendate, endclosedate, defecttype);
         }
         #endregion
 
         #region[App鐢熶骇杩涘害鐪嬫澘鍗曟嵁淇℃伅]
-        public static ToMessage ProductionScheduleKanban(string ordertype, string partcode, string startopendate, string endclosedate)
+        public static ToMessage ProductionScheduleKanban(string stu_torgcode,string stu_torgtypecode, string ordertype, string partcode, string startopendate, string endclosedate)
         {
-            return AppAnalyticsDAL.ProductionScheduleKanban(ordertype, partcode, startopendate, endclosedate);
+            return AppAnalyticsDAL.ProductionScheduleKanban(stu_torgcode, stu_torgtypecode, ordertype, partcode, startopendate, endclosedate);
         }
         #endregion
     }
diff --git a/VueWebApi/DLL/BLL/BasicSettingBLL.cs b/VueWebApi/DLL/BLL/BasicSettingBLL.cs
index cf700f7..48fe64f 100644
--- a/VueWebApi/DLL/BLL/BasicSettingBLL.cs
+++ b/VueWebApi/DLL/BLL/BasicSettingBLL.cs
@@ -33,9 +33,9 @@
         #endregion
 
         #region [缁勭粐鏋舵瀯鍒犻櫎]
-        public static ToMessage DeleteOrganization(int orgid)
+        public static ToMessage DeleteOrganization(int orgid,string orgcode)
         {
-            return BasicSettingDAL.DeleteOrganization(orgid);
+            return BasicSettingDAL.DeleteOrganization(orgid, orgcode);
         }
         #endregion
 
diff --git a/VueWebApi/DLL/BLL/DeviceManagerBLL.cs b/VueWebApi/DLL/BLL/DeviceManagerBLL.cs
index 738a7e0..012fc75 100644
--- a/VueWebApi/DLL/BLL/DeviceManagerBLL.cs
+++ b/VueWebApi/DLL/BLL/DeviceManagerBLL.cs
@@ -152,9 +152,9 @@
 
 
         #region[璁惧鐐规鏍囧噯鍒楄〃鏌ヨ]
-        public static ToMessage DeviceCheckStandArdSearch(string checkstandcode, string checkstandname, string checkcontr, int startNum, int endNum, string prop, string order)
+        public static ToMessage DeviceCheckStandArdSearch(string stu_torgcode,string stu_torgtypecode,string checkstandcode, string checkstandname, string checkcontr, int startNum, int endNum, string prop, string order)
         {
-            return DeviceManagerDAL.DeviceCheckStandArdSearch(checkstandcode, checkstandname, checkcontr, startNum, endNum, prop, order);
+            return DeviceManagerDAL.DeviceCheckStandArdSearch(stu_torgcode, stu_torgtypecode,checkstandcode, checkstandname, checkcontr, startNum, endNum, prop, order);
         }
         #endregion
 
@@ -194,18 +194,18 @@
         #endregion
 
         #region [璁惧鐐规鏍囧噯鍏宠仈宸ヤ綔绔欐彁浜
-        public static ToMessage SaveDeviceCheckStanedAssociationEqp(string checkstand_code, string username, List<ObjectData> json)
+        public static ToMessage SaveDeviceCheckStanedAssociationEqp(string stu_torgcode,string stu_torgtypecode,string checkstand_code, string username, List<ObjectData> json)
         {
-            return DeviceManagerDAL.SaveDeviceCheckStanedAssociationEqp(checkstand_code, username,json);
+            return DeviceManagerDAL.SaveDeviceCheckStanedAssociationEqp(stu_torgcode, stu_torgtypecode,checkstand_code, username,json);
         }
         #endregion
 
 
 
         #region[璁惧淇濆吇鏍囧噯鍒楄〃鏌ヨ]
-        public static ToMessage DeviceRepairStandArdSearch(string repairstandcode, string repairstandname, string repairstanddescr, int startNum, int endNum, string prop, string order)
+        public static ToMessage DeviceRepairStandArdSearch(string stu_torgcode,string stu_torgtypecode, string repairstandcode, string repairstandname, string repairstanddescr, int startNum, int endNum, string prop, string order)
         {
-            return DeviceManagerDAL.DeviceRepairStandArdSearch(repairstandcode, repairstandname, repairstanddescr, startNum, endNum, prop, order);
+            return DeviceManagerDAL.DeviceRepairStandArdSearch(stu_torgcode, stu_torgtypecode, repairstandcode, repairstandname, repairstanddescr, startNum, endNum, prop, order);
         }
         #endregion
 
@@ -245,9 +245,9 @@
         #endregion
 
         #region [璁惧淇濆吇鏍囧噯鍏宠仈宸ヤ綔绔欐彁浜
-        public static ToMessage SaveDeviceRepairStanedAssociationEqp(string repairstand_code, string username, List<ObjectData> json)
+        public static ToMessage SaveDeviceRepairStanedAssociationEqp(string stu_torgcode,string stu_torgtypecode, string repairstand_code, string username, List<ObjectData> json)
         {
-            return DeviceManagerDAL.SaveDeviceRepairStanedAssociationEqp(repairstand_code, username, json);
+            return DeviceManagerDAL.SaveDeviceRepairStanedAssociationEqp(stu_torgcode, stu_torgtypecode, repairstand_code, username, json);
         }
         #endregion
 
diff --git a/VueWebApi/DLL/BLL/LoginBLL.cs b/VueWebApi/DLL/BLL/LoginBLL.cs
index 19778c1..9cf521c 100644
--- a/VueWebApi/DLL/BLL/LoginBLL.cs
+++ b/VueWebApi/DLL/BLL/LoginBLL.cs
@@ -61,16 +61,16 @@
         #endregion
 
         #region[App鐧诲嚭]
-        public static ToMessage LoginAppOut(int userid, string usercode, string username, string usertype)
+        public static ToMessage LoginAppOut(int userid, string usercode, string username, string usertype,string stu_torgcode)
         {
-            return LoginDAL.LoginAppOut(userid, usercode, username, usertype);
+            return LoginDAL.LoginAppOut(userid, usercode, username, usertype, stu_torgcode);
         }
         #endregion
 
         #region[App鐧诲綍鏌ヨ瀹夌伅鍛煎彨淇℃伅]
-        public static ToMessage LoginAppAnDonMessage(string rid, string usercode, string username, string usertype)
+        public static ToMessage LoginAppAnDonMessage(string rid, string usercode, string username, string usertype,string stu_torgcode,string stu_torgtypecode)
         {
-            return LoginDAL.LoginAppAnDonMessage(rid, usercode, username, usertype);
+            return LoginDAL.LoginAppAnDonMessage(rid, usercode, username, usertype,stu_torgcode, stu_torgtypecode);
         }
         #endregion
     }
diff --git a/VueWebApi/DLL/BLL/ProductModelBLL.cs b/VueWebApi/DLL/BLL/ProductModelBLL.cs
index 0942195..6d97a6e 100644
--- a/VueWebApi/DLL/BLL/ProductModelBLL.cs
+++ b/VueWebApi/DLL/BLL/ProductModelBLL.cs
@@ -78,9 +78,9 @@
         #endregion
 
         #region[瀛樿揣妗f鏌ヨ]
-        public static ToMessage InventoryFileSelect(string partcode, string partname, string partspec, string stocktypecode, string materialtypecode, string storehousecode, int startNum, int endNum, string prop, string order)
+        public static ToMessage InventoryFileSelect(string stu_torgcode,string stu_torgtypecode, string partcode, string partname, string partspec, string stocktypecode, string materialtypecode, string storehousecode, int startNum, int endNum, string prop, string order)
         {
-            return ProductModelDAL.InventoryFileSelect(partcode, partname, partspec, stocktypecode, materialtypecode, storehousecode, startNum, endNum, prop, order);
+            return ProductModelDAL.InventoryFileSelect(stu_torgcode, stu_torgtypecode,partcode, partname, partspec, stocktypecode, materialtypecode, storehousecode, startNum, endNum, prop, order);
         }
         #endregion
 
diff --git a/VueWebApi/DLL/BLL/ProductionManagementBLL.cs b/VueWebApi/DLL/BLL/ProductionManagementBLL.cs
index 50614fc..e600a43 100644
--- a/VueWebApi/DLL/BLL/ProductionManagementBLL.cs
+++ b/VueWebApi/DLL/BLL/ProductionManagementBLL.cs
@@ -164,9 +164,9 @@
         #endregion
 
         #region [鐢熶骇寮�鎶ュ伐锛氬紑宸�(寮�濮�/鎶ュ伐)/澶栧崗鍙戞枡鏃舵潯浠跺垽鏂強鏁版嵁杩斿洖鎺ュ彛]
-        public static ToMessage MesOrderStepStart(string OperType,string SelectType, string orderstepqrcode)
+        public static ToMessage MesOrderStepStart(string OperType,string stu_torgcode, string SelectType, string orderstepqrcode)
         {
-            return ProductionManagementDAL.MesOrderStepStart(OperType, SelectType, orderstepqrcode);
+            return ProductionManagementDAL.MesOrderStepStart(OperType, stu_torgcode, SelectType, orderstepqrcode);
         }
         #endregion
 
@@ -185,9 +185,9 @@
         #endregion
 
         #region[鐢熶骇寮�鎶ュ伐锛氭牴鎹敓浜х彮缁勬煡鎵句汉鍛樺垪琛╙
-        public static ToMessage MesOrderGroupSelectUser(string usergroupcode)
+        public static ToMessage MesOrderGroupSelectUser(string stu_torgcode, string usergroupcode)
         {
-            return ProductionManagementDAL.MesOrderGroupSelectUser(usergroupcode);
+            return ProductionManagementDAL.MesOrderGroupSelectUser(stu_torgcode,usergroupcode);
         }
         #endregion
 
@@ -249,9 +249,9 @@
 
 
         #region[宸ュ簭妫�楠屾壂鐮佽幏鍙栦换鍔′俊鎭痌
-        public static ToMessage MesOrderStepCheckSearch(string orderstepqrcode,string checktype)
+        public static ToMessage MesOrderStepCheckSearch(string stu_torgcode,string orderstepqrcode,string checktype)
         {
-            return ProductionManagementDAL.MesOrderStepCheckSearch(orderstepqrcode, checktype);
+            return ProductionManagementDAL.MesOrderStepCheckSearch(stu_torgcode,orderstepqrcode, checktype);
         }
         #endregion
 
@@ -263,9 +263,9 @@
         #endregion
 
         #region[宸ュ簭妫�楠�,鎻愪氦]
-        public static ToMessage SaveMesOrderStepCheckItem(string wocode, string partcode, string stepcode, string checkstandcode, string check_type, string sampmethod, string qualitystatus, string labqty, string sampleqty, string goodqty, string ngqty, string checkitemcont, string username)
+        public static ToMessage SaveMesOrderStepCheckItem(string stu_torgcode, string wocode, string partcode, string stepcode, string checkstandcode, string check_type, string sampmethod, string qualitystatus, string labqty, string sampleqty, string goodqty, string ngqty, string checkitemcont, string username)
         {
-            return ProductionManagementDAL.SaveMesOrderStepCheckItem(wocode, partcode, stepcode, checkstandcode, check_type, sampmethod, qualitystatus, labqty, sampleqty, goodqty, ngqty, checkitemcont, username);
+            return ProductionManagementDAL.SaveMesOrderStepCheckItem(stu_torgcode,wocode, partcode, stepcode, checkstandcode, check_type, sampmethod, qualitystatus, labqty, sampleqty, goodqty, ngqty, checkitemcont, username);
         }
         #endregion
 
diff --git a/VueWebApi/DLL/BLL/QualityManagementBLL.cs b/VueWebApi/DLL/BLL/QualityManagementBLL.cs
index 8532725..4dc5aed 100644
--- a/VueWebApi/DLL/BLL/QualityManagementBLL.cs
+++ b/VueWebApi/DLL/BLL/QualityManagementBLL.cs
@@ -95,9 +95,9 @@
 
 
         #region[宸ュ簭妫�楠岃褰曞垪琛ㄦ煡璇
-        public static ToMessage StepCheckTableSearch(string wocode, string partcode, string partname, string partapec, string stepname, string standname, string checktype, string checkresult, int startNum, int endNum, string prop, string order)
+        public static ToMessage StepCheckTableSearch(string stu_torgcode,string stu_torgtypecode, string wocode, string partcode, string partname, string partapec, string stepname, string standname, string checktype, string checkresult, int startNum, int endNum, string prop, string order)
         {
-            return QualityManagementDAL.StepCheckTableSearch(wocode, partcode, partname, partapec, stepname, standname, checktype, checkresult, startNum, endNum, prop, order);
+            return QualityManagementDAL.StepCheckTableSearch(stu_torgcode, stu_torgtypecode, wocode, partcode, partname, partapec, stepname, standname, checktype, checkresult, startNum, endNum, prop, order);
         }
         #endregion
 
@@ -109,9 +109,9 @@
         #endregion
 
         #region[宸ュ簭妫�楠岃褰曞鍑篯
-        public static ToMessage StepCheckTableOutExcel(string wocode, string partcode, string partname, string partapec, string stepname, string standname, string checktype, string checkresult, string prop, string order)
+        public static ToMessage StepCheckTableOutExcel(string stu_torgcode,string stu_torgtypecode, string wocode, string partcode, string partname, string partapec, string stepname, string standname, string checktype, string checkresult, string prop, string order)
         {
-            return QualityManagementDAL.StepCheckTableOutExcel(wocode, partcode, partname, partapec, stepname, standname, checktype, checkresult, prop, order);
+            return QualityManagementDAL.StepCheckTableOutExcel(stu_torgcode, stu_torgtypecode, wocode, partcode, partname, partapec, stepname, standname, checktype, checkresult, prop, order);
         }
         #endregion
 
diff --git a/VueWebApi/DLL/DAL/AppAnalyticsDAL.cs b/VueWebApi/DLL/DAL/AppAnalyticsDAL.cs
index e96f522..5e1c401 100644
--- a/VueWebApi/DLL/DAL/AppAnalyticsDAL.cs
+++ b/VueWebApi/DLL/DAL/AppAnalyticsDAL.cs
@@ -20,13 +20,28 @@
         public static SqlParameter[] parameters; //瀹氫箟鍏ㄥ眬SqlParameter鍙傛暟鏁扮粍
 
         #region[App鐢熶骇鐪嬫澘]
-        public static ToMessage ProductionKanban(string usercode, string startopendate, string endclosedate,string defecttype)
+        public static ToMessage ProductionKanban(string stu_torgcode,string stu_torgtypecode,string usercode, string startopendate, string endclosedate,string defecttype)
         {
             Dictionary<object, object> dList = new Dictionary<object, object>();
             var dynamicParams = new DynamicParameters();
             string search = "";
             try
             {
+                switch (stu_torgtypecode)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search += "and L.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search += "and C.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
                 // --------------鐢熶骇鎬昏--------------
                 var sql = @"select 
                              sum(CASE AA.clmname WHEN '璁″垝鏁伴噺' THEN AA.clmqty ELSE 0 END) as 'plan_qty', 
@@ -34,16 +49,21 @@
                              sum(CASE AA.clmname WHEN '缂洪櫡浜у嚭' THEN AA.clmqty ELSE 0 END) as 'defect_qty'
                              from(
                              select  isnull(sum(A.plan_qty),0) as clmqty,'璁″垝鏁伴噺'as clmname  from TK_Wrk_Man  A
-                             where A.lm_date between @startopendate and @endclosedate
-                             union all
+                             left join TOrganization C on A.wkshp_code=C.org_code
+                             left join TOrganization L on  C.parent_id=L.id
+                             where A.lm_date between @startopendate and @endclosedate "+search;
+                    sql += @"union all
                              select isnull(sum(P.good_qty),0) as report_qty,'鍚堟牸浜у嚭' as 鍚堟牸浜у嚭  from TK_Wrk_Man  A
                              inner join TK_Wrk_Step P on A.wo_code=P.wo_code  and P.isend='Y'
-                             where A.lm_date between @startopendate and @endclosedate
-                             union all
+                             left join TOrganization C on A.wkshp_code=C.org_code
+                             left join TOrganization L on  C.parent_id=L.id
+                             where A.lm_date between @startopendate and @endclosedate "+search;
+                    sql += @"union all
                              select (isnull(sum(P.ng_qty),0)+isnull(sum(P.bad_qty),0)) as ngqty,'缂洪櫡浜у嚭' as 缂洪櫡浜у嚭  from TK_Wrk_Man  A
                              inner join TK_Wrk_Step P on A.wo_code=P.wo_code 
-                             where A.lm_date between @startopendate and @endclosedate
-                             ) as AA";
+                             left join TOrganization C on A.wkshp_code=C.org_code
+                             left join TOrganization L on  C.parent_id=L.id
+                             where A.lm_date between @startopendate and @endclosedate "+search+") as AA";
                 dynamicParams.Add("@startopendate", startopendate + " 00:00:00");
                 dynamicParams.Add("@endclosedate", endclosedate + " 23:59:59");
                 var data0 = DapperHelper.selectdata(sql, dynamicParams);
@@ -53,9 +73,9 @@
                              select COUNT(A.id) as cluntqty,
                              case when A.status='START' then '鎵ц涓�' when A.status='CLOSED' then '宸茬粨鏉�' else '鏈紑濮�' end as wo_status
                              from TK_Wrk_Man A
-                             where A.lm_date between @startopendate and @endclosedate
-                             group by A.status
-                             ) as AA group by AA.wo_status";
+                             left join TOrganization C on A.wkshp_code=C.org_code
+                             left join TOrganization L on  C.parent_id=L.id
+                             where A.lm_date between @startopendate and @endclosedate "+search+" group by A.status) as AA group by AA.wo_status";
                 var data1 = DapperHelper.selectdata(sql1, dynamicParams);
                 dList.Add("dt1", data1);
                 // --------------缂洪櫡缁熻--------------
@@ -67,20 +87,18 @@
                                   select A.plan_qty,M.partname,S.ng_qty,S.bad_qty   from TK_Wrk_Man A
                                   inner join (select wo_code, isnull(sum(ng_qty),0) as ng_qty,isnull(sum(bad_qty),0) as bad_qty from TK_Wrk_Step where ng_qty>0 or bad_qty>0 group by wo_code) S on A.wo_code=S.wo_code
                                   inner join TMateriel_Info M on A.materiel_code=M.partcode
-                                  where A.lm_date between @startopendate and @endclosedate 
-                                  ) as AA
-                                  group by AA.partname
-                                  order by defect_qty desc";
+                                  left join TOrganization C on A.wkshp_code=C.org_code
+                                  left join TOrganization L on  C.parent_id=L.id
+                                  where A.lm_date between @startopendate and @endclosedate "+search+") as AA group by AA.partname order by defect_qty desc";
                         break;
                     case "stp"://鎸夊伐搴忕粺璁�
                          sql2 = @"select top 5 sum(AA.plan_qty) as plan_qty,AA.stepname,sum(AA.ng_qty)+sum(AA.bad_qty) as defect_qty  from (
                                   select A.plan_qty,T.stepname,S.ng_qty,S.bad_qty   from TK_Wrk_Man A
                                   inner join (select wo_code,step_code, isnull(sum(ng_qty),0) as ng_qty,isnull(sum(bad_qty),0) as bad_qty from TK_Wrk_Step where ng_qty>0 or bad_qty>0 group by wo_code,step_code) S on A.wo_code=S.wo_code
                                   inner join TStep T on S.step_code=T.stepcode
-                                  where A.lm_date between @startopendate and @endclosedate 
-                                  ) as AA
-                                  group by AA.stepname
-                                  order by defect_qty desc";
+                                  left join TOrganization C on A.wkshp_code=C.org_code
+                                  left join TOrganization L on  C.parent_id=L.id
+                                  where A.lm_date between @startopendate and @endclosedate "+search+") as AA group by AA.stepname order by defect_qty desc";
                         break;
                     default:
                         break;
@@ -103,15 +121,30 @@
         #endregion
 
         #region[App鐢熶骇杩涘害鐪嬫澘鍗曟嵁淇℃伅]
-        public static ToMessage ProductionScheduleKanban(string ordertype, string partcode, string startopendate, string endclosedate)
+        public static ToMessage ProductionScheduleKanban(string stu_torgcode,string stu_torgtypecode, string ordertype, string partcode, string startopendate, string endclosedate)
         {
             Dictionary<object, object> dList = new Dictionary<object, object>();
             List<AppScheduleKanban> list = new List<AppScheduleKanban>();
             var dynamicParams = new DynamicParameters();
-            string search = "",sql="";
+            string search = "", search1 = "",sql ="";
             DataTable dt;
             try
             {
+                switch (stu_torgtypecode)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search1 += "and L.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search1 += "and C.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
                 //鏍规嵁鏌ヨ鏉′欢,鏌ユ壘绗﹀悎瑕佹眰鐨勫崟鎹�
                 switch (ordertype)
                 {
@@ -268,8 +301,10 @@
                         //鑾峰彇鍗曟嵁淇℃伅
                         sql = @"select distinct A.wo_code,T.partcode,T.partname,T.partspec,A.lm_date,sum(A.plan_qty) as orderqty
                                 from TK_Wrk_Man A  
+                                left join TOrganization C on A.wkshp_code=C.org_code
+                                left join TOrganization L on  C.parent_id=L.id
                                 left  join TMateriel_Info T on A.materiel_code=T.partcode
-                                where 1=1 "+search+" group by A.wo_code,T.partcode,T.partname,T.partspec,A.lm_date  order by A.lm_date desc";
+                                where 1=1 " + search+search1+" group by A.wo_code,T.partcode,T.partname,T.partspec,A.lm_date  order by A.lm_date desc";
                         dt = DapperHelper.selectlist(sql, dynamicParams);
                         if (dt.Rows.Count > 0)
                         {
diff --git a/VueWebApi/DLL/DAL/BasicSettingDAL.cs b/VueWebApi/DLL/DAL/BasicSettingDAL.cs
index 8eb9053..092ece5 100644
--- a/VueWebApi/DLL/DAL/BasicSettingDAL.cs
+++ b/VueWebApi/DLL/DAL/BasicSettingDAL.cs
@@ -242,7 +242,7 @@
         #endregion
 
         #region [缁勭粐鏋舵瀯鍒犻櫎]
-        public static ToMessage DeleteOrganization(int orgid)
+        public static ToMessage DeleteOrganization(int orgid,string orgcode)
         {
             var sql = "";
             var cont = 0;
@@ -251,15 +251,25 @@
             {
                 sql = @"select * from  TOrganization  where parent_id=@orgid and is_delete<>'1'";
                 dynamicParams.Add(@"orgid", orgid);
-                cont = DapperHelper.selectcount(sql, dynamicParams);
-                if (cont > 0)
+                var data0 = DapperHelper.selectdata(sql, dynamicParams);
+                if (data0.Rows.Count > 0)
                 {
                     mes.code = "300";
                     mes.Message = "褰撳墠缁勭粐鏈変笅绾у叧鑱�,璇峰厛鍒犻櫎涓嬬骇缁勭粐!";
+                    return mes;
                 }
-                else
+                sql = @"select *  from TUser where is_delete<>'1' and stu_torgcode=@stu_torgcode";
+                dynamicParams.Add("@stu_torgcode", orgcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
                 {
-                    sql = @"delete TOrganization   where id=@orgid";
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "璇ョ粍缁囦笅鏈夊叧鑱旂殑鐢ㄦ埛,涓嶅厑璁稿垹闄�!";
+                    mes.data = null;
+                    return mes;
+                }
+                sql = @"delete TOrganization   where id=@orgid";
                     dynamicParams.Add(@"orgid", orgid);
                     cont = DapperHelper.SQL(sql, dynamicParams);
                     if (cont > 0)
@@ -276,7 +286,7 @@
                         mes.Message = "鍒犻櫎鎿嶄綔澶辫触!";
                         mes.data = null;
                     }
-                }
+                
             }
             catch (Exception e)
             {
@@ -633,7 +643,7 @@
                 sql = @"delete TUserRoleRelation  where user_code=@usercode";
                 list.Add(new { str = sql, parm = new { usercode = data.Rows[0]["USERCODE"].ToString() } });
 
-                sql = @"update TUser set is_delete='1'  where id=@userid";
+                sql = @"delete TUser  where id=@userid";
                 list.Add(new { str = sql, parm = new { userid = userid } });
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -1097,7 +1107,7 @@
                             from TRoleType R
                             left join TOrganization parent on R.torg_code=parent.org_code 
                             left join TOrganization as child on parent.parent_id=child.id 
-                            where  R.is_delete<>'1' " + search;
+                            where  R.is_delete<>'1' and roletype_code<>'001' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -1183,12 +1193,22 @@
         {
             var sql = "";
             List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
             try
             {
                 list.Clear();
+                sql = @"select *  from TRole where is_delete<>'1' and roletype_code=@roleTypeCode";
+                dynamicParams.Add("@roleTypeCode", roleTypeCode);
+                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 TRoleType where roletype_code=@roletypecode";
-                list.Add(new { str = sql, parm = new { roletypecode = roleTypeCode } });
-                sql = @"delete TRole where roletype_code=@roletypecode";
                 list.Add(new { str = sql, parm = new { roletypecode = roleTypeCode } });
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -1421,16 +1441,29 @@
         {
             var sql = "";
             List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
             try
             {
-                //鏇存柊瑙掕壊琛ㄣ�佽鑹插叧鑱旂敤鎴锋爣璇嗗強鍒犻櫎鐘舵��
-                sql = @"update TRole set is_user='N',is_right='N',is_delete='1'  where role_code=@RoleCode";
+                //鏌ユ壘鐢ㄦ埛瑙掕壊鍏宠仈鍏崇郴琛�
+                sql = @"select *  from TUserRoleRelation where is_delete<>'1' and role_code=@RoleCode";
+                dynamicParams.Add("@RoleCode", RoleCode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "璇ヨ鑹蹭笅鏈夊叧鑱旂殑鐢ㄦ埛淇℃伅,涓嶅厑璁稿垹闄�!";
+                    mes.data = null;
+                    return mes;
+                }
+                //鏇存柊瑙掕壊琛ㄣ�佽鑹插叧鑱旂敤鎴锋爣璇嗗強鍒犻櫎鐘舵�乻et is_user='N',is_right='N',is_delete='1'
+                sql = @"delete TRole  where role_code=@RoleCode";
                 list.Add(new { str = sql, parm = new { RoleCode = RoleCode } });
                 //鏇存柊瑙掕壊鍏宠仈鐢ㄦ埛琛ㄣ�佽鑹插叧鑱旂敤鎴锋爣璇嗗強鍒犻櫎鐘舵��
                 sql = @"delete TUserRoleRelation  where role_code=@RoleCode";
                 list.Add(new { str = sql, parm = new { RoleCode = RoleCode } });
                 //鍒犻櫎(鏇存柊鐘舵��)瑙掕壊鍔熻兘琛�
-                sql = @"update TRoleRightRelation set is_delete='1'  where role_code=@RoleCode";
+                sql = @"delete TRoleRightRelation   where role_code=@RoleCode";
                 list.Add(new { str = sql, parm = new { RoleCode = RoleCode } });
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
diff --git a/VueWebApi/DLL/DAL/DeviceManagerDAL.cs b/VueWebApi/DLL/DAL/DeviceManagerDAL.cs
index 961d910..bcfb07e 100644
--- a/VueWebApi/DLL/DAL/DeviceManagerDAL.cs
+++ b/VueWebApi/DLL/DAL/DeviceManagerDAL.cs
@@ -359,7 +359,7 @@
         #endregion
 
         #region[鎵�灞炶溅闂翠笅鎷夋帴鍙
-        public static ToMessage WorkShopSelect(string stu_torgcode,string description)
+        public static ToMessage WorkShopSelect(string stu_torgcode, string description)
         {
             string sql = "";
             string search = "";
@@ -384,7 +384,7 @@
                     default:
                         break;
                 }
-                 sql = @"select parent.org_code as code,parent.org_name as name
+                sql = @"select parent.org_code as code,parent.org_name as name
                          from  TOrganization parent
                          left join TOrganization as child on parent.parent_id=child.id 
                          where  parent.is_delete<>'1'  " + search;
@@ -432,7 +432,7 @@
         #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)
+        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 = "";
@@ -443,7 +443,7 @@
                     search += "and A.wksp_code=@workShop ";
                     dynamicParams.Add("@workShop", workShop);
                 }
-                else 
+                else
                 {
                     switch (description)
                     {
@@ -1062,12 +1062,28 @@
 
 
         #region[璁惧鐐规鏍囧噯鍒楄〃鏌ヨ]
-        public static ToMessage DeviceCheckStandArdSearch(string checkstandcode, string checkstandname, string checkcontr, int startNum, int endNum, string prop, string order)
+        public static ToMessage DeviceCheckStandArdSearch(string stu_torgcode,string stu_torgtypecode,string checkstandcode, string checkstandname, string checkcontr, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
+            string search1 = "";
             try
             {
+                switch (stu_torgtypecode)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search1 += "and L.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search1 += "and F.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
                 if (checkstandcode != "" && checkstandcode != null)
                 {
                     search += "and A.code like '%'+@checkstandcode+'%' ";
@@ -1090,10 +1106,15 @@
                 //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select A.id,A.code,A.name,A.description,A.iscontr,A.is_checkeqp,U.username as lm_user,A.lm_date 
+                var sql = @"select A.id,A.code,A.name,A.description,A.iscontr,
+                            (case when isnull(M.eqpchkmain_code,'')='' then 'N' else 'Y' end) as is_checkeqp,U.username as lm_user,A.lm_date 
                             from TEqpchk_Main A
                             left join TUser U on A.lm_user=U.usercode
-                            where A.is_delete<>'1' " + search;
+                            left join (
+                            select distinct eqpchkmain_code from TEqpchk_Eqp M
+                            left join TOrganization F on M.torg_code=F.org_code 
+                            left join TOrganization as L on F.parent_id=L.id 
+                            where  1=1 "+search1+")  M on A.code=M.eqpchkmain_code where A.is_delete<>'1' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -1215,8 +1236,8 @@
                                 checkitem_name = json.Data.Rows[i]["CHECKITEM_NAME"].ToString(),
                                 code = json.code,
                                 cycle = json.Data.Rows[i]["CYCLE"].ToString(),
-                                chkdesc= json.Data.Rows[i]["CHECKITEM_DESCR"].ToString(),
-                                isscan= json.Data.Rows[i]["ISSCAN"].ToString(),
+                                chkdesc = json.Data.Rows[i]["CHECKITEM_DESCR"].ToString(),
+                                isscan = json.Data.Rows[i]["ISSCAN"].ToString(),
                                 lm_user = username,
                                 lm_date = DateTime.Now.ToString()
                             }
@@ -1245,7 +1266,7 @@
                     list.Add(new { str = sql, parm = new { checkstaned_code = json.code } });
                     //淇敼鐐规鏍囧噯涓昏〃
                     sql = @"update  TEqpchk_Main set name=@checkstaned_name,description=@checkstaned_desc,iscontr=@iscontr where code=@checkstaned_code";
-                    list.Add(new { str = sql, parm = new { checkstaned_code = json.code, checkstaned_name = json.name, checkstaned_desc = json.description,iscontr = json.enable } });
+                    list.Add(new { str = sql, parm = new { checkstaned_code = json.code, checkstaned_name = json.name, checkstaned_desc = json.description, iscontr = json.enable } });
                     //鏂板鐐规鏍囧噯鍏宠仈鐐规椤圭洰瀛愯〃
                     for (int i = 0; i < json.Data.Rows.Count; i++)
                     {
@@ -1323,7 +1344,7 @@
                 sql = @"delete TEqpchk_Deta  where eqpchk_main_code=@checkstand_code";
                 list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                 //鍒犻櫎璁惧鐐规鏍囧噯鍏宠仈璁惧琛�
-                sql = @"delete TEqpchk_Eqp  where eqpchk_main_code=@checkstand_code";
+                sql = @"delete TEqpchk_Eqp  where eqpchkmain_code=@checkstand_code";
                 list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -1353,7 +1374,7 @@
         #endregion
 
         #region[璁惧鐐规鏍囧噯鍏宠仈宸ヤ綔绔欐煡璇
-        public static ToMessage DeviceCheckStanedAssociationEqp(string stu_torgcode,string description,string checkstand_code)
+        public static ToMessage DeviceCheckStanedAssociationEqp(string stu_torgcode, string description, string checkstand_code)
         {
             string sql = "";
             string search = "";
@@ -1384,7 +1405,7 @@
                         select distinct A.eqp_code,B.wksp_code  from TEqpchk_Eqp A 
                         inner join TEqpInfo B on A.eqp_code=B.code 
                         where A.eqpchkmain_code=@checkstand_code and A.is_delete<>'1' and B.is_delete<>'1'
-                        ) B on T.org_code=B.wksp_code where T.description='W' and T.is_delete<>'1' "+search;
+                        ) B on T.org_code=B.wksp_code where T.description='W' and T.is_delete<>'1' " + search;
                 dynamicParams.Add("@checkstand_code", checkstand_code);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 for (int i = 0; i < data.Rows.Count; i++)
@@ -1447,31 +1468,45 @@
         #endregion
 
         #region [璁惧鐐规鏍囧噯鍏宠仈宸ヤ綔绔欐彁浜
-        public static ToMessage SaveDeviceCheckStanedAssociationEqp(string checkstand_code, string username, List<ObjectData> json)
+        public static ToMessage SaveDeviceCheckStanedAssociationEqp(string stu_torgcode, string stu_torgtypecode, string checkstand_code, string username, List<ObjectData> json)
         {
             var sql = "";
+            var dynamicParams = new DynamicParameters();
+            string search = "";
             List<object> list = new List<object>();
             try
             {
                 list.Clear();
-                if (json == null || json.Count <= 0)
+                switch (stu_torgtypecode)
                 {
-                    //娓呴櫎璁惧鐐规鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
-                    sql = @"delete TEqpchk_Eqp where eqpchkmain_code=@checkstand_code";
-                    list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
-                    //鏍囪璁惧鐐规鏍囧噯琛ㄥ叧鑱斿伐浣滅珯鏍囪瘑
-                    sql = @"update TEqpchk_Main set is_checkeqp='N' where code=@checkstand_code";
-                    list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
+                    case "":
+                        //娓呴櫎璁惧鐐规鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
+                        sql = @"delete TEqpchk_Eqp where eqpchkmain_code=@checkstand_code";
+                        list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
+                        break;
+                    case "D":
+                        //娓呴櫎璁惧鐐规鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
+                        sql = @"delete from TEqpchk_Eqp where id in (select A.id   from TEqpchk_Eqp A
+                                    left join TOrganization T on A.torg_code=T.org_code 
+                                    left join TOrganization as L on T.parent_id=L.id 
+                                    where 1=1 and  A.eqpchkmain_code=@checkstand_code and  L.org_code=@stu_torgcode)";
+                        list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code, stu_torgcode = stu_torgcode } });
+                        break;
+                    case "W":
+                        //娓呴櫎璁惧鐐规鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
+                        sql = @"delete from TEqpchk_Eqp where id in (select A.id   from TEqpchk_Eqp A
+                                    left join TOrganization T on A.torg_code=T.org_code 
+                                    left join TOrganization as L on T.parent_id=L.id 
+                                    where 1=1 and  A.eqpchkmain_code=@checkstand_code and  T.org_code=@stu_torgcode)";
+                        list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code, stu_torgcode = stu_torgcode } });
+                        break;
                 }
-                else
+                if (json != null && json.Count > 0)
                 {
-                    //娓呴櫎璁惧鐐规鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
-                    sql = @"delete TEqpchk_Eqp where eqpchkmain_code=@checkstand_code";
-                    list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                     //寰幆鍐欏叆璁惧鐐规鏍囧噯鍏宠仈璁惧琛�
                     for (int i = 0; i < json.Count; i++)
                     {
-                        sql = @"insert into TEqpchk_Eqp(eqpchkmain_code,eqp_code,lm_user,lm_date) values(@checkstand_code,@eqp_code,@lm_user,@lm_date)";
+                        sql = @"insert into TEqpchk_Eqp(eqpchkmain_code,eqp_code,lm_user,lm_date,torg_code) values(@checkstand_code,@eqp_code,@lm_user,@lm_date,@torg_code)";
                         list.Add(new
                         {
                             str = sql,
@@ -1480,13 +1515,11 @@
                                 eqp_code = json[i].code,
                                 checkstand_code = checkstand_code,
                                 lm_user = username,
-                                lm_date = DateTime.Now.ToString()
+                                lm_date = DateTime.Now.ToString(),
+                                torg_code= json[i].flag
                             }
                         });
                     }
-                    //鏍囪璁惧鐐规鏍囧噯琛ㄥ叧鑱斿伐浣滅珯鏍囪瘑
-                    sql = @"update TEqpchk_Main set is_checkeqp='Y' where code=@checkstand_code";
-                    list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                 }
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -1518,12 +1551,28 @@
 
 
         #region[璁惧淇濆吇鏍囧噯鍒楄〃鏌ヨ]
-        public static ToMessage DeviceRepairStandArdSearch(string repairstandcode, string repairstandname, string repairstanddescr, int startNum, int endNum, string prop, string order)
+        public static ToMessage DeviceRepairStandArdSearch(string stu_torgcode,string stu_torgtypecode, string repairstandcode, string repairstandname, string repairstanddescr, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
+            string search1 = "";
             try
             {
+                switch (stu_torgtypecode)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search1 += "and L.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search1 += "and F.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
                 if (repairstandcode != "" && repairstandcode != null)
                 {
                     search += "and A.code like '%'+@repairstandcode+'%' ";
@@ -1539,7 +1588,7 @@
                     search += "and A.description like '%'+@repairstanddescr+'%' ";
                     dynamicParams.Add("@repairstanddescr", repairstanddescr);
                 }
-                
+
                 if (search == "")
                 {
                     search = "and 1=1 ";
@@ -1547,10 +1596,16 @@
                 //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select A.id,A.code,A.name,A.description,A.is_repaireqp,A.main_cycle,U.username as lm_user,A.lm_date 
+                var sql = @"select A.id,A.code,A.name,A.description,
+                            (case when isnull(M.eapmai_code,'')='' then 'N' else 'Y' end) as is_repaireqp,
+                            A.main_cycle,U.username as lm_user,A.lm_date 
                             from TEqpmai_Main A
                             left join TUser U on A.lm_user=U.usercode
-                            where A.is_delete<>'1' " + search;
+                            left join (
+                            select distinct eapmai_code from TEqpmai_Eqp M
+                            left join TOrganization F on M.torg_code=F.org_code 
+                            left join TOrganization as L on F.parent_id=L.id 
+                            where  1=1 "+search1+")  M on A.code=M.eapmai_code where A.is_delete<>'1' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -1610,7 +1665,7 @@
                 {
                     rout.code = data.Rows[0]["CODE"].ToString();
                     rout.name = data.Rows[0]["NAME"].ToString();
-                    rout.repaircycle= data.Rows[0]["MAIN_CYCLE"].ToString();
+                    rout.repaircycle = data.Rows[0]["MAIN_CYCLE"].ToString();
                     rout.description = data.Rows[0]["DESCRIPTION"].ToString();
                 }
                 else
@@ -1656,7 +1711,7 @@
                 {
                     //鏂板璁惧淇濆吇鏍囧噯涓昏〃
                     sql = @"insert into TEqpmai_Main(code,name,description,main_cycle,lm_user,lm_date) values(@code,@name,@descr,@main_cycle,@lm_user,@lm_date)";
-                    list.Add(new { str = sql, parm = new { code = json.code, name = json.name, descr = json.description,main_cycle=json.repaircycle, lm_user = username, lm_date = DateTime.Now.ToString() } });
+                    list.Add(new { str = sql, parm = new { code = json.code, name = json.name, descr = json.description, main_cycle = json.repaircycle, lm_user = username, lm_date = DateTime.Now.ToString() } });
                     for (int i = 0; i < json.Data.Rows.Count; i++)
                     {
                         //鏂板璁惧淇濆吇鏍囧噯鍏宠仈淇濆吇椤瑰瓙琛�
@@ -1701,7 +1756,7 @@
                     list.Add(new { str = sql, parm = new { repairstaned_code = json.code } });
                     //淇敼淇濆吇鏍囧噯涓昏〃
                     sql = @"update  TEqpmai_Main set name=@repairstaned_name,description=@repairstaned_desc,main_cycle=@main_cycle where code=@repairstaned_code";
-                    list.Add(new { str = sql, parm = new { repairstaned_code = json.code, repairstaned_name = json.name, repairstaned_desc = json.description, main_cycle =json.repaircycle} });
+                    list.Add(new { str = sql, parm = new { repairstaned_code = json.code, repairstaned_name = json.name, repairstaned_desc = json.description, main_cycle = json.repaircycle } });
                     //鏂板鐐规鏍囧噯鍏宠仈鐐规椤圭洰瀛愯〃
                     for (int i = 0; i < json.Data.Rows.Count; i++)
                     {
@@ -1809,7 +1864,7 @@
         #endregion
 
         #region[璁惧淇濆吇鏍囧噯鍏宠仈宸ヤ綔绔欐煡璇
-        public static ToMessage DeviceRepairStanedAssociationEqp(string stu_torgcode,string description,string repairstand_code)
+        public static ToMessage DeviceRepairStanedAssociationEqp(string stu_torgcode, string description, string repairstand_code)
         {
             string sql = "";
             string search = "";
@@ -1840,7 +1895,7 @@
                         select distinct A.eqp_code,B.wksp_code  from TEqpmai_Eqp A 
                         inner join TEqpInfo B on A.eqp_code=B.code 
                         where A.eapmai_code=@repairstand_code and A.is_delete<>'1' and B.is_delete<>'1'
-                        ) B on T.org_code=B.wksp_code where T.description='W' and T.is_delete<>'1' "+search;
+                        ) B on T.org_code=B.wksp_code where T.description='W' and T.is_delete<>'1' " + search;
 
                 dynamicParams.Add("@repairstand_code", repairstand_code);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
@@ -1904,31 +1959,43 @@
         #endregion
 
         #region [璁惧淇濆吇鏍囧噯鍏宠仈宸ヤ綔绔欐彁浜
-        public static ToMessage SaveDeviceRepairStanedAssociationEqp(string repairstand_code, string username, List<ObjectData> json)
+        public static ToMessage SaveDeviceRepairStanedAssociationEqp(string stu_torgcode,string stu_torgtypecode, string repairstand_code, string username, List<ObjectData> json)
         {
             var sql = "";
             List<object> list = new List<object>();
             try
             {
                 list.Clear();
-                if (json == null || json.Count <= 0)
+                switch (stu_torgtypecode)
                 {
-                    //娓呴櫎璁惧淇濆吇鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
-                    sql = @"delete TEqpmai_Eqp where eapmai_code=@repairstand_code";
-                    list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
-                    //鏍囪璁惧淇濆吇鏍囧噯琛ㄥ叧鑱斿伐浣滅珯鏍囪瘑
-                    sql = @"update TEqpmai_Main set is_repaireqp='N' where code=@repairstand_code";
-                    list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
+                    case "":
+                        //娓呴櫎璁惧淇濆吇鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
+                        sql = @"delete TEqpmai_Eqp where eapmai_code=@repairstand_code";
+                        list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
+                        break;
+                    case "D":
+                        //娓呴櫎璁惧淇濆吇鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
+                        sql = @"delete from TEqpmai_Eqp where id in (select A.id   from TEqpmai_Eqp A
+                                    left join TOrganization T on A.torg_code=T.org_code 
+                                    left join TOrganization as L on T.parent_id=L.id 
+                                    where 1=1 and  A.eapmai_code=@repairstand_code and  L.org_code=@stu_torgcode)";
+                        list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code, stu_torgcode = stu_torgcode } });
+                        break;
+                    case "W":
+                        //娓呴櫎璁惧淇濆吇鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
+                        sql = @"delete from TEqpmai_Eqp where id in (select A.id   from TEqpmai_Eqp A
+                                    left join TOrganization T on A.torg_code=T.org_code 
+                                    left join TOrganization as L on T.parent_id=L.id 
+                                    where 1=1 and  A.eapmai_code=@repairstand_code and  L.org_code=@stu_torgcode)";
+                        list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code, stu_torgcode = stu_torgcode } });
+                        break;
                 }
-                else
+                if (json != null && json.Count > 0)
                 {
-                    //娓呴櫎璁惧淇濆吇鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
-                    sql = @"delete TEqpmai_Eqp where eapmai_code=@repairstand_code";
-                    list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
                     //寰幆鍐欏叆璁惧淇濆吇鏍囧噯鍏宠仈璁惧琛�
                     for (int i = 0; i < json.Count; i++)
                     {
-                        sql = @"insert into TEqpmai_Eqp(eapmai_code,eqp_code,lm_user,lm_date) values(@repairstand_code,@eqp_code,@lm_user,@lm_date)";
+                        sql = @"insert into TEqpmai_Eqp(eapmai_code,eqp_code,lm_user,lm_date,torg_code) values(@repairstand_code,@eqp_code,@lm_user,@lm_date,@torg_code)";
                         list.Add(new
                         {
                             str = sql,
@@ -1937,13 +2004,11 @@
                                 eqp_code = json[i].code,
                                 repairstand_code = repairstand_code,
                                 lm_user = username,
-                                lm_date = DateTime.Now.ToString()
+                                lm_date = DateTime.Now.ToString(),
+                                torg_code= json[i].flag
                             }
                         });
                     }
-                    //鏍囪璁惧淇濆吇鏍囧噯琛ㄥ叧鑱斿伐浣滅珯鏍囪瘑
-                    sql = @"update TEqpmai_Main set is_repaireqp='Y' where code=@repairstand_code";
-                    list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
                 }
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -1975,7 +2040,7 @@
 
 
         #region[璁惧鐐规璁板綍鏌ヨ]
-        public static ToMessage DeviceCheckTakeSearch(string stu_torgcode,string description, string wkshopcode, string eqpcode, string eqpname, string stanedname, string checkuser, string checkopendate, string checkclosedate, int startNum, int endNum, string prop, string order)
+        public static ToMessage DeviceCheckTakeSearch(string stu_torgcode, string description, string wkshopcode, string eqpcode, string eqpname, string stanedname, string checkuser, string checkopendate, string checkclosedate, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
diff --git a/VueWebApi/DLL/DAL/LoginDAL.cs b/VueWebApi/DLL/DAL/LoginDAL.cs
index 890b9cc..d757bb9 100644
--- a/VueWebApi/DLL/DAL/LoginDAL.cs
+++ b/VueWebApi/DLL/DAL/LoginDAL.cs
@@ -347,7 +347,7 @@
         #endregion
 
         #region[App鐧诲嚭]
-        public static ToMessage LoginAppOut(int userid, string usercode, string username, string usertype)
+        public static ToMessage LoginAppOut(int userid, string usercode, string username, string usertype,string stu_torgcode)
         {
             var sql = "";
             var cont = 0;
@@ -355,15 +355,16 @@
             RedisHelper redis = new RedisHelper();
             try
             {
-                sql = @"insert into T_Bas_Login(usercode,status,outdate,origin) 
-                            values(@usercode,'N',@outdate,@usertype)";
+                sql = @"insert into T_Bas_Login(usercode,status,outdate,origin,torg_code) 
+                            values(@usercode,'N',@outdate,@usertype,@stu_torgcode)";
                 dynamicParams.Add("@usercode", usercode);
                 dynamicParams.Add("@usertype", usertype);
                 dynamicParams.Add("@outdate", DateTime.Now.ToString());
+                dynamicParams.Add("@stu_torgcode", stu_torgcode);
                 cont = DapperHelper.SQL(sql, dynamicParams);
                 if (cont > 0)
                 {
-                    redis.Remove(Enterprise + "LoginUserID" + usertype + userid, 1); //鍒犻櫎redis
+                    redis.Remove(Enterprise + stu_torgcode + "LoginUserID" + usertype + userid, 1); //鍒犻櫎redis
                     mes.code = "200";
                     mes.count = 0;
                     mes.Message = "鐧诲嚭鎴愬姛!";
@@ -389,12 +390,30 @@
         #endregion
 
         #region[App鐧诲綍鏌ヨ瀹夌伅鍛煎彨淇℃伅]
-        public static ToMessage LoginAppAnDonMessage(string rid, string usercode, string username, string usertype)
+        public static ToMessage LoginAppAnDonMessage(string rid, string usercode, string username, string usertype,string stu_torgcode,string stu_torgtypecode)
         {
             var sql = "";
+            string search = "";
             var dynamicParams = new DynamicParameters();
             try
             {
+                switch (stu_torgtypecode)
+                {
+                    case "":
+                        search += "and T.description=@description ";
+                        dynamicParams.Add("@description", "W");
+                        break;
+                    case "D":
+                        search += "and child.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search += "and T.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
                 sql = @"select B.eqp_code,E.name as eqp_name,B.wkshp_code,T.org_name as wkshp_name,
                         A.type as typecode,D.name as typename,B.start_user,B.start_date   
                         from TAnDnMessagePush A
@@ -403,7 +422,8 @@
                         left  join TOrganization T on B.wkshp_code=T.org_code 
                         left  join TAnDonType D on A.type=d.code
                         left  join TUser U on A.resp_user=U.usercode
-                        where A.resp_user=@usercode and B.status='START' and U.rid=@rid";
+                        left join TOrganization as child on T.parent_id=child.id 
+                        where A.resp_user=@usercode and B.status='START' and U.rid=@rid "+search;
                 dynamicParams.Add("@usercode", usercode);
                 dynamicParams.Add("@rid", rid);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
diff --git a/VueWebApi/DLL/DAL/ProductModelDAL.cs b/VueWebApi/DLL/DAL/ProductModelDAL.cs
index 0f15076..8ea9b24 100644
--- a/VueWebApi/DLL/DAL/ProductModelDAL.cs
+++ b/VueWebApi/DLL/DAL/ProductModelDAL.cs
@@ -421,12 +421,28 @@
         #endregion
 
         #region[瀛樿揣妗f鏌ヨ]
-        public static ToMessage InventoryFileSelect(string partcode, string partname, string partspec, string stocktypecode, string materialtypecode, string storehousecode, int startNum, int endNum, string prop, string order)
+        public static ToMessage InventoryFileSelect(string stu_torgcode,string stu_torgtypecode,string partcode, string partname, string partspec, string stocktypecode, string materialtypecode, string storehousecode, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
+            string search1 = "";
             try
             {
+                switch (stu_torgtypecode)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search1 += "and L.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search1 += "and F.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
                 if (partcode != "" && partcode != null)
                 {
                     search += "and A.partcode like '%'+@partcode+'%' ";
@@ -473,9 +489,10 @@
                             left join T_Sec_Stck T on A.stck_code=T.code 
                             left join TUser U on A.lm_user=U.usercode
                             left join (
-                              select distinct materiel_code from TMateriel_Route 
-                            )  M on A.partcode=M.materiel_code
-                            where A.is_delete<>'1' " + search;
+                               select distinct materiel_code from TMateriel_Route M
+                               left join TOrganization F on M.torg_code=F.org_code 
+                               left join TOrganization as L on F.parent_id=L.id 
+                               where  1=1 "+search1+")  M on A.partcode=M.materiel_code where A.is_delete<>'1' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -657,6 +674,18 @@
                 }
                 //褰撳墠鐗╂枡鏄惁鐢熸垚鍑哄叆搴撹褰�
                 //鏈夋病鏈夎宸ュ崟寮曠敤
+                sql = @"select *  from TK_Wrk_Man
+                        where materiel_code=@materialcode";
+                dynamicParams.Add("@materialcode", materialcode);
+                var data3 = DapperHelper.selectdata(sql, dynamicParams);
+                if (data2.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鐗╂枡宸叉湁鍏宠仈鐨勭敓浜у伐鍗�,涓嶅厑璁稿垹闄�!";
+                    mes.data = null;
+                    return mes;
+                }
 
                 //鍒犻櫎鐗╂枡
                 sql = @"delete TMateriel_Info  where partcode=@materialcode";
@@ -760,63 +789,40 @@
         public static ToMessage SaveInventoryFile(string stu_torgcode,string stu_torgtypecode, string partcode, string defaultroute_code, string username, List<PartRout> json)
         {
             var sql = "";
+            var dynamicParams = new DynamicParameters();
+            string search = "";
             List<object> list = new List<object>();
             try
             {
                 list.Clear();
-                if (json == null || json.Count <= 0)
+                switch (stu_torgtypecode)
                 {
-                    switch (stu_torgtypecode)
-                    {
-                        case "":
-                            //娓呴櫎鐗╂枡鍏宠仈宸ヨ壓璺嚎琛ㄦ暟鎹�
-                            sql = @"delete TMateriel_Route where materiel_code=@partcode";
-                            list.Add(new { str = sql, parm = new { partcode = partcode } });
-                            break;
-                        case "D":
-                            //娓呴櫎鐗╂枡鍏宠仈宸ヨ壓璺嚎琛ㄦ暟鎹�
-                            sql = @"delete from TMateriel_Route where id in (select A.id   from TMateriel_Route A
+                    case "":
+                        //娓呴櫎鐗╂枡鍏宠仈宸ヨ壓璺嚎琛ㄦ暟鎹�
+                        sql = @"delete TMateriel_Route where materiel_code=@partcode";
+                        list.Add(new { str = sql, parm = new { partcode = partcode } });
+                        break;
+                    case "D":
+                        //娓呴櫎鐗╂枡鍏宠仈宸ヨ壓璺嚎琛ㄦ暟鎹�
+                        sql = @"delete from TMateriel_Route where id in (select A.id   from TMateriel_Route A
                                     left join TOrganization T on A.torg_code=T.org_code 
                                     left join TOrganization as L on T.parent_id=L.id 
                                     where 1=1 and  A.materiel_code=@partcode and  L.org_code=@stu_torgcode)";
-                            list.Add(new { str = sql, parm = new { partcode = partcode, stu_torgcode = stu_torgcode } });
-                            break;
-                        case "W":
-                            //娓呴櫎鐗╂枡鍏宠仈宸ヨ壓璺嚎琛ㄦ暟鎹�
-                            sql = @"delete from TMateriel_Route where id in (select A.id   from TMateriel_Route A
+                        list.Add(new { str = sql, parm = new { partcode = partcode, stu_torgcode = stu_torgcode } });
+                        break;
+                    case "W":
+                        //娓呴櫎鐗╂枡鍏宠仈宸ヨ壓璺嚎琛ㄦ暟鎹�
+                        sql = @"delete from TMateriel_Route where id in (select A.id   from TMateriel_Route A
                                     left join TOrganization T on A.torg_code=T.org_code 
                                     left join TOrganization as L on T.parent_id=L.id 
                                     where 1=1 and  A.materiel_code=@partcode and  T.org_code=@stu_torgcode)";
-                            list.Add(new { str = sql, parm = new { partcode = partcode, stu_torgcode = stu_torgcode } });
-                            break;
-                    }
+                        list.Add(new { str = sql, parm = new { partcode = partcode, stu_torgcode = stu_torgcode } });
+                        break;
                 }
-                else
+                if (json != null && json.Count >0)
                 {
-                    switch (stu_torgtypecode)
-                    {
-                        case "":
-                            //娓呴櫎鐗╂枡鍏宠仈宸ヨ壓璺嚎琛ㄦ暟鎹�
-                            sql = @"delete TMateriel_Route where materiel_code=@partcode";
-                            list.Add(new { str = sql, parm = new { partcode = partcode } });
-                            break;
-                        case "D":
-                            //娓呴櫎鐗╂枡鍏宠仈宸ヨ壓璺嚎琛ㄦ暟鎹�
-                            sql = @"delete from TMateriel_Route where id in (select A.id   from TMateriel_Route A
-                                    left join TOrganization T on A.torg_code=T.org_code 
-                                    left join TOrganization as L on T.parent_id=L.id 
-                                    where 1=1 and  A.materiel_code=@partcode and  L.org_code=@stu_torgcode)";
-                            list.Add(new { str = sql, parm = new { partcode = partcode, stu_torgcode = stu_torgcode } });
-                            break;
-                        case "W":
-                            //娓呴櫎鐗╂枡鍏宠仈宸ヨ壓璺嚎琛ㄦ暟鎹�
-                            sql = @"delete from TMateriel_Route where id in (select A.id   from TMateriel_Route A
-                                    left join TOrganization T on A.torg_code=T.org_code 
-                                    left join TOrganization as L on T.parent_id=L.id 
-                                    where 1=1 and  A.materiel_code=@partcode and  T.org_code=@stu_torgcode)";
-                            list.Add(new { str = sql, parm = new { partcode = partcode, stu_torgcode = stu_torgcode } });
-                            break;
-                    }
+                    //鐗╂枡+缁勭粐鏌ヨ鑺傛媿宸ヤ环琛ㄤ腑瀵瑰簲鐨勬墍鏈夊伐鑹鸿矾绾�,鐒跺悗鏍规嵁浼犺繃鏉ョ殑鍋氬姣旓紝鍐嶅幓鍒犻櫎鑺傛媿宸ヤ环琛�
+
                     //寰幆鍐欏叆鐢ㄦ埛鍏宠仈瑙掕壊琛�
                     for (int i = 0; i < json.Count; i++)
                     {
@@ -1905,12 +1911,19 @@
                     //鏍囪宸ュ簭琛ㄥ叧鑱斿伐浣滅珯鏍囪瘑
                     sql = @"update TStep set is_eqp='N' where stepcode=@stepcode";
                     list.Add(new { str = sql, parm = new { stepcode = stepcode } });
+                    //鏍规嵁宸ュ簭娓呴櫎鑺傛媿宸ヤ环琛�
+                    sql = @"delete TPrteEqp_Stad where step_code=@stepcode";
+                    list.Add(new { str = sql, parm = new { stepcode = stepcode } });
                 }
                 else
                 {
                     //娓呴櫎宸ュ簭鍏宠仈宸ヤ綔绔欒〃鏁版嵁
                     sql = @"delete TFlw_Rteqp where step_code=@stepcode";
                     list.Add(new { str = sql, parm = new { stepcode = stepcode } });
+                    //鏍规嵁宸ュ簭娓呴櫎鑺傛媿宸ヤ环琛�
+                    sql = @"delete TPrteEqp_Stad where step_code=@stepcode";
+                    list.Add(new { str = sql, parm = new { stepcode = stepcode } });
+
                     //寰幆鍐欏叆鐢ㄦ埛鍏宠仈瑙掕壊琛�
                     for (int i = 0; i < json.Count; i++)
                     {
@@ -2307,6 +2320,7 @@
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
+            string search1 = "";
             try
             {
                 switch (stu_torgtypecode)
@@ -2314,11 +2328,11 @@
                     case "":
                         break;
                     case "D":
-                        search += "and L.org_code=@stu_torgcode ";
+                        search1 += "and L.org_code=@stu_torgcode ";
                         dynamicParams.Add("@stu_torgcode", stu_torgcode);
                         break;
                     case "W":
-                        search += "and F.org_code=@stu_torgcode ";
+                        search1 += "and F.org_code=@stu_torgcode ";
                         dynamicParams.Add("@stu_torgcode", stu_torgcode);
                         break;
                     default:
@@ -2341,7 +2355,7 @@
                 }
                 if (eqpcode != "" && eqpcode != null)
                 {
-                    search += "and A.eqp_code=@eqpcode";
+                    search += "and A.eqp_code=@eqpcode ";
                     dynamicParams.Add("@eqpcode", eqpcode);
                 }
                 if (search == "")
@@ -2358,9 +2372,22 @@
                             left join TFlw_Rout C on A.route_code=C.code
                             left join TStep D on A.step_code=D.stepcode
                             left join TEqpInfo E on A.eqp_code=E.code
-                            left join TOrganization F on E.wksp_code=F.org_code
+                            left join TOrganization F on C.torg_code=F.org_code
                             left join TOrganization L on  F.parent_id=L.id
-                            where B.is_delete<>'1' and C.is_delete<>'1' and D.is_delete<>'1' and E.is_delete<>'1' and F.is_delete<>'1' " + search;
+                            where B.is_delete<>'1' and C.is_delete<>'1' and D.is_delete<>'1' and E.is_delete<>'1' and F.is_delete<>'1' " + search1 + search;
+                    sql += @"union all 
+                            select A.materiel_code as partcode,B.partname,B.partspec,A.route_code,C.name as route_name,
+                            D.stepcode,D.stepname,A.eqp_code,E.name as eqp_name,''as wksp_code,'' as wksp_name,
+                            A.eqp_value,A.stand_value,A.cavity_qty,A.unprice
+                            from TPrteEqp_Stad A
+                            left join TMateriel_Info B on A.materiel_code=B.partcode
+                            left join TFlw_Rout C on A.route_code=C.code
+                            left join TStep D on A.step_code=D.stepcode
+                            left join TCustomer E on A.eqp_code=E.code
+                            left join TOrganization F on C.torg_code=F.org_code
+                            left join TOrganization L on  F.parent_id=L.id
+                            where B.is_delete<>'1' and C.is_delete<>'1' and D.is_delete<>'1' and E.is_delete<>'1' " + search;     
+                            
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
diff --git a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
index 81ea0e1..54b1225 100644
--- a/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
+++ b/VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -647,7 +647,8 @@
                 sql = @"select B.step_code,C.eqp_code from TFlw_Rout A
                         inner join TFlw_Rtdt B on A.code=B.rout_code
                         left join TFlw_Rteqp C on B.step_code=C.step_code
-                        where A.code=@routecode";
+                        where A.code=@routecode and A.torg_code=@wkshopcode";
+                dynamicParams.Add("@wkshopcode", wkshopcode);
                 dynamicParams.Add("@routecode", routecode);
                 var dtck = DapperHelper.selectdata(sql, dynamicParams);
                 for (int i = 0; i < dtck.Rows.Count; i++)
@@ -664,7 +665,8 @@
                 //鍒ゆ柇宸ヤ綔绔�(璁惧)鏄惁鍙敤
                 sql = @"select B.step_code  from TFlw_Rout  A
 						inner join TFlw_Rtdt B on A.code=B.rout_code
-						where A.code=@routecode";
+						where A.code=@routecode and A.torg_code=@wkshopcode";
+                dynamicParams.Add("@wkshopcode", wkshopcode);
                 dynamicParams.Add("@routecode", routecode);
                 var dtck1 = DapperHelper.selectdata(sql, dynamicParams);
                 for (int i = 0; i < dtck1.Rows.Count; i++)
@@ -673,7 +675,8 @@
                     sql = @"select E.code,E.name,E.enable  
 						from  TFlw_Rteqp C
 						left join TEqpInfo E on C.eqp_code=E.code 
-						where C.step_code=@step_code";
+						where C.step_code=@step_code and C.torg_code=@wkshopcode";
+                    dynamicParams.Add("@wkshopcode", wkshopcode);
                     dynamicParams.Add("@step_code", dtck1.Rows[i]["step_code"].ToString());
                     var dtck2 = DapperHelper.selectdata(sql, dynamicParams);
                     int query = dtck2.AsEnumerable().Where<DataRow>(a => a["enable"].ToString() == "N").Count();
@@ -692,12 +695,13 @@
                         inner join TFlw_Rtdt B on A.code=B.rout_code
                         left join TFlw_Rteqp C on B.step_code=C.step_code
                         left join TStep S on B.step_code=S.stepcode
-                        where A.code=@route_code
+                        where A.code=@route_code and A.torg_code=@wkshopcode
                         ) as AA
-                        left join (select * from TPrteEqp_Stad   where materiel_code=@partcode and route_code=@route_code) as S on
+                        left join (select * from TPrteEqp_Stad   where materiel_code=@partcode and route_code=@route_code and wkspcode=@wkshopcode) as S on
                         AA.code=S.route_code and AA.step_code=S.step_code and AA.eqp_code=S.eqp_code";
                 dynamicParams.Add("@partcode", partcode);
                 dynamicParams.Add("@route_code", routecode);
+                dynamicParams.Add("@wkshopcode", wkshopcode);
                 var dtc = DapperHelper.selectdata(sql, dynamicParams);
                 for (int i = 0; i < dtc.Rows.Count; i++)
                 {
@@ -1815,7 +1819,7 @@
         #endregion
 
         #region [鐢熶骇寮�鎶ュ伐锛氬紑宸�(寮�濮�/鎶ュ伐)/澶栧崗鍙戞枡鏃舵潯浠跺垽鏂強鏁版嵁杩斿洖鎺ュ彛]
-        public static ToMessage MesOrderStepStart(string OperType, string SelectType, string orderstepqrcode)
+        public static ToMessage MesOrderStepStart(string OperType,string stu_torgcode, string SelectType, string orderstepqrcode)
         {
             var sql = "";
             string search = "";
@@ -1844,10 +1848,10 @@
                     switch (OperType)
                     {
                         case "ZZ":
-                            mes = ScanStartReport.ZZEncodingSeach(ordercode, stepcode);
+                            mes = ScanStartReport.ZZEncodingSeach(stu_torgcode,ordercode, stepcode);
                             break;
                         case "WX":
-                            mes = ScanStartReport.WXEncodingSeach(SelectType, ordercode, stepcode);
+                            mes = ScanStartReport.WXEncodingSeach(stu_torgcode,SelectType, ordercode, stepcode);
                             break;
                         default:
                             break;
@@ -1977,14 +1981,15 @@
         #endregion
 
         #region[鐢熶骇寮�鎶ュ伐锛氭牴鎹敓浜х彮缁勬煡鎵句汉鍛樺垪琛╙
-        public static ToMessage MesOrderGroupSelectUser(string usergroupcode)
+        public static ToMessage MesOrderGroupSelectUser(string stu_torgcode, string usergroupcode)
         {
             string sql = "";
             var dynamicParams = new DynamicParameters();
             try
             {
                 //鐝粍鑾峰彇浜哄憳鍒楄〃
-                sql = @"select usercode,username  from TUser where usergroup_code=@usergroupcode and is_delete<>'1'";
+                sql = @"select usercode,username  from TUser where stu_torgcode=@stu_torgcode and usergroup_code=@usergroupcode and is_delete<>'1'";
+                dynamicParams.Add("@stu_torgcode", stu_torgcode);
                 dynamicParams.Add("@usergroupcode", usergroupcode);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 mes.code = "200";
@@ -2844,7 +2849,7 @@
 
 
         #region[宸ュ簭妫�楠屾壂鐮佽幏鍙栦换鍔′俊鎭痌
-        public static ToMessage MesOrderStepCheckSearch(string orderstepqrcode, string checktype)
+        public static ToMessage MesOrderStepCheckSearch(string stu_torgcode, string orderstepqrcode, string checktype)
         {
             var sql = "";
             string ordercode = "";
@@ -2869,6 +2874,34 @@
                         ordercode = arra[0]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
                         stepcode = arra[1]; //鑾峰彇鎸囧畾瀛楃涓插墠闈㈢殑瀛楃
                     }
+                    //鍒ゆ柇褰撳墠宸ュ崟鏄惁鍏抽棴
+                    sql = @"select *   from TK_Wrk_Man where wo_code=@ordercode and wkshp_code=@stu_torgcode and status='CLOSED'";
+                    dynamicParams.Add("@ordercode", ordercode);
+                    dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                    var da0 = DapperHelper.selectdata(sql, dynamicParams);
+                    if (da0.Rows.Count > 0)
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "褰撳墠宸ュ崟宸插叧闂�,涓嶅厑璁告楠屾搷浣�!";
+                        mes.data = null;
+                        return mes;
+                    }
+
+                    //0.鍒ゆ柇褰撳墠宸ュ崟鎵�灞炶溅闂存槸鍚︿负褰撳墠鐧诲綍浜哄憳杞﹂棿
+                    sql = @"select *   from TK_Wrk_Man where wo_code=@ordercode and wkshp_code=@stu_torgcode";
+                    dynamicParams.Add("@ordercode", ordercode);
+                    dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                    var da1 = DapperHelper.selectdata(sql, dynamicParams);
+                    if (da1.Rows.Count <= 0)
+                    {
+                        mes.code = "300";
+                        mes.count = 0;
+                        mes.Message = "涓嶆槸鏈溅闂寸敓浜т换鍔�,涓嶅厑璁告楠屾搷浣�!";
+                        mes.data = null;
+                        return mes;
+                    }
+
                     //閫氳繃鎵弿浜岀淮鐮佷俊鎭煡鎵句换鍔′俊鎭�
                     sql = @"select A.wo_code,A.good_qty,M.partcode,M.partname,M.partspec,M.stocktype_code,S.stepcode,S.stepname  
                             from TK_Wrk_Step A
@@ -2992,7 +3025,7 @@
         #endregion
 
         #region[宸ュ簭妫�楠�,鎻愪氦]
-        public static ToMessage SaveMesOrderStepCheckItem(string wocode, string partcode, string stepcode, string checkstandcode, string check_type, string sampmethod, string qualitystatus, string labqty, string sampleqty, string goodqty, string ngqty, string checkitemcont, string username)
+        public static ToMessage SaveMesOrderStepCheckItem(string stu_torgcode,string wocode, string partcode, string stepcode, string checkstandcode, string check_type, string sampmethod, string qualitystatus, string labqty, string sampleqty, string goodqty, string ngqty, string checkitemcont, string username)
         {
             var sql = "";
             string checktypename = "";
@@ -3006,8 +3039,8 @@
                 list.Clear();
 
                 //鍐欏叆妫�楠岃褰曚富琛�
-                sql = @"insert into  TStepCheckRecord(wo_code,partcode,step_code,checkstaned_code,check_user,check_type,check_typename,sampmethod,check_result,check_qty,good_qty,ng_qty,lm_user,lm_date) 
-                                values(@wo_code,@partcode,@step_code,@checkstaned_code,@check_user,@check_type,@check_typename,@sampmethod,@check_result,@check_qty,@good_qty,@ng_qty,@lm_user,@lm_date)";
+                sql = @"insert into  TStepCheckRecord(wo_code,partcode,step_code,checkstaned_code,check_user,check_type,check_typename,sampmethod,check_result,check_qty,good_qty,ng_qty,lm_user,lm_date,torg_code) 
+                                values(@wo_code,@partcode,@step_code,@checkstaned_code,@check_user,@check_type,@check_typename,@sampmethod,@check_result,@check_qty,@good_qty,@ng_qty,@lm_user,@lm_date,@torg_code)";
                 switch (check_type)
                 {
                     case "FirstCheck":
@@ -3040,14 +3073,15 @@
                         good_qty = decimal.Parse(goodqty),
                         ng_qty = decimal.Parse(ngqty),
                         lm_user = username,
-                        lm_date = datetime
+                        lm_date = datetime,
+                        torg_code = stu_torgcode
                     }
                 });
                 //鍐欏叆妫�楠岃褰曞瓙琛�
                 for (int j = 0; j < arra.Count; j++)
                 {
-                    sql = @"insert into  TStepCheckRecordSub(m_id,checknum,checkitem_seq,checkitem_code,checkitem_name,checkitem_descr,check_value,check_result,lm_user,lm_date) 
-                                values(CONVERT(INT,IDENT_CURRENT('TStepCheckRecord')),@checknum,@checkiem_seq,@checkitem_code,@checkitem_name,@checkitem_descr,@check_value,@check_result,@lm_user,@lm_date)";
+                    sql = @"insert into  TStepCheckRecordSub(m_id,checknum,checkitem_seq,checkitem_code,checkitem_name,checkitem_descr,check_value,check_result,lm_user,lm_date,torg_code) 
+                                values(CONVERT(INT,IDENT_CURRENT('TStepCheckRecord')),@checknum,@checkiem_seq,@checkitem_code,@checkitem_name,@checkitem_descr,@check_value,@check_result,@lm_user,@lm_date,@torg_code)";
                     list.Add(new
                     {
                         str = sql,
@@ -3061,7 +3095,8 @@
                             check_value = arra[j]["check_value"].ToString(),
                             check_result = arra[j]["check_result"].ToString(),
                             lm_user = username,
-                            lm_date = datetime
+                            lm_date = datetime,
+                            torg_code = stu_torgcode
                         }
                     });
                 }
diff --git a/VueWebApi/DLL/DAL/QualityManagementDAL.cs b/VueWebApi/DLL/DAL/QualityManagementDAL.cs
index 8262691..eb0a4b2 100644
--- a/VueWebApi/DLL/DAL/QualityManagementDAL.cs
+++ b/VueWebApi/DLL/DAL/QualityManagementDAL.cs
@@ -661,12 +661,27 @@
 
 
         #region[宸ュ簭妫�楠岃褰曞垪琛ㄦ煡璇
-        public static ToMessage StepCheckTableSearch(string wocode, string partcode, string partname, string partapec, string stepname, string standname, string checktype, string checkresult, int startNum, int endNum, string prop, string order)
+        public static ToMessage StepCheckTableSearch(string stu_torgcode,string stu_torgtypecode, string wocode, string partcode, string partname, string partapec, string stepname, string standname, string checktype, string checkresult, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
             try
             {
+                switch (stu_torgtypecode)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search += "and L.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search += "and C.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
                 if (wocode != "" && wocode != null)
                 {
                     search += "and A.wo_code like '%'+@wocode+'%' ";
@@ -716,6 +731,9 @@
                             left join TStep S on A.step_code=S.stepcode
                             left join TStepCheckStandard T on A.checkstaned_code=T.code
                             left join TUser U on A.check_user=U.usercode 
+                            left join TK_Wrk_Man M on A.wo_code=M.wo_code
+                            left join TOrganization C on A.torg_code=C.org_code
+                            left join TOrganization L on  C.parent_id=L.id
                             where A.check_type in('FirstCheck','PatroCheck','EndCheck') " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
@@ -783,12 +801,27 @@
         #endregion
 
         #region[宸ュ簭妫�楠岃褰曞鍑篯
-        public static ToMessage StepCheckTableOutExcel(string wocode, string partcode, string partname, string partapec, string stepname, string standname, string checktype, string checkresult, string prop, string order)
+        public static ToMessage StepCheckTableOutExcel(string stu_torgcode,string stu_torgtypecode, string wocode, string partcode, string partname, string partapec, string stepname, string standname, string checktype, string checkresult, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
             try
             {
+                switch (stu_torgtypecode)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search += "and L.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search += "and G.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
                 if (wocode != "" && wocode != null)
                 {
                     search += "and A.wo_code like '%'+@wocode+'%' ";
@@ -880,6 +913,9 @@
                             left join TStepCheckStandard T on A.checkstaned_code=T.code
                             left  join TStepCheckStandardSub C on A.checkstaned_code=C.stepstaned_code and B.checkitem_code=C.stepcheckitem_code
                             left join TUser U on A.check_user=U.usercode  
+                            left join TK_Wrk_Man K on A.wo_code=K.wo_code
+                            left join TOrganization G on A.torg_code=G.org_code
+                            left join TOrganization L on  G.parent_id=L.id
                             where A.check_type in('FirstCheck','PatroCheck','EndCheck') " + search;
                 DataTable data = DapperHelper.selectdata(sql, dynamicParams);
                 data.TableName = "Table"; //璁剧疆DataTable鐨勫悕绉�
diff --git a/VueWebApi/DLL/DAL/ReportManagerDAL.cs b/VueWebApi/DLL/DAL/ReportManagerDAL.cs
index 686a802..c4fa069 100644
--- a/VueWebApi/DLL/DAL/ReportManagerDAL.cs
+++ b/VueWebApi/DLL/DAL/ReportManagerDAL.cs
@@ -646,7 +646,7 @@
                 search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select K.wkshp_code as 杞﹂棿缂栫爜,F.org_name as 杞﹂棿鍚嶇О,AA.wo_code as 宸ュ崟缂栧彿,AA.partcode as 浜у搧缂栫爜,AA.partname as 浜у搧鍚嶇О,AA.partspec as 浜у搧瑙勬牸,AA.stepcode as 宸ュ簭缂栫爜,AA.stepname as 宸ュ簭鍚嶇О,AA.isend as 鏄惁鏈亾宸ュ簭,
+                var sql = @"select AA.wkshp_code as 杞﹂棿缂栫爜,AA.wkshp_name as 杞﹂棿鍚嶇О,AA.wo_code as 宸ュ崟缂栧彿,AA.partcode as 浜у搧缂栫爜,AA.partname as 浜у搧鍚嶇О,AA.partspec as 浜у搧瑙勬牸,AA.stepcode as 宸ュ簭缂栫爜,AA.stepname as 宸ュ簭鍚嶇О,AA.isend as 鏄惁鏈亾宸ュ簭,
                             AA.task_qty as 浠诲姟鏁伴噺,AA.group_code as 鐢熶骇鐝粍缂栫爜,AA.group_name as 鐢熶骇鐝粍鍚嶇О,AA.report_qty as 鎶ュ伐鏁伴噺,AA.unprice as 宸ュ簭鍗曚环,AA.ratio as 鍒嗛厤姣斾緥,
                             AA.moneys as 璁′欢宸ヨ祫,AA.username as 鎶ュ伐浜哄憳,AA.report_date as 鎶ュ伐鏃堕棿
                             from (
diff --git "a/VueWebApi/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls" "b/VueWebApi/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
index 214c574..e8d342f 100644
--- "a/VueWebApi/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
+++ "b/VueWebApi/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
Binary files differ
diff --git "a/VueWebApi/Excel/\350\212\202\346\213\215\345\267\245\344\273\267.xls" "b/VueWebApi/Excel/\350\212\202\346\213\215\345\267\245\344\273\267.xls"
index caedff9..af8e14e 100644
--- "a/VueWebApi/Excel/\350\212\202\346\213\215\345\267\245\344\273\267.xls"
+++ "b/VueWebApi/Excel/\350\212\202\346\213\215\345\267\245\344\273\267.xls"
Binary files differ
diff --git "a/VueWebApi/Excel/\350\247\222\350\211\262\346\270\205\345\215\225.xls" "b/VueWebApi/Excel/\350\247\222\350\211\262\346\270\205\345\215\225.xls"
index 82db4e3..7accda8 100644
--- "a/VueWebApi/Excel/\350\247\222\350\211\262\346\270\205\345\215\225.xls"
+++ "b/VueWebApi/Excel/\350\247\222\350\211\262\346\270\205\345\215\225.xls"
Binary files differ
diff --git "a/VueWebApi/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls" "b/VueWebApi/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls"
index 5f55e68..b7e051c 100644
--- "a/VueWebApi/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls"
+++ "b/VueWebApi/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls"
Binary files differ
diff --git "a/VueWebApi/InExcel/2/\347\224\250\346\210\267\346\270\205\345\215\225.xls" "b/VueWebApi/InExcel/2/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
new file mode 100644
index 0000000..803b350
--- /dev/null
+++ "b/VueWebApi/InExcel/2/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
Binary files differ
diff --git a/VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user b/VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user
index 35e4b5b..7d33ab4 100644
--- a/VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user
+++ b/VueWebApi/Properties/PublishProfiles/FolderProfile1.pubxml.user
@@ -5,7 +5,7 @@
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <_PublishTargetUrl>D:\缃戠珯鍙戝竷\MES姝f竻娌�</_PublishTargetUrl>
-    <History>True|2023-06-13T02:24:59.6876648Z;</History>
+    <History>True|2023-06-26T00:15:27.3611577Z;True|2023-06-25T15:36:41.8736654+08:00;True|2023-06-25T14:33:49.5287543+08:00;True|2023-06-13T10:24:59.6876648+08:00;</History>
   </PropertyGroup>
   <ItemGroup>
     <File Include="Areas/HelpPage/HelpPage.css">
@@ -714,13 +714,13 @@
       <publishTime>12/24/2021 15:38:29</publishTime>
     </File>
     <File Include="bin/VueWebApi.dll">
-      <publishTime>06/17/2023 11:08:15</publishTime>
+      <publishTime>06/29/2023 14:43:31</publishTime>
     </File>
     <File Include="bin/VueWebApi.pdb">
-      <publishTime>06/17/2023 11:08:15</publishTime>
+      <publishTime>06/29/2023 14:43:31</publishTime>
     </File>
     <File Include="bin/VueWebApi.xml">
-      <publishTime>06/17/2023 11:08:15</publishTime>
+      <publishTime>06/29/2023 14:43:31</publishTime>
     </File>
     <File Include="bin/WebActivatorEx.dll">
       <publishTime>02/08/2013 16:42:28</publishTime>
@@ -801,16 +801,16 @@
       <publishTime>11/07/2022 17:57:07</publishTime>
     </File>
     <File Include="Excel/鐢ㄦ埛娓呭崟.xls">
-      <publishTime>07/20/2022 10:52:30</publishTime>
+      <publishTime>06/18/2023 07:56:48</publishTime>
     </File>
     <File Include="Excel/缂洪櫡瀹氫箟.xls">
       <publishTime>08/12/2022 10:41:48</publishTime>
     </File>
     <File Include="Excel/鑺傛媿宸ヤ环.xls">
-      <publishTime>09/06/2022 18:29:08</publishTime>
+      <publishTime>06/18/2023 07:56:47</publishTime>
     </File>
     <File Include="Excel/瑙掕壊娓呭崟.xls">
-      <publishTime>07/22/2022 11:26:24</publishTime>
+      <publishTime>06/18/2023 07:56:48</publishTime>
     </File>
     <File Include="Excel/璁惧淇濆吇鏍囧噯.xls">
       <publishTime>11/18/2022 09:16:10</publishTime>
@@ -819,7 +819,7 @@
       <publishTime>08/29/2022 12:08:02</publishTime>
     </File>
     <File Include="Excel/璁惧娓呭崟.xls">
-      <publishTime>11/07/2022 16:13:05</publishTime>
+      <publishTime>06/26/2023 10:40:14</publishTime>
     </File>
     <File Include="Excel/璁惧鐐规鏍囧噯.xls">
       <publishTime>11/18/2022 09:15:43</publishTime>
@@ -1125,7 +1125,7 @@
       <publishTime>06/16/2022 13:39:23</publishTime>
     </File>
     <File Include="Web.config">
-      <publishTime>06/17/2023 11:08:21</publishTime>
+      <publishTime>06/29/2023 14:43:39</publishTime>
     </File>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/VueWebApi/Tools/ImportExcelData.cs b/VueWebApi/Tools/ImportExcelData.cs
index 4053ec4..2ea8e76 100644
--- a/VueWebApi/Tools/ImportExcelData.cs
+++ b/VueWebApi/Tools/ImportExcelData.cs
@@ -27,7 +27,7 @@
                 return Message;
 
             }
-            else if (excelTable[0].Columns.Count != 4)
+            else if (excelTable[0].Columns.Count != 5)
             {
                 code = "300";
                 Message = "鐢ㄦ埛鐝粍妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
@@ -45,19 +45,25 @@
                 Message = "鐢ㄦ埛鐝粍妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
                 return Message;
             }
-            else if (excelTable[0].Columns[1].ColumnName != "鐝粍缂栧彿(鍞竴)")
+            else if (excelTable[0].Columns[1].ColumnName != "缁勭粐缂栫爜")
+            {
+                code = "300";
+                Message = "鐢ㄦ埛鐝粍妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕缁勭粐缂栫爜}";
+                return Message;
+            }
+            else if (excelTable[0].Columns[2].ColumnName != "鐝粍缂栧彿(鍞竴)")
             {
                 code = "300";
                 Message = "鐢ㄦ埛鐝粍妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕鐝粍缂栧彿(鍞竴)}";
                 return Message;
             }
-            else if (excelTable[0].Columns[2].ColumnName != "鐝粍鍚嶇О")
+            else if (excelTable[0].Columns[3].ColumnName != "鐝粍鍚嶇О")
             {
                 code = "300";
                 Message = "鐢ㄦ埛鐝粍妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕鐝粍鍚嶇О}";
                 return Message;
             }
-            else if (excelTable[0].Columns[3].ColumnName != "鐝粍鎻忚堪")
+            else if (excelTable[0].Columns[4].ColumnName != "鐝粍鎻忚堪")
             {
                 code = "300";
                 Message = "鐢ㄦ埛鐝粍妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕鐝粍鎻忚堪}";
@@ -146,13 +152,13 @@
                 return Message;
 
             }
-            else if (excelTable[0].Columns.Count != 3)
+            else if (excelTable[0].Columns.Count != 4)
             {
                 code = "300";
                 Message = "瑙掕壊绫诲瀷妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
                 return Message;
             }
-            else if (excelTable[1].Columns.Count != 5)
+            else if (excelTable[1].Columns.Count != 6)
             {
                 code = "300";
                 Message = "妯℃澘瑙掕壊娓呭崟涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
@@ -164,13 +170,19 @@
                 Message = "瑙掕壊绫诲瀷妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
                 return Message;
             }
-            else if (excelTable[0].Columns[1].ColumnName != "瑙掕壊绫诲瀷缂栧彿(鍞竴)")
+            else if (excelTable[0].Columns[1].ColumnName != "缁勭粐缂栫爜")
+            {
+                code = "300";
+                Message = "瑙掕壊绫诲瀷妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕缁勭粐缂栫爜}";
+                return Message;
+            }
+            else if (excelTable[0].Columns[2].ColumnName != "瑙掕壊绫诲瀷缂栧彿(鍞竴)")
             {
                 code = "300";
                 Message = "瑙掕壊绫诲瀷妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕瑙掕壊绫诲瀷缂栧彿(鍞竴)}";
                 return Message;
             }
-            else if (excelTable[0].Columns[2].ColumnName != "瑙掕壊绫诲瀷鍚嶇О")
+            else if (excelTable[0].Columns[3].ColumnName != "瑙掕壊绫诲瀷鍚嶇О")
             {
                 code = "300";
                 Message = "瑙掕壊绫诲瀷妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕瑙掕壊绫诲瀷鍚嶇О}";
@@ -182,25 +194,31 @@
                 Message = "瑙掕壊娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
                 return Message;
             }
-            else if (excelTable[1].Columns[1].ColumnName != "瑙掕壊缂栧彿(鍞竴)")
+            else if (excelTable[1].Columns[1].ColumnName != "缁勭粐缂栫爜")
+            {
+                code = "300";
+                Message = "瑙掕壊娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕缁勭粐缂栫爜}";
+                return Message;
+            }
+            else if (excelTable[1].Columns[2].ColumnName != "瑙掕壊缂栧彿(鍞竴)")
             {
                 code = "300";
                 Message = "瑙掕壊娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕瑙掕壊缂栧彿(鍞竴)}";
                 return Message;
             }
-            else if (excelTable[1].Columns[2].ColumnName != "瑙掕壊濮撳悕")
+            else if (excelTable[1].Columns[3].ColumnName != "瑙掕壊濮撳悕")
             {
                 code = "300";
                 Message = "瑙掕壊娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕瑙掕壊濮撳悕}";
                 return Message;
             }
-            else if (excelTable[1].Columns[3].ColumnName != "瑙掕壊绫诲瀷缂栫爜")
+            else if (excelTable[1].Columns[4].ColumnName != "瑙掕壊绫诲瀷缂栫爜")
             {
                 code = "300";
                 Message = "瑙掕壊娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕瑙掕壊绫诲瀷缂栫爜}";
                 return Message;
             }
-            else if (excelTable[1].Columns[4].ColumnName != "瑙掕壊鎻忚堪")
+            else if (excelTable[1].Columns[5].ColumnName != "瑙掕壊鎻忚堪")
             {
                 code = "300";
                 Message = "瑙掕壊娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�5鍒楀簲涓簕瑙掕壊鎻忚堪}";
@@ -569,23 +587,13 @@
             string Message = "";
             code = "";
             List<DataTable> excelTable = new List<DataTable>();
-            excelTable = ImportExcel.ExcelToThreeTableList(FileCode);
-            if (excelTable.Count != 6)
+            excelTable = ImportExcel.ExcelToTableList(FileCode);
+            if (excelTable.Count != 2)
             {
                 code = "300";
                 Message = "瀵煎叆妯℃澘涓嶇鍚堣鑼�,璇锋鏌heet鏁�";
             }
-            else if (excelTable[0].Columns.Count != 4)
-            {
-                code = "300";
-                Message = "璁惧娓呭崟妯℃澘(璁惧绫诲瀷)涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
-            }
-            else if (excelTable[1].Columns.Count != 5)
-            {
-                code = "300";
-                Message = "璁惧娓呭崟妯℃澘(璁惧缁�)涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
-            }
-            else if (excelTable[2].Columns.Count != 9)
+            else if (excelTable[0].Columns.Count != 7)
             {
                 code = "300";
                 Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
@@ -593,89 +601,34 @@
             else if (excelTable[0].Columns[0].ColumnName != "搴忓彿")
             {
                 code = "300";
-                Message = "璁惧娓呭崟妯℃澘(璁惧绫诲瀷)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
-            }
-            else if (excelTable[0].Columns[1].ColumnName != "璁惧绫诲瀷缂栧彿(鍞竴)")
-            {
-                code = "300";
-                Message = "璁惧娓呭崟妯℃澘(璁惧绫诲瀷)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕璁惧绫诲瀷缂栧彿(鍞竴)}";
-            }
-            else if (excelTable[0].Columns[2].ColumnName != "璁惧绫诲瀷鍚嶇О")
-            {
-                code = "300";
-                Message = "璁惧娓呭崟妯℃澘(璁惧绫诲瀷)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕璁惧绫诲瀷鍚嶇О}";
-            }
-            else if (excelTable[0].Columns[3].ColumnName != "璁惧绫诲瀷鎻忚堪")
-            {
-                code = "300";
-                Message = "璁惧娓呭崟妯℃澘(璁惧绫诲瀷)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕璁惧绫诲瀷鎻忚堪}";
-            }
-            else if (excelTable[1].Columns[0].ColumnName != "搴忓彿")
-            {
-                code = "300";
-                Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
-            }
-            else if (excelTable[1].Columns[1].ColumnName != "璁惧缁勭紪鍙�(鍞竴)")
-            {
-                code = "300";
-                Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕璁惧缁勭紪鍙�(鍞竴)}";
-            }
-            else if (excelTable[1].Columns[2].ColumnName != "璁惧缁勫悕绉�")
-            {
-                code = "300";
-                Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕璁惧缁勫悕绉皚";
-            }
-            else if (excelTable[1].Columns[3].ColumnName != "璁惧绫诲瀷缂栧彿")
-            {
-                code = "300";
-                Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕璁惧绫诲瀷缂栧彿}";
-            }
-            else if (excelTable[1].Columns[4].ColumnName != "璁惧缁勬弿杩�")
-            {
-                code = "300";
-                Message = "璁惧娓呭崟妯℃澘(璁惧缁�)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�5鍒楀簲涓簕璁惧缁勬弿杩皚";
-            }
-            else if (excelTable[2].Columns[0].ColumnName != "搴忓彿")
-            {
-                code = "300";
                 Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
             }
-            else if (excelTable[2].Columns[1].ColumnName != "璁惧缂栧彿(鍞竴)")
+            else if (excelTable[0].Columns[1].ColumnName != "璁惧缂栧彿(鍞竴)")
             {
                 code = "300";
                 Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧缂栧彿(鍞竴)}";
             }
-            else if (excelTable[2].Columns[2].ColumnName != "璁惧鍚嶇О")
+            else if (excelTable[0].Columns[2].ColumnName != "璁惧鍚嶇О")
             {
                 code = "300";
                 Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧鍚嶇О}";
             }
-            else if (excelTable[2].Columns[3].ColumnName != "璁惧绫诲瀷缂栧彿")
-            {
-                code = "300";
-                Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧绫诲瀷缂栧彿}";
-            }
-            else if (excelTable[2].Columns[4].ColumnName != "璁惧缁勭紪鍙�")
-            {
-                code = "300";
-                Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧缁勭紪鍙穧";
-            }
-            else if (excelTable[2].Columns[5].ColumnName != "鎶曞叆鏃ユ湡")
+            else if (excelTable[0].Columns[3].ColumnName != "鎶曞叆鏃ユ湡")
             {
                 code = "300";
                 Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕鎶曞叆鏃ユ湡}";
             }
-            else if (excelTable[2].Columns[6].ColumnName != "鐢熶骇杞﹂棿")
+            else if (excelTable[0].Columns[4].ColumnName != "杞﹂棿缂栫爜")
             {
                 code = "300";
-                Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕鐢熶骇杞﹂棿}";
+                Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕杞﹂棿缂栫爜}";
             }
-            else if (excelTable[2].Columns[7].ColumnName != "浣跨敤鐘舵��")
+            else if (excelTable[0].Columns[5].ColumnName != "浣跨敤鐘舵��")
             {
                 code = "300";
                 Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕浣跨敤鐘舵�亇";
             }
-            else if (excelTable[2].Columns[8].ColumnName != "绋煎姩鐜囷紙%锛�")
+            else if (excelTable[0].Columns[6].ColumnName != "绋煎姩鐜囷紙%锛�")
             {
                 code = "300";
                 Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕绋煎姩鐜囷紙%锛墋";
@@ -1917,17 +1870,17 @@
             //涓昏〃
             for (int j = 0; j < excelTable[0].Rows.Count; j++)
             {
-                if (excelTable[0].Rows[j][1].ToString().Trim() != null && excelTable[0].Rows[j][1].ToString().Trim() != "")
+                if (excelTable[0].Rows[j][2].ToString().Trim() != null && excelTable[0].Rows[j][2].ToString().Trim() != "")
                 {
                     sql = @"select *  from TGroup where group_code=@group_code";
-                    dynamicParams.Add("@group_code", excelTable[0].Rows[j][1].ToString().Trim());
+                    dynamicParams.Add("@group_code", excelTable[0].Rows[j][2].ToString().Trim());
                     dt = DapperHelper.selectdata(sql, dynamicParams);
                     if (dt.Rows.Count > 0)
                     {
                         ExcelErro erro = new ExcelErro();
                         erro.RoeNumber = "/";
                         erro.ErrorField = "{鐝粍缂栫爜(鍞竴)}";
-                        erro.ErrorCont = "鐝粍琛�:{鐝粍缂栫爜(鍞竴)}瀛楁" + excelTable[0].Rows[j][1].ToString().Trim() + "宸插瓨鍦�";
+                        erro.ErrorCont = "鐝粍琛�:{鐝粍缂栫爜(鍞竴)}瀛楁" + excelTable[0].Rows[j][2].ToString().Trim() + "宸插瓨鍦�";
                         list.Add(erro);
                     }
                 }
@@ -1945,7 +1898,7 @@
                         ExcelErro erro = new ExcelErro();
                         erro.RoeNumber = "/";
                         erro.ErrorField = "{鐢ㄦ埛缂栫爜(鍞竴)}";
-                        erro.ErrorCont = "鐢ㄦ埛琛�:{鐢ㄦ埛缂栫爜(鍞竴)}瀛楁" + excelTable[1].Rows[k][2].ToString().Trim() + "宸插瓨鍦�";
+                        erro.ErrorCont = "鐢ㄦ埛琛�:{鐢ㄦ埛缂栫爜(鍞竴)}瀛楁" + excelTable[1].Rows[k][1].ToString().Trim() + "宸插瓨鍦�";
                         list.Add(erro);
                     }
                 }
@@ -1959,10 +1912,42 @@
                         ExcelErro erro = new ExcelErro();
                         erro.RoeNumber = "/";
                         erro.ErrorField = "{缁勭粐缂栫爜}";
-                        erro.ErrorCont = "鐢ㄦ埛琛�:{缁勭粐缂栫爜}瀛楁" + excelTable[1].Rows[k][2].ToString().Trim() + "涓嶅瓨鍦�";
+                        erro.ErrorCont = "鐢ㄦ埛琛�:{缁勭粐缂栫爜}瀛楁" + excelTable[1].Rows[k][7].ToString().Trim() + "涓嶅瓨鍦�";
                         list.Add(erro);
                     }
                 }
+                if (excelTable[1].Rows[k][9].ToString().Trim() != null && excelTable[1].Rows[k][9].ToString().Trim() != "")
+                {
+                    sql = @"select torg_code  from TGroup where group_code=@group_code";
+                    dynamicParams.Add("@group_code", excelTable[1].Rows[k][9].ToString().Trim());
+                    dt = DapperHelper.selectdata(sql, dynamicParams);
+                    if (dt != null && dt.Rows.Count>0)
+                    {
+                        if (dt.Rows[0]["torg_code"].ToString()!= excelTable[1].Rows[k][7].ToString().Trim()) 
+                        {
+                            ExcelErro erro = new ExcelErro();
+                            erro.RoeNumber = "/";
+                            erro.ErrorField = "{鐢ㄦ埛缁勭紪鐮亇";
+                            erro.ErrorCont = "鐢ㄦ埛琛�:{鐢ㄦ埛缁勭紪鐮亇瀛楁" + excelTable[1].Rows[k][9].ToString().Trim() + " 涓嶆槸缁勭粐缂栫爜:" + excelTable[1].Rows[k][7].ToString().Trim() + "涓嬬殑鐢ㄦ埛缁�";
+                            list.Add(erro);
+                        }                    }
+                }
+            }
+            //鍒ゆ柇瀛愯〃缁勭粐缂栫爜涓嶅瓨鍦ㄤ簬涓昏〃缁勭粐缂栫爜涓殑鏁版嵁
+            var dt2 = from r in excelTable[1].AsEnumerable()
+                      where !(
+                          from rr in excelTable[0].AsEnumerable()
+                          select rr.Field<string>("缁勭粐缂栫爜")
+                      ).Contains(r.Field<string>("缁勭粐缂栫爜"))
+                      select r;
+            List<DataRow> listRow2 = dt2.ToList();
+            if (listRow2.Count > 0)
+            {
+                ExcelErro erro = new ExcelErro();
+                erro.RoeNumber = "/";
+                erro.ErrorField = "{缁勭粐缂栫爜}";
+                erro.ErrorCont = "鐢ㄦ埛琛�:{缁勭粐缂栫爜}瀛楁涓湁鍊煎湪鐝粍琛�:{缁勭粐缂栫爜}涓笉瀛樺湪";
+                list.Add(erro);
             }
             //鍒ゆ柇瀛愯〃澶栭敭涓嶅瓨鍦ㄤ簬涓昏〃涓婚敭涓殑鏁版嵁
             var dt3 = from r in excelTable[1].AsEnumerable()
@@ -2017,17 +2002,31 @@
             //涓昏〃
             for (int j = 0; j < excelTable[0].Rows.Count; j++)
             {
-                if (excelTable[0].Rows[j][1].ToString().Trim() != null && excelTable[0].Rows[j][1].ToString().Trim() != "")
+                if (excelTable[1].Rows[j][1].ToString().Trim() != null && excelTable[1].Rows[j][1].ToString().Trim() != "")
+                {
+                    sql = @"select *  from TOrganization where org_code=@org_code";
+                    dynamicParams.Add("@org_code", excelTable[1].Rows[j][1].ToString().Trim());
+                    dt = DapperHelper.selectdata(sql, dynamicParams);
+                    if (dt == null || dt.Rows.Count <= 0)
+                    {
+                        ExcelErro erro = new ExcelErro();
+                        erro.RoeNumber = "/";
+                        erro.ErrorField = "{缁勭粐缂栫爜}";
+                        erro.ErrorCont = "瑙掕壊绫诲瀷琛�:{缁勭粐缂栫爜}瀛楁" + excelTable[1].Rows[j][1].ToString().Trim() + "涓嶅瓨鍦�";
+                        list.Add(erro);
+                    }
+                }
+                if (excelTable[0].Rows[j][2].ToString().Trim() != null && excelTable[0].Rows[j][2].ToString().Trim() != "")
                 {
                     sql = @"select *  from TRoleType where roletype_code=@roletype_code";
-                    dynamicParams.Add("@roletype_code", excelTable[0].Rows[j][1].ToString().Trim());
+                    dynamicParams.Add("@roletype_code", excelTable[0].Rows[j][2].ToString().Trim());
                     dt = DapperHelper.selectdata(sql, dynamicParams);
                     if (dt.Rows.Count > 0)
                     {
                         ExcelErro erro = new ExcelErro();
                         erro.RoeNumber = "/";
                         erro.ErrorField = "{瑙掕壊绫诲瀷缂栫爜(鍞竴)}";
-                        erro.ErrorCont = "鐝粍琛�:{瑙掕壊绫诲瀷缂栫爜(鍞竴)}瀛楁" + excelTable[0].Rows[j][1].ToString().Trim() + "宸插瓨鍦�";
+                        erro.ErrorCont = "鐝粍琛�:{瑙掕壊绫诲瀷缂栫爜(鍞竴)}瀛楁" + excelTable[0].Rows[j][2].ToString().Trim() + "宸插瓨鍦�";
                         list.Add(erro);
                     }
                 }
@@ -2035,10 +2034,10 @@
             //瀛愯〃
             for (int k = 0; k < excelTable[1].Rows.Count; k++)
             {
-                if (excelTable[1].Rows[k][1].ToString().Trim() != null && excelTable[1].Rows[k][1].ToString().Trim() != "")
+                if (excelTable[1].Rows[k][2].ToString().Trim() != null && excelTable[1].Rows[k][2].ToString().Trim() != "")
                 {
                     sql = @"select *  from TRole where role_code=@role_code";
-                    dynamicParams.Add("@role_code", excelTable[1].Rows[k][1].ToString().Trim());
+                    dynamicParams.Add("@role_code", excelTable[1].Rows[k][2].ToString().Trim());
                     dt = DapperHelper.selectdata(sql, dynamicParams);
                     if (dt.Rows.Count > 0)
                     {
@@ -2049,6 +2048,53 @@
                         list.Add(erro);
                     }
                 }
+                if (excelTable[1].Rows[k][1].ToString().Trim() != null && excelTable[1].Rows[k][1].ToString().Trim() != "")
+                {
+                    sql = @"select *  from TOrganization where org_code=@org_code";
+                    dynamicParams.Add("@org_code", excelTable[1].Rows[k][1].ToString().Trim());
+                    dt = DapperHelper.selectdata(sql, dynamicParams);
+                    if (dt == null || dt.Rows.Count <= 0)
+                    {
+                        ExcelErro erro = new ExcelErro();
+                        erro.RoeNumber = "/";
+                        erro.ErrorField = "{缁勭粐缂栫爜}";
+                        erro.ErrorCont = "瑙掕壊琛�:{缁勭粐缂栫爜}瀛楁" + excelTable[1].Rows[k][1].ToString().Trim() + "涓嶅瓨鍦�";
+                        list.Add(erro);
+                    }
+                }
+                if (excelTable[1].Rows[k][4].ToString().Trim() != null && excelTable[1].Rows[k][4].ToString().Trim() != "")
+                {
+                    sql = @"select torg_code  from TRoleType where roletype_code=@roletype_code";
+                    dynamicParams.Add("@roletype_code", excelTable[1].Rows[k][4].ToString().Trim());
+                    dt = DapperHelper.selectdata(sql, dynamicParams);
+                    if (dt != null && dt.Rows.Count > 0)
+                    {
+                        if (dt.Rows[0]["torg_code"].ToString() != excelTable[1].Rows[k][1].ToString().Trim())
+                        {
+                            ExcelErro erro = new ExcelErro();
+                            erro.RoeNumber = "/";
+                            erro.ErrorField = "{瑙掕壊绫诲瀷缂栫爜}";
+                            erro.ErrorCont = "瑙掕壊琛�:{瑙掕壊绫诲瀷缂栫爜}瀛楁" + excelTable[1].Rows[k][4].ToString().Trim() + " 涓嶆槸缁勭粐缂栫爜:" + excelTable[1].Rows[k][1].ToString().Trim() + "涓嬬殑瑙掕壊缁�";
+                            list.Add(erro);
+                        }
+                    }
+                }
+            }
+            //鍒ゆ柇瀛愯〃缁勭粐缂栫爜涓嶅瓨鍦ㄤ簬涓昏〃缁勭粐缂栫爜涓殑鏁版嵁
+            var dt2 = from r in excelTable[1].AsEnumerable()
+                      where !(
+                          from rr in excelTable[0].AsEnumerable()
+                          select rr.Field<string>("缁勭粐缂栫爜")
+                      ).Contains(r.Field<string>("缁勭粐缂栫爜"))
+                      select r;
+            List<DataRow> listRow2 = dt2.ToList();
+            if (listRow2.Count > 0)
+            {
+                ExcelErro erro = new ExcelErro();
+                erro.RoeNumber = "/";
+                erro.ErrorField = "{缁勭粐缂栫爜}";
+                erro.ErrorCont = "瑙掕壊琛�:{缁勭粐缂栫爜}瀛楁涓湁鍊煎湪瑙掕壊绫诲瀷琛�:{缁勭粐缂栫爜}涓笉瀛樺湪";
+                list.Add(erro);
             }
             //鍒ゆ柇瀛愯〃澶栭敭涓嶅瓨鍦ㄤ簬涓昏〃涓婚敭涓殑鏁版嵁
             var dt3 = from r in excelTable[1].AsEnumerable()
@@ -2277,103 +2323,41 @@
             var dynamicParams = new DynamicParameters();
             DataTable dt;
             List<ExcelErro> list = new List<ExcelErro>();
-            List<DataTable> excelTable = new List<DataTable>();
-            list = ImportExcel.ExcelToThreeTableListErro(FileCode);    //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
-            excelTable = ImportExcel.ExcelToThreeTableList(FileCode);  //鑾峰彇Excel鏁版嵁
-            //璁惧绫诲瀷琛�,鍒ゆ柇璁惧绫诲瀷鏄惁瀛樺湪
-            for (int i = 0; i < excelTable[0].Rows.Count; i++)
-            {
-                if (excelTable[0].Rows[i][1].ToString().Trim() != null && excelTable[0].Rows[i][1].ToString().Trim() != "")
-                {
-                    sql = @"select *  from TEqpType where code=@code";
-                    dynamicParams.Add("@code", excelTable[0].Rows[i][1].ToString().Trim());
-                    dt = DapperHelper.selectdata(sql, dynamicParams);
-                    if (dt.Rows.Count > 0)
-                    {
-                        ExcelErro erro = new ExcelErro();
-                        erro.RoeNumber = "/";
-                        erro.ErrorField = "{璁惧绫诲瀷缂栧彿(鍞竴)}";
-                        erro.ErrorCont = "璁惧绫诲瀷琛�:{璁惧绫诲瀷缂栧彿(鍞竴)}瀛楁" + excelTable[0].Rows[i][1].ToString().Trim() + "宸插瓨鍦�";
-                        list.Add(erro);
-                    }
-                }
-            }
-            //璁惧缁勮〃,鍒ゆ柇璁惧缁勬槸鍚﹀瓨鍦�
-            for (int j = 0; j < excelTable[1].Rows.Count; j++)
-            {
-                if (excelTable[1].Rows[j][1].ToString().Trim() != null && excelTable[1].Rows[j][1].ToString().Trim() != "")
-                {
-                    sql = @"select *  from TEqpGroup where code=@code";
-                    dynamicParams.Add("@code", excelTable[1].Rows[j][1].ToString().Trim());
-                    dt = DapperHelper.selectdata(sql, dynamicParams);
-                    if (dt.Rows.Count > 0)
-                    {
-                        ExcelErro erro = new ExcelErro();
-                        erro.RoeNumber = "/";
-                        erro.ErrorField = "{璁惧缁勭紪鍙�(鍞竴)}";
-                        erro.ErrorCont = "璁惧缁勮〃:{璁惧缁勭紪鍙�(鍞竴)}瀛楁" + excelTable[1].Rows[j][1].ToString().Trim() + "宸插瓨鍦�";
-                        list.Add(erro);
-                    }
-                }
-            }
-            //鍒ゆ柇瀛愯〃澶栭敭涓嶅瓨鍦ㄤ簬涓昏〃涓婚敭涓殑鏁版嵁
-            var dt3 = from r in excelTable[1].AsEnumerable()
-                      where !(
-                          from rr in excelTable[0].AsEnumerable()
-                          select rr.Field<string>("璁惧绫诲瀷缂栧彿(鍞竴)")
-                      ).Contains(r.Field<string>("璁惧绫诲瀷缂栧彿"))
-                      select r;
-            List<DataRow> listRow = dt3.ToList();
-            if (listRow.Count > 0)
-            {
-                ExcelErro erro = new ExcelErro();
-                erro.RoeNumber = "/";
-                erro.ErrorField = "{璁惧绫诲瀷缂栧彿}";
-                erro.ErrorCont = "璁惧缁勪俊鎭�:{璁惧绫诲瀷缂栧彿}瀛楁涓湁鍊煎湪璁惧绫诲瀷淇℃伅:{璁惧绫诲瀷缂栧彿(鍞竴)}涓笉瀛樺湪";
-                list.Add(erro);
-            }
+            DataTable excelTable = new DataTable();
+            list = ImportExcel.ExcelToTableErro(FileCode);    //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
+            excelTable = ImportExcel.ExcelToTable(FileCode);  //鑾峰彇Excel鏁版嵁
             //璁惧娓呭崟琛�
-            for (int k = 0; k < excelTable[2].Rows.Count; k++)
+            for (int k = 0; k < excelTable.Rows.Count; k++)
             {
-                if (excelTable[2].Rows[k][1].ToString().Trim() != null && excelTable[2].Rows[k][1].ToString().Trim() != "")
+                if (excelTable.Rows[k][1].ToString().Trim() != null && excelTable.Rows[k][1].ToString().Trim() != "")
                 {
                     sql = @"select *  from TEqpInfo where code=@code";
-                    dynamicParams.Add("@code", excelTable[2].Rows[k][1].ToString().Trim());
+                    dynamicParams.Add("@code", excelTable.Rows[k][1].ToString().Trim());
                     dt = DapperHelper.selectdata(sql, dynamicParams);
                     if (dt.Rows.Count > 0)
                     {
                         ExcelErro erro = new ExcelErro();
                         erro.RoeNumber = "/";
                         erro.ErrorField = "{璁惧缂栧彿(鍞竴)}";
-                        erro.ErrorCont = "璁惧琛�:{璁惧缂栧彿(鍞竴)}瀛楁" + excelTable[2].Rows[k][1].ToString().Trim() + "宸插瓨鍦�";
-                        list.Add(erro);
-                    }
-                    //鍒ゆ柇璁惧缁勬槸鍚﹀搴旀纭殑璁惧绫诲瀷
-                    var yourGetData = excelTable[1].AsEnumerable().Where<DataRow>(a => a["璁惧绫诲瀷缂栧彿"].ToString() == excelTable[2].Rows[k][3].ToString().Trim()&& a["璁惧缁勭紪鍙�(鍞竴)"].ToString() == excelTable[2].Rows[k][4].ToString().Trim());
-                    if (yourGetData.Count() <= 0)
-                    {
-                        ExcelErro erro = new ExcelErro();
-                        erro.RoeNumber = "/";
-                        erro.ErrorField = "{璁惧绫诲瀷缂栧彿}/{璁惧缁勭紪鍙穧";
-                        erro.ErrorCont = "璁惧琛�:{璁惧缂栧彿(鍞竴)}瀛楁" + excelTable[2].Rows[k][1].ToString().Trim() + "瀵瑰簲{璁惧绫诲瀷缂栧彿}:"+ excelTable[2].Rows[k][4].ToString().Trim() + "/{璁惧缁勭紪鍙穧:"+ excelTable[2].Rows[k][4].ToString().Trim() + "涓庤澶囩粍娓呭崟涓缃涓嶄笂";
+                        erro.ErrorCont = "璁惧琛�:{璁惧缂栧彿(鍞竴)}瀛楁" + excelTable.Rows[k][1].ToString().Trim() + "宸插瓨鍦�";
                         list.Add(erro);
                     }
                 }
             }
             //杞﹂棿鍒ゆ柇
-            for (int m = 0; m < excelTable[2].Rows.Count; m++)
+            for (int m = 0; m < excelTable.Rows.Count; m++)
             {
-                if (excelTable[2].Rows[m][6].ToString().Trim() != null && excelTable[2].Rows[m][6].ToString().Trim() != "")
+                if (excelTable.Rows[m][4].ToString().Trim() != null && excelTable.Rows[m][4].ToString().Trim() != "")
                 {
-                    sql = @"select *  from TOrganization where org_name=@code and description='W'";
-                    dynamicParams.Add("@code", excelTable[2].Rows[m][6].ToString().Trim());
+                    sql = @"select *  from TOrganization where org_code=@code and description='W'";
+                    dynamicParams.Add("@code", excelTable.Rows[m][4].ToString().Trim());
                     dt = DapperHelper.selectdata(sql, dynamicParams);
                     if (dt.Rows.Count<=0)
                     {
                         ExcelErro erro = new ExcelErro();
                         erro.RoeNumber = "/";
-                        erro.ErrorField = "{鐢熶骇杞﹂棿}";
-                        erro.ErrorCont = "璁惧琛�:{鐢熶骇杞﹂棿}瀛楁" + excelTable[2].Rows[m][6].ToString().Trim() + "涓嶅瓨鍦�";
+                        erro.ErrorField = "{杞﹂棿缂栫爜}";
+                        erro.ErrorCont = "璁惧琛�:{杞﹂棿缂栫爜}瀛楁" + excelTable.Rows[m][4].ToString().Trim() + "涓嶅瓨鍦�";
                         list.Add(erro);
                     }
                 }
@@ -2393,7 +2377,7 @@
             {
                 StuCode = "200";
                 message = "鏁版嵁楠岃瘉鎴愬姛";
-                count = excelTable[0].Rows.Count + excelTable[1].Rows.Count+excelTable[2].Rows.Count;
+                count = excelTable.Rows.Count;
             }
             return list;
         }
@@ -3254,20 +3238,31 @@
                 //瀵煎叆鐝粍
                 for (int k = 0; k < excelTable[0].Rows.Count; k++)
                 {
-                    sql = @"insert into TGroup(group_code,group_name,description,lm_user,lm_date) 
-                            values(@group_code,@group_name,@description,@Operator,@CreateDate)";
-                    list.Add(new
+                    sql = @"select *   from TGroup where group_code=@group_code";
+                    dynamicParams.Add("@group_code", excelTable[0].Rows[k][2].ToString().Trim());
+                    dt = DapperHelper.selectdata(sql, dynamicParams);
+                    if (dt.Rows.Count > 0)
                     {
-                        str = sql,
-                        parm = new
+                        continue;
+                    }
+                    else 
+                    {
+                        sql = @"insert into TGroup(group_code,group_name,description,lm_user,lm_date,torg_code) 
+                            values(@group_code,@group_name,@description,@Operator,@CreateDate,@torg_code)";
+                        list.Add(new
                         {
-                            group_code = excelTable[0].Rows[k][1].ToString().Trim(),
-                            group_name = excelTable[0].Rows[k][2].ToString().Trim(),
-                            description = excelTable[0].Rows[k][3].ToString().Trim(),
-                            CreateDate = DateTime.Now.ToString(),
-                            Operator = User
-                        }
-                    });
+                            str = sql,
+                            parm = new
+                            {
+                                group_code = excelTable[0].Rows[k][2].ToString().Trim(),
+                                group_name = excelTable[0].Rows[k][3].ToString().Trim(),
+                                description = excelTable[0].Rows[k][4].ToString().Trim(),
+                                CreateDate = DateTime.Now.ToString(),
+                                Operator = User,
+                                torg_code= excelTable[0].Rows[k][1].ToString().Trim()
+                            }
+                        });
+                    }
                 }
                 //瀵煎叆鐢ㄦ埛
                 for (int i = 0; i < excelTable[1].Rows.Count; i++)
@@ -3292,7 +3287,13 @@
                         default:
                             break;
                     }
-
+                    sql = @"select *   from TUser where usercode=@usercode";
+                    dynamicParams.Add("@usercode", excelTable[1].Rows[i][1].ToString().Trim());
+                    dt = DapperHelper.selectdata(sql, dynamicParams);
+                    if (dt.Rows.Count > 0)
+                    {
+                        continue;
+                    }
                     sql = @"insert into TUser(usercode,username,password,enable,mobile,lm_date,email,lm_user,stu_torgcode,wagetype,usergroup_code) 
                             values(@UserCode,@UserName,@password,@Enable,@Mobile,@CreateDate,@Email,@Operator,@StuOrg,@wagetype,@usergroup_code)";
                     list.Add(new
@@ -3353,34 +3354,36 @@
                 //瀵煎叆瑙掕壊绫诲瀷
                 for (int k = 0; k < excelTable[0].Rows.Count; k++)
                 {
-                    sql = @"insert into TRoleType(roletype_code,roletype_name) 
-                            values(@roletype_code,@roletype_name)";
+                    sql = @"insert into TRoleType(roletype_code,roletype_name,torg_code) 
+                            values(@roletype_code,@roletype_name,@torg_code)";
                     list.Add(new
                     {
                         str = sql,
                         parm = new
                         {
-                            roletype_code = excelTable[0].Rows[k][1].ToString().Trim(),
-                            roletype_name = excelTable[0].Rows[k][2].ToString().Trim()
+                            roletype_code = excelTable[0].Rows[k][2].ToString().Trim(),
+                            roletype_name = excelTable[0].Rows[k][3].ToString().Trim(),
+                            torg_code = excelTable[0].Rows[k][1].ToString().Trim()
                         }
                     });
                 }
                 //瀵煎叆瑙掕壊
                 for (int i = 0; i < excelTable[1].Rows.Count; i++)
                 {
-                    sql = @"insert into TRole(role_code,role_name,roletype_code,description,lm_user,lm_date) 
-                            values(@role_code,@role_name,@roletype_code,@description,@Operator,@CreateDate)";
+                    sql = @"insert into TRole(role_code,role_name,roletype_code,description,lm_user,lm_date,torg_code) 
+                            values(@role_code,@role_name,@roletype_code,@description,@Operator,@CreateDate,@torg_code)";
                     list.Add(new
                     {
                         str = sql,
                         parm = new
                         {
-                            role_code = excelTable[1].Rows[i][1].ToString().Trim(),
-                            role_name = excelTable[1].Rows[i][2].ToString().Trim(),
-                            roletype_code = excelTable[1].Rows[i][3].ToString().Trim(),
-                            description = excelTable[1].Rows[i][4].ToString().Trim(),
+                            role_code = excelTable[1].Rows[i][2].ToString().Trim(),
+                            role_name = excelTable[1].Rows[i][3].ToString().Trim(),
+                            roletype_code = excelTable[1].Rows[i][4].ToString().Trim(),
+                            description = excelTable[1].Rows[i][5].ToString().Trim(),
                             Operator = User,
-                            CreateDate = DateTime.Now.ToString()
+                            CreateDate = DateTime.Now.ToString(),
+                            torg_code = excelTable[1].Rows[i][1].ToString().Trim()
                         }
                     });
                 }
@@ -3612,77 +3615,37 @@
             try
             {
                 list.Clear();
-                List<DataTable> excelTable = new List<DataTable>();
-                excelTable = ImportExcel.ExcelToThreeTableList(FileCode);
-                //鍐欏叆璁惧绫诲瀷
-                for (int i = 0; i < excelTable[0].Rows.Count; i++)
-                {
-                    sql = @"insert into TEqpType(code,name,lm_user,lm_date,remark) 
-                            values(@code,@name,@lm_user,@lm_date,@remark)";
-                    list.Add(new
-                    {
-                        str = sql,
-                        parm = new
-                        {
-                            code = excelTable[0].Rows[i][1].ToString().Trim(),
-                            name = excelTable[0].Rows[i][2].ToString().Trim(),
-                            lm_user = User,
-                            lm_date = DateTime.Now.ToString(),
-                            remark= excelTable[0].Rows[i][3].ToString().Trim()
-
-                        }
-                    });
-                }
-                //鍐欏叆璁惧缁�
-                for (int j = 0; j < excelTable[1].Rows.Count; j++)
-                {
-                    sql = @"insert into TEqpGroup(code,name,lm_user,lm_date,remark,eqptype_code) 
-                            values(@code,@name,@lm_user,@lm_date,@remark,@eqptype_code)";
-                    list.Add(new
-                    {
-                        str = sql,
-                        parm = new
-                        {
-                            code = excelTable[1].Rows[j][1].ToString().Trim(),
-                            name = excelTable[1].Rows[j][2].ToString().Trim(),
-                            lm_user = User,
-                            lm_date = DateTime.Now.ToString(),
-                            remark = excelTable[1].Rows[j][4].ToString().Trim(),
-                            eqptype_code= excelTable[1].Rows[j][3].ToString().Trim()
-
-                        }
-                    });
-                }
+                DataTable excelTable = new DataTable();
+                excelTable = ImportExcel.ExcelToTable(FileCode);
                 //瀵煎叆璁惧娓呭崟
-                for (int k = 0; k < excelTable[2].Rows.Count; k++)
+                for (int k = 0; k < excelTable.Rows.Count; k++)
                 {
-                    //鑾峰彇杞﹂棿缂栫爜
-                    string sql0 = @"select org_code,org_name from TOrganization where org_name=@wkshp and description='W' and is_delete<>'1'";
-                    dynamicParams.Add("@wkshp", excelTable[2].Rows[k][6].ToString());
-                    var data = DapperHelper.selectdata(sql0, dynamicParams);
-
-                    sql = @"insert into TEqpInfo(code,name,eqptype_code,eqpgroup_code,wksp_code,input_date,operation_ration,enable,opc_uom,lm_user,lm_date) 
-                            values(@devicecode,@devicename,@devicetype,@devicegroup,@workshop,@importdate,@ratio,@status,@uom,@lm_user,@lm_date)";
+                    sql = @"select *   from TEqpInfo where code=@eqp_code";
+                    dynamicParams.Add("@eqp_code", excelTable.Rows[k][1].ToString().Trim());
+                    DataTable dt = DapperHelper.selectdata(sql, dynamicParams);
+                    if (dt.Rows.Count > 0)
+                    {
+                        continue;
+                    }
+                    sql = @"insert into TEqpInfo(code,name,wksp_code,input_date,operation_ration,enable,opc_uom,lm_user,lm_date) 
+                            values(@devicecode,@devicename,@workshop,@importdate,@ratio,@status,@uom,@lm_user,@lm_date)";
                     list.Add(new
                     {
                         str = sql,
                         parm = new
                         {
-                            devicecode = excelTable[2].Rows[k][1].ToString().Trim(),
-                            devicename = excelTable[2].Rows[k][2].ToString().Trim(),
-                            devicetype = excelTable[2].Rows[k][3].ToString().Trim(),
-                            devicegroup = excelTable[2].Rows[k][4].ToString().Trim(),
-                            workshop = data.Rows[0]["org_code"].ToString().Trim(),
-                            importdate = excelTable[2].Rows[k][5].ToString().Trim(),
-                            ratio = excelTable[2].Rows[k][8].ToString().Trim(),
-                            status = excelTable[2].Rows[k][7].ToString().Trim(),
+                            devicecode = excelTable.Rows[k][1].ToString().Trim(),
+                            devicename = excelTable.Rows[k][2].ToString().Trim(),
+                            workshop = excelTable.Rows[k][4].ToString().Trim(),
+                            importdate = excelTable.Rows[k][3].ToString().Trim(),
+                            ratio = excelTable.Rows[k][6].ToString().Trim(),
+                            status = excelTable.Rows[k][5].ToString().Trim(),
                             uom = "鍙�",
                             lm_user = User,
                             lm_date = DateTime.Now.ToString()
                         }
                     });
                 }
-
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
                 {
diff --git a/VueWebApi/Tools/ScanStartReport.cs b/VueWebApi/Tools/ScanStartReport.cs
index 0a8dd4e..25bbc63 100644
--- a/VueWebApi/Tools/ScanStartReport.cs
+++ b/VueWebApi/Tools/ScanStartReport.cs
@@ -17,10 +17,11 @@
         /// <summary>
         /// 鎵爜淇℃伅涓哄伐鍗�+宸ュ簭鏉$爜
         /// </summary>
+        /// <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
         /// <param name="ordercode">宸ュ崟缂栧彿</param>
         /// <param name="stepcode">宸ュ簭缂栫爜</param>
         /// <returns></returns>
-        public static ToMessage ZZEncodingSeach(string ordercode, string stepcode)
+        public static ToMessage ZZEncodingSeach(string stu_torgcode, string ordercode, string stepcode)
         {
             var sql = "";
             string flwtype = ""; //宸ュ簭灞炴��
@@ -32,7 +33,34 @@
             var dynamicParams = new DynamicParameters();
             try
             {
-              
+                //鍒ゆ柇褰撳墠宸ュ崟鏄惁鍏抽棴
+                sql = @"select *   from TK_Wrk_Man where wo_code=@ordercode and wkshp_code=@stu_torgcode and status='CLOSED'";
+                dynamicParams.Add("@ordercode", ordercode);
+                dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                var da0 = DapperHelper.selectdata(sql, dynamicParams);
+                if (da0.Rows.Count > 0) 
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "褰撳墠宸ュ崟宸插叧闂�,涓嶅厑璁稿紑鎶ュ伐鎿嶄綔!";
+                    mes.data = null;
+                    return mes;
+                }
+
+                //0.鍒ゆ柇褰撳墠宸ュ崟鎵�灞炶溅闂存槸鍚︿负褰撳墠鐧诲綍浜哄憳杞﹂棿
+                sql = @"select *   from TK_Wrk_Man where wo_code=@ordercode and wkshp_code=@stu_torgcode";
+                dynamicParams.Add("@ordercode", ordercode);
+                dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                var da1 = DapperHelper.selectdata(sql, dynamicParams);
+                if (da1.Rows.Count<=0) 
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "涓嶆槸鏈溅闂寸敓浜т换鍔�,涓嶅厑璁告搷浣�!";
+                    mes.data = null;
+                    return mes;
+                }
+
                 //1.鏍规嵁宸ュ崟+宸ュ簭鏌ユ壘褰撳墠宸ュ簭鏄惁棣栭亾宸ュ簭
                 sql = @"select A.wo_code,P.partcode,P.partname,P.partspec, T.stepcode,T.stepname,A.seq,T.flwtype,T.descr,A.status,A.plan_qty,A.isbott,A.isend,L.org_code,L.org_name  
                         from TK_Wrk_Step A
@@ -215,6 +243,14 @@
                                                 }
                                                 else
                                                 {
+                                                    if (sgood_qty == null || sgood_qty == 0) 
+                                                    {
+                                                        mes.code = "300";
+                                                        mes.count = 0;
+                                                        mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸浜у嚭涓�0,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+                                                        mes.data = null;
+                                                        return mes;
+                                                    }
                                                     rt.eqpcode = data1.Rows[0]["code"].ToString();                              //寮�宸ヨ澶囩紪鐮�
                                                     rt.eqpname = data1.Rows[0]["name"].ToString();                              //寮�宸ヨ澶囧悕绉�
                                                     rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
@@ -261,6 +297,14 @@
                                                 }
                                                 else
                                                 {
+                                                    if (sqty == null || sqty == 0)
+                                                    {
+                                                        mes.code = "300";
+                                                        mes.count = 0;
+                                                        mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸鏀舵枡涓�0,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+                                                        mes.data = null;
+                                                        return mes;
+                                                    }
                                                     rt.eqpcode = data1.Rows[0]["code"].ToString();                              //寮�宸ヨ澶囩紪鐮�
                                                     rt.eqpname = data1.Rows[0]["name"].ToString();                              //寮�宸ヨ澶囧悕绉�
                                                     rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
@@ -294,9 +338,16 @@
                                             var data3 = DapperHelper.selectdata(sql, dynamicParams);
                                             if (data3.Rows.Count > 0) //涓婇亾鏈夋姤宸�
                                             {
-                                                decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //鏈亾鎶ュ伐鎬绘暟閲�
+                                                decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //涓婇亾鎶ュ伐鎬绘暟閲�
                                                 decimal sybqty = sgood_qty;                                      //鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鎶ュ伐鏁伴噺
-
+                                                if (sgood_qty == null || sgood_qty == 0)
+                                                {
+                                                    mes.code = "300";
+                                                    mes.count = 0;
+                                                    mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸浜у嚭涓�0,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+                                                    mes.data = null;
+                                                    return mes;
+                                                }
                                                 rt.eqpcode = data1.Rows[0]["code"].ToString();                              //寮�宸ヨ澶囩紪鐮�
                                                 rt.eqpname = data1.Rows[0]["name"].ToString();                              //寮�宸ヨ澶囧悕绉�
                                                 rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
@@ -328,7 +379,14 @@
                                             {
                                                 decimal sqty = data3.AsEnumerable().Select(d =>d.Field<decimal>("SQTY")).Sum();//涓婇亾鏀舵枡鏁伴噺
                                                 decimal sybqty = sqty;                   //鏈亾鍓╀綑鍙敹鏁伴噺=涓婇亾鏀舵枡鏁伴噺
-
+                                                if (sqty == null || sqty == 0)
+                                                {
+                                                    mes.code = "300";
+                                                    mes.count = 0;
+                                                    mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸鏀舵枡涓�0,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+                                                    mes.data = null;
+                                                    return mes;
+                                                }
                                                 rt.eqpcode = data1.Rows[0]["code"].ToString();                              //寮�宸ヨ澶囩紪鐮�
                                                 rt.eqpname = data1.Rows[0]["name"].ToString();                              //寮�宸ヨ澶囧悕绉�
                                                 rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
@@ -362,13 +420,20 @@
                                         var data2 = DapperHelper.selectdata(sql, dynamicParams);
                                         if (data2.Rows.Count > 0) //涓婂埌宸ュ簭鏈夋姤宸�
                                         {
-                                            string good_qty = data2.Rows[0]["GOOD_QTY"].ToString();//鎶ュ伐鏁伴噺
-                                            string ng_qty = data2.Rows[0]["NG_QTY"].ToString();// 涓嶈壇鏁伴噺
-                                            string bad_qty = data2.Rows[0]["BAD_QTY"].ToString();// 鎶ュ簾鏁伴噺
-
+                                            decimal good_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();//鎶ュ伐鏁伴噺
+                                            decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();// 涓嶈壇鏁伴噺
+                                            decimal bad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();// 鎶ュ簾鏁伴噺
+                                            if (good_qty == null || good_qty == 0)
+                                            {
+                                                mes.code = "300";
+                                                mes.count = 0;
+                                                mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸浜у嚭涓�0,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+                                                mes.data = null;
+                                                return mes;
+                                            }
                                             rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //浠诲姟鏁伴噺
-                                            rt.startqty = decimal.Parse(good_qty);                               //寮�宸ユ暟閲�=(涓婁竴閬撶殑鎶ュ伐鏁伴噺)
-                                            rt.noreportqty = decimal.Parse(good_qty);                            //鏈姤鏁伴噺=(涓婁竴閬撶殑鎶ュ伐鏁伴噺)
+                                            rt.startqty = good_qty;                               //寮�宸ユ暟閲�=(涓婁竴閬撶殑鎶ュ伐鎬绘暟閲�)
+                                            rt.noreportqty = good_qty;                            //鏈姤鏁伴噺=(涓婁竴閬撶殑鎶ュ伐鎬绘暟閲�)
                                             rt.reportqty = 0;                                                    //宸叉姤鏁伴噺
                                             mes.code = "200";
                                             mes.count = 0;
@@ -396,7 +461,14 @@
                                             decimal sqty = data2.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum();//鏀舵枡鏁伴噺
                                             decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();// 涓嶈壇鏁伴噺
                                             decimal bad_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("BAD_QTY")).Sum();// 鎶ュ簾鏁伴噺
-
+                                            if (sqty == null || sqty == 0)
+                                            {
+                                                mes.code = "300";
+                                                mes.count = 0;
+                                                mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸鏀舵枡涓�0,鏈亾涓嶅厑璁稿紑鎶ュ伐!";
+                                                mes.data = null;
+                                                return mes;
+                                            }
                                             rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //浠诲姟鏁伴噺
                                             rt.startqty = sqty;                                                  //寮�宸ユ暟閲�=(涓婁竴閬撶殑鏀舵枡鏁伴噺)
                                             rt.noreportqty = sqty;                                               //鏈姤鏁伴噺=(涓婁竴閬撶殑鏀舵枡鏁伴噺)
@@ -455,11 +527,12 @@
         /// <summary>
         /// 鐢熶骇寮�鎶ュ伐:澶栧崗宸ュ簭浠诲姟寮�鎶ュ伐鍒ゆ柇:宸ュ崟鍙�+宸ュ簭
         /// </summary>
-        /// <param name="OperType">鎿嶄綔绫诲瀷</param>
+        /// <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
+        /// <param name="SelectType">鎿嶄綔绫诲瀷</param>
         /// <param name="ordercode">宸ュ崟缂栧彿</param>
         /// <param name="stepcode">宸ュ簭缂栫爜</param>
         /// <returns></returns>
-        public static ToMessage WXEncodingSeach(string SelectType, string ordercode, string stepcode)
+        public static ToMessage WXEncodingSeach(string stu_torgcode, string SelectType, string ordercode, string stepcode)
         {
             var sql = "";
             string flwtype = ""; //宸ュ簭灞炴��
@@ -471,6 +544,34 @@
             var dynamicParams = new DynamicParameters();
             try
             {
+                //鍒ゆ柇褰撳墠宸ュ崟鏄惁鍏抽棴
+                sql = @"select *   from TK_Wrk_Man where wo_code=@ordercode and wkshop_code=@stu_torgcode and status='CLOSED'";
+                dynamicParams.Add("@ordercode", ordercode);
+                dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                var da0 = DapperHelper.selectdata(sql, dynamicParams);
+                if (da0.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "褰撳墠宸ュ崟宸插叧闂�,涓嶅厑璁稿紑鎶ュ伐鎿嶄綔!";
+                    mes.data = null;
+                    return mes;
+                }
+
+                //0.鍒ゆ柇褰撳墠宸ュ崟鎵�灞炶溅闂存槸鍚︿负褰撳墠鐧诲綍浜哄憳杞﹂棿
+                sql = @"select *   from TK_Wrk_Man where wo_code=@ordercode and wkshop_code=@stu_torgcode";
+                dynamicParams.Add("@ordercode", ordercode);
+                dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                var da1 = DapperHelper.selectdata(sql, dynamicParams);
+                if (da1.Rows.Count <= 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "涓嶆槸鏈溅闂寸敓浜т换鍔�,涓嶅厑璁告搷浣�!";
+                    mes.data = null;
+                    return mes;
+                }
+
                 //1.鏍规嵁宸ュ崟+宸ュ簭鏌ユ壘褰撳墠宸ュ簭鏄惁棣栭亾宸ュ簭
                 sql = @"select A.wo_code,P.partcode,P.partname,P.partspec, T.stepcode,T.stepname,A.seq,T.flwtype,T.descr,A.status,A.plan_qty,A.isbott,A.isend,L.org_code,L.org_name   
                         from TK_Wrk_Step A
@@ -631,6 +732,14 @@
                                                     }
                                                     else
                                                     {
+                                                        if (sgood_qty == null || sgood_qty == 0)
+                                                        {
+                                                            mes.code = "300";
+                                                            mes.count = 0;
+                                                            mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸浜у嚭涓�0,鏈亾涓嶅厑璁稿彂鏂�!";
+                                                            mes.data = null;
+                                                            return mes;
+                                                        }
                                                         rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //浠诲姟鏁伴噺
                                                         rt.noreportqty = sybqty;                                             //鏈彂鏁伴噺=鍓╀綑鍙彂鏁伴噺
                                                         rt.reportqty = sqty + ng_qty+bad_qty;                                //宸插彂鏁伴噺= 鏈亾鍙戞枡鏁伴噺+鏈亾涓嶈壇鏁伴噺+鏈亾鎶ュ簾鏁伴噺                                       
@@ -676,6 +785,14 @@
                                                     }
                                                     else
                                                     {
+                                                        if (ssqty == null || ssqty == 0)
+                                                        {
+                                                            mes.code = "300";
+                                                            mes.count = 0;
+                                                            mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸鏀舵枡涓�0,鏈亾涓嶅厑璁稿彂鏂�!";
+                                                            mes.data = null;
+                                                            return mes;
+                                                        }
                                                         rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //浠诲姟鏁伴噺
                                                         rt.noreportqty = sybqty;                                             //鏈彂鏁伴噺=鍓╀綑鍙彂鏁伴噺
                                                         rt.reportqty = sqty + ng_qty+bad_qty;                                //宸插彂鏁伴噺= 鏈亾鍙戞枡鏁伴噺+鏈亾涓嶈壇鏁伴噺+鏈亾鎶ュ簾鏁伴噺                                       
@@ -691,7 +808,7 @@
                                                 {
                                                     mes.code = "300";
                                                     mes.count = 0;
-                                                    mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鏈姤宸�,鏈亾涓嶅厑璁稿彂鏂�!";
+                                                    mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鏈彂鏂�,鏈亾涓嶅厑璁稿彂鏂�!";
                                                     mes.data = null;
                                                     return mes;
                                                 }
@@ -711,7 +828,14 @@
                                                     decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //鏈亾鎶ュ伐鎬绘暟閲�
 
                                                     decimal sybqty = sgood_qty;//鏈亾鍓╀綑鍙彂鏁伴噺=涓婇亾鎶ュ伐鎬绘暟閲�
-
+                                                    if (sgood_qty == null || sgood_qty == 0)
+                                                    {
+                                                        mes.code = "300";
+                                                        mes.count = 0;
+                                                        mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸浜у嚭涓�0,鏈亾涓嶅厑璁稿彂鏂�!";
+                                                        mes.data = null;
+                                                        return mes;
+                                                    }
                                                     rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //浠诲姟鏁伴噺
                                                     rt.noreportqty = sybqty;                                             //鏈彂鏁伴噺=鍓╀綑鍙彂鏁伴噺
                                                     rt.reportqty = 0;                                                    //宸插彂鏁伴噺                                       
@@ -754,6 +878,14 @@
                                                     }
                                                     else
                                                     {
+                                                        if (ssqty == null || ssqty == 0)
+                                                        {
+                                                            mes.code = "300";
+                                                            mes.count = 0;
+                                                            mes.Message = "褰撳墠宸ュ簭锛�" + data.Rows[0]["STEPNAME"].ToString() + " 鐨勪笂閬撳伐搴忥細" + data0.Rows[0]["STEPNAME"].ToString() + " 鍚堟牸鏀舵枡涓�0,鏈亾涓嶅厑璁稿彂鏂�!";
+                                                            mes.data = null;
+                                                            return mes;
+                                                        }
                                                         rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //浠诲姟鏁伴噺
                                                         rt.noreportqty = sybqty;                                             //鏈彂鏁伴噺=鍓╀綑鍙彂鏁伴噺
                                                         rt.reportqty = 0;                                                    //宸插彂鏁伴噺                                     
diff --git a/VueWebApi/bin/VueWebApi.pdb b/VueWebApi/bin/VueWebApi.pdb
index ecfa78c..6c7f78a 100644
--- a/VueWebApi/bin/VueWebApi.pdb
+++ b/VueWebApi/bin/VueWebApi.pdb
Binary files differ
diff --git a/VueWebApi/bin/VueWebApi.xml b/VueWebApi/bin/VueWebApi.xml
index 640d7d6..8da5e0c 100644
--- a/VueWebApi/bin/VueWebApi.xml
+++ b/VueWebApi/bin/VueWebApi.xml
@@ -506,19 +506,23 @@
             </summary>
             <param name="documentPath">The physical path to XML document.</param>
         </member>
-        <member name="M:VueWebApi.Controllers.AppAnalyticsController.ProductionKanban(System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.AppAnalyticsController.ProductionKanban(System.String,System.String,System.String,System.String,System.String)">
             <summary>
             App鐢熶骇鐪嬫澘
             </summary>
+            <param name="stu_torgcode">缁勭粐缂栫爜</param>
+            <param name="stu_torgtypecode">缁勭粐绫诲瀷</param>
             <param name="usercode">鐧诲綍浜哄憳</param>
             <param name="Ratetime">鏃堕棿</param>
             <param name="defecttype">缂洪櫡缁熻绫诲瀷</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.AppAnalyticsController.ProductionScheduleKanban(System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.AppAnalyticsController.ProductionScheduleKanban(System.String,System.String,System.String,System.String,System.String)">
             <summary>
             App鐢熶骇杩涘害鐪嬫澘鍗曟嵁淇℃伅
             </summary>
+            <param name="stu_torgcode">缁勭粐缂栫爜</param>
+            <param name="stu_torgtypecode">缁勭粐绫诲瀷</param>
             <param name="ordertype">鍗曟嵁绫诲瀷(SO:閿�鍞鍗曘�丮O:鐢熶骇璁㈠崟銆丳O:鐢熶骇宸ュ崟)</param>
             <param name="partcode">浜у搧淇℃伅(鍙涓�)</param>
             <param name="Ratetime">鍗曟嵁鏃ユ湡鑼冨洿</param>
@@ -533,10 +537,11 @@
             <param name="Ratetime">鏃堕棿</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.AppProductionManagementController.MesOrderStepStart(System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.AppProductionManagementController.MesOrderStepStart(System.String,System.String,System.String,System.String)">
             <summary>
             鐢熶骇寮�鎶ュ伐锛氬紑宸�(寮�濮�/鎶ュ伐)/澶栧崗(鍙戞枡/鏀舵枡)鏃舵潯浠跺垽鏂強鏁版嵁杩斿洖鎺ュ彛
             </summary>
+            <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
             <param name="OperType">鎿嶄綔绫诲瀷锛氳嚜鍒�(ZZ)/澶栧崗(WX)</param>
             <param name="SelectType">鎿嶄綔绫诲瀷锛氬鍗忓彂鏂欐爣璇�(OUT)/澶栧崗鏀舵枡鏍囪瘑(IN)</param>
             <param name="orderstepqrcode">鎵弿浜岀淮鐮佷俊鎭�</param>
@@ -549,17 +554,20 @@
             <param name="orderstepqrcode">鎵弿浜岀淮鐮佷俊鎭�</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.AppProductionManagementController.MesOrderStepReportSelectUserGroup(System.String)">
+        <member name="M:VueWebApi.Controllers.AppProductionManagementController.MesOrderStepReportSelectUserGroup(System.String,System.String,System.String)">
             <summary>
             鐢熶骇寮�鎶ュ伐锛氭姤宸ユ椂鑾峰彇鐢熶骇鐝粍涓嬫媺妗�
             </summary>
+            <param name="stu_torgcode">缁勭粐缂栫爜</param>
+            <param name="stu_torgtypecode">缁勭粐绫诲瀷</param>
             <param name="wkshopcode">杞﹂棿缂栫爜</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.AppProductionManagementController.MesOrderGroupSelectUser(System.String)">
+        <member name="M:VueWebApi.Controllers.AppProductionManagementController.MesOrderGroupSelectUser(System.String,System.String)">
             <summary>
             鐢熶骇寮�鎶ュ伐锛氭牴鎹敓浜х彮缁勬煡鎵句汉鍛樺垪琛�
             </summary>
+            <param name="stu_torgcode">缁勭粐缂栫爜</param>
             <param name="usergroupcode">鐝粍缂栫爜</param>
             <returns></returns>
         </member>
@@ -742,10 +750,11 @@
             </summary>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.AppQualityManagementController.StepCheckSearch(System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.AppQualityManagementController.StepCheckSearch(System.String,System.String,System.String)">
             <summary>
             宸ュ簭妫�楠屾壂鐮佽幏鍙栦换鍔′俊鎭�
             </summary>
+            <param name="stu_torgcode">缁勭粐缂栫爜</param>
             <param name="orderstepqrcode">鎵弿宸ュ簭浜岀淮鐮佷俊鎭�</param>
             <param name="checktype">妫�楠屾柟寮廎irstCheck锛堥妫�锛� PatroCheck(宸℃)  EndCheck(瀹屽伐妫�)</param>
             <returns></returns>
@@ -1106,10 +1115,11 @@
             </summary>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.ReportManagerController.MaintenanceDetailsReportSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.ReportManagerController.MaintenanceDetailsReportSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
             <summary>
             缁翠慨鏄庣粏鎶ヨ〃 
             </summary>
+            <param name="wkshopcode">杞﹂棿缂栧彿</param>
             <param name="wocode">宸ュ崟缂栧彿</param>
             <param name="partcode">浜у搧缂栫爜</param>
             <param name="partname">浜у搧鍚嶇О</param>
@@ -1125,10 +1135,11 @@
             <param name="order">鎺掑簭瑙勫垯</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.ReportManagerController.MaintenanceDetailsReportExcelSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.ReportManagerController.MaintenanceDetailsReportExcelSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
             <summary>
             缁翠慨鏄庣粏鎶ヨ〃瀵煎嚭 
             </summary>
+            <param name="wkshopcode">杞﹂棿缂栧彿</param>
             <param name="wocode">宸ュ崟缂栧彿</param>
             <param name="partcode">浜у搧缂栫爜</param>
             <param name="partname">浜у搧鍚嶇О</param>
@@ -1228,7 +1239,7 @@
             <summary>
             鐢熶骇杩涘害鎶ヨ〃
             </summary>
-            <param name=" wkshopcode">杞﹂棿缂栫爜</param>
+            <param name="wkshopcode">杞﹂棿缂栫爜</param>
             <param name="status">宸ュ崟鐘舵��</param>
             <param name="wocode">宸ュ崟缂栧彿</param>
             <param name="routecode">宸ヨ壓璺嚎缂栫爜</param>
@@ -1247,7 +1258,7 @@
             <summary>
             鐢熶骇杩涘害鎶ヨ〃瀵煎嚭
             </summary>
-            <param name=" wkshopcode">杞﹂棿缂栫爜</param>
+            <param name="wkshopcode">杞﹂棿缂栫爜</param>
             <param name="status">宸ュ崟鐘舵��</param>
             <param name="wocode">宸ュ崟缂栧彿</param>
             <param name="routecode">宸ヨ壓璺嚎缂栫爜</param>
@@ -1448,11 +1459,12 @@
             <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.BasicSettingController.DeleteOrganization(System.Int32)">
+        <member name="M:VueWebApi.Controllers.BasicSettingController.DeleteOrganization(System.Int32,System.String)">
             <summary>
             缁勭粐鏋舵瀯鍒犻櫎
             </summary>
             <param name="orgid">缁勭粐id</param>
+            <param name="orgcode">缁勭粐缂栫爜</param>
             <returns></returns>
         </member>
         <member name="M:VueWebApi.Controllers.BasicSettingController.UserSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
@@ -2408,7 +2420,7 @@
             <param name="username">鐢ㄦ埛鍚嶇О</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.LoginController.LoginAppOut(System.Int32,System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.LoginController.LoginAppOut(System.Int32,System.String,System.String,System.String,System.String)">
             <summary>
             APP鐧诲嚭
             </summary>
@@ -2416,9 +2428,10 @@
             <param name="usercode">鐢ㄦ埛缂栫爜</param>
             <param name="username">鐢ㄦ埛鍚�</param>
             <param name="usertype">鎿嶄綔绔疨C/APP</param>
+            <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.LoginController.LoginAppAnDonMessage(System.String,System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.LoginController.LoginAppAnDonMessage(System.String,System.String,System.String,System.String,System.String,System.String)">
             <summary>
             App鐧诲綍鏌ヨ瀹夌伅鍛煎彨淇℃伅
             </summary>
@@ -2426,6 +2439,8 @@
             <param name="usercode">鐢ㄦ埛缂栫爜</param>
             <param name="username">鐢ㄦ埛鍚嶇О</param>
             <param name="usertype">鎿嶄綔绔疨C/APP</param>
+            <param name="stu_torgcode">鎵�灞炵紪鐮佺粍缁�</param>
+            <param name="stu_torgtypecode">鎵�灞炵粍缁囩被鍨�</param>
             <returns></returns>
         </member>
         <member name="M:VueWebApi.Controllers.MaterialManagerController.WareHouseDefSearch(System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
@@ -2690,13 +2705,14 @@
             <param name="orderstepqrcode">鎵弿鐨勪簩缁寸爜淇℃伅</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepStart(System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepStart(System.String,System.String,System.String,System.String)">
             <summary>
             鐢熶骇寮�鎶ュ伐锛氬紑宸�(寮�濮�/鎶ュ伐)/澶栧崗(鍙戞枡/鏀舵枡)鏃舵潯浠跺垽鏂強鏁版嵁杩斿洖鎺ュ彛
             </summary>
             <param name="OperType">鎿嶄綔绫诲瀷锛氳嚜鍒�(ZZ)/澶栧崗(WX)</param>
             <param name="SelectType">鎿嶄綔绫诲瀷锛氬鍗忓彂鏂欐爣璇�(OUT)/澶栧崗鏀舵枡鏍囪瘑(IN)</param>
             <param name="orderstepqrcode">鎵弿浜岀淮鐮佷俊鎭�</param>
+            <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
             <returns></returns>
         </member>
         <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepStartSelectEqp(System.String)">
@@ -2777,10 +2793,11 @@
             <param name="json">鎻愪氦鏁版嵁</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepCheckSearch(System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepCheckSearch(System.String,System.String,System.String)">
             <summary>
             宸ュ簭妫�楠屾壂鐮佽幏鍙栦换鍔′俊鎭�
             </summary>
+            <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
             <param name="orderstepqrcode">鎵弿宸ュ簭浜岀淮鐮佷俊鎭�</param>
             <param name="checktype">妫�楠屾柟寮廎irstCheck锛堥妫�锛� PatroCheck(宸℃)  EndCheck(瀹屽伐妫�)</param>
             <returns></returns>
@@ -4470,19 +4487,21 @@
             <param name="listId"></param>  
             <param name="func"></param>  
         </member>
-        <member name="M:VueWebApi.Tools.ScanStartReport.ZZEncodingSeach(System.String,System.String)">
+        <member name="M:VueWebApi.Tools.ScanStartReport.ZZEncodingSeach(System.String,System.String,System.String)">
             <summary>
             鎵爜淇℃伅涓哄伐鍗�+宸ュ簭鏉$爜
             </summary>
+            <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
             <param name="ordercode">宸ュ崟缂栧彿</param>
             <param name="stepcode">宸ュ簭缂栫爜</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Tools.ScanStartReport.WXEncodingSeach(System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Tools.ScanStartReport.WXEncodingSeach(System.String,System.String,System.String,System.String)">
             <summary>
             鐢熶骇寮�鎶ュ伐:澶栧崗宸ュ簭浠诲姟寮�鎶ュ伐鍒ゆ柇:宸ュ崟鍙�+宸ュ簭
             </summary>
-            <param name="OperType">鎿嶄綔绫诲瀷</param>
+            <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
+            <param name="SelectType">鎿嶄綔绫诲瀷</param>
             <param name="ordercode">宸ュ崟缂栧彿</param>
             <param name="stepcode">宸ュ簭缂栫爜</param>
             <returns></returns>
diff --git a/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
index 678dd6b..35e76f4 100644
--- a/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
+++ b/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
Binary files differ
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls" "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
index 214c574..e8d342f 100644
--- "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\347\224\250\346\210\267\346\270\205\345\215\225.xls"
Binary files differ
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\212\202\346\213\215\345\267\245\344\273\267.xls" "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\212\202\346\213\215\345\267\245\344\273\267.xls"
index caedff9..af8e14e 100644
--- "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\212\202\346\213\215\345\267\245\344\273\267.xls"
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\212\202\346\213\215\345\267\245\344\273\267.xls"
Binary files differ
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\247\222\350\211\262\346\270\205\345\215\225.xls" "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\247\222\350\211\262\346\270\205\345\215\225.xls"
index 82db4e3..7accda8 100644
--- "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\247\222\350\211\262\346\270\205\345\215\225.xls"
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\247\222\350\211\262\346\270\205\345\215\225.xls"
Binary files differ
diff --git "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls" "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls"
index 5f55e68..b7e051c 100644
--- "a/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls"
+++ "b/VueWebApi/obj/Release/Package/PackageTmp/Excel/\350\256\276\345\244\207\346\270\205\345\215\225.xls"
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
index ecfa78c..6c7f78a 100644
--- a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
index 640d7d6..8da5e0c 100644
--- a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
@@ -506,19 +506,23 @@
             </summary>
             <param name="documentPath">The physical path to XML document.</param>
         </member>
-        <member name="M:VueWebApi.Controllers.AppAnalyticsController.ProductionKanban(System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.AppAnalyticsController.ProductionKanban(System.String,System.String,System.String,System.String,System.String)">
             <summary>
             App鐢熶骇鐪嬫澘
             </summary>
+            <param name="stu_torgcode">缁勭粐缂栫爜</param>
+            <param name="stu_torgtypecode">缁勭粐绫诲瀷</param>
             <param name="usercode">鐧诲綍浜哄憳</param>
             <param name="Ratetime">鏃堕棿</param>
             <param name="defecttype">缂洪櫡缁熻绫诲瀷</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.AppAnalyticsController.ProductionScheduleKanban(System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.AppAnalyticsController.ProductionScheduleKanban(System.String,System.String,System.String,System.String,System.String)">
             <summary>
             App鐢熶骇杩涘害鐪嬫澘鍗曟嵁淇℃伅
             </summary>
+            <param name="stu_torgcode">缁勭粐缂栫爜</param>
+            <param name="stu_torgtypecode">缁勭粐绫诲瀷</param>
             <param name="ordertype">鍗曟嵁绫诲瀷(SO:閿�鍞鍗曘�丮O:鐢熶骇璁㈠崟銆丳O:鐢熶骇宸ュ崟)</param>
             <param name="partcode">浜у搧淇℃伅(鍙涓�)</param>
             <param name="Ratetime">鍗曟嵁鏃ユ湡鑼冨洿</param>
@@ -533,10 +537,11 @@
             <param name="Ratetime">鏃堕棿</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.AppProductionManagementController.MesOrderStepStart(System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.AppProductionManagementController.MesOrderStepStart(System.String,System.String,System.String,System.String)">
             <summary>
             鐢熶骇寮�鎶ュ伐锛氬紑宸�(寮�濮�/鎶ュ伐)/澶栧崗(鍙戞枡/鏀舵枡)鏃舵潯浠跺垽鏂強鏁版嵁杩斿洖鎺ュ彛
             </summary>
+            <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
             <param name="OperType">鎿嶄綔绫诲瀷锛氳嚜鍒�(ZZ)/澶栧崗(WX)</param>
             <param name="SelectType">鎿嶄綔绫诲瀷锛氬鍗忓彂鏂欐爣璇�(OUT)/澶栧崗鏀舵枡鏍囪瘑(IN)</param>
             <param name="orderstepqrcode">鎵弿浜岀淮鐮佷俊鎭�</param>
@@ -549,17 +554,20 @@
             <param name="orderstepqrcode">鎵弿浜岀淮鐮佷俊鎭�</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.AppProductionManagementController.MesOrderStepReportSelectUserGroup(System.String)">
+        <member name="M:VueWebApi.Controllers.AppProductionManagementController.MesOrderStepReportSelectUserGroup(System.String,System.String,System.String)">
             <summary>
             鐢熶骇寮�鎶ュ伐锛氭姤宸ユ椂鑾峰彇鐢熶骇鐝粍涓嬫媺妗�
             </summary>
+            <param name="stu_torgcode">缁勭粐缂栫爜</param>
+            <param name="stu_torgtypecode">缁勭粐绫诲瀷</param>
             <param name="wkshopcode">杞﹂棿缂栫爜</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.AppProductionManagementController.MesOrderGroupSelectUser(System.String)">
+        <member name="M:VueWebApi.Controllers.AppProductionManagementController.MesOrderGroupSelectUser(System.String,System.String)">
             <summary>
             鐢熶骇寮�鎶ュ伐锛氭牴鎹敓浜х彮缁勬煡鎵句汉鍛樺垪琛�
             </summary>
+            <param name="stu_torgcode">缁勭粐缂栫爜</param>
             <param name="usergroupcode">鐝粍缂栫爜</param>
             <returns></returns>
         </member>
@@ -742,10 +750,11 @@
             </summary>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.AppQualityManagementController.StepCheckSearch(System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.AppQualityManagementController.StepCheckSearch(System.String,System.String,System.String)">
             <summary>
             宸ュ簭妫�楠屾壂鐮佽幏鍙栦换鍔′俊鎭�
             </summary>
+            <param name="stu_torgcode">缁勭粐缂栫爜</param>
             <param name="orderstepqrcode">鎵弿宸ュ簭浜岀淮鐮佷俊鎭�</param>
             <param name="checktype">妫�楠屾柟寮廎irstCheck锛堥妫�锛� PatroCheck(宸℃)  EndCheck(瀹屽伐妫�)</param>
             <returns></returns>
@@ -1106,10 +1115,11 @@
             </summary>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.ReportManagerController.MaintenanceDetailsReportSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.ReportManagerController.MaintenanceDetailsReportSearch(System.Int32,System.Int32,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
             <summary>
             缁翠慨鏄庣粏鎶ヨ〃 
             </summary>
+            <param name="wkshopcode">杞﹂棿缂栧彿</param>
             <param name="wocode">宸ュ崟缂栧彿</param>
             <param name="partcode">浜у搧缂栫爜</param>
             <param name="partname">浜у搧鍚嶇О</param>
@@ -1125,10 +1135,11 @@
             <param name="order">鎺掑簭瑙勫垯</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.ReportManagerController.MaintenanceDetailsReportExcelSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.ReportManagerController.MaintenanceDetailsReportExcelSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
             <summary>
             缁翠慨鏄庣粏鎶ヨ〃瀵煎嚭 
             </summary>
+            <param name="wkshopcode">杞﹂棿缂栧彿</param>
             <param name="wocode">宸ュ崟缂栧彿</param>
             <param name="partcode">浜у搧缂栫爜</param>
             <param name="partname">浜у搧鍚嶇О</param>
@@ -1228,7 +1239,7 @@
             <summary>
             鐢熶骇杩涘害鎶ヨ〃
             </summary>
-            <param name=" wkshopcode">杞﹂棿缂栫爜</param>
+            <param name="wkshopcode">杞﹂棿缂栫爜</param>
             <param name="status">宸ュ崟鐘舵��</param>
             <param name="wocode">宸ュ崟缂栧彿</param>
             <param name="routecode">宸ヨ壓璺嚎缂栫爜</param>
@@ -1247,7 +1258,7 @@
             <summary>
             鐢熶骇杩涘害鎶ヨ〃瀵煎嚭
             </summary>
-            <param name=" wkshopcode">杞﹂棿缂栫爜</param>
+            <param name="wkshopcode">杞﹂棿缂栫爜</param>
             <param name="status">宸ュ崟鐘舵��</param>
             <param name="wocode">宸ュ崟缂栧彿</param>
             <param name="routecode">宸ヨ壓璺嚎缂栫爜</param>
@@ -1448,11 +1459,12 @@
             <param name="obj">鎻愪氦鏁版嵁瀵硅薄</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.BasicSettingController.DeleteOrganization(System.Int32)">
+        <member name="M:VueWebApi.Controllers.BasicSettingController.DeleteOrganization(System.Int32,System.String)">
             <summary>
             缁勭粐鏋舵瀯鍒犻櫎
             </summary>
             <param name="orgid">缁勭粐id</param>
+            <param name="orgcode">缁勭粐缂栫爜</param>
             <returns></returns>
         </member>
         <member name="M:VueWebApi.Controllers.BasicSettingController.UserSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
@@ -2408,7 +2420,7 @@
             <param name="username">鐢ㄦ埛鍚嶇О</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.LoginController.LoginAppOut(System.Int32,System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.LoginController.LoginAppOut(System.Int32,System.String,System.String,System.String,System.String)">
             <summary>
             APP鐧诲嚭
             </summary>
@@ -2416,9 +2428,10 @@
             <param name="usercode">鐢ㄦ埛缂栫爜</param>
             <param name="username">鐢ㄦ埛鍚�</param>
             <param name="usertype">鎿嶄綔绔疨C/APP</param>
+            <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.LoginController.LoginAppAnDonMessage(System.String,System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.LoginController.LoginAppAnDonMessage(System.String,System.String,System.String,System.String,System.String,System.String)">
             <summary>
             App鐧诲綍鏌ヨ瀹夌伅鍛煎彨淇℃伅
             </summary>
@@ -2426,6 +2439,8 @@
             <param name="usercode">鐢ㄦ埛缂栫爜</param>
             <param name="username">鐢ㄦ埛鍚嶇О</param>
             <param name="usertype">鎿嶄綔绔疨C/APP</param>
+            <param name="stu_torgcode">鎵�灞炵紪鐮佺粍缁�</param>
+            <param name="stu_torgtypecode">鎵�灞炵粍缁囩被鍨�</param>
             <returns></returns>
         </member>
         <member name="M:VueWebApi.Controllers.MaterialManagerController.WareHouseDefSearch(System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
@@ -2690,13 +2705,14 @@
             <param name="orderstepqrcode">鎵弿鐨勪簩缁寸爜淇℃伅</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepStart(System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepStart(System.String,System.String,System.String,System.String)">
             <summary>
             鐢熶骇寮�鎶ュ伐锛氬紑宸�(寮�濮�/鎶ュ伐)/澶栧崗(鍙戞枡/鏀舵枡)鏃舵潯浠跺垽鏂強鏁版嵁杩斿洖鎺ュ彛
             </summary>
             <param name="OperType">鎿嶄綔绫诲瀷锛氳嚜鍒�(ZZ)/澶栧崗(WX)</param>
             <param name="SelectType">鎿嶄綔绫诲瀷锛氬鍗忓彂鏂欐爣璇�(OUT)/澶栧崗鏀舵枡鏍囪瘑(IN)</param>
             <param name="orderstepqrcode">鎵弿浜岀淮鐮佷俊鎭�</param>
+            <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
             <returns></returns>
         </member>
         <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepStartSelectEqp(System.String)">
@@ -2777,10 +2793,11 @@
             <param name="json">鎻愪氦鏁版嵁</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepCheckSearch(System.String,System.String)">
+        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepCheckSearch(System.String,System.String,System.String)">
             <summary>
             宸ュ簭妫�楠屾壂鐮佽幏鍙栦换鍔′俊鎭�
             </summary>
+            <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
             <param name="orderstepqrcode">鎵弿宸ュ簭浜岀淮鐮佷俊鎭�</param>
             <param name="checktype">妫�楠屾柟寮廎irstCheck锛堥妫�锛� PatroCheck(宸℃)  EndCheck(瀹屽伐妫�)</param>
             <returns></returns>
@@ -4470,19 +4487,21 @@
             <param name="listId"></param>  
             <param name="func"></param>  
         </member>
-        <member name="M:VueWebApi.Tools.ScanStartReport.ZZEncodingSeach(System.String,System.String)">
+        <member name="M:VueWebApi.Tools.ScanStartReport.ZZEncodingSeach(System.String,System.String,System.String)">
             <summary>
             鎵爜淇℃伅涓哄伐鍗�+宸ュ簭鏉$爜
             </summary>
+            <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
             <param name="ordercode">宸ュ崟缂栧彿</param>
             <param name="stepcode">宸ュ簭缂栫爜</param>
             <returns></returns>
         </member>
-        <member name="M:VueWebApi.Tools.ScanStartReport.WXEncodingSeach(System.String,System.String,System.String)">
+        <member name="M:VueWebApi.Tools.ScanStartReport.WXEncodingSeach(System.String,System.String,System.String,System.String)">
             <summary>
             鐢熶骇寮�鎶ュ伐:澶栧崗宸ュ簭浠诲姟寮�鎶ュ伐鍒ゆ柇:宸ュ崟鍙�+宸ュ簭
             </summary>
-            <param name="OperType">鎿嶄綔绫诲瀷</param>
+            <param name="stu_torgcode">鎵�灞炵粍缁囩紪鐮�</param>
+            <param name="SelectType">鎿嶄綔绫诲瀷</param>
             <param name="ordercode">宸ュ崟缂栧彿</param>
             <param name="stepcode">宸ュ簭缂栫爜</param>
             <returns></returns>
diff --git a/VueWebApi/obj/Release/VueWebApi.pdb b/VueWebApi/obj/Release/VueWebApi.pdb
index ecfa78c..6c7f78a 100644
--- a/VueWebApi/obj/Release/VueWebApi.pdb
+++ b/VueWebApi/obj/Release/VueWebApi.pdb
Binary files differ

--
Gitblit v1.9.3