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

---
 VueWebApi/DLL/DAL/DeviceManagerDAL.cs |  633 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 559 insertions(+), 74 deletions(-)

diff --git a/VueWebApi/DLL/DAL/DeviceManagerDAL.cs b/VueWebApi/DLL/DAL/DeviceManagerDAL.cs
index dc7d500..bcfb07e 100644
--- a/VueWebApi/DLL/DAL/DeviceManagerDAL.cs
+++ b/VueWebApi/DLL/DAL/DeviceManagerDAL.cs
@@ -359,14 +359,36 @@
         #endregion
 
         #region[鎵�灞炶溅闂翠笅鎷夋帴鍙
-        public static ToMessage WorkShopSelect()
+        public static ToMessage WorkShopSelect(string stu_torgcode, string description)
         {
             string sql = "";
+            string search = "";
+            var dynamicParams = new DynamicParameters();
             try
             {
                 //鑾峰彇璁惧绫诲瀷鏁版嵁
-                sql = @"select org_code as code,org_name as name from TOrganization where description='W' and is_delete<>'1'";
-                var data = DapperHelper.selecttable(sql);
+                switch (description)
+                {
+                    case "":
+                        search += "and parent.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 parent.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
+                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;
+                var data = DapperHelper.selectdata(sql, dynamicParams);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
                 mes.data = data;
@@ -410,12 +432,31 @@
         #endregion
 
         #region [璁惧娓呭崟鏌ヨ]
-        public static ToMessage DeviceMangerSearch(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 = "";
             try
             {
+                if (workShop != "" && workShop != null)
+                {
+                    search += "and A.wksp_code=@workShop ";
+                    dynamicParams.Add("@workShop", workShop);
+                }
+                else
+                {
+                    switch (description)
+                    {
+                        case "":
+                            search += "and T.description=@description ";
+                            dynamicParams.Add("@description", "W");
+                            break;
+                        case "D":
+                            search += "and  L.org_code=@stu_torgcode ";
+                            dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                            break;
+                    }
+                }
                 if (deviceCode != "" && deviceCode != null)
                 {
                     search += "and A.code like '%'+@deviceCode+'%' ";
@@ -430,11 +471,6 @@
                 {
                     search += "and A.enable=@status ";
                     dynamicParams.Add("@status", status);
-                }
-                if (workShop != "" && workShop != null)
-                {
-                    search += "and A.wksp_code=@workShop ";
-                    dynamicParams.Add("@workShop", workShop);
                 }
                 if (deviceType != "" && deviceType != null)
                 {
@@ -458,8 +494,8 @@
                             from TEqpInfo A
                             left join TEqpType B on A.eqptype_code=B.code
                             left join TEqpGroup G on A.eqpgroup_code=G.code
-                            left join TOrganization T on A.wksp_code=T.org_code
-                            left join TOrganization L on A.Line_code=L.org_code
+                            left join TOrganization T on A.wksp_code=T.org_code 
+                            left join TOrganization as L on T.parent_id=L.id 
                             left join TUser U on A.lm_user=U.usercode
                             where A.is_delete<>'1' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
@@ -1026,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+'%' ";
@@ -1054,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 = "鏌ヨ鎴愬姛!";
@@ -1179,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()
                             }
@@ -1209,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++)
                     {
@@ -1286,7 +1343,9 @@
                 //鍒犻櫎璁惧鐐规鏍囧噯鍏宠仈鐐规椤圭洰瀛愯〃
                 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 eqpchkmain_code=@checkstand_code";
+                list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
                 {
@@ -1315,21 +1374,38 @@
         #endregion
 
         #region[璁惧鐐规鏍囧噯鍏宠仈宸ヤ綔绔欐煡璇
-        public static ToMessage DeviceCheckStanedAssociationEqp(string checkstand_code)
+        public static ToMessage DeviceCheckStanedAssociationEqp(string stu_torgcode, string description, string checkstand_code)
         {
             string sql = "";
+            string search = "";
             var dynamicParams = new DynamicParameters();
             List<StandEqp> list = new List<StandEqp>();
             try
             {
+                switch (description)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search += "and T.org_code=@stu_torgcode or 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 distinct T.org_code as wksp_code,T.org_name as wksp_name,'E' as type,(case when B.eqp_code is null then 'N' else 'Y' end) flag 
                         from TOrganization T
+                        left join TOrganization as child on T.parent_id=child.id 
                         left join(
                         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 is_delete<>'1'";
+                        ) 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++)
@@ -1351,9 +1427,8 @@
                     sql = @"select *  from(
                             select AA.code,AA.name,'E' as type,(case when BB.eqpchkmain_code is null then 'N' else 'Y' end) flag,(case when AA.eqpchkmain_code  is null then 'N' else 'Y' end) flage1
                             from(
-                            select A.code,A.name,B.eqpchkmain_code
+                            select A.code,A.name,'' as eqpchkmain_code
                             from TEqpInfo A
-                            left join TEqpchk_Eqp B on A.code=B.eqp_code
                             where A.wksp_code=@wkspcode and A.is_delete<>'1' 
                             ) as AA
                             left join (
@@ -1362,7 +1437,7 @@
                              inner join TEqpchk_Eqp B on A.code=B.eqp_code
                              where A.wksp_code=@wkspcode and B.eqpchkmain_code=@checkstand_code and A.is_delete<>'1'
                             ) as BB on AA.code=BB.code
-                            ) as CC where case when flag ='N' and flage1 ='Y' then 0 else 1 end=1";
+                            ) as CC ";  //where case when flag ='N' and flage1 ='Y' then 0 else 1 end=1
                     dynamicParams.Add("@checkstand_code", checkstand_code);
                     dynamicParams.Add("@wkspcode", data.Rows[i]["WKSP_CODE"].ToString());
                     var data0 = DapperHelper.selectdata(sql, dynamicParams);
@@ -1393,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,
@@ -1426,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)
@@ -1464,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+'%' ";
@@ -1485,7 +1588,7 @@
                     search += "and A.description like '%'+@repairstanddescr+'%' ";
                     dynamicParams.Add("@repairstanddescr", repairstanddescr);
                 }
-                
+
                 if (search == "")
                 {
                     search = "and 1=1 ";
@@ -1493,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 = "鏌ヨ鎴愬姛!";
@@ -1556,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
@@ -1602,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++)
                     {
                         //鏂板璁惧淇濆吇鏍囧噯鍏宠仈淇濆吇椤瑰瓙琛�
@@ -1647,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++)
                     {
@@ -1723,6 +1832,9 @@
                 //鍒犻櫎璁惧淇濆吇鏍囧噯鍏宠仈淇濆吇椤圭洰瀛愯〃
                 sql = @"delete TEqpmai_Deta  where eapmai_code=@repairstand_code";
                 list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
+                //鍒犻櫎璁惧淇濆吇鏍囧噯鍏宠仈璁惧琛�
+                sql = @"delete TEqpmai_Eqp  where eapmai_code=@repairstand_code";
+                list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
 
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -1752,21 +1864,38 @@
         #endregion
 
         #region[璁惧淇濆吇鏍囧噯鍏宠仈宸ヤ綔绔欐煡璇
-        public static ToMessage DeviceRepairStanedAssociationEqp(string repairstand_code)
+        public static ToMessage DeviceRepairStanedAssociationEqp(string stu_torgcode, string description, string repairstand_code)
         {
             string sql = "";
+            string search = "";
             var dynamicParams = new DynamicParameters();
             List<StandEqp> list = new List<StandEqp>();
             try
             {
+                switch (description)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search += "and T.org_code=@stu_torgcode or 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 distinct T.org_code as wksp_code,T.org_name as wksp_name,'E' as type,(case when B.eqp_code is null then 'N' else 'Y' end) flag 
                         from TOrganization T
+                        left join TOrganization as child on T.parent_id=child.id 
                         left join(
                         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 is_delete<>'1'";
+                        ) 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);
@@ -1789,9 +1918,8 @@
                     sql = @"select *  from(
                             select AA.code,AA.name,'E' as type,(case when BB.eapmai_code is null then 'N' else 'Y' end) flag,(case when AA.eapmai_code  is null then 'N' else 'Y' end) flage1
                             from(
-                            select A.code,A.name,B.eapmai_code
+                            select A.code,A.name,'' as eapmai_code
                             from TEqpInfo A
-                            left join TEqpmai_Eqp B on A.code=B.eqp_code
                             where A.wksp_code=@wkspcode and A.is_delete<>'1' 
                             ) as AA
                             left join (
@@ -1800,7 +1928,7 @@
                              inner join TEqpmai_Eqp B on A.code=B.eqp_code
                              where A.wksp_code=@wkspcode and B.eapmai_code=@repairstand_code and A.is_delete<>'1'
                             ) as BB on AA.code=BB.code
-                            ) as CC where case when flag ='N' and flage1 ='Y' then 0 else 1 end=1";
+                            ) as CC ";  //where case when flag ='N' and flage1 ='Y' then 0 else 1 end=1
                     dynamicParams.Add("@repairstand_code", repairstand_code);
                     dynamicParams.Add("@wkspcode", data.Rows[i]["WKSP_CODE"].ToString());
                     var data0 = DapperHelper.selectdata(sql, dynamicParams);
@@ -1831,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,
@@ -1864,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)
@@ -1902,7 +2040,7 @@
 
 
         #region[璁惧鐐规璁板綍鏌ヨ]
-        public static ToMessage DeviceCheckTakeSearch(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 = "";
@@ -1912,6 +2050,20 @@
                 {
                     search += "and T.org_code=@wkshopcode ";
                     dynamicParams.Add("@wkshopcode", wkshopcode);
+                }
+                else
+                {
+                    switch (description)
+                    {
+                        case "":
+                            search += "and T.description=@description ";
+                            dynamicParams.Add("@description", "W");
+                            break;
+                        case "D":
+                            search += "and  L.org_code=@stu_torgcode ";
+                            dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                            break;
+                    }
                 }
                 if (eqpcode != "" && eqpcode != null)
                 {
@@ -1952,6 +2104,7 @@
                             left join TEqpInfo E on A.eqp_code=E.code
                             left join TEqpchk_Main M on A.eqpchkmain_code=M.code
                             left join TOrganization T on E.wksp_code=T.org_code
+                            left join TOrganization as L on T.parent_id=L.id 
                             where T.description='W' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
@@ -2000,7 +2153,7 @@
         #endregion
 
         #region[璁惧鐐规璁板綍瀵煎嚭]
-        public static ToMessage DeviceCheckTakeOutExcel(string wkshopcode, string eqpcode, string eqpname, string stanedname, string checkuser, string checkopendate, string checkclosedate)
+        public static ToMessage DeviceCheckTakeOutExcel(string stu_torgcode, string description, string wkshopcode, string eqpcode, string eqpname, string stanedname, string checkuser, string checkopendate, string checkclosedate)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
@@ -2010,6 +2163,20 @@
                 {
                     search += "and T.org_code=@wkshopcode ";
                     dynamicParams.Add("@wkshopcode", wkshopcode);
+                }
+                else
+                {
+                    switch (description)
+                    {
+                        case "":
+                            search += "and T.description=@description ";
+                            dynamicParams.Add("@description", "W");
+                            break;
+                        case "D":
+                            search += "and  L.org_code=@stu_torgcode ";
+                            dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                            break;
+                    }
                 }
                 if (eqpcode != "" && eqpcode != null)
                 {
@@ -2078,6 +2245,7 @@
                             left join TEqpInfo E on A.eqp_code=E.code
                             left join TEqpchk_Main M on A.eqpchkmain_code=M.code
                             left join TOrganization T on E.wksp_code=T.org_code
+                            left join TOrganization as L on T.parent_id=L.id 
                             left join TEqpchk_Item H on B.eqpchkdeta_code=H.code
                             where T.description='W' " + search;
                 DataTable data = DapperHelper.selectdata(sql, dynamicParams);
@@ -2102,7 +2270,7 @@
 
 
         #region[璁惧淇濆吇璁板綍鏌ヨ]
-        public static ToMessage DeviceCheckTakeSearch(string wkshopcode, string eqpcode, string eqpname, string stanedname, string repairuser, string repairopendate, string repairclosedate, string repairresult, 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 repairuser, string repairopendate, string repairclosedate, string repairresult, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
@@ -2112,6 +2280,20 @@
                 {
                     search += "and T.org_code=@wkshopcode ";
                     dynamicParams.Add("@wkshopcode", wkshopcode);
+                }
+                else
+                {
+                    switch (description)
+                    {
+                        case "":
+                            search += "and T.description=@description ";
+                            dynamicParams.Add("@description", "W");
+                            break;
+                        case "D":
+                            search += "and  L.org_code=@stu_torgcode ";
+                            dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                            break;
+                    }
                 }
                 if (eqpcode != "" && eqpcode != null)
                 {
@@ -2157,6 +2339,7 @@
                             left join TEqpInfo E on A.eqp_code=E.code
                             left join TEqpmai_Main M on A.eqpmaint_code=M.code
                             left join TOrganization T on E.wksp_code=T.org_code
+                            left join TOrganization as L on T.parent_id=L.id 
                             where T.description='W' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
@@ -2205,7 +2388,7 @@
         #endregion
 
         #region[璁惧淇濆吇璁板綍瀵煎嚭]
-        public static ToMessage DeviceRepairTakeOutExcel(string wkshopcode, string eqpcode, string eqpname, string stanedname, string repairuser, string repairopendate, string repairclosedate, string repairresult)
+        public static ToMessage DeviceRepairTakeOutExcel(string stu_torgcode, string description, string wkshopcode, string eqpcode, string eqpname, string stanedname, string repairuser, string repairopendate, string repairclosedate, string repairresult)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
@@ -2215,6 +2398,20 @@
                 {
                     search += "and T.org_code=@wkshopcode ";
                     dynamicParams.Add("@wkshopcode", wkshopcode);
+                }
+                else
+                {
+                    switch (description)
+                    {
+                        case "":
+                            search += "and T.description=@description ";
+                            dynamicParams.Add("@description", "W");
+                            break;
+                        case "D":
+                            search += "and  L.org_code=@stu_torgcode ";
+                            dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                            break;
+                    }
                 }
                 if (eqpcode != "" && eqpcode != null)
                 {
@@ -2251,7 +2448,7 @@
                 {
                     search = "and 1=1 ";
                 }
-                search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
                 var sql = @"select 
@@ -2291,6 +2488,7 @@
                             left join TEqpInfo E on A.eqp_code=E.code
                             left join TEqpmai_Main M on A.eqpmaint_code=M.code
                             left join TOrganization T on E.wksp_code=T.org_code
+                            left join TOrganization as L on T.parent_id=L.id 
                             left join TEqpmai_Item H on B.eqpmaideta_code=H.code
                             where T.description='W' " + search;
                 DataTable data = DapperHelper.selectdata(sql, dynamicParams);
@@ -2311,5 +2509,292 @@
             return mes;
         }
         #endregion
+
+
+
+        #region[璁惧缁翠慨璁板綍鏌ヨ]
+        public static ToMessage DeviceUpdateSearch(string stu_torgcode, string description, string wkshopcode, string eqpcode, string eqpname, string reportuser, string repairuser, string vrifcatuser, string reportopendate, string reportclosedate, string repairopendate, string repairclosedate, string vrifcatopendate, string vrifcatclosedate, int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (wkshopcode != "" && wkshopcode != null)
+                {
+                    search += "and A.wksp_code=@wkshopcode ";
+                    dynamicParams.Add("@wkshopcode", wkshopcode);
+                }
+                else
+                {
+                    switch (description)
+                    {
+                        case "":
+                            search += "and T.description=@description ";
+                            dynamicParams.Add("@description", "W");
+                            break;
+                        case "D":
+                            search += "and  L.org_code=@stu_torgcode ";
+                            dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                            break;
+                    }
+                }
+                if (eqpcode != "" && eqpcode != null)
+                {
+                    search += "and A.eqp_code like '%'+@eqpcode+'%' ";
+                    dynamicParams.Add("@eqpcode", eqpcode);
+                }
+                if (eqpname != "" && eqpname != null)
+                {
+                    search += "and E.name like '%'+@eqpname+'%' ";
+                    dynamicParams.Add("@eqpname", eqpname);
+                }
+                if (reportuser != "" && reportuser != null)
+                {
+                    search += "and B.request_person like '%'+@reportuser+'%' ";
+                    dynamicParams.Add("@reportuser", reportuser);
+                }
+                if (repairuser != "" && repairuser != null)
+                {
+                    search += "and A.repair_person like '%'+@repairuser+'%' ";
+                    dynamicParams.Add("@repairuser", repairuser);
+                }
+                if (vrifcatuser != "" && vrifcatuser != null)
+                {
+                    search += "and A.verify_person like '%'+@vrifcatuser+'%' ";
+                    dynamicParams.Add("@vrifcatuser", vrifcatuser);
+                }
+                if (reportopendate != "" && reportopendate != null)
+                {
+                    search += "and B.request_date between @reportopendate and @reportclosedate ";
+                    dynamicParams.Add("@reportopendate", reportopendate + " 00:00:00");
+                    dynamicParams.Add("@reportclosedate", reportclosedate + " 23:59:59");
+                }
+                if (repairopendate != "" && repairopendate != null)
+                {
+                    search += "and A.repair_date between @repairopendate and @repairclosedate ";
+                    dynamicParams.Add("@repairopendate", repairopendate + " 00:00:00");
+                    dynamicParams.Add("@repairclosedate", repairclosedate + " 23:59:59");
+                }
+                if (vrifcatopendate != "" && vrifcatopendate != null)
+                {
+                    search += "and A.verify_date between @vrifcatopendate and @vrifcatclosedate ";
+                    dynamicParams.Add("@vrifcatopendate", vrifcatopendate + " 00:00:00");
+                    dynamicParams.Add("@vrifcatclosedate", vrifcatclosedate + " 23:59:59");
+                }
+
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.repair_code,A.wksp_code,T.org_name as wksp_name,A.eqp_code,E.name as eqp_name,B.request_person,B.request_date,
+                            A.repair_person,A.repair_date,CAST(datediff(minute, B.request_date,A.repair_date)/60.0 AS decimal(9,1)) as cycleDate,
+                            A.verify_person,A.verify_date,(case when A.verify_result='OK' then '閫氳繃' when  A.verify_result='NG' then '涓嶉�氳繃' end)as verify_result 
+                            from TEqp_Repair A
+                            left join TEqp_RepairRequest B on A.source_wo=B.docu_code 
+                            left join TEqpInfo E on A.eqp_code=E.code
+                            left join TOrganization T on A.wksp_code=T.org_code
+                            left join TOrganization as L on T.parent_id=L.id 
+                            where T.description='W' " + search;
+                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[璁惧缁翠慨璁板綍鏄庣粏鏌ヨ]
+        public static ToMessage DeviceUpdateSubSearch(string repair_code)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            Dictionary<object, object> Dict = new Dictionary<object, object>();
+            try
+            {
+                //鑾峰彇璁惧鎶ヤ慨鐢宠鏁版嵁
+                sql = @"select B.docu_code,
+                        (
+                        case when B.source='A' then '璁惧鐐规'
+                        when B.source='B' then '璁惧淇濆吇'
+                        when B.source='C' then '瀹夌伅鍛煎彨'
+                        when B.source='C' then '鎵嬪伐鍒涘缓' end
+                        ) as source,B.failure_descript from TEqp_Repair A
+                        left join TEqp_RepairRequest B on A.source_wo=B.docu_code
+                        where A.repair_code=@repair_code";
+                dynamicParams.Add("@repair_code", repair_code);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                DeviceReport report = new DeviceReport();
+                report.faultsource = data.Rows[0]["source"].ToString();
+                report.faultdescr = data.Rows[0]["failure_descript"].ToString();
+                //鑾峰彇璁惧鎶ヤ慨鐢宠鍥剧墖鏁版嵁
+                sql = @"select M.img1url from TEqp_Repair A
+                        left join TEqp_RepairRequest B on A.source_wo=B.docu_code
+                        left join TEqp_RepairImage M on B.docu_code=M.source_wo
+                        where A.repair_code=@repair_code and M.wo_type='REPA'";
+                dynamicParams.Add("@repair_code", repair_code);
+                var data0 = DapperHelper.selectdata(sql, dynamicParams);
+                report.faultimage = data0;
+                Dict.Add("data1", report);
+
+                //鑾峰彇璁惧缁翠慨鏁版嵁
+                sql = @"select A.failure_descript,A.is_shutdown,A.repair_content,A.repair_part from TEqp_Repair A
+                        left join TEqp_RepairRequest B on A.source_wo=B.docu_code
+                        where A.repair_code=@repair_code";
+                dynamicParams.Add("@repair_code", repair_code);
+                var data1 = DapperHelper.selectdata(sql, dynamicParams);
+                DeviceRepair repair = new DeviceRepair();
+                repair.faultdescr = data1.Rows[0]["failure_descript"].ToString();
+                repair.isstoprepair = data1.Rows[0]["is_shutdown"].ToString();
+                repair.repaircontent = data1.Rows[0]["repair_content"].ToString();
+                repair.repairpart = data1.Rows[0]["repair_part"].ToString();
+                //鑾峰彇璁惧缁翠慨鍥剧墖鏁版嵁
+                sql = @"select M.img1url,M.img2url from TEqp_Repair A
+                        left join TEqp_RepairImage M on A.repair_code=M.source_wo
+                        where A.repair_code=@repair_code and M.wo_type='COMP'";
+                dynamicParams.Add("@repair_code", repair_code);
+                var data3 = DapperHelper.selectdata(sql, dynamicParams);
+                repair.repairimage = data3;
+                Dict.Add("data2", repair);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = Dict;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[璁惧缁翠慨璁板綍瀵煎嚭]
+        public static ToMessage DeviceUpdateOutExcel(string stu_torgcode, string description, string wkshopcode, string eqpcode, string eqpname, string reportuser, string repairuser, string vrifcatuser, string reportopendate, string reportclosedate, string repairopendate, string repairclosedate, string vrifcatopendate, string vrifcatclosedate)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (wkshopcode != "" && wkshopcode != null)
+                {
+                    search += "and A.wksp_code=@wkshopcode ";
+                    dynamicParams.Add("@wkshopcode", wkshopcode);
+                }
+                else
+                {
+                    switch (description)
+                    {
+                        case "":
+                            search += "and T.description=@description ";
+                            dynamicParams.Add("@description", "W");
+                            break;
+                        case "D":
+                            search += "and  L.org_code=@stu_torgcode ";
+                            dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                            break;
+                    }
+                }
+                if (eqpcode != "" && eqpcode != null)
+                {
+                    search += "and A.eqp_code like '%'+@eqpcode+'%' ";
+                    dynamicParams.Add("@eqpcode", eqpcode);
+                }
+                if (eqpname != "" && eqpname != null)
+                {
+                    search += "and E.name like '%'+@eqpname+'%' ";
+                    dynamicParams.Add("@eqpname", eqpname);
+                }
+                if (reportuser != "" && reportuser != null)
+                {
+                    search += "and B.request_person like '%'+@reportuser+'%' ";
+                    dynamicParams.Add("@reportuser", reportuser);
+                }
+                if (repairuser != "" && repairuser != null)
+                {
+                    search += "and A.repair_person like '%'+@repairuser+'%' ";
+                    dynamicParams.Add("@repairuser", repairuser);
+                }
+                if (vrifcatuser != "" && vrifcatuser != null)
+                {
+                    search += "and A.verify_person like '%'+@vrifcatuser+'%' ";
+                    dynamicParams.Add("@vrifcatuser", vrifcatuser);
+                }
+                if (reportopendate != "" && reportopendate != null)
+                {
+                    search += "and B.request_date between @reportopendate and @reportclosedate ";
+                    dynamicParams.Add("@reportopendate", reportopendate + " 00:00:00");
+                    dynamicParams.Add("@reportclosedate", reportclosedate + " 23:59:59");
+                }
+                if (repairopendate != "" && repairopendate != null)
+                {
+                    search += "and A.repair_date between @repairopendate and @repairclosedate ";
+                    dynamicParams.Add("@repairopendate", repairopendate + " 00:00:00");
+                    dynamicParams.Add("@repairclosedate", repairclosedate + " 23:59:59");
+                }
+                if (vrifcatopendate != "" && vrifcatopendate != null)
+                {
+                    search += "and A.verify_date between @vrifcatopendate and @vrifcatclosedate ";
+                    dynamicParams.Add("@vrifcatopendate", vrifcatopendate + " 00:00:00");
+                    dynamicParams.Add("@vrifcatclosedate", vrifcatclosedate + " 23:59:59");
+                }
+
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select 
+                            A.repair_code as '缁翠慨鍗曞彿',
+                            T.org_name as '鎵�灞炶溅闂�',
+                            A.eqp_code as '璁惧缂栫爜',
+                            E.name as '璁惧鍚嶇О',
+                            B.request_person as '鎶ヤ慨浜哄憳',
+                            B.request_date as '鎶ヤ慨鏃堕棿',
+                            A.repair_person as '缁翠慨浜哄憳',
+                            A.repair_date as '缁翠慨鏃堕棿', 
+                            CAST(datediff(minute, B.request_date,A.repair_date)/60.0 AS decimal(9,1))  as '缁翠慨鏃堕暱(灏忔椂)',
+                            A.verify_person as '楠岃瘉浜哄憳',
+                            A.verify_date as '楠岃瘉鏃堕棿',
+                            (case when A.verify_result='OK' then '閫氳繃' when  A.verify_result='NG' then '涓嶉�氳繃' end)as '楠岃瘉缁撴灉' 
+                            from TEqp_Repair A
+                            left join TEqp_RepairRequest B on A.source_wo=B.docu_code 
+                            left join TEqpInfo E on A.eqp_code=E.code
+                            left join TOrganization T on A.wksp_code=T.org_code
+                            left join TOrganization as L on T.parent_id=L.id 
+                            where T.description='W'" + search;
+                DataTable data = DapperHelper.selectdata(sql, dynamicParams);
+                data.TableName = "Table"; //璁剧疆DataTable鐨勫悕绉�
+                string msg = DownLoad.DataTableToExcel(data, "璁惧缁翠慨璁板綍");
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = msg;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3