From 9445c4660740dc8a544b5c2440fe365a218bab12 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期四, 26 十月 2023 17:26:39 +0800
Subject: [PATCH] 1.修改仓位信息列表接口 2.新增仓库库位基础资料接口 3.修改模具出入库提交接口(增加库位) 、模具清单增加库位 4.新增模具上下机记录报表、模具借还记录报表

---
 VueWebCoreApi/DLL/DAL/MouldManagerDAL.cs | 1231 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 1,204 insertions(+), 27 deletions(-)

diff --git a/VueWebCoreApi/DLL/DAL/MouldManagerDAL.cs b/VueWebCoreApi/DLL/DAL/MouldManagerDAL.cs
index 53f99eb..7d86f8e 100644
--- a/VueWebCoreApi/DLL/DAL/MouldManagerDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/MouldManagerDAL.cs
@@ -9,6 +9,7 @@
 using System.Linq;
 using System.Threading.Tasks;
 using VueWebCoreApi.Models;
+using VueWebCoreApi.Models.MouldSearch;
 using VueWebCoreApi.Tools;
 
 namespace VueWebCoreApi.DLL.DAL
@@ -65,13 +66,9 @@
                     dynamicParams.Add("@opendate", opendate + " 00:00:00");
                     dynamicParams.Add("@closedate", closedate + " 23:59:59");
                 }
-                if (search == "")
-                {
-                    search = "and 1=1 ";
-                }
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select A.status,A.usestatus,A.code,A.name,A.spec,A.warehousecode,S.name as warehousename,
+                var sql = @"select A.status,A.usestatus,A.code,A.name,A.spec,A.warehousecode,S.name as warehousename,A.location_code,L.name as location_name,
                            A.surp_life,(select isnull(sum(usecount_life),0)   from TMould_UpDownReord R where R.mould_code=A.code) as serlife,
                            A.resi_life,(case when isnull(M.mouldcode,'')='' then 'N' else 'Y' end) as is_part,
                            STUFF((SELECT ',' + B.partcode
@@ -81,6 +78,7 @@
                            A.lm_user as usercode,U.username,A.lm_date   
                            from TMouldInfo A
                            left join TSecStck S on A.warehousecode=S.code
+                           left join TSecLoca L on A.location_code=L.code
                            left join (
                            select distinct mouldcode from TMouldInfoPart 
                            )  M on A.code=M.mouldcode
@@ -233,6 +231,76 @@
                         mes.data = null;
                     }
                 }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[妯″叿娓呭崟鏌ョ湅灞ュ巻]
