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

---
 VueWebApi/DLL/DAL/AppDeviceManageDAL.cs | 1076 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,065 insertions(+), 11 deletions(-)

diff --git a/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs b/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs
index 4dd4d7c..c00fe05 100644
--- a/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs
+++ b/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs
@@ -1,10 +1,12 @@
 锘縰sing Dapper;
+using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Data.SqlClient;
 using System.Linq;
 using System.Web;
+using VueWebApi.Hubs;
 using VueWebApi.Models;
 using VueWebApi.Tools;
 
@@ -21,7 +23,7 @@
 
 
         #region[鏃ュ父鐐规,鎵弿宸ヤ綅/璁惧浜岀淮鐮乚
-        public static ToMessage ScanDeviceQrCodeData(string eqpcode)
+        public static ToMessage CheckScanDeviceQrCodeData(string eqpcode)
         {
             string sql = "";
             var dynamicParams = new DynamicParameters();
@@ -44,7 +46,7 @@
                 else
                 {
                     mes.code = "300";
-                    mes.Message = "褰撳墠璁惧寮傚父!";
+                    mes.Message = "褰撳墠璁惧/宸ヤ綅涓嶅瓨鍦ㄦ垨寮傚父!";
                     mes.data = data;
                 }
             }
@@ -59,21 +61,60 @@
         }
         #endregion
 
