From af7cef297da2ac1937dbcf437c3a91b00658f6c2 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期三, 29 三月 2023 10:47:39 +0800
Subject: [PATCH] 订单下达获取工单语句修改,手工创建工单获取单号接口

---
 VueWebApi/DLL/DAL/DeviceManagerDAL.cs |  857 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 784 insertions(+), 73 deletions(-)

diff --git a/VueWebApi/DLL/DAL/DeviceManagerDAL.cs b/VueWebApi/DLL/DAL/DeviceManagerDAL.cs
index ef8756f..930c240 100644
--- a/VueWebApi/DLL/DAL/DeviceManagerDAL.cs
+++ b/VueWebApi/DLL/DAL/DeviceManagerDAL.cs
@@ -614,8 +614,15 @@
                     mes.data = null;
                     return mes;
                 }
+
                 //鍒犻櫎璁惧
                 sql = @"update TEqpInfo set is_delete='1' where code=@devicecode";
+                list.Add(new { str = sql, parm = new { devicecode = devicecode } });
+                //鍒犻櫎璁惧鍏宠仈鐐规鏍囧噯琛�
+                sql = @"delete TEqpchk_Eqp  where eqp_code=@devicecode";
+                list.Add(new { str = sql, parm = new { devicecode = devicecode } });
+                //鍒犻櫎璁惧缁戝畾淇濆吇鏍囧噯琛�
+                sql = @"delete TEqpmai_Eqp  where eqp_code=@devicecode";
                 list.Add(new { str = sql, parm = new { devicecode = devicecode } });
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -656,27 +663,27 @@
             {
                 if (checkitemcode != "" && checkitemcode != null)
                 {
-                    search += "and code like '%'+@checkitemcode+'%' ";
+                    search += "and A.code like '%'+@checkitemcode+'%' ";
                     dynamicParams.Add("@checkitemcode", checkitemcode);
                 }
                 if (checkitemname != "" && checkitemname != null)
                 {
-                    search += "and name like '%'+@checkitemname+'%' ";
+                    search += "and A.name like '%'+@checkitemname+'%' ";
                     dynamicParams.Add("@checkitemname", checkitemname);
                 }
                 if (checkdescr != "" && checkdescr != null)
                 {
-                    search += "and description=@checkdescr ";
+                    search += "and A.description like '%'+@checkdescr+'%' ";
                     dynamicParams.Add("@checkdescr", checkdescr);
                 }
                 if (isqrcode != "" && isqrcode != null)
                 {
-                    search += "and isscan=@isqrcode ";
+                    search += "and A.isscan=@isqrcode ";
                     dynamicParams.Add("@isqrcode", isqrcode);
                 }
                 if (cycle != "" && cycle != null)
                 {
-                    search += "and isscan=@cycle ";
+                    search += "and A.cycle=@cycle ";
                     dynamicParams.Add("@cycle", cycle);
                 }
                 if (search == "")
@@ -686,8 +693,10 @@
                 //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select id,code,name,description,isscan,cycle,lm_user,lm_date 
-                            from TEqpchk_Item where is_delete<>'1' " + search;
+                var sql = @"select A.id,A.code,A.name,A.description,A.isscan,A.cycle,U.username as lm_user,A.lm_date 
+                            from TEqpchk_Item A
+                            left join TUser U on A.lm_user=U.usercode
+                            where A.is_delete<>'1' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -835,7 +844,7 @@
 
 
         #region[璁惧淇濆吇椤瑰垪琛ㄦ煡璇
-        public static ToMessage DeviceMaiItemSearch(string maiitemcode, string maiitemname, string maidescr, string isqrcode, string cycle, int startNum, int endNum, string prop, string order)
+        public static ToMessage DeviceMaiItemSearch(string maiitemcode, string maiitemname, string maidescr, string isqrcode, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
@@ -843,28 +852,23 @@
             {
                 if (maiitemcode != "" && maiitemcode != null)
                 {
-                    search += "and code like '%'+@maiitemcode+'%' ";
+                    search += "and A.code like '%'+@maiitemcode+'%' ";
                     dynamicParams.Add("@maiitemcode", maiitemcode);
                 }
                 if (maiitemname != "" && maiitemname != null)
                 {
-                    search += "and name like '%'+@maiitemname+'%' ";
+                    search += "and A.name like '%'+@maiitemname+'%' ";
                     dynamicParams.Add("@maiitemname", maiitemname);
                 }
                 if (maidescr != "" && maidescr != null)
                 {
-                    search += "and description=@maidescr ";
+                    search += "and A.description like '%'+@maidescr+'%' ";
                     dynamicParams.Add("@maidescr", maidescr);
                 }
                 if (isqrcode != "" && isqrcode != null)
                 {
-                    search += "and isscan=@isqrcode ";
+                    search += "and A.isscan=@isqrcode ";
                     dynamicParams.Add("@isqrcode", isqrcode);
-                }
-                if (cycle != "" && cycle != null)
-                {
-                    search += "and isscan=@cycle ";
-                    dynamicParams.Add("@cycle", cycle);
                 }
                 if (search == "")
                 {
@@ -873,8 +877,10 @@
                 //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select id,code,name,description,isscan,cycle,lm_user,lm_date 
-                            from TEqpmai_Item where is_delete<>'1' " + search;
+                var sql = @"select A.id,A.code,A.name,A.description,A.isscan,U.username as lm_user,A.lm_date 
+                            from TEqpmai_Item A
+                            left join TUser U on A.lm_user=U.usercode
+                            where A.is_delete<>'1' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -893,20 +899,19 @@
         #endregion
 
         #region[璁惧淇濆吇椤规柊澧炵紪杈慮
-        public static ToMessage AddUpdateDeviceMaiItem(string maiitemid, string maiitemcode, string maiitemname, string maiitemdescr, string cycle, string isqrcode, string usercode, string operType)
+        public static ToMessage AddUpdateDeviceMaiItem(string maiitemid, string maiitemcode, string maiitemname, string maiitemdescr, string isqrcode, string usercode, string operType)
         {
             var dynamicParams = new DynamicParameters();
             try
             {
                 if (operType == "Add")
                 {
-                    var sql = @"insert into TEqpmai_Item(code,name,description,isscan,cycle,lm_user,lm_date) 
-                              values(@maiitemcode,@maiitemname,@checkitemdescr,@isqrcode,@cycle,@usercode,@CreateDate)";
+                    var sql = @"insert into TEqpmai_Item(code,name,description,isscan,lm_user,lm_date) 
+                              values(@maiitemcode,@maiitemname,@maiitemdescr,@isqrcode,@usercode,@CreateDate)";
                     dynamicParams.Add("@maiitemcode", maiitemcode);
                     dynamicParams.Add("@maiitemname", maiitemname);
                     dynamicParams.Add("@maiitemdescr", maiitemdescr);
                     dynamicParams.Add("@isqrcode", isqrcode);
-                    dynamicParams.Add("@cycle", cycle);
                     dynamicParams.Add("@usercode", usercode);
                     dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
                     int cont = DapperHelper.SQL(sql, dynamicParams);
@@ -927,14 +932,13 @@
                 }
                 if (operType == "Update")
                 {
-                    var sql = @"update TEqpmai_Item set name=@maiitemname,description=@maiitemdescr,isscan=@isqrcode,cycle=@cycle,
+                    var sql = @"update TEqpmai_Item set name=@maiitemname,description=@maiitemdescr,isscan=@isqrcode,
                                 lm_user=@usercode,lm_date=@CreateDate
                                 where id=@maiitemid";
                     dynamicParams.Add("@maiitemid", maiitemid);
                     dynamicParams.Add("@maiitemname", maiitemname);
                     dynamicParams.Add("@maiitemdescr", maiitemdescr);
                     dynamicParams.Add("@isqrcode", isqrcode);
-                    dynamicParams.Add("@cycle", cycle);
                     dynamicParams.Add("@usercode", usercode);
                     dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
                     int cont = DapperHelper.SQL(sql, dynamicParams);
@@ -1030,17 +1034,17 @@
             {
                 if (checkstandcode != "" && checkstandcode != null)
                 {
-                    search += "and code like '%'+@checkstandcode+'%' ";
+                    search += "and A.code like '%'+@checkstandcode+'%' ";
                     dynamicParams.Add("@checkstandcode", checkstandcode);
                 }
                 if (checkstandname != "" && checkstandname != null)
                 {
-                    search += "and name like '%'+@checkstandname+'%' ";
+                    search += "and A.name like '%'+@checkstandname+'%' ";
                     dynamicParams.Add("@checkstandname", checkstandname);
                 }
                 if (checkcontr != "" && checkcontr != null)
                 {
-                    search += "and iscontr=@checkcontr ";
+                    search += "and A.iscontr=@checkcontr ";
                     dynamicParams.Add("@checkcontr", checkcontr);
                 }
                 if (search == "")
@@ -1050,8 +1054,10 @@
                 //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select id,code,name,description,iscontr,is_checkeqp,lm_user,lm_date 
-                            from TEqpchk_Main where is_delete<>'1' " + search;
+                var sql = @"select A.id,A.code,A.name,A.description,A.iscontr,A.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;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -1125,7 +1131,7 @@
                 //鏍规嵁璁惧鐐规鏍囧噯缂栫爜鑾峰彇鍏宠仈鐨勬楠岄」鐩俊鎭�
                 sql = @"select B.code,B.name,A.chkdesc,A.isscan,A.cycle  from TEqpchk_Deta A
                         left join TEqpchk_Item  B on A.code=B.code
-                        where  A.eqpcheck_main_code=@checkstaned_code order by A.seq asc";
+                        where  A.eqpchk_main_code=@checkstaned_code order by A.seq asc";
                 dynamicParams.Add("@checkstaned_code", rout.code);
                 var data0 = DapperHelper.selectdata(sql, dynamicParams);
                 rout.Data = data0;
@@ -1156,7 +1162,7 @@
                 if (opertype == "Add")
                 {
                     //鏂板璁惧鐐规鏍囧噯涓昏〃
-                    sql = @"insert into TEqpchk_Main(code,name,description,iscontr,lm_user,lm_date) values(@code,@name,@descr,@lm_user,@lm_date)";
+                    sql = @"insert into TEqpchk_Main(code,name,description,iscontr,lm_user,lm_date) values(@code,@name,@descr,@iscontr,@lm_user,@lm_date)";
                     list.Add(new { str = sql, parm = new { code = json.code, name = json.name, descr = json.description, iscontr = json.enable, lm_user = username, lm_date = DateTime.Now.ToString() } });
                     for (int i = 0; i < json.Data.Rows.Count; i++)
                     {
@@ -1203,7 +1209,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 } });
+                    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++)
                     {
@@ -1280,7 +1286,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 eqpchk_main_code=@checkstand_code";
+                list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
                 {
@@ -1313,7 +1321,7 @@
         {
             string sql = "";
             var dynamicParams = new DynamicParameters();
-            List<StepEqp> list = new List<StepEqp>();
+            List<StandEqp> list = new List<StandEqp>();
             try
             {
                 //鑾峰彇宸ヤ綔绔欓泦鍚�(杞﹂棿,鍖呭惈宸茬粦瀹氬伐浣滅珯鏍囪瘑)
@@ -1328,26 +1336,40 @@
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 for (int i = 0; i < data.Rows.Count; i++)
                 {
-                    StepEqp rout = new StepEqp();
+                    StandEqp rout = new StandEqp();
                     rout.code = data.Rows[i]["WKSP_CODE"].ToString();
                     rout.name = data.Rows[i]["WKSP_NAME"].ToString();
                     rout.type = data.Rows[i]["TYPE"].ToString();
                     rout.flag = data.Rows[i]["FLAG"].ToString();
-                    rout.children = new List<StepEqpCn>();
+                    rout.children = new List<StandEqpCn>();
                     //鏍规嵁杞﹂棿缂栫爜鏌ユ壘璁惧(鍖呭惈宸插叧鑱旀爣璇�)
-                    sql = @"select A.code,A.name,'E' as type,(case when B.eqp_code is null then 'N' else 'Y' end) flag
+                    //sql = @"select A.code,A.name,'E' as type,(case when B.eqp_code is null then 'N' else 'Y' end) flag
+                    //        from TEqpInfo A
+                    //        left join(
+                    //        select distinct A.eqp_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 A.code=B.eqp_code where A.wksp_code=@wkspcode and A.is_delete<>'1'";
+                    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,'' as eqpchkmain_code
                             from TEqpInfo A
-                            left join(
-                            select distinct A.eqp_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 A.code=B.eqp_code where A.wksp_code=@wkspcode and A.is_delete<>'1'";
+                            where A.wksp_code=@wkspcode and A.is_delete<>'1' 
+                            ) as AA
+                            left join (
+                             select A.code,A.name,B.eqpchkmain_code
+                             from TEqpInfo A
+                             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
                     dynamicParams.Add("@checkstand_code", checkstand_code);
                     dynamicParams.Add("@wkspcode", data.Rows[i]["WKSP_CODE"].ToString());
                     var data0 = DapperHelper.selectdata(sql, dynamicParams);
                     for (int j = 0; j < data0.Rows.Count; j++)
                     {
-                        StepEqpCn cn = new StepEqpCn();
+                        StandEqpCn cn = new StandEqpCn();
                         cn.code = data0.Rows[j]["CODE"].ToString();//璁惧缂栫爜
                         cn.name = data0.Rows[j]["NAME"].ToString();//璁惧鍚嶇О
                         cn.type = data0.Rows[j]["TYPE"].ToString();//宸ヤ綔绔欑被鍨�(E:璁惧 W:澶栧崗渚涙柟)
@@ -1451,17 +1473,17 @@
             {
                 if (repairstandcode != "" && repairstandcode != null)
                 {
-                    search += "and code like '%'+@repairstandcode+'%' ";
+                    search += "and A.code like '%'+@repairstandcode+'%' ";
                     dynamicParams.Add("@repairstandcode", repairstandcode);
                 }
                 if (repairstandname != "" && repairstandname != null)
                 {
-                    search += "and name like '%'+@repairstandname+'%' ";
+                    search += "and A.name like '%'+@repairstandname+'%' ";
                     dynamicParams.Add("@repairstandname", repairstandname);
                 }
                 if (repairstanddescr != "" && repairstanddescr != null)
                 {
-                    search += "and description like '%'+@repairstanddescr+'%' ";
+                    search += "and A.description like '%'+@repairstanddescr+'%' ";
                     dynamicParams.Add("@repairstanddescr", repairstanddescr);
                 }
                 
@@ -1472,8 +1494,10 @@
                 //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select id,code,name,description,is_repaireqp,lm_user,lm_date 
-                            from TEqpmai_Main where is_delete<>'1' " + search;
+                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 
+                            from TEqpmai_Main A
+                            left join TUser U on A.lm_user=U.usercode
+                            where A.is_delete<>'1' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -1523,16 +1547,17 @@
             try
             {
                 //鑾峰彇璁惧淇濆吇鏍囧噯淇℃伅
-                sql = @"select code,name,description
+                sql = @"select code,name,description,main_cycle
                         from TEqpmai_Main
                         where code=@repairstand_code and is_delete<>'1'";
                 dynamicParams.Add("@repairstand_code", repairstand_code);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
-                RoutEdit rout = new RoutEdit();
+                EqpRepair rout = new EqpRepair();
                 if (data.Rows.Count > 0)
                 {
                     rout.code = data.Rows[0]["CODE"].ToString();
                     rout.name = data.Rows[0]["NAME"].ToString();
+                    rout.repaircycle= data.Rows[0]["MAIN_CYCLE"].ToString();
                     rout.description = data.Rows[0]["DESCRIPTION"].ToString();
                 }
                 else
@@ -1544,7 +1569,7 @@
                     return mes;
                 }
                 //鏍规嵁璁惧淇濆吇鏍囧噯缂栫爜鑾峰彇鍏宠仈鐨勪繚鍏婚」鐩俊鎭�
-                sql = @"select B.code,B.name,A.chkdesc,A.isscan,A.cycle  from TEqpmai_Deta A
+                sql = @"select B.code,B.name,A.chk_desc,A.isscan,A.cycle  from TEqpmai_Deta A
                         left join TEqpmai_Item  B on A.code=B.code
                         where  A.eapmai_code=@repairstand_code order by A.seq asc";
                 dynamicParams.Add("@repairstand_code", rout.code);
@@ -1567,7 +1592,7 @@
         #endregion
 
         #region[璁惧淇濆吇鏍囧噯鏂板缂栬緫]
-        public static ToMessage AddUpdateDeviceRepairStandArd(string opertype, RoutEdit json, string username)
+        public static ToMessage AddUpdateDeviceRepairStandArd(string opertype, EqpRepair json, string username)
         {
             var sql = "";
             var dynamicParams = new DynamicParameters();
@@ -1577,13 +1602,13 @@
                 if (opertype == "Add")
                 {
                     //鏂板璁惧淇濆吇鏍囧噯涓昏〃
-                    sql = @"insert into TEqpmai_Main(code,name,description,lm_user,lm_date) values(@code,@name,@descr,@lm_user,@lm_date)";
-                    list.Add(new { str = sql, parm = new { code = json.code, name = json.name, descr = json.description, lm_user = username, lm_date = DateTime.Now.ToString() } });
+                    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() } });
                     for (int i = 0; i < json.Data.Rows.Count; i++)
                     {
                         //鏂板璁惧淇濆吇鏍囧噯鍏宠仈淇濆吇椤瑰瓙琛�
-                        sql = @"insert TEqpmai_Deta (seq,code,name,eapmai_code,cycle,chk_desc,isscan,lm_user,lm_date) 
-                                values(@repairitem_seq,@repairitem_code,@repairitem_name,@code,@cycle,@repairdesc,@isscan,@lm_user,@lm_date)";
+                        sql = @"insert TEqpmai_Deta (seq,code,name,eapmai_code,chk_desc,isscan,lm_user,lm_date) 
+                                values(@repairitem_seq,@repairitem_code,@repairitem_name,@code,@repairdesc,@isscan,@lm_user,@lm_date)";
                         list.Add(new
                         {
                             str = sql,
@@ -1593,7 +1618,6 @@
                                 repairitem_code = json.Data.Rows[i]["REPAIRITEM_CODE"].ToString(),
                                 repairitem_name = json.Data.Rows[i]["REPAIRITEM_NAME"].ToString(),
                                 code = json.code,
-                                cycle = json.Data.Rows[i]["CYCLE"].ToString(),
                                 repairdesc = json.Data.Rows[i]["REPAIRITEM_DESCR"].ToString(),
                                 isscan = json.Data.Rows[i]["ISSCAN"].ToString(),
                                 lm_user = username,
@@ -1623,13 +1647,13 @@
                     sql = @"delete from TEqpmai_Deta where eapmai_code=@repairstaned_code";
                     list.Add(new { str = sql, parm = new { repairstaned_code = json.code } });
                     //淇敼淇濆吇鏍囧噯涓昏〃
-                    sql = @"update  TEqpmai_Main set name=@repairstaned_name,description=@repairstaned_desc where code=@repairstaned_code";
-                    list.Add(new { str = sql, parm = new { repairstaned_code = json.code, repairstaned_name = json.name, repairstaned_desc = json.description } });
+                    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} });
                     //鏂板鐐规鏍囧噯鍏宠仈鐐规椤圭洰瀛愯〃
                     for (int i = 0; i < json.Data.Rows.Count; i++)
                     {
-                        sql = @"insert TEqpmai_Deta (seq,code,name,eapmai_code,cycle,chk_desc,isscan,lm_user,lm_date) 
-                                values(@repairitem_seq,@repairitem_code,@repairitem_name,@code,@cycle,@repairdesc,@isscan,@lm_user,@lm_date)";
+                        sql = @"insert TEqpmai_Deta (seq,code,name,eapmai_code,chk_desc,isscan,lm_user,lm_date) 
+                                values(@repairitem_seq,@repairitem_code,@repairitem_name,@code,@repairdesc,@isscan,@lm_user,@lm_date)";
                         list.Add(new
                         {
                             str = sql,
@@ -1639,7 +1663,6 @@
                                 repairitem_code = json.Data.Rows[i]["REPAIRITEM_CODE"].ToString(),
                                 repairitem_name = json.Data.Rows[i]["REPAIRITEM_NAME"].ToString(),
                                 code = json.code,
-                                cycle = json.Data.Rows[i]["CYCLE"].ToString(),
                                 repairdesc = json.Data.Rows[i]["REPAIRITEM_DESCR"].ToString(),
                                 isscan = json.Data.Rows[i]["ISSCAN"].ToString(),
                                 lm_user = username,
@@ -1701,6 +1724,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)
@@ -1734,7 +1760,7 @@
         {
             string sql = "";
             var dynamicParams = new DynamicParameters();
-            List<StepEqp> list = new List<StepEqp>();
+            List<StandEqp> list = new List<StandEqp>();
             try
             {
                 //鑾峰彇宸ヤ綔绔欓泦鍚�(杞﹂棿,鍖呭惈宸茬粦瀹氬伐浣滅珯鏍囪瘑)
@@ -1745,30 +1771,45 @@
                         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'";
+
                 dynamicParams.Add("@repairstand_code", repairstand_code);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 for (int i = 0; i < data.Rows.Count; i++)
                 {
-                    StepEqp rout = new StepEqp();
+                    StandEqp rout = new StandEqp();
                     rout.code = data.Rows[i]["WKSP_CODE"].ToString();
                     rout.name = data.Rows[i]["WKSP_NAME"].ToString();
                     rout.type = data.Rows[i]["TYPE"].ToString();
                     rout.flag = data.Rows[i]["FLAG"].ToString();
-                    rout.children = new List<StepEqpCn>();
+                    rout.children = new List<StandEqpCn>();
                     //鏍规嵁杞﹂棿缂栫爜鏌ユ壘璁惧(鍖呭惈宸插叧鑱旀爣璇�)
-                    sql = @"select A.code,A.name,'E' as type,(case when B.eqp_code is null then 'N' else 'Y' end) flag
+                    //sql = @"select A.code,A.name,'E' as type,(case when B.eqp_code is null then 'N' else 'Y' end) flag
+                    //        from TEqpInfo A
+                    //        left join(
+                    //        select distinct A.eqp_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 A.code=B.eqp_code where A.wksp_code=@wkspcode and A.is_delete<>'1'";
+                    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,'' as eapmai_code
                             from TEqpInfo A
-                            left join(
-                            select distinct A.eqp_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 A.code=B.eqp_code where A.wksp_code=@wkspcode and A.is_delete<>'1'";
+                            where A.wksp_code=@wkspcode and A.is_delete<>'1' 
+                            ) as AA
+                            left join (
+                             select A.code,A.name,B.eapmai_code
+                             from TEqpInfo A
+                             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
                     dynamicParams.Add("@repairstand_code", repairstand_code);
                     dynamicParams.Add("@wkspcode", data.Rows[i]["WKSP_CODE"].ToString());
                     var data0 = DapperHelper.selectdata(sql, dynamicParams);
                     for (int j = 0; j < data0.Rows.Count; j++)
                     {
-                        StepEqpCn cn = new StepEqpCn();
+                        StandEqpCn cn = new StandEqpCn();
                         cn.code = data0.Rows[j]["CODE"].ToString();//璁惧缂栫爜
                         cn.name = data0.Rows[j]["NAME"].ToString();//璁惧鍚嶇О
                         cn.type = data0.Rows[j]["TYPE"].ToString();//宸ヤ綔绔欑被鍨�(E:璁惧 W:澶栧崗渚涙柟)
@@ -1860,5 +1901,675 @@
             return mes;
         }
         #endregion
+
+
+
+        #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)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (wkshopcode != "" && wkshopcode != null)
+                {
+                    search += "and T.org_code=@wkshopcode ";
+                    dynamicParams.Add("@wkshopcode", wkshopcode);
+                }
+                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 (stanedname != "" && stanedname != null)
+                {
+                    search += "and M.name like '%'+@stanedname+'%' ";
+                    dynamicParams.Add("@stanedname", stanedname);
+                }
+                if (checkuser != "" && checkuser != null)
+                {
+                    search += "and A.chk_user like '%'+@checkuser+'%' ";
+                    dynamicParams.Add("@checkuser", checkuser);
+                }
+                if (checkopendate != "" && checkopendate != null)
+                {
+                    search += "and A.chk_date between @checkopendate and @checkclosedate ";
+                    dynamicParams.Add("@checkopendate", checkopendate + " 00:00:00");
+                    dynamicParams.Add("@checkclosedate", checkclosedate + " 23:59:59");
+                }
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.djwo,T.org_code,T.org_name,A.eqp_code,E.name as eqp_name,M.code as stanedcode,M.name as stanedname,
+                            A.chk_user,A.chk_result,A.chk_date
+                            from TEqpchk_Proc_Main A
+                            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
+                            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 DeviceCheckSubTakeSearch(string djwo)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                sql = @"select A.seq,T.code as itemcode,T.name as itemname,A.result,A.chk_value,A.remark
+                        from TEqpchk_Proc_Deta A
+                        left join TEqpchk_Item T on A.eqpchkdeta_code=T.code
+                        where A.djwo=@djwo";
+                dynamicParams.Add("@djwo", djwo);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[璁惧鐐规璁板綍瀵煎嚭]
+        public static ToMessage DeviceCheckTakeOutExcel(string wkshopcode, string eqpcode, string eqpname, string stanedname, string checkuser, string checkopendate, string checkclosedate)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (wkshopcode != "" && wkshopcode != null)
+                {
+                    search += "and T.org_code=@wkshopcode ";
+                    dynamicParams.Add("@wkshopcode", wkshopcode);
+                }
+                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 (stanedname != "" && stanedname != null)
+                {
+                    search += "and M.name like '%'+@stanedname+'%' ";
+                    dynamicParams.Add("@stanedname", stanedname);
+                }
+                if (checkuser != "" && checkuser != null)
+                {
+                    search += "and A.chk_user like '%'+@checkuser+'%' ";
+                    dynamicParams.Add("@checkuser", checkuser);
+                }
+                if (checkopendate != "" && checkopendate != null)
+                {
+                    search += "and A.chk_date between @checkopendate and @checkclosedate ";
+                    dynamicParams.Add("@checkopendate", checkopendate + " 00:00:00");
+                    dynamicParams.Add("@checkclosedate", checkclosedate + " 23:59:59");
+                }
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select 
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.djwo ORDER BY B.eqpchkdeta_code) = 1 THEN A.djwo
+                            ELSE ''END AS '鐐规鍗曞彿',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY E.wksp_code ORDER BY B.eqpchkdeta_code) = 1 THEN T.org_name
+                            ELSE ''END AS '鐢熶骇杞﹂棿',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.eqp_code ORDER BY B.eqpchkdeta_code) = 1 THEN A.eqp_code
+                            ELSE ''END AS '璁惧缂栧彿',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.eqp_code ORDER BY B.eqpchkdeta_code) = 1 THEN E.name
+                            ELSE ''END AS '璁惧鍚嶇О',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.eqpchkmain_code ORDER BY B.eqpchkdeta_code) = 1 THEN A.eqpchkmain_code
+                            ELSE ''END AS '鐐规鏍囧噯缂栫爜',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.eqpchkmain_code ORDER BY B.eqpchkdeta_code) = 1 THEN M.name
+                            ELSE ''END AS '鐐规鏍囧噯鍚嶇О',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.chk_user ORDER BY B.eqpchkdeta_code) = 1 THEN A.chk_user
+                            ELSE ''END AS '妫�楠屼汉鍛�',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.chk_result ORDER BY B.eqpchkdeta_code) = 1 THEN A.chk_result
+                            ELSE ''END AS '妫�楠岀粨鏋�',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.chk_date ORDER BY B.eqpchkdeta_code) = 1 THEN A.chk_date
+                            END AS '妫�楠屾椂闂�',
+                            B.seq as '鐐规閮ㄤ綅搴忓彿',H.code '鐐规閮ㄤ綅缂栫爜',H.name '鐐规閮ㄤ綅鍚嶇О',B.result '鐐规缁撴灉',B.chk_value '鏁板��',B.remark '澶囨敞'
+                            from TEqpchk_Proc_Main A
+                            left join TEqpchk_Proc_Deta B on A.djwo=B.djwo
+                            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 TEqpchk_Item H on B.eqpchkdeta_code=H.code
+                            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
+
+
+
+        #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)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (wkshopcode != "" && wkshopcode != null)
+                {
+                    search += "and T.org_code=@wkshopcode ";
+                    dynamicParams.Add("@wkshopcode", wkshopcode);
+                }
+                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 (stanedname != "" && stanedname != null)
+                {
+                    search += "and M.name like '%'+@stanedname+'%' ";
+                    dynamicParams.Add("@stanedname", stanedname);
+                }
+                if (repairuser != "" && repairuser != null)
+                {
+                    search += "and A.maint_user like '%'+@repairuser+'%' ";
+                    dynamicParams.Add("@repairuser", repairuser);
+                }
+                if (repairopendate != "" && repairopendate != null)
+                {
+                    search += "and A.maint_date between @repairopendate and @repairclosedate ";
+                    dynamicParams.Add("@repairopendate", repairopendate + " 00:00:00");
+                    dynamicParams.Add("@repairclosedate", repairclosedate + " 23:59:59");
+                }
+                if (repairresult != "" && repairresult != null)
+                {
+                    search += "and A.maint_result=@repairresult ";
+                    dynamicParams.Add("@repairresult", repairresult);
+                }
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.bywo,T.org_code,T.org_name,A.eqp_code,E.name as eqp_name,M.code as stanedcode,M.name as stanedname,A.maint_cyc,
+                            A.maint_user,A.maint_result,A.maint_date
+                            from TEqpmaint_Proc_Main A
+                            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
+                            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 DeviceRepairSubTakeSearch(string bywo)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                sql = @"select A.seq,T.code as itemcode,T.name as itemname,A.result,A.maint_value,A.remark
+                        from TEqpmaint_Proc_Deta A
+                        left join TEqpmai_Item T on A.eqpmaideta_code=T.code
+                        where A.bywo=@bywo";
+                dynamicParams.Add("@bywo", bywo);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[璁惧淇濆吇璁板綍瀵煎嚭]
+        public static ToMessage DeviceRepairTakeOutExcel(string wkshopcode, string eqpcode, string eqpname, string stanedname, string repairuser, string repairopendate, string repairclosedate, string repairresult)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (wkshopcode != "" && wkshopcode != null)
+                {
+                    search += "and T.org_code=@wkshopcode ";
+                    dynamicParams.Add("@wkshopcode", wkshopcode);
+                }
+                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 (stanedname != "" && stanedname != null)
+                {
+                    search += "and M.name like '%'+@stanedname+'%' ";
+                    dynamicParams.Add("@stanedname", stanedname);
+                }
+                if (repairuser != "" && repairuser != null)
+                {
+                    search += "and A.maint_user like '%'+@repairuser+'%' ";
+                    dynamicParams.Add("@repairuser", repairuser);
+                }
+                if (repairopendate != "" && repairopendate != null)
+                {
+                    search += "and A.chk_date between @repairopendate and @repairclosedate ";
+                    dynamicParams.Add("@repairopendate", repairopendate + " 00:00:00");
+                    dynamicParams.Add("@repairclosedate", repairclosedate + " 23:59:59");
+                }
+                if (repairresult != "" && repairresult != null)
+                {
+                    search += "and A.maint_result=@repairresult ";
+                    dynamicParams.Add("@repairresult", repairresult);
+                }
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select 
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.bywo ORDER BY B.eqpmaideta_code) = 1 THEN A.bywo
+                            ELSE ''END AS '淇濆吇鍗曞彿',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY E.wksp_code ORDER BY B.eqpmaideta_code) = 1 THEN T.org_name
+                            ELSE ''END AS '鐢熶骇杞﹂棿',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.eqp_code ORDER BY B.eqpmaideta_code) = 1 THEN A.eqp_code
+                            ELSE ''END AS '璁惧缂栧彿',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.eqp_code ORDER BY B.eqpmaideta_code) = 1 THEN E.name
+                            ELSE ''END AS '璁惧鍚嶇О',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.eqpmaint_code ORDER BY B.eqpmaideta_code) = 1 THEN A.eqpmaint_code
+                            ELSE ''END AS '淇濆吇鏍囧噯缂栫爜',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.eqpmaint_code ORDER BY B.eqpmaideta_code) = 1 THEN M.name
+                            ELSE ''END AS '淇濆吇鏍囧噯鍚嶇О',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.maint_cyc ORDER BY B.eqpmaideta_code) = 1 THEN A.maint_cyc
+                            ELSE ''END AS '淇濆吇鍛ㄦ湡',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.maint_user ORDER BY B.eqpmaideta_code) = 1 THEN A.maint_user
+                            ELSE ''END AS '淇濆吇浜哄憳',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.maint_result ORDER BY B.eqpmaideta_code) = 1 THEN A.maint_result
+                            ELSE ''END AS '淇濆吇缁撴灉',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.maint_date ORDER BY B.eqpmaideta_code) = 1 THEN A.maint_date
+                            END AS '淇濆吇鏃堕棿',
+                            B.seq as '淇濆吇閮ㄤ綅搴忓彿',H.code '淇濆吇閮ㄤ綅缂栫爜',H.name '淇濆吇閮ㄤ綅鍚嶇О',B.result '淇濆吇缁撴灉',B.maint_value '鏁板��',B.remark '澶囨敞'
+                            from TEqpmaint_Proc_Main A
+                            left join TEqpmaint_Proc_Deta B on A.bywo=B.bywo
+                            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 TEqpmai_Item H on B.eqpmaideta_code=H.code
+                            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
+
+
+
+        #region[璁惧缁翠慨璁板綍鏌ヨ]
+        public static ToMessage DeviceUpdateSearch(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);
+                }
+                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
+                            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 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);
+                }
+                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
+                            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