+        public static ToMessage MoldResumeSearch(string mouldcode, string opendate, string closedate, int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (opendate != "" && opendate != null)
+                {
+                    search += "and AA.operdate between @opendate and @closedate ";
+                    dynamicParams.Add("@opendate", opendate + " 00:00:00");
+                    dynamicParams.Add("@closedate", closedate + " 23:59:59");
+                }
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select *  from (
+                            select '鐐规' as opertype,chk_user as operuser,chk_date as operdate,chk_result as operresult 
+                            from TMouldchk_Proc_Main where mould_code='001' 
+                            union all
+                            select '淇濆吇' as opertype,maint_user as operuser,maint_date as operdate,maint_result as operresult   
+                            from TMouldmaint_Proc_Main where mould_code='001' 
+                            union all
+                            select '寰呯淮淇�' as opertype,request_person as operuser,request_date as operdate,'缁翠慨鐢宠' as operresult   
+                            from TMould_RepairRequest where mould_code='001'
+                            union all
+                            select '宸茬淮淇�' as opertype,repair_person as operuser,repair_date as operdate,'缁翠慨瀹屾垚' as operresult    
+                            from TMould_RepairRequest A
+                            inner join TMould_Repair B on A.docu_code=B.source_wo
+                            where A.mould_code='001' and B.repair_person<>''
+                            union all
+                            select '宸查獙璇�' as opertype,verify_person as operuser,verify_date as operdate,B.verify_result as operresult   
+                            from TMould_RepairRequest A
+                            inner join TMould_Repair B on A.docu_code=B.source_wo
+                            where A.mould_code='001' and B.verify_person<>''
+                            union all
+                            select '宸蹭笂鏈�' as opertype,lm_user as operuser,lm_date as operdate,eqp_code as operresult   
+                            from TMould_UpDownReord  where mould_code='001' and type='UP'
+                            union all
+                            select '宸蹭笅鏈�' as opertype,lm_user as operuser,lm_date as operdate,eqp_code as operresult   
+                            from TMould_UpDownReord  where mould_code='001' and type='DOWN'
+                            union all
+                            select '宸插叆搴�' as opertype,lm_user as operuser,lm_date as operdate,warehouse_code as operresult   
+                            from TMould_InOutReord  where mould_code='001' and type='IN'
+                            union all
+                            select '宸插嚭搴�' as opertype,lm_user as operuser,lm_date as operdate,warehouse_code as operresult   
+                            from TMould_InOutReord  where mould_code='001' and type='OUT'
+                            union all
+                            select '宸插鍊�' as opertype,lm_user as operuser,lm_date as operdate,description as operresult   
+                            from TMould_LendOutReord  where mould_code='001' and type='OUT'
+                            union all
+                            select '宸插綊杩�' as opertype,lm_user as operuser,lm_date as operdate,description as operresult   
+                            from TMould_LendOutReord  where mould_code='001' and type='IN'
+                            ) as AA where 1=1 "+search+"  order by AA.operdate desc ";
+                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)
             {
@@ -1878,6 +1946,136 @@
         #endregion
 
 
+        #region[妯″叿淇℃伅鏌ヨ,鎵弿妯″叿浜岀淮鐮乚
+        public static ToMessage ScanMouldQrCodeMessageData(string mouldcode)
+        {
+            string sql = "", search = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                if (mouldcode != "" && mouldcode != null)
+                {
+                    search += " where code=@mouldcode ";
+                    dynamicParams.Add("@mouldcode", mouldcode);
+                }
+                //鏌ユ壘妯″叿淇℃伅
+                sql = @"select code,name,spec   
+                        from TMouldInfo"+search;
+                dynamicParams.Add("@mouldcode", mouldcode);
+                var dt = DapperHelper.selectdata(sql, dynamicParams);
+                if (dt.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = dt;
+                    return mes;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.Message = "鏆傛棤鏁版嵁鎴栨棤鏁堢殑妯″叿浜岀淮鐮佷俊鎭�!";
+                    mes.data = null;
+                    return mes;
+                }
+
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[妯″叿淇℃伅鏌ヨ鏄庣粏]
+        public static ToMessage ScanMouldQrCodeMessageSubData(string mouldcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            List<MouldMessage> list = new List<MouldMessage>();
+            try
+            {
+                //鏌ユ壘妯″叿淇℃伅
+                MouldMessage moud = new MouldMessage();
+                sql = @"select code,name,spec,surp_life,resi_life,status,usestatus   
+                        from TMouldInfo where code=@mouldcode";
+                dynamicParams.Add("@mouldcode", mouldcode);
+                var dt = DapperHelper.selectdata(sql, dynamicParams);
+                if (dt.Rows.Count > 0)
+                {
+                    
+                    moud.mouldcode = dt.Rows[0]["code"].ToString();
+                    moud.mouldname = dt.Rows[0]["name"].ToString();
+                    moud.mouldspec = dt.Rows[0]["spec"].ToString();
+                    moud.surp_life = dt.Rows[0]["surp_life"].ToString();
+                    moud.resi_life = dt.Rows[0]["resi_life"].ToString();
+                    moud.status = dt.Rows[0]["status"].ToString();
+                    moud.usestatus = dt.Rows[0]["usestatus"].ToString();
+                    //鏌ヨ鏈�杩戜竴娆$偣妫�璁板綍
+                    sql = @"select top 1 chk_date  from TMouldchk_Proc_Main where mould_code=@mouldcode order by chk_date desc";
+                    dynamicParams.Add("@mouldcode", mouldcode);
+                    var dt0 = DapperHelper.selectdata(sql, dynamicParams);
+                    if (dt0.Rows.Count > 0)
+                    {
+                        moud.checkdate = dt0.Rows[0]["chk_date"].ToString();
+                    }
+                    //鏌ヨ鏈�杩戜竴娆′繚鍏昏褰�
+                    sql = @"select top 1 maint_date  from TMouldmaint_Proc_Main where mould_code=@mouldcode order by maint_date desc";
+                    dynamicParams.Add("@mouldcode", mouldcode);
+                    var dt1 = DapperHelper.selectdata(sql, dynamicParams);
+                    if (dt1.Rows.Count > 0)
+                    {
+                        moud.maintdate = dt1.Rows[0]["maint_date"].ToString();
+                    }
+
+                    //鏌ヨ鍏宠仈浜у搧
+                    moud.children = new List<RelatedProduct>();
+                    sql = @"select P.partcode,M.partname,M.partspec  
+                        from TMouldInfoPart P
+                        left join TMateriel_Info M on P.partcode=M.partcode
+                        where P.mouldcode=@mouldcode";
+                    dynamicParams.Add("@mouldcode", mouldcode);
+                    var dt2 = DapperHelper.selectdata(sql, dynamicParams);
+                    if (dt2.Rows.Count > 0)
+                    {
+                        for (int i = 0; i < dt2.Rows.Count; i++)
+                        {
+                            RelatedProduct mousb = new RelatedProduct();
+                            mousb.partcode = dt2.Rows[i]["partcode"].ToString();
+                            mousb.partname = dt2.Rows[i]["partname"].ToString();
+                            mousb.partspec = dt2.Rows[i]["partspec"].ToString();
+                            moud.children.Add(mousb);
+                        }
+                    }
+                    list.Add(moud);
+                    mes.code = "200";
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = list;
+                    return mes;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.Message = "鏆傛棤鏁版嵁鎴栨棤鏁堢殑妯″叿浜岀淮鐮佷俊鎭�!";
+                    mes.data = null;
+                    return mes;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+
         #region[妯″叿缁翠慨鐢宠,鎵弿妯″叿浜岀淮鐮乚
         public static ToMessage MaintainScanMouldApplyQrCodeData(string mouldcode)
         {
@@ -2001,7 +2199,8 @@
                     {
                         IFormFile file = files[i];
                         string imgName = "SQ" + DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString();
-                        string filePath = "wwwroot/MouldRecordImage/" + imgName + file.FileName;     //閫氳繃姝ゅ璞¤幏鍙栨枃浠跺悕
+                        string filePath = "wwwroot/MouldRecordImage/" + imgName + file.FileName;     //閫氳繃姝ゅ璞¤幏鍙栨枃浠跺悕(瀛樻枃浠跺湴鍧�)
+                        string filePath1 = "MouldRecordImage/" + imgName + file.FileName;     //閫氳繃姝ゅ璞¤幏鍙栨枃浠跺悕(瀛樻暟鎹〃鍦板潃)
 
                         // 鐢熸垚鏂囦欢鍚�
                         //var fileName = "SQ" + DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString() + Path.GetExtension(files[i].FileName);
@@ -2024,7 +2223,7 @@
                             {
                                 source_wo = sqwo,
                                 wo_type = "REPA",
-                                img1url = filePath
+                                img1url = filePath1
                             }
                         });
                     }
@@ -2050,6 +2249,9 @@
                 //鍥炲啓妯″叿娓呭崟,妯″叿鐘舵��(鏁呴殰)銆佷娇鐢ㄧ姸鎬�(寰呯淮淇�)
                 sql = @"update TMouldInfo set status='N',usestatus='4'  where code=@mouldcode";
                 list.Add(new { str = sql, parm = new { mouldcode = mouldcode } });
+                //鏇存柊鍗曟嵁娴佹按鍙�
+                List<object> list1 = SeachEncodeJob.StrEncodingUpdate(menucode, numvalue);
+                list.Add(list1[0]);
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
                 {
@@ -2087,18 +2289,19 @@
             var dynamicParams = new DynamicParameters();
             try
             {
-                if (mouldcode == "" || mouldcode == null)
+                if (mouldcode != "" && mouldcode != null)
                 {
                     search += "and B.code=@mouldcode ";
                     dynamicParams.Add("@mouldcode", mouldcode);
                 }
                 //鑾峰彇妯″叿缁翠慨鍒楄〃宸茬敵璇锋湭缁翠慨鐨勬暟鎹�
                 sql = @"select A.docu_code,B.code as mouldcode,B.name as mouldname,B.spec as mouldspec,B.surp_life,B.resi_life,
-                        A.request_person,A.request_date,
+                        A.request_person,U.username as request_name,A.request_date,
                         (case when A.source='A' then '鐐规' when A.source='B' then '淇濆吇' when A.source='D' then '鎵嬪伐' end) as source,
                         A.failure_descript   
                         from TMould_RepairRequest A
                         inner  join TMouldInfo B on A.mould_code=B.code
+                        left   join TUser U on A.request_person=U.usercode
                         where  A.status='REPA' " + search;
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 if (data.Rows.Count > 0)
@@ -2152,8 +2355,8 @@
                     {
                         IFormFile file = files[i];
                         string imgName = "WX" + DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString();
-                        string filePath = "wwwroot/MouldRecordImage/" + imgName + file.FileName;     //閫氳繃姝ゅ璞¤幏鍙栨枃浠跺悕
-
+                        string filePath = "wwwroot/MouldRecordImage/" + imgName + file.FileName;     //閫氳繃姝ゅ璞¤幏鍙栨枃浠跺悕(瀛樻枃浠跺湴鍧�)
+                        string filePath1 = "MouldRecordImage/" + imgName + file.FileName;     //閫氳繃姝ゅ璞¤幏鍙栨枃浠跺悕(瀛樻暟鎹〃鍦板潃)
                         // 鐢熸垚鏂囦欢鍚�
                         //var fileName = "WX" + DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString() + Path.GetExtension(files[i].FileName);
 
@@ -2175,7 +2378,7 @@
                             {
                                 source_wo = wxwo,
                                 wo_type = "COMP",
-                                img1url = filePath
+                                img1url = filePath1
                             }
                         });
                     }
@@ -2206,6 +2409,9 @@
                 //鍥炲啓妯″叿娓呭崟,浣跨敤鐘舵��(宸茬淮淇�)
                 sql = @"update TMouldInfo set usestatus='5'  where code=@mouldcode";
                 list.Add(new { str = sql, parm = new { mouldcode = mouldcode } });
+                //鏇存柊鍗曟嵁娴佹按鍙�
+                List<object> list1 = SeachEncodeJob.StrEncodingUpdate(menucode, numvalue);
+                list.Add(list1[0]);
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
                 {
@@ -2243,17 +2449,18 @@
             var dynamicParams = new DynamicParameters();
             try
             {
-                if (mouldcode == "" || mouldcode == null)
+                if (mouldcode != "" && mouldcode != null)
                 {
                     search += "and B.code=@mouldcode ";
                     dynamicParams.Add("@mouldcode", mouldcode);
                 }
                 //鑾峰彇妯″叿缁翠慨鍒楄〃宸茬淮淇殑鏁版嵁
                 sql = @"select A.repair_code,B.code as mouldcode,B.name as mouldname,B.spec as mouldspec,B.surp_life,B.resi_life,
-                        A.repair_person,A.repair_date,A.is_shutdown,
+                        A.repair_person,U.username as repair_name,A.repair_date,A.is_shutdown,
                         A.failure_descript   
                         from TMould_Repair A
                         inner  join TMouldInfo B on A.mould_code=B.code
+                        left   join TUser U on A.repair_person=U.usercode
                         where A.status='COMP' " + search;
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 if (data.Rows.Count > 0)
@@ -2291,7 +2498,7 @@
                 //鏍规嵁璁炬ā鍏风紪鐮佽幏鍙栫淮淇鎯�
                 sql = @"select repair_code,failure_descript,is_shutdown,repair_content,repair_part   
                         from TMould_Repair 
-                        where repair_code=@repair_code  and mould_code=mouldcode";
+                        where repair_code=@repair_code  and mould_code=@mouldcode";
                 dynamicParams.Add("@repair_code", repair_code);
                 dynamicParams.Add("@mouldcode", mouldcode);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
@@ -2490,6 +2697,33 @@
         }
         #endregion
 
+        #region[妯″叿涓婃満,閫夋嫨鏈笂妯¤澶嘳
+        public static ToMessage MouldEqpPermissions()
+        {
+            var sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                sql = @"select code,name   from TEqpInfo where  enable='Y' and code not in 
+                        (
+                          select distinct eqp_code   from TMould_UpDownReord where is_up='Y'
+                        )";
+                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 MouldUpSave(string mouldcode, string eqp_code, string description, User us)
         {
@@ -2628,7 +2862,7 @@
                 list.Clear();
                 //鍐欏叆涓婁笅鏈烘満璁板綍琛�(涓嬫満鎿嶄綔)
                 sql = @"insert into  TMould_UpDownReord(mould_code,type,usecount_life,eqp_code,description,is_up,lm_user,lm_date) 
-                        values(@mould_code,@type,@eqp_code,@description,@is_up,@lm_user,@lm_date)";
+                        values(@mould_code,@type,@usecount_life,@eqp_code,@description,@is_up,@lm_user,@lm_date)";
                 list.Add(new
                 {
                     str = sql,
@@ -3019,7 +3253,7 @@
         #endregion
 
         #region[妯″叿鍏ュ簱鎻愪氦]
-        public static ToMessage MouldInWareHouseSave(string mouldcode, string warehousecode, string description, User us)
+        public static ToMessage MouldInWareHouseSave(string mouldcode, string warehousecode,string locationcode, string description, User us)
         {
             var sql = "";
             List<object> list = new List<object>();
@@ -3028,8 +3262,8 @@
             {
                 list.Clear();
                 //鍐欏叆妯″叿鍑哄叆搴撹褰曡〃(鍏ュ簱鎿嶄綔)
-                sql = @"insert into  TMould_InOutReord(mould_code,type,warehouse_code,description,lm_user,lm_date) 
-                        values(@mould_code,@type,@warehouse_code,@description,@lm_user,@lm_date)";
+                sql = @"insert into  TMould_InOutReord(mould_code,type,warehouse_code,location_code,description,lm_user,lm_date) 
+                        values(@mould_code,@type,@warehouse_code,@location_code,@description,@lm_user,@lm_date)";
                 list.Add(new
                 {
                     str = sql,
@@ -3038,6 +3272,7 @@
                         mould_code = mouldcode,
                         type = "IN",
                         warehouse_code = warehousecode,
+                        location_code = locationcode,
                         description = description,
                         lm_user = us.usercode,
                         lm_date = DateTime.Now.ToString()
@@ -3045,8 +3280,8 @@
                 });
 
                 //鍥炲啓妯″叿娓呭崟,浣跨敤鐘舵��(鍏ュ簱),浠撳簱缂栫爜
-                sql = @"update TMouldInfo set usestatus='0',warehousecode=@warehousecode  where code=@mouldcode";
-                list.Add(new { str = sql, parm = new { mouldcode = mouldcode, warehousecode = warehousecode } });
+                sql = @"update TMouldInfo set usestatus='0',warehousecode=@warehousecode,location_code=@location_code  where code=@mouldcode";
+                list.Add(new { str = sql, parm = new { mouldcode = mouldcode, warehousecode = warehousecode, location_code = locationcode } });
 
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -3096,9 +3331,10 @@
                     {
                         //鍒ゆ柇褰撳墠妯″叿鏄惁鍦ㄥ鍊熺姸鎬�
                         sql = @"select M.code as mould_code,M.name as mould_name,M.spec as mould_spec,
-                                M.surp_life,M.resi_life,M.warehousecode,C.name as  warehousename 
+                                M.surp_life,M.resi_life,M.warehousecode,C.name as  warehousename,M.location_code,L.name as location_name 
                                 from TMouldInfo M 
                                 left join TSecStck C on M.warehousecode=C.code
+                                left join TSecLoca L on M.location_code=L.code
                                 where M.code=@mouldcode and M.usestatus='0'";
                         dynamicParams.Add("@mouldcode", mouldcode);
                         var data = DapperHelper.selectdata(sql, dynamicParams);
@@ -3146,7 +3382,7 @@
         #endregion
 
         #region[妯″叿鍑哄簱鎻愪氦]
-        public static ToMessage MouldOutWareHouseSave(string mouldcode, string warehousecode, string description, User us)
+        public static ToMessage MouldOutWareHouseSave(string mouldcode, string warehousecode,string locationcode, string description, User us)
         {
             var sql = "";
             List<object> list = new List<object>();
@@ -3155,8 +3391,8 @@
             {
                 list.Clear();
                 //鍐欏叆妯″叿鍑哄叆搴撹褰曡〃(鍑哄簱鎿嶄綔)
-                sql = @"insert into  TMould_InOutReord(mould_code,type,warehouse_code,description,lm_user,lm_date) 
-                        values(@mould_code,@type,@warehouse_code,@description,@lm_user,@lm_date)";
+                sql = @"insert into  TMould_InOutReord(mould_code,type,warehouse_code,location_code,description,lm_user,lm_date) 
+                        values(@mould_code,@type,@warehouse_code,@location_code,@description,@lm_user,@lm_date)";
                 list.Add(new
                 {
                     str = sql,
@@ -3165,6 +3401,7 @@
                         mould_code = mouldcode,
                         type = "OUT",
                         warehouse_code = warehousecode,
+                        location_code= locationcode,
                         description = description,
                         lm_user = us.usercode,
                         lm_date = DateTime.Now.ToString()
@@ -3172,8 +3409,8 @@
                 });
 
                 //鍥炲啓妯″叿娓呭崟,浣跨敤鐘舵��(鍑哄簱),娓呴櫎浠撳簱缂栫爜
-                sql = @"update TMouldInfo set usestatus='1',warehousecode=@warehousecode  where code=@mouldcode";
-                list.Add(new { str = sql, parm = new { mouldcode = mouldcode, warehousecode ="" } });
+                sql = @"update TMouldInfo set usestatus='1',warehousecode=@warehousecode,location_code=@location_code  where code=@mouldcode";
+                list.Add(new { str = sql, parm = new { mouldcode = mouldcode, warehousecode ="", location_code="" } });
 
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -3203,5 +3440,945 @@
             return mes;
         }
         #endregion
+
+
+        #region[妯″叿鐐规璁板綍鏌ヨ]
+        public static ToMessage MouldCheckTakeSearch(string mouldcode, string mouldname, string mouldspec, string stanedcode, string stanedname, string checkuser, string checkopendate, string checkclosedate,string checkrequest, int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (mouldcode != "" && mouldcode != null)
+                {
+                    search += "and A.mould_code like '%'+@mouldcode+'%' ";
+                    dynamicParams.Add("@mouldcode", mouldcode);
+                }
+                if (mouldname != "" && mouldname != null)
+                {
+                    search += "and E.name like '%'+@mouldname+'%' ";
+                    dynamicParams.Add("@mouldname", mouldname);
+                }
+                if (mouldspec != "" && mouldspec != null)
+                {
+                    search += "and E.spec like '%'+@mouldspec+'%' ";
+                    dynamicParams.Add("@mouldspec", mouldspec);
+                }
+                if (stanedcode != "" && stanedcode != null)
+                {
+                    search += "and M.code like '%'+@stanedcode+'%' ";
+                    dynamicParams.Add("@stanedcode", stanedcode);
+                }
+                if (stanedname != "" && stanedname != null)
+                {
+                    search += "and M.name like '%'+@stanedname+'%' ";
+                    dynamicParams.Add("@stanedname", stanedname);
+                }
+                if (checkuser != "" && checkuser != null)
+                {
+                    search += "and U.username like '%'+@checkuser+'%' ";
+                    dynamicParams.Add("@checkuser", checkuser);
+                }
+                if (checkrequest != "" && checkrequest != null)
+                {
+                    search += "and A.chk_result=@checkrequest ";
+                    dynamicParams.Add("@checkrequest", checkrequest);
+                }
+                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");
+                }
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.id,A.djwo,A.mould_code,E.name as mould_name,E.spec as mould_spec,M.code as stanedcode,M.name as stanedname,
+                            U.username as chk_user,A.chk_result,A.chk_date
+                            from TMouldchk_Proc_Main A
+                            left join TMouldInfo E on A.mould_code=E.code
+                            left join TMouldchk_Main M on A.mouldchkmain_code=M.code
+                            left join TUser U on A.chk_user=U.usercode 
+                            where 1=1 " + search;
+                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[妯″叿鐐规璁板綍鏄庣粏鏌ヨ]
+        public static ToMessage MouldCheckSubTakeSearch(string id)
+        {
+            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 TMouldchk_Proc_Deta A
+                        left join TMouldchk_Item T on A.mouldchkdeta_code=T.code
+                        where A.m_id=@id";
+                dynamicParams.Add("@id", id);
+                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 MouldCheckTakeOutExcel(string mouldcode, string mouldname, string mouldspec, string stanedcode, string stanedname, string checkuser, string checkopendate, string checkclosedate,string checkrequest)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (mouldcode != "" && mouldcode != null)
+                {
+                    search += "and A.mould_code like '%'+@mouldcode+'%' ";
+                    dynamicParams.Add("@mouldcode", mouldcode);
+                }
+                if (mouldname != "" && mouldname != null)
+                {
+                    search += "and E.name like '%'+@mouldname+'%' ";
+                    dynamicParams.Add("@mouldname", mouldname);
+                }
+                if (mouldspec != "" && mouldspec != null)
+                {
+                    search += "and E.spec like '%'+@mouldspec+'%' ";
+                    dynamicParams.Add("@mouldspec", mouldspec);
+                }
+                if (stanedcode != "" && stanedcode != null)
+                {
+                    search += "and M.code like '%'+@stanedcode+'%' ";
+                    dynamicParams.Add("@stanedcode", stanedcode);
+                }
+                if (stanedname != "" && stanedname != null)
+                {
+                    search += "and M.name like '%'+@stanedname+'%' ";
+                    dynamicParams.Add("@stanedname", stanedname);
+                }
+                if (checkuser != "" && checkuser != null)
+                {
+                    search += "and U.username like '%'+@checkuser+'%' ";
+                    dynamicParams.Add("@checkuser", checkuser);
+                }
+                if (checkrequest != "" && checkrequest != null)
+                {
+                    search += "and A.chk_result=@checkrequest ";
+                    dynamicParams.Add("@checkrequest", checkrequest);
+                }
+                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");
+                }
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select 
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.djwo ORDER BY B.mouldchkdeta_code) = 1 THEN A.djwo
+                            ELSE ''END AS '鐐规鍗曞彿',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.djwo ORDER BY B.mouldchkdeta_code) = 1 THEN A.mould_code
+                            ELSE ''END AS '妯″叿缂栧彿',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.djwo ORDER BY B.mouldchkdeta_code) = 1 THEN E.name
+                            ELSE ''END AS '妯″叿鍚嶇О',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.djwo ORDER BY B.mouldchkdeta_code) = 1 THEN E.spec
+                            ELSE ''END AS '瑙勬牸鍨嬪彿',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.djwo ORDER BY B.mouldchkdeta_code) = 1 THEN A.mouldchkmain_code
+                            ELSE ''END AS '鐐规鏍囧噯缂栫爜',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.djwo ORDER BY B.mouldchkdeta_code) = 1 THEN M.name
+                            ELSE ''END AS '鐐规鏍囧噯鍚嶇О',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.djwo ORDER BY B.mouldchkdeta_code) = 1 THEN U.username
+                            ELSE ''END AS '妫�楠屼汉鍛�',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.djwo ORDER BY B.mouldchkdeta_code) = 1 THEN A.chk_result
+                            ELSE ''END AS '妫�楠岀粨鏋�',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.djwo ORDER BY B.mouldchkdeta_code) = 1 THEN A.chk_date
+                            END AS '妫�楠屾椂闂�',
+                            B.seq as '鐐规閮ㄤ綅搴忓彿',H.code '鐐规閮ㄤ綅缂栫爜',H.name '鐐规閮ㄤ綅鍚嶇О',B.result '鐐规缁撴灉',B.chk_value '鏁板��',B.remark '澶囨敞'
+                            from TMouldchk_Proc_Main A
+                            left join TMouldchk_Proc_Deta B on A.id=B.m_id
+                            left join TMouldInfo E on A.mould_code=E.code
+                            left join TMouldchk_Main M on A.mouldchkmain_code=M.code
+                            left join TMouldchk_Item H on B.mouldchkdeta_code=H.code
+                            left join TUser U on A.chk_user=U.usercode
+                            where 1=1 " + 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 MouldRepairTakeSearch(string mouldcode, string mouldname, string mouldspec, string stanedcode, 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 (mouldcode != "" && mouldcode != null)
+                {
+                    search += "and A.mould_code like '%'+@mouldcode+'%' ";
+                    dynamicParams.Add("@mouldcode", mouldcode);
+                }
+                if (mouldname != "" && mouldname != null)
+                {
+                    search += "and E.name like '%'+@mouldname+'%' ";
+                    dynamicParams.Add("@mouldname", mouldname);
+                }
+                if (mouldspec != "" && mouldspec != null)
+                {
+                    search += "and E.spec like '%'+@mouldspec+'%' ";
+                    dynamicParams.Add("@mouldspec", mouldspec);
+                }
+                if (stanedcode != "" && stanedcode != null)
+                {
+                    search += "and M.code like '%'+@stanedcode+'%' ";
+                    dynamicParams.Add("@stanedcode", stanedcode);
+                }
+                if (stanedname != "" && stanedname != null)
+                {
+                    search += "and M.name like '%'+@stanedname+'%' ";
+                    dynamicParams.Add("@stanedname", stanedname);
+                }
+                if (repairuser != "" && repairuser != null)
+                {
+                    search += "and U.username 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);
+                }
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.id,A.bywo,A.mould_code,E.name as mould_name,E.spec as mould_spec,M.code as stanedcode,M.name as stanedname,
+                            U.username as maint_user,A.maint_result,A.maint_date
+                            from TMouldmaint_Proc_Main A
+                            left join TMouldInfo E on A.mould_code=E.code
+                            left join TMouldmai_Main M on A.mouldmaint_code=M.code
+                            left join TUser U on A.maint_user=U.usercode
+                            where 1=1 " + search;
+                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[妯″叿淇濆吇璁板綍鏄庣粏鏌ヨ]
+        public static ToMessage MouldRepairSubTakeSearch(string id)
+        {
+            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 TMouldmaint_Proc_Deta A
+                        left join TMouldmai_Item T on A.mouldmaideta_code=T.code
+                        where A.m_id=@id";
+                dynamicParams.Add("@id", id);
+                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 MouldRepairTakeOutExcel(string mouldcode, string mouldname, string mouldspec, string stanedcode, string stanedname, string repairuser, string repairopendate, string repairclosedate, string repairresult)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (mouldcode != "" && mouldcode != null)
+                {
+                    search += "and A.mould_code like '%'+@mouldcode+'%' ";
+                    dynamicParams.Add("@mouldcode", mouldcode);
+                }
+                if (mouldname != "" && mouldname != null)
+                {
+                    search += "and E.name like '%'+@mouldname+'%' ";
+                    dynamicParams.Add("@mouldname", mouldname);
+                }
+                if (mouldspec != "" && mouldspec != null)
+                {
+                    search += "and E.spec like '%'+@mouldspec+'%' ";
+                    dynamicParams.Add("@mouldspec", mouldspec);
+                }
+                if (stanedcode != "" && stanedcode != null)
+                {
+                    search += "and M.code like '%'+@stanedcode+'%' ";
+                    dynamicParams.Add("@stanedcode", stanedcode);
+                }
+                if (stanedname != "" && stanedname != null)
+                {
+                    search += "and M.name like '%'+@stanedname+'%' ";
+                    dynamicParams.Add("@stanedname", stanedname);
+                }
+                if (repairuser != "" && repairuser != null)
+                {
+                    search += "and U.username 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);
+                }
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select 
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.bywo ORDER BY B.mouldmaideta_code) = 1 THEN A.bywo
+                            ELSE ''END AS '淇濆吇鍗曞彿',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.bywo ORDER BY B.mouldmaideta_code) = 1 THEN A.mould_code
+                            ELSE ''END AS '妯″叿缂栫爜',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.bywo ORDER BY B.mouldmaideta_code) = 1 THEN E.name
+                            ELSE ''END AS '妯″叿鍚嶇О',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.bywo ORDER BY B.mouldmaideta_code) = 1 THEN E.spec
+                            ELSE ''END AS '瑙勬牸鍨嬪彿',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.bywo ORDER BY B.mouldmaideta_code) = 1 THEN A.mouldmaint_code
+                            ELSE ''END AS '淇濆吇鏍囧噯缂栫爜',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.bywo ORDER BY B.mouldmaideta_code) = 1 THEN M.name
+                            ELSE ''END AS '淇濆吇鏍囧噯鍚嶇О',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.bywo ORDER BY B.mouldmaideta_code) = 1 THEN U.username
+                            ELSE ''END AS '淇濆吇浜哄憳',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.bywo ORDER BY B.mouldmaideta_code) = 1 THEN A.maint_result
+                            ELSE ''END AS '淇濆吇缁撴灉',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.maint_date ORDER BY B.mouldmaideta_code) = 1 THEN A.maint_date
+                            END AS '淇濆吇鏃堕棿',
+                            B.seq as '淇濆吇閮ㄤ綅搴忓彿',H.code '淇濆吇閮ㄤ綅缂栫爜',H.name '淇濆吇閮ㄤ綅鍚嶇О',B.result '淇濆吇缁撴灉',B.maint_value '鏁板��',B.remark '澶囨敞'
+                            from TMouldmaint_Proc_Main A
+                            left join TMouldmaint_Proc_Deta B on A.id=B.m_id
+                            left join TMouldInfo E on A.mould_code=E.code
+                            left join TMouldmai_Main M on A.mouldmaint_code=M.code
+                            left join TMouldmai_Item H on B.mouldmaideta_code=H.code
+                            left join TUser U on A.maint_user=U.usercode
+                            where 1=1 " + 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 MouldUpdateSearch(string mouldcode, string mouldname, string mouldspec, 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 (mouldcode != "" && mouldcode != null)
+                {
+                    search += "and A.mould_code like '%'+@mouldcode+'%' ";
+                    dynamicParams.Add("@mouldcode", mouldcode);
+                }
+                if (mouldname != "" && mouldname != null)
+                {
+                    search += "and E.name like '%'+@mouldname+'%' ";
+                    dynamicParams.Add("@mouldname", mouldname);
+                }
+                if (mouldspec != "" && mouldspec != null)
+                {
+                    search += "and E.spec like '%'+@mouldspec+'%' ";
+                    dynamicParams.Add("@mouldspec", mouldspec);
+                }
+                if (reportuser != "" && reportuser != null)
+                {
+                    search += "and U.username like '%'+@reportuser+'%' ";
+                    dynamicParams.Add("@reportuser", reportuser);
+                }
+                if (repairuser != "" && repairuser != null)
+                {
+                    search += "and R.username like '%'+@repairuser+'%' ";
+                    dynamicParams.Add("@repairuser", repairuser);
+                }
+                if (vrifcatuser != "" && vrifcatuser != null)
+                {
+                    search += "and V.username 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");
+                }
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.repair_code,A.mould_code,E.name as mould_name,E.spec as mould_spec,U.username as request_person,B.request_date,
+                            R.username as repair_person,A.repair_date,CAST(datediff(minute, B.request_date,A.repair_date)/60.0 AS decimal(9,1)) as cycleDate,
+                            V.username as verify_person,A.verify_date,(case when A.verify_result='OK' then '閫氳繃' when  A.verify_result='NG' then '涓嶉�氳繃' end)as verify_result 
+                            from TMould_Repair A
+                            left join TMould_RepairRequest B on A.source_wo=B.docu_code 
+                            left join TMouldInfo E on A.mould_code=E.code
+                            left join TUser U on B.request_person=U.usercode
+                            left join TUser R on A.repair_person=R.usercode
+                            left join TUser V on A.verify_person=V.usercode
+                            where 1=1 " + search;
+                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[妯″叿缁翠慨璁板綍鏄庣粏鏌ヨ]
+        public static ToMessage MouldUpdateSubSearch(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 '鎵嬪伐'
+                       end
+                       ) as source,B.failure_descript 
+                       from TMould_Repair A
+                       left join TMould_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 TMould_Repair A
+                        left join TMould_RepairRequest B on A.source_wo=B.docu_code
+                        left join TMould_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 TMould_Repair A
+                        left join TMould_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 from TMould_Repair A
+                        left join TMould_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 MouldUpdateSearch(string mouldcode, string mouldname, string mouldspec, 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 (mouldcode != "" && mouldcode != null)
+                {
+                    search += "and A.mould_code like '%'+@mouldcode+'%' ";
+                    dynamicParams.Add("@mouldcode", mouldcode);
+                }
+                if (mouldname != "" && mouldname != null)
+                {
+                    search += "and E.name like '%'+@mouldname+'%' ";
+                    dynamicParams.Add("@mouldname", mouldname);
+                }
+                if (mouldspec != "" && mouldspec != null)
+                {
+                    search += "and E.spec like '%'+@mouldspec+'%' ";
+                    dynamicParams.Add("@mouldspec", mouldspec);
+                }
+                if (reportuser != "" && reportuser != null)
+                {
+                    search += "and U.username like '%'+@reportuser+'%' ";
+                    dynamicParams.Add("@reportuser", reportuser);
+                }
+                if (repairuser != "" && repairuser != null)
+                {
+                    search += "and R.username like '%'+@repairuser+'%' ";
+                    dynamicParams.Add("@repairuser", repairuser);
+                }
+                if (vrifcatuser != "" && vrifcatuser != null)
+                {
+                    search += "and V.username 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");
+                }
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.repair_code as '缁翠慨鍗曞彿',A.mould_code as '妯″叿缂栫爜',E.name as '妯″叿鍚嶇О',E.spec as '瑙勬牸鍨嬪彿',
+                            U.username as '鎶ヤ慨浜哄憳',B.request_date as '鎶ヤ慨鏃堕棿',R.username as '缁翠慨浜哄憳',A.repair_date as '缁翠慨鏃堕棿',
+                            CAST(datediff(minute, B.request_date,A.repair_date)/60.0 AS decimal(9,1)) as '缁翠慨鏃堕暱',
+                            V.username as '楠岃瘉浜哄憳',A.verify_date as '楠岃瘉鏃堕棿',(case when A.verify_result='OK' then '閫氳繃' when  A.verify_result='NG' then '涓嶉�氳繃' end) as '楠岃瘉缁撴灉' 
+                            from TMould_Repair A
+                            left join TMould_RepairRequest B on A.source_wo=B.docu_code 
+                            left join TMouldInfo E on A.mould_code=E.code
+                            left join TUser U on B.request_person=U.usercode
+                            left join TUser R on A.repair_person=R.usercode
+                            left join TUser V on A.verify_person=V.usercode
+                            where 1=1 " + 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 MouldUpDownMachinesSearch(string mouldcode, string mouldname, string mouldspec, string type, string devicecode, string operuser, string opendate, string closedate, int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (mouldcode != "" && mouldcode != null)
+                {
+                    search += "and A.mould_code like '%'+@mouldcode+'%' ";
+                    dynamicParams.Add("@mouldcode", mouldcode);
+                }
+                if (mouldname != "" && mouldname != null)
+                {
+                    search += "and M.name like '%'+@mouldname+'%' ";
+                    dynamicParams.Add("@mouldname", mouldname);
+                }
+                if (mouldspec != "" && mouldspec != null)
+                {
+                    search += "and M.spec like '%'+@mouldspec+'%' ";
+                    dynamicParams.Add("@mouldspec", mouldspec);
+                }
+                if (type != "" && type != null)
+                {
+                    search += "and A.type=@type ";
+                    dynamicParams.Add("@type", type);
+                }
+                if (devicecode != "" && devicecode != null)
+                {
+                    search += "and A.eqp_code=@devicecode ";
+                    dynamicParams.Add("@devicecode", devicecode);
+                }
+                if (operuser != "" && operuser != null)
+                {
+                    search += "and U.username like '%'+@operuser+'%' ";
+                    dynamicParams.Add("@operuser", operuser);
+                }
+                if (opendate != "" && opendate != null)
+                {
+                    search += "and A.lm_date between @opendate and @closedate ";
+                    dynamicParams.Add("@opendate", opendate + " 00:00:00");
+                    dynamicParams.Add("@closedate", closedate + " 23:59:59");
+                }
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.mould_code,M.name as mould_name,M.spec as mould_spec,
+                            (case when A.type='UP' then '涓婃満' else '涓嬫満' end) as type,A.usecount_life,
+                            A.eqp_code,E.name as eqp_name,U.username as lm_user,A.lm_date  
+                            from TMould_UpDownReord A
+                            left join TMouldInfo M on A.mould_code=M.code
+                            left join TEqpInfo E on A.eqp_code=E.code
+                            left join TUser U on A.lm_user=U.usercode
+                            where 1=1 " + search;
+                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[妯″叿涓婁笅鏈鸿瀵煎嚭Excel]
+        public static ToMessage MouldUpDownMachinesOutExcel(string mouldcode, string mouldname, string mouldspec, string type, string devicecode, string operuser, string opendate, string closedate)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (mouldcode != "" && mouldcode != null)
+                {
+                    search += "and A.mould_code like '%'+@mouldcode+'%' ";
+                    dynamicParams.Add("@mouldcode", mouldcode);
+                }
+                if (mouldname != "" && mouldname != null)
+                {
+                    search += "and M.name like '%'+@mouldname+'%' ";
+                    dynamicParams.Add("@mouldname", mouldname);
+                }
+                if (mouldspec != "" && mouldspec != null)
+                {
+                    search += "and M.spec like '%'+@mouldspec+'%' ";
+                    dynamicParams.Add("@mouldspec", mouldspec);
+                }
+                if (type != "" && type != null)
+                {
+                    search += "and A.type=@type ";
+                    dynamicParams.Add("@type", type);
+                }
+                if (devicecode != "" && devicecode != null)
+                {
+                    search += "and A.eqp_code=@devicecode ";
+                    dynamicParams.Add("@devicecode", devicecode);
+                }
+                if (operuser != "" && operuser != null)
+                {
+                    search += "and U.username like '%'+@operuser+'%' ";
+                    dynamicParams.Add("@operuser", operuser);
+                }
+                if (opendate != "" && opendate != null)
+                {
+                    search += "and A.lm_date between @opendate and @closedate ";
+                    dynamicParams.Add("@opendate", opendate + " 00:00:00");
+                    dynamicParams.Add("@closedate", closedate + " 23:59:59");
+                }
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.mould_code as '妯″叿缂栫爜',M.name as '妯″叿鍚嶇О',M.spec as '妯″叿瑙勬牸',
+                            (case when A.type='UP' then '涓婃満' else '涓嬫満' end) as '鎿嶄綔绫诲瀷',A.usecount_life as '鏈浣跨敤',
+                            A.eqp_code as '璁惧缂栫爜',E.name as '璁惧鍚嶇О',U.username as '鎿嶄綔浜哄憳',A.lm_date as '鎿嶄綔鏃堕棿'  
+                            from TMould_UpDownReord A
+                            left join TMouldInfo M on A.mould_code=M.code
+                            left join TEqpInfo E on A.eqp_code=E.code
+                            left join TUser U on A.lm_user=U.usercode
+                            where 1=1 " + 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 MouldCirculateMachinesSearch(string mouldcode, string mouldname, string mouldspec, string type, string operuser, string opendate, string closedate, int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (mouldcode != "" && mouldcode != null)
+                {
+                    search += "and A.mould_code like '%'+@mouldcode+'%' ";
+                    dynamicParams.Add("@mouldcode", mouldcode);
+                }
+                if (mouldname != "" && mouldname != null)
+                {
+                    search += "and M.name like '%'+@mouldname+'%' ";
+                    dynamicParams.Add("@mouldname", mouldname);
+                }
+                if (mouldspec != "" && mouldspec != null)
+                {
+                    search += "and M.spec like '%'+@mouldspec+'%' ";
+                    dynamicParams.Add("@mouldspec", mouldspec);
+                }
+                if (type != "" && type != null)
+                {
+                    search += "and A.type=@type ";
+                    dynamicParams.Add("@type", type);
+                }
+                if (operuser != "" && operuser != null)
+                {
+                    search += "and U.username like '%'+@operuser+'%' ";
+                    dynamicParams.Add("@operuser", operuser);
+                }
+                if (opendate != "" && opendate != null)
+                {
+                    search += "and A.lm_date between @opendate and @closedate ";
+                    dynamicParams.Add("@opendate", opendate + " 00:00:00");
+                    dynamicParams.Add("@closedate", closedate + " 23:59:59");
+                }
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.mould_code,M.name as mould_name,M.spec as mould_spec,  
+                            (case when A.type='OUT' then '澶栧��' else '褰掕繕' end) as type,
+                            A.description,U.username as lm_user,A.lm_date  
+                            from TMould_LendOutReord A
+                            left join TMouldInfo M on A.mould_code=M.code
+                            left join TUser U on A.lm_user=U.usercode
+                            where 1=1 " + search;
+                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[妯″叿鍊熻繕璁板綍瀵煎嚭]
+        public static ToMessage MouldCirculateMachinesOutExcel(string mouldcode, string mouldname, string mouldspec, string type, string operuser, string opendate, string closedate)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (mouldcode != "" && mouldcode != null)
+                {
+                    search += "and A.mould_code like '%'+@mouldcode+'%' ";
+                    dynamicParams.Add("@mouldcode", mouldcode);
+                }
+                if (mouldname != "" && mouldname != null)
+                {
+                    search += "and M.name like '%'+@mouldname+'%' ";
+                    dynamicParams.Add("@mouldname", mouldname);
+                }
+                if (mouldspec != "" && mouldspec != null)
+                {
+                    search += "and M.spec like '%'+@mouldspec+'%' ";
+                    dynamicParams.Add("@mouldspec", mouldspec);
+                }
+                if (type != "" && type != null)
+                {
+                    search += "and A.type=@type ";
+                    dynamicParams.Add("@type", type);
+                }
+                if (operuser != "" && operuser != null)
+                {
+                    search += "and U.username like '%'+@operuser+'%' ";
+                    dynamicParams.Add("@operuser", operuser);
+                }
+                if (opendate != "" && opendate != null)
+                {
+                    search += "and A.lm_date between @opendate and @closedate ";
+                    dynamicParams.Add("@opendate", opendate + " 00:00:00");
+                    dynamicParams.Add("@closedate", closedate + " 23:59:59");
+                }
+                //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.mould_code as '妯″叿缂栫爜',M.name as '妯″叿鍚嶇О',M.spec as '瑙勬牸鍨嬪彿',  
+                            (case when A.type='OUT' then '澶栧��' else '褰掕繕' end) as '鎿嶄綔绫诲瀷',
+                            A.description as '鎻忚堪',U.username as '鎿嶄綔浜哄憳',A.lm_date as '鎿嶄綔鏃堕棿'  
+                            from TMould_LendOutReord A
+                            left join TMouldInfo M on A.mould_code=M.code
+                            left join TUser U on A.lm_user=U.usercode
+                            where 1=1 " + 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
     }
 }

--
Gitblit v1.9.3