+        #region[鏃ュ父鐐规,鎵弿宸ヤ綅/璁惧浜岀淮鐮佹煡鎵剧偣妫�鏍囧噯]
+        public static ToMessage CheckScanDeviceTemp(string eqpcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇瀵瑰簲璁惧鐐规鏍囧噯
+                sql = @"select M.code,M.name   from TEqpchk_Eqp E
+                        inner join TEqpchk_Main M on E.eqpchkmain_code=M.code
+                        where E.eqp_code=@eqpcode order by M.lm_date desc";
+                dynamicParams.Add("@eqpcode", eqpcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = data;
+                }
+                else
+                {
+                    mes.code = "300";
+                    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 SelectScanDeviceQrCodeItem(string eqpcode)
+        public static ToMessage SelectScanDeviceQrCodeItem(string eqpcode,string checktempcode)
         {
             string sql = "";
             var dynamicParams = new DynamicParameters();
             try
             {
                 //鑾峰彇瀵瑰簲璁惧鍏宠仈鐨勭偣妫�椤圭洰
-                sql = @"select S.seq,S.code,S.name,chkdesc,isscan,cycle  
+                sql = @"select S.seq,S.code,S.name,S.chkdesc,S.isscan,S.cycle  
                         from TEqpchk_Eqp A
                         inner join TEqpchk_Main B on A.eqpchkmain_code=B.code
                         inner join TEqpchk_Deta S on B.code=S.eqpchk_main_code
-                        where A.eqp_code=@eqpcode
+                        where A.eqp_code=@eqpcode and B.code=@checktempcode
                         order by S.seq asc";
                 dynamicParams.Add("@eqpcode", eqpcode);
+                dynamicParams.Add("@checktempcode", checktempcode);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 if (data.Rows.Count > 0)
                 {
@@ -103,19 +144,21 @@
         public static ToMessage AppDeviceCheckSave(string username, AppDevicecCheck json)
         {
             var sql = "";
-            string djwo = "";
+            string djwo = "", numvalue = "";
             List<object> list = new List<object>();
             try
             {
                 list.Clear();
-                mes = SeachEncode.EncodingSeach("1036");  //鐢熸垚鍗曞彿
+                mes = SeachEncode.EncodingSeach("1027");  //PC绔澶囩偣妫�璁板綍鐢熸垚鍗曞彿
                 if (mes.code == "300")
                 {
                     return mes;
                 }
                 else
                 {
-                    djwo = mes.data.GetType().GetProperty("Encode").GetValue(mes.data, null).ToString(); //鑾峰彇鍗曞彿
+                    List<string> wo = (List<string>)mes.data;
+                    djwo = wo[0].ToString(); //鑾峰彇鍗曞彿
+                    numvalue = wo[1].ToString(); //鑾峰彇娴佹按鍙�
                 }
                 if (json == null || json.children.Count <= 0)
                 {
@@ -136,10 +179,10 @@
                     {
                         djwo = djwo,
                         eqp_code = json.code,
-                        eqpchkmain_code=json.standcode,
+                        eqpchkmain_code = json.standcode,
                         lm_user = username,
                         lm_date = DateTime.Now.ToString(),
-                        chk_result=json.result
+                        chk_result = json.result
                     }
                 });
                 //寰幆鍐欏叆鐐规璁板綍瀛愯〃
@@ -154,7 +197,7 @@
                         {
                             seq = json.children[i].seq,
                             djwo = djwo,
-                            eqpchkdeta_code =json.children[i].itemcode,
+                            eqpchkdeta_code = json.children[i].itemcode,
                             chk_cyc = json.children[i].cycle,
                             result = json.children[i].result,
                             chk_value = json.children[i].value
@@ -188,5 +231,1016 @@
             return mes;
         }
         #endregion
+
+
+
+        #region[瀹氭湡淇濆吇,鎵弿宸ヤ綅/璁惧浜岀淮鐮乚
+        public static ToMessage RepairScanDeviceQrCodeData(string eqpcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇瀵瑰簲璁惧鍙婃墍灞炶溅闂�
+                sql = @"select A.code,A.name,T.org_code as wksp_code,T.org_name as wksp_name,
+                        E.eapmai_code,M.name as eapmai_name,M.main_cycle  
+                        from TEqpInfo A
+                        left join TOrganization T on A.wksp_code=T.org_code
+                        left join TEqpmai_Eqp E on A.code=E.eqp_code
+                        left join TEqpmai_Main M on E.eapmai_code=M.code
+                        where A.code=@eqpcode and A.enable='Y' and T.description='W'";
+                dynamicParams.Add("@eqpcode", eqpcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = data;
+                }
+                else
+                {
+                    mes.code = "300";
+                    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 RepairScanDeviceTemp(string eqpcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇瀵瑰簲璁惧淇濆吇鏍囧噯
+                sql = @"select M.code,M.name,main_cycle   from TEqpmai_Eqp E
+                        inner join TEqpmai_Main M on E.eapmai_code=M.code
+                        where E.eqp_code=@eqpcode
+                        order by M.lm_date desc";
+                dynamicParams.Add("@eqpcode", eqpcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = data;
+                }
+                else
+                {
+                    mes.code = "300";
+                    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 RepairSelectScanDeviceQrCodeItem(string eqpcode,string repartempcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇瀵瑰簲璁惧鍏宠仈鐨勪繚鍏婚」鐩�
+                sql = @"select S.seq,S.code,S.name,S.chk_desc,S.isscan,B.main_cycle 
+                        from TEqpmai_Eqp A
+                        inner join TEqpmai_Main B on A.eapmai_code=B.code
+                        inner join TEqpmai_Deta S on B.code=S.eapmai_code
+                        where A.eqp_code='SB003' and B.code=@repartempcode
+                        order by S.seq asc";
+                dynamicParams.Add("@eqpcode", eqpcode);
+                dynamicParams.Add("@repartempcode", repartempcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = data;
+                }
+                else
+                {
+                    mes.code = "300";
+                    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 AppDeviceRepairSave(string username, string maintcyc, AppDevicecCheck json)
+        {
+            var sql = "";
+            string bywo = "", numvalue = "";
+            List<object> list = new List<object>();
+            try
+            {
+                list.Clear();
+                mes = SeachEncode.EncodingSeach("1028");  //PC绔繚鍏昏褰曠敓鎴愬崟鍙�
+                if (mes.code == "300")
+                {
+                    return mes;
+                }
+                else
+                {
+                    List<string> wo = (List<string>)mes.data;
+                    bywo = wo[0].ToString(); //鑾峰彇鍗曞彿
+                    numvalue = wo[1].ToString(); //鑾峰彇娴佹按鍙�
+                }
+                if (json == null || json.children.Count <= 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "淇濆吇椤逛俊鎭笉鑳戒负绌�!";
+                    mes.data = null;
+                    return mes;
+                }
+
+                //鍐欏叆淇濆吇璁板綍涓昏〃
+                sql = @"insert into TEqpmaint_Proc_Main(bywo,eqp_code,eqpmaint_code,maint_cyc,maint_result,maint_user,maint_date) 
+                        values(@bywo,@eqp_code,@eqpmaint_code,@maintcyc,@maint_result,@lm_user,@lm_date)";
+                list.Add(new
+                {
+                    str = sql,
+                    parm = new
+                    {
+                        bywo = bywo,
+                        eqp_code = json.code,
+                        eqpmaint_code = json.standcode,
+                        maintcyc = maintcyc,
+                        lm_user = username,
+                        lm_date = DateTime.Now.ToString(),
+                        maint_result = json.result
+                    }
+                });
+                //寰幆鍐欏叆淇濆吇璁板綍瀛愯〃
+                for (int i = 0; i < json.children.Count; i++)
+                {
+                    sql = @"insert into TEqpmaint_Proc_Deta(seq,bywo,eqpmaideta_code,result,maint_cyc,maint_value) 
+                            values(@seq,@bywo,@eqpmaideta_code,@result,@maint_cyc,@maint_value)";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            seq = json.children[i].seq,
+                            bywo = bywo,
+                            eqpmaideta_code = json.children[i].itemcode,
+                            maint_cyc = json.children[i].cycle,
+                            result = json.children[i].result,
+                            maint_value = json.children[i].value
+                        }
+                    }); ;
+                }
+
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "淇濆吇鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "淇濆吇澶辫触!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+
+
+        #region[璁惧缁翠慨鐢宠,鎵弿宸ヤ綅/璁惧浜岀淮鐮乚
+        public static ToMessage MaintainScanDeviceApplyQrCodeData(string eqpcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇褰撳墠鎵爜璁惧鏄惁瀛樺湪宸茬敵璇锋垨宸茬淮淇姸鎬佹暟鎹�
+                sql = @"select *  from TEqp_RepairRequest where eqp_code=@eqpcode and status<>'CONFIR'";
+                dynamicParams.Add("@eqpcode", eqpcode);
+                var data0 = DapperHelper.selectdata(sql, dynamicParams);
+                if (data0.Rows.Count > 0)
+                {
+                    //鏌ョ湅缁翠慨璁板綍閲岄潰鏄惁鏈夊凡鐢宠鏈淮淇強缁翠慨纭鐨勬暟鎹�
+                    var rows = data0.AsEnumerable().Where(item => item["STATUS"].ToString().Equals("REPA")).ToArray();
+                    if (rows.Length > 0)
+                    {
+                        mes.code = "300";
+                        mes.Message = "褰撳墠璁惧/宸ヤ綅宸茬敵璇�,寰呯淮淇�!";
+                        mes.data = null;
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        mes.Message = "褰撳墠璁惧/宸ヤ綅宸茬淮淇�,寰呯‘璁ら獙璇�!";
+                        mes.data = null;
+                    }
+                }
+                else
+                {
+                    //鑾峰彇瀵瑰簲璁惧鍙婃墍灞炶溅闂�
+                    sql = @"select A.code,A.name,T.org_code as wksp_code,T.org_name as wksp_name,E.eqpchkmain_code  
+                        from TEqpInfo A
+                        left join TOrganization T on A.wksp_code=T.org_code
+                        left join TEqpchk_Eqp E on A.code=E.eqp_code
+                        where A.code=@eqpcode and A.enable='Y' and T.description='W'";
+                    dynamicParams.Add("@eqpcode", eqpcode);
+                    var data = DapperHelper.selectdata(sql, dynamicParams);
+                    if (data.Rows.Count > 0)
+                    {
+                        mes.code = "200";
+                        mes.Message = "鏌ヨ鎴愬姛!";
+                        mes.data = data;
+                    }
+                    else
+                    {
+                        mes.code = "300";
+                        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 MaintainScanDeviceApplySave(string username, string eqpcode, string wkshpcode, string faultsourcecode, string faultdescr, HttpFileCollection files)
+        {
+            var sql = "";
+            string wxwo = "", numvalue = "";
+            List<object> list = new List<object>();
+            try
+            {
+                list.Clear();
+                mes = SeachEncode.EncodingSeach("1019");  //PC绔淮淇敵璇疯褰曠敓鎴愬崟鍙�
+                if (mes.code == "300")
+                {
+                    return mes;
+                }
+                else
+                {
+                    List<string> wo = (List<string>)mes.data;
+                    wxwo = wo[0].ToString(); //鑾峰彇鍗曞彿
+                    numvalue = wo[1].ToString(); //鑾峰彇娴佹按鍙�
+                }
+                //楠岃瘉涓婁紶鍥剧墖
+                if (files != null && files.Count > 0)
+                {
+                    for (int i = 0; i < files.Count; i++)
+                    {
+                        HttpPostedFile file = files[i];
+                        string imgName = DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString();
+                        string imgPath = "/DeviceImage/image1/" + imgName + file.FileName;     //閫氳繃姝ゅ璞¤幏鍙栨枃浠跺悕
+                        string AbsolutePath = System.Web.HttpContext.Current.Server.MapPath(imgPath);
+                        file.SaveAs(AbsolutePath); //灏嗕笂浼犵殑涓滆タ淇濆瓨
+                        //寰幆鍐欑淮淇褰曞搴斿浘鐗囪〃
+                        sql = @"insert into  TEqp_RepairImage(source_wo,wo_type,img1url) 
+                                values(@source_wo,@wo_type,@img1url)";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                source_wo = wxwo,
+                                wo_type = "REPA",
+                                img1url = imgPath
+                            }
+                        });
+                    }
+                }
+
+                //鍐欏叆缁翠慨鐢宠璁板綍琛�
+                sql = @"insert into  TEqp_RepairRequest(docu_code,docu_date,status,wksp_code,eqp_code,request_person,request_date,failure_descript,source) 
+                                values(@docu_code,@docu_date,@status,@wksp_code,@eqp_code,@request_person,@request_date,@failure_descript,@source)";
+                list.Add(new
+                {
+                    str = sql,
+                    parm = new
+                    {
+                        docu_code = wxwo,
+                        docu_date = DateTime.Now.ToString(),
+                        status = "REPA",
+                        wksp_code = wkshpcode,
+                        eqp_code = eqpcode,
+                        request_person = username,
+                        request_date = DateTime.Now.ToString(),
+                        failure_descript = faultdescr,
+                        source = faultsourcecode
+                    }
+                });
+
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "缁翠慨鐢宠鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "缁翠慨鐢宠澶辫触!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+
+        #region[璁惧缁翠慨鍒楄〃]
+        public static ToMessage RepairScanDeviceQrCodeDataList()
+        {
+            string sql = "";
+            try
+            {
+                //鑾峰彇璁惧缁翠慨鍒楄〃宸茬敵璇锋湭缁翠慨鐨勬暟鎹�
+                sql = @"select A.docu_code,B.code as eqpcode,B.name as eqpname,
+                        T.org_code as wksp_code,T.org_name as wksp_name,
+                        A.request_person,A.request_date,
+                        (case when A.source='A' then '鐐规' when A.source='B' then '淇濆吇' when A.source='C' then '瀹夌伅' when A.source='D' then '鎵嬪伐' end) as source,
+                        A.failure_descript   
+                        from TEqp_RepairRequest A
+                        inner  join TEqpInfo B on A.eqp_code=B.code
+                        inner  join TOrganization T on A.wksp_code=T.org_code
+                        where T.description='W'and A.status='REPA'";
+                var data = DapperHelper.selecttable(sql);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = data;
+                }
+                else
+                {
+                    mes.code = "300";
+                    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 RepairScanDeviceSave(string docu_code, string username, string eqpcode, string wkshpcode, string faultdescr, string is_stoprepair, string repaircontent, string replaceparts, HttpFileCollection files)
+        {
+            var sql = "";
+            string wxwo = "", numvalue = "";
+            List<object> list = new List<object>();
+            try
+            {
+                list.Clear();
+                mes = SeachEncode.EncodingSeach("1029");  //PC璁惧缁翠慨璁板綍鐢熸垚鍗曞彿
+                if (mes.code == "300")
+                {
+                    return mes;
+                }
+                else
+                {
+                    List<string> wo = (List<string>)mes.data;
+                    wxwo = wo[0].ToString(); //鑾峰彇鍗曞彿
+                    numvalue = wo[1].ToString(); //鑾峰彇娴佹按鍙�
+                }
+                //楠岃瘉涓婁紶鍥剧墖
+                if (files != null && files.Count > 0)
+                {
+                    for (int i = 0; i < files.Count; i++)
+                    {
+                        string imgPath1 = "", imgPath2 = "", AbsolutePath = "";
+                        HttpPostedFile file = files[i];
+                        string imgName = DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString();
+                        string keyname = files.AllKeys[i].ToString().Substring(0, files.AllKeys[i].ToString().IndexOf(";"));
+                        if (keyname == "files1")
+                        {
+                            imgPath1 = "/DeviceImage/image1/" + imgName + file.FileName;     //閫氳繃姝ゅ璞¤幏鍙栨枃浠跺悕
+                            AbsolutePath = System.Web.HttpContext.Current.Server.MapPath(imgPath1);
+                        }
+                        if (keyname == "files2")
+                        {
+                            imgPath2 = "/DeviceImage/image2/" + imgName + file.FileName;     //閫氳繃姝ゅ璞¤幏鍙栨枃浠跺悕
+                            AbsolutePath = System.Web.HttpContext.Current.Server.MapPath(imgPath2);
+                        }
+                        file.SaveAs(AbsolutePath); //灏嗕笂浼犵殑涓滆タ淇濆瓨
+                                                   //寰幆鍐欑淮淇褰曞搴斿浘鐗囪〃
+                        sql = @"insert into  TEqp_RepairImage(source_wo,wo_type,img1url,img2url) 
+                                values(@source_wo,@wo_type,@img1url,@img2url)";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                source_wo = wxwo,
+                                wo_type = "COMP",
+                                img1url = imgPath1,
+                                img2url = imgPath2
+                            }
+                        });
+                    }
+                }
+                //鍐欏叆缁翠慨璁板綍琛�
+                sql = @"insert into  TEqp_Repair(repair_code,docu_date,status,wksp_code,eqp_code,repair_person,repair_date,repair_content,repair_part,failure_descript,is_shutdown,source_wo) 
+                                values(@repair_code,@docu_date,@status,@wksp_code,@eqp_code,@repair_person,@repair_date,@repair_content,@repair_part,@failure_descript,@is_shutdown,@source_wo)";
+                list.Add(new
+                {
+                    str = sql,
+                    parm = new
+                    {
+                        repair_code = wxwo,
+                        docu_date = DateTime.Now.ToString(),
+                        status = "COMP",
+                        wksp_code = wkshpcode,
+                        eqp_code = eqpcode,
+                        repair_person = username,
+                        repair_date = DateTime.Now.ToString(),
+                        repair_content = repaircontent,
+                        repair_part = replaceparts,
+                        failure_descript = faultdescr,
+                        is_shutdown = is_stoprepair,
+                        source_wo = docu_code
+                    }
+                });
+                //鏇存柊缁翠慨鐢宠鍗曠姸鎬�
+                sql = @"update TEqp_RepairRequest set status=@status  where docu_code=@docu_code and wksp_code=@wkshpcode  and eqp_code=@eqpcode";
+                list.Add(new { str = sql, parm = new { docu_code = docu_code, wkshpcode = wkshpcode, eqpcode = eqpcode, status = "COMP" } });
+
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "缁翠慨鐢宠鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "缁翠慨鐢宠澶辫触!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+
+        #region[缁翠慨楠岃瘉鍒楄〃]
+        public static ToMessage RepairVerificationScanDeviceData()
+        {
+            string sql = "";
+            try
+            {
+                //鑾峰彇璁惧缁翠慨鍒楄〃宸茬淮淇殑鏁版嵁
+                sql = @"select A.repair_code,B.code as eqpcode,B.name as eqpname,
+                        T.org_code as wksp_code,T.org_name as wksp_name,
+                        A.repair_person,A.repair_date,A.is_shutdown,
+                        A.failure_descript   
+                        from TEqp_Repair A
+                        inner  join TEqpInfo B on A.eqp_code=B.code
+                        inner  join TOrganization T on A.wksp_code=T.org_code
+                        where T.description='W'and A.status='COMP'";
+                var data = DapperHelper.selecttable(sql);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = data;
+                }
+                else
+                {
+                    mes.code = "300";
+                    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 RepairVerificationScanDeviceDataSub(string repair_code, string eqpcode, string wkshpcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            Dictionary<string, object> dict = new Dictionary<string, object>();
+            try
+            {
+                //鏍规嵁璁惧缂栫爜\杞﹂棿缂栫爜鑾峰彇缁翠慨璇︽儏
+                sql = @"select repair_code,failure_descript,is_shutdown,repair_content,repair_part   
+                        from TEqp_Repair 
+                        where repair_code=@repair_code and wksp_code=@wkshpcode and eqp_code=@eqpcode";
+                dynamicParams.Add("@repair_code", repair_code);
+                dynamicParams.Add("@wkshpcode", wkshpcode);
+                dynamicParams.Add("@eqpcode", eqpcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    dict.Add("failure_descript", data.Rows[0]["failure_descript"].ToString()); //鏁呴殰鎻忚堪
+
+                    //鑾峰彇鏁呴殰涓婁紶鍥剧墖
+                    sql = @"select img1url  from TEqp_RepairImage where source_wo=@source_wo and wo_type='COMP'";
+                    dynamicParams.Add("@source_wo", data.Rows[0]["repair_code"].ToString());
+                    var data0 = DapperHelper.selectdata(sql, dynamicParams);
+                    if (data0.Rows.Count > 0)
+                    {
+                        dict.Add("failure_descriptimg", data0); //鏁呴殰涓婁紶鍥剧墖
+                    }
+                    if (data.Rows[0]["is_shutdown"].ToString() == "N")   //鏄惁鍋滄満缁翠慨
+                    {
+                        dict.Add("repair_content", data.Rows[0]["repair_content"].ToString()); //缁翠慨鍐呭
+                        dict.Add("repair_part", data.Rows[0]["repair_part"].ToString()); //鏇存崲澶囦欢
+
+                        //鑾峰彇鏇存崲澶囦欢涓婁紶鍥剧墖
+                        sql = @"select img2url  from TEqp_RepairImage where source_wo=@source_wo and wo_type='COMP'";
+                        dynamicParams.Add("@source_wo", data.Rows[0]["repair_code"].ToString());
+                        var data1 = DapperHelper.selectdata(sql, dynamicParams);
+                        if (data1.Rows.Count > 0)
+                        {
+                            dict.Add("repair_partimage", data1); //鏁呴殰涓婁紶鍥剧墖
+                        }
+                    }
+                    mes.code = "200";
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = dict;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.Message = "鏆傛棤缁翠慨璁板綍!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[缁翠慨楠岃瘉鎻愪氦]
+        public static ToMessage RepairVerificationScanDeviceSave(string username, string repairwo, string eqpcode, string wkshpcode, string result)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                list.Clear();
+                //鏍规嵁璁惧缁翠慨鍗曟煡鎵炬簮鍗�(缁翠慨鐢宠鍗�)
+                sql = @"select source_wo   from TEqp_Repair where repair_code=@repairwo";
+                dynamicParams.Add("@repairwo", repairwo);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                //鏇存柊璁惧缁翠慨璁板綍楠岃瘉浜哄憳銆侀獙璇佹椂闂淬�侀獙璇佺粨鏋溿�侀獙璇佺姸鎬�
+                sql = @"update TEqp_Repair set status=@status,is_verifi=@is_verifi,verify_result=@verify_result,verify_person=@verify_person,verify_date=@verify_date  
+                        where repair_code=@repair_code and wksp_code=@wksp_code and eqp_code=@eqp_code";
+                list.Add(new
+                {
+                    str = sql,
+                    parm = new
+                    {
+                        status = "CONFIR",
+                        is_verifi = "Y",
+                        verify_result = result,
+                        verify_person = username,
+                        verify_date = DateTime.Now.ToString(),
+                        repair_code = repairwo,
+                        wksp_code = wkshpcode,
+                        eqp_code = eqpcode
+                    }
+                });
+                //鏇存柊缁翠慨鐢宠鍗曠姸鎬�
+                sql = @"update TEqp_RepairRequest set status=@status  where docu_code=@docu_code and wksp_code=@wkshpcode  and eqp_code=@eqpcode";
+                list.Add(new { str = sql, parm = new { docu_code = data.Rows[0]["source_wo"].ToString(), wkshpcode = wkshpcode, eqpcode = eqpcode, status = "CONFIR" } });
+
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "缁翠慨楠岃瘉鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "缁翠慨楠岃瘉澶辫触!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+
+
+        #region[瀹夌伅鍛煎彨鎵弿宸ヤ綅]
+        public static ToMessage AppDeviceAnDengCallScanSearch(string eqpcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇瀵瑰簲璁惧鍙婃墍灞炶溅闂�
+                sql = @"select A.code,A.name,T.org_code as wksp_code,T.org_name as wksp_name,E.eqpchkmain_code  
+                        from TEqpInfo A
+                        left join TOrganization T on A.wksp_code=T.org_code
+                        left join TEqpchk_Eqp E on A.code=E.eqp_code
+                        where A.code=@eqpcode and A.enable='Y' and T.description='W'";
+                dynamicParams.Add("@eqpcode", eqpcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = data;
+                }
+                else
+                {
+                    mes.code = "300";
+                    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 AppDeviceAnDengCallItemSearch(string eqpcode, string wkshpcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            List<AnDnDate> list = new List<AnDnDate>();
+            try
+            {
+                //鏍规嵁杞﹂棿浠g爜鏌ユ壘鍛煎彨绫诲瀷鏁版嵁
+                sql = @"select A.id,B.code,B.name,(case when F.type is null then 'N' else 'Y' end) flag  
+                        from TAnDon_Roul_ConFig A
+                        inner join TAnDonType B on A.andotype_code=B.code
+                        inner  join TEqpInfo E on A.wkshp_code=e.wksp_code
+                        left join(
+                        select type,wkshp_code,eqp_code  from TAnDon_Task_Info where eqp_code=@eqpcode and wkshp_code=@wkshpcode and status='START'
+                        ) F on A.wkshp_code=F.wkshp_code and E.code=F.eqp_code and B.code=F.type
+                        where A.wkshp_code=@wkshpcode and E.code=@eqpcode and A.enable='N'";
+                dynamicParams.Add("@wkshpcode", wkshpcode);
+                dynamicParams.Add("@eqpcode", eqpcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    for (int i = 0; i < data.Rows.Count; i++)
+                    {
+                        AnDnDate mn = new AnDnDate();
+                        mn.code = data.Rows[i]["CODE"].ToString();
+                        mn.name = data.Rows[i]["NAME"].ToString();
+                        mn.flag = data.Rows[i]["FLAG"].ToString();
+                        mn.children = new List<AnDnDateSub>();
+                        //鏍规嵁鍛煎彨绫诲瀷id鏌ユ壘缁戝畾浜哄憳
+                        sql = @"select U.usercode,U.username,U.rid   
+                                from TAnDon_Roul_ConFigUser A
+                                inner join TUser U on A.usercode=U.usercode
+                                where A.ando_cogfigid=@id";
+                        dynamicParams.Add("@id", data.Rows[i]["ID"].ToString());
+                        var data0 = DapperHelper.selectdata(sql, dynamicParams);
+                        if (data0.Rows.Count > 0)
+                        {
+                            for (int j = 0; j < data0.Rows.Count; j++)
+                            {
+                                AnDnDateSub sn = new AnDnDateSub();
+                                sn.rid= data0.Rows[j]["RID"].ToString();//rid
+                                sn.alias = data0.Rows[j]["RID"].ToString() + data0.Rows[j]["USERCODE"].ToString();  //鍒悕
+                                sn.usercode = data0.Rows[j]["USERCODE"].ToString();
+                                sn.username = data0.Rows[j]["USERNAME"].ToString();
+                                mn.children.Add(sn);
+                            }
+                        }
+                        list.Add(mn);
+                    }
+                    mes.code = "200";
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = list;
+                }
+                else
+                {
+                    mes.code = "300";
+                    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 AppDeviceAnDengCallSave(string username, string eqpcode, string wkshpcode, List<AnDnDate> json)
+        {
+            string sql = "";
+            int AnDnID = 0; //鏈�澶d
+            var dynamicParams = new DynamicParameters();
+            List<object> list = new List<object>();
+            List<string> list1 = new List<string>();
+            ChatHub chthub = new ChatHub();
+            try
+            {
+                list.Clear();
+                //鑾峰彇涓昏〃鏈�澶D
+                AnDnID = DapperHelper.insertReturnId("TAnDon_Task_Info");
+                for (int i = 0; i < json.Count; i++)
+                {
+                    AnDnID = AnDnID + 1;//鑷1
+                    string code = json[i].code.ToString();
+                    string name = json[i].name.ToString();
+                    sql = @"select *   from TAnDon_Task_Info where wkshp_code=@wkshpcode and eqp_code=@eqpcode and type=@typecode and status='START'";
+                    dynamicParams.Add("@wkshpcode", wkshpcode);
+                    dynamicParams.Add("@eqpcode", eqpcode);
+                    dynamicParams.Add("@typecode", code);
+                    var data = DapperHelper.selectdata(sql, dynamicParams);
+                    if (data.Rows.Count > 0)
+                    {
+                        mes.code = "300";
+                        mes.Message = "褰撳墠璁惧宸茬粡鍛煎彨銆�" + name + "銆�,璇峰厛鍝嶅簲!";
+                        mes.data = null;
+                        return mes;
+                    }
+                    else
+                    {
+                        //鍐欏叆瀹夌伅鍛煎彨琛�
+                        sql = @"insert into TAnDon_Task_Info(wkshp_code,eqp_code,type,start_date,start_user,status) 
+                        values(@wkshp_code,@eqp_code,@type,@start_date,@start_user,@status)";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                wkshp_code = wkshpcode,
+                                eqp_code = eqpcode,
+                                type = code,
+                                start_date = DateTime.Now.ToString(),
+                                start_user = username,
+                                status = "START"
+                            }
+                        });
+                    
+                        for (int j = 0; j < json[i].children.Count; j++)
+                        {
+                            //鍐欏叆瀹夌伅璁板綍鎺ㄩ�佷汉鍛樿〃
+                            sql = @"insert into TAnDnMessagePush(m_id,wkshp_code,eqp_code,type,resp_user,status) 
+                                    values(@m_id,@wkshp_code,@eqp_code,@type,@resp_user,@status)";
+                            list.Add(new
+                            {
+                                str = sql,
+                                parm = new
+                                {
+                                    m_id = AnDnID,
+                                    //m_id = int.Parse(dt.Rows[0]["ID"].ToString()),
+                                    wkshp_code = wkshpcode,
+                                    eqp_code = eqpcode,
+                                    type = code,
+                                    resp_user = json[i].children[j].usercode,
+                                    alias= json[i].children[j].alias,
+                                    status = "N"
+                                }
+                            });
+                        }
+                    }
+                }
+                //鏋佸厜鎺ㄩ��
+                mes = JPushManage.ExecutePushByUserId(username, wkshpcode, eqpcode, json);
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鍛煎彨鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鍛煎彨澶辫触!";
+                    mes.data = null;
+                }
+
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+
+
+        #region[瀹夌伅鍝嶅簲鎵弿宸ヤ綅/璁惧]
+        public static ToMessage AppDeviceAnDengLampResponseScanSearch(string eqpcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇瀵瑰簲璁惧鍙婃墍灞炶溅闂寸殑瀹夌伅鍛煎彨璁板綍
+                sql = @"select A.eqp_code,B.name as eqp_name,T.org_code as wksp_code,T.org_name as wksp_name,A.type as typecode,D.name as typename   
+                        from TAnDon_Task_Info A
+                        left join  TEqpInfo B on A.eqp_code=B.code
+                        left join  TOrganization T on B.wksp_code=T.org_code
+                        left join  TAnDonType D on A.type=D.code
+                        where A.eqp_code=@eqpcode and A.status='START' and B.enable='Y' and T.description='W' ";
+                dynamicParams.Add("@eqpcode", eqpcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = data;
+                }
+                else
+                {
+                    mes.code = "300";
+                    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 AppDeviceAnDengLampResponseSave(string username, string eqpcode, string wkshpcode, List<ObjectData> json)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            List<object> list = new List<object>();
+            ChatHub chthub = new ChatHub();
+            try
+            {
+                list.Clear();
+                for (int i = 0; i <json.Count; i++)
+                {
+                    string code = json[i].code.ToString();
+                    string name = json[i].name.ToString();
+                    //鏇存柊瀹夌伅鍛煎彨琛�
+                    sql = @"update TAnDon_Task_Info set resp_user=@resp_user,resp_date=@resp_date,status='CLOSED',taking=cast ( cast ( datediff ( ss, start_date, @resp_date) / ( 60 * 60 * 24 ) as int ) as varchar ) + '澶�' + 
+                            cast ( cast ( datediff ( ss, start_date, @resp_date ) % 86400 / 3600 as int ) as varchar ) + '灏忔椂' + 
+	                        cast ( cast ( datediff ( ss, start_date, @resp_date ) % 3600 / 60 as int ) as varchar ) + '鍒�' + 
+	                        cast ( cast ( datediff ( ss, start_date, @resp_date ) % 60 as int ) as varchar ) + '绉�'
+                            where wkshp_code=@wkshp_code and eqp_code=@eqp_code and type=@type and status='START'";
+                    list.Add(new
+                    {
+                        str = sql,
+                        parm = new
+                        {
+                            wkshp_code = wkshpcode,
+                            eqp_code = eqpcode,
+                            type = code,
+                            resp_date = DateTime.Now.ToString(),
+                            resp_user = username,
+                            status = "START"
+                        }
+                    });
+                }
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鍝嶅簲鎴愬姛!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鍝嶅簲澶辫触!";
+                    mes.data = null;
+                }
+
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3