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 |  194 ++++++++++++++++++++++++++++++++++-------------
 1 files changed, 139 insertions(+), 55 deletions(-)

diff --git a/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs b/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs
index 6fa3413..c00fe05 100644
--- a/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs
+++ b/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs
@@ -61,8 +61,46 @@
         }
         #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();
@@ -73,9 +111,10 @@
                         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)
                 {
@@ -110,7 +149,7 @@
             try
             {
                 list.Clear();
-                mes = SeachEncode.EncodingSeach("2040");  //鐢熸垚鍗曞彿
+                mes = SeachEncode.EncodingSeach("1027");  //PC绔澶囩偣妫�璁板綍鐢熸垚鍗曞彿
                 if (mes.code == "300")
                 {
                     return mes;
@@ -165,9 +204,6 @@
                         }
                     }); ;
                 }
-                //鍥炲啓瀛楀吀琛�,鏇存柊褰撳墠娴佹按鍙�
-                sql = @"update T_CodeRules set value=@cunm2  where rightcode=@RightCode";
-                list.Add(new { str = sql, parm = new { cunm2 = numvalue, RightCode = "1027" } });
 
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -239,20 +275,18 @@
         }
         #endregion
 
-        #region[鏃ュ父淇濆吇,閫夋嫨鎵爜璁惧鍒楄〃甯﹀嚭淇濆吇椤筣
-        public static ToMessage RepairSelectScanDeviceQrCodeItem(string eqpcode)
+        #region[瀹氭湡淇濆吇,鎵弿宸ヤ綅/璁惧浜岀淮鐮佹煡鎵句繚鍏绘爣鍑哴
+        public static ToMessage RepairScanDeviceTemp(string eqpcode)
         {
             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=@eqpcode
-                        order by S.seq asc";
+                //鑾峰彇瀵瑰簲璁惧淇濆吇鏍囧噯
+                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)
@@ -264,7 +298,48 @@
                 else
                 {
                     mes.code = "300";
-                    mes.Message = "褰撳墠璁惧鏈缃偣妫�鏍囧噯缁戝畾鐐规椤圭洰!";
+                    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;
                 }
             }
@@ -288,7 +363,7 @@
             try
             {
                 list.Clear();
-                mes = SeachEncode.EncodingSeach("2041");  //鐢熸垚鍗曞彿
+                mes = SeachEncode.EncodingSeach("1028");  //PC绔繚鍏昏褰曠敓鎴愬崟鍙�
                 if (mes.code == "300")
                 {
                     return mes;
@@ -344,9 +419,7 @@
                         }
                     }); ;
                 }
-                //鍥炲啓瀛楀吀琛�,鏇存柊褰撳墠娴佹按鍙�
-                sql = @"update T_CodeRules set value=@cunm2  where rightcode=@RightCode";
-                list.Add(new { str = sql, parm = new { cunm2 = numvalue, RightCode = "1028" } });
+
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
                 {
@@ -383,8 +456,8 @@
             var dynamicParams = new DynamicParameters();
             try
             {
-                //鑾峰彇褰撳墠鎵爜璁惧鏄惁鐢宠缁翠慨璁板綍
-                sql = @"select *  from TEqp_RepairRequest where eqp_code=@eqpcode and status='REPA' or status='COMP'";
+                //鑾峰彇褰撳墠鎵爜璁惧鏄惁瀛樺湪宸茬敵璇锋垨宸茬淮淇姸鎬佹暟鎹�
+                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)
@@ -448,10 +521,9 @@
             try
             {
                 list.Clear();
-                mes = SeachEncode.EncodingSeach("2042");  //鐢熸垚鍗曞彿
+                mes = SeachEncode.EncodingSeach("1019");  //PC绔淮淇敵璇疯褰曠敓鎴愬崟鍙�
                 if (mes.code == "300")
                 {
-                    mes.Message = "鐢熸垚鍗曞彿澶辫触,璇疯缃紪鐮佷负銆�2042銆戠殑缂栫爜瑙勫垯";
                     return mes;
                 }
                 else
@@ -505,9 +577,6 @@
                         source = faultsourcecode
                     }
                 });
-                //鍥炲啓瀛楀吀琛�,鏇存柊褰撳墠娴佹按鍙�
-                sql = @"update T_CodeRules set value=@cunm2  where rightcode=@RightCode";
-                list.Add(new { str = sql, parm = new { cunm2 = numvalue, RightCode = "2042" } });
 
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -579,7 +648,7 @@
         #endregion
 
         #region[璁惧缁翠慨鎻愪氦]
-        public static ToMessage RepairScanDeviceSave(string username, string eqpcode, string wkshpcode, string faultdescr, string is_stoprepair, string repaircontent, string replaceparts, HttpFileCollection files)
+        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 = "";
@@ -587,10 +656,9 @@
             try
             {
                 list.Clear();
-                mes = SeachEncode.EncodingSeach("2043");  //鐢熸垚鍗曞彿
+                mes = SeachEncode.EncodingSeach("1029");  //PC璁惧缁翠慨璁板綍鐢熸垚鍗曞彿
                 if (mes.code == "300")
                 {
-                    mes.Message = "鐢熸垚鍗曞彿澶辫触,璇疯缃紪鐮佷负銆�2043銆戠殑缂栫爜瑙勫垯";
                     return mes;
                 }
                 else
@@ -607,7 +675,7 @@
                         string imgPath1 = "", imgPath2 = "", AbsolutePath = "";
                         HttpPostedFile file = files[i];
                         string imgName = DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString();
-                        string keyname = files.AllKeys[i].ToString();
+                        string keyname = files.AllKeys[i].ToString().Substring(0, files.AllKeys[i].ToString().IndexOf(";"));
                         if (keyname == "files1")
                         {
                             imgPath1 = "/DeviceImage/image1/" + imgName + file.FileName;     //閫氳繃姝ゅ璞¤幏鍙栨枃浠跺悕
@@ -618,7 +686,6 @@
                             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) 
@@ -637,8 +704,8 @@
                     }
                 }
                 //鍐欏叆缁翠慨璁板綍琛�
-                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) 
-                                values(@repair_code,@docu_date,@status,@wksp_code,@eqp_code,@repair_person,@repair_date,@repair_content,@repair_part,@failure_descript,@is_shutdown)";
+                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,
@@ -654,13 +721,13 @@
                         repair_content = repaircontent,
                         repair_part = replaceparts,
                         failure_descript = faultdescr,
-                        is_shutdown = is_stoprepair
+                        is_shutdown = is_stoprepair,
+                        source_wo = docu_code
                     }
                 });
-
-                //鍥炲啓瀛楀吀琛�,鏇存柊褰撳墠娴佹按鍙�
-                sql = @"update T_CodeRules set value=@cunm2  where rightcode=@RightCode";
-                list.Add(new { str = sql, parm = new { cunm2 = numvalue, RightCode = "2043" } });
+                //鏇存柊缁翠慨鐢宠鍗曠姸鎬�
+                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)
@@ -731,7 +798,7 @@
         #endregion
 
         #region[缁翠慨楠岃瘉璇︽儏淇℃伅]
-        public static ToMessage RepairVerificationScanDeviceDataSub(string eqpcode, string wkshpcode)
+        public static ToMessage RepairVerificationScanDeviceDataSub(string repair_code, string eqpcode, string wkshpcode)
         {
             string sql = "";
             var dynamicParams = new DynamicParameters();
@@ -741,7 +808,8 @@
                 //鏍规嵁璁惧缂栫爜\杞﹂棿缂栫爜鑾峰彇缁翠慨璇︽儏
                 sql = @"select repair_code,failure_descript,is_shutdown,repair_content,repair_part   
                         from TEqp_Repair 
-                        where wksp_code=@wkshpcode and eqp_code=@eqpcode";
+                        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);
@@ -763,7 +831,7 @@
                         dict.Add("repair_part", data.Rows[0]["repair_part"].ToString()); //鏇存崲澶囦欢
 
                         //鑾峰彇鏇存崲澶囦欢涓婁紶鍥剧墖
-                        sql = @"select img1ur2  from TEqp_RepairImage where source_wo=@source_wo and wo_type='COMP'";
+                        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)
@@ -798,9 +866,14 @@
         {
             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";
@@ -819,6 +892,9 @@
                         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)
@@ -901,7 +977,9 @@
                         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
+                        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);
@@ -916,7 +994,7 @@
                         mn.flag = data.Rows[i]["FLAG"].ToString();
                         mn.children = new List<AnDnDateSub>();
                         //鏍规嵁鍛煎彨绫诲瀷id鏌ユ壘缁戝畾浜哄憳
-                        sql = @"select U.usercode,U.username   
+                        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";
@@ -927,6 +1005,8 @@
                             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);
@@ -960,16 +1040,19 @@
         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();
-                //鎵ц娑堟伅鎺ㄩ��
-                chthub.SendByGroupList(username, wkshpcode, eqpcode, json);
-                for (int i = 1; i <= json.Count; i++)
+                //鑾峰彇涓昏〃鏈�澶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'";
@@ -986,10 +1069,6 @@
                     }
                     else
                     {
-                        //鑾峰彇涓昏〃鏈�澶D
-                        sql = @"select ISNULL(IDENT_CURRENT('TK_Wrk_Record')+@num,1) as id";
-                        dynamicParams.Add("@num", i);
-                        var dt = DapperHelper.selectdata(sql, dynamicParams);
                         //鍐欏叆瀹夌伅鍛煎彨琛�
                         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)";
@@ -1006,6 +1085,7 @@
                                 status = "START"
                             }
                         });
+                    
                         for (int j = 0; j < json[i].children.Count; j++)
                         {
                             //鍐欏叆瀹夌伅璁板綍鎺ㄩ�佷汉鍛樿〃
@@ -1016,17 +1096,21 @@
                                 str = sql,
                                 parm = new
                                 {
-                                    m_id = int.Parse(dt.Rows[0]["ID"].ToString()),
+                                    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[i].usercode,
+                                    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)
                 {
@@ -1065,7 +1149,7 @@
             try
             {
                 //鑾峰彇瀵瑰簲璁惧鍙婃墍灞炶溅闂寸殑瀹夌伅鍛煎彨璁板綍
-                sql = @"select A.eqp_code,B.name as eqp_name,T.org_name,A.type as typecode,D.name as typename   
+                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
@@ -1107,7 +1191,7 @@
             try
             {
                 list.Clear();
-                for (int i = 1; i <= json.Count; i++)
+                for (int i = 0; i <json.Count; i++)
                 {
                     string code = json[i].code.ToString();
                     string name = json[i].name.ToString();

--
Gitblit v1.9.3