Przeglądaj źródła

添加设备工作时长保存

callm 4 lat temu
rodzic
commit
af03d6b492
1 zmienionych plików z 44 dodań i 0 usunięć
  1. 44 0
      PLCDataReader/PublicMethod/LogicHandler.cs

+ 44 - 0
PLCDataReader/PublicMethod/LogicHandler.cs

@@ -175,7 +175,11 @@ namespace UAS_PLCDataReader.PublicMethod
             if (ItemData == null)
                 return;
             StringBuilder sql = new StringBuilder();
+            StringBuilder sql1 = new StringBuilder();
+            //更新设备运行状态
             sql.Append("update DeviceRunstatus set ");
+            //更新设备工作时间
+            sql1.Append("merge into deviceworktime a using  (select '"+Decode+ "' decode,sysdate time from  dual)  b on(trunc(a.dwt_indate)=trunc(b.time) and a.dwt_decode = b.decode) when matched then update set ");
             foreach (var item in ItemData)
             {
                 switch (item.Key)
@@ -264,12 +268,52 @@ namespace UAS_PLCDataReader.PublicMethod
                             sql.Append("dr_value10='" + item.Value + "',");
                         }
                         break;
+                    case "WAITTIME":
+                        if (item.Value != "")
+                        {
+                            sql.Append("dwt_waittime='" + item.Value + "',");
+                        }
+                        break;
+                    case "BREAKTIME":
+                        if (item.Value != "")
+                        {
+                            sql.Append("dwt_breaktime='" + item.Value + "',");
+                        }
+                        break;
+                    case "MANSTOPTIME":
+                        if (item.Value != "")
+                        {
+                            sql.Append("dwt_manstoptime='" + item.Value + "',");
+                        }
+                        break;
+                    case "WORKTIME":
+                        if (item.Value != "")
+                        {
+                            sql.Append("dwt_worktime='" + item.Value + "',");
+                        }
+                        break;
+                    case "STARTTIME":
+                        if (item.Value != "")
+                        {
+                            sql.Append("dwt_starttime='" + item.Value + "',");
+                        }
+                        break;
+                    case "RUNTIME":
+                        if (item.Value != "")
+                        {
+                            sql.Append("dwt_runtime='" + item.Value + "',");
+                        }
+                        break;
                     default:
                         break;
                 }
             }
+            //更新设别运行状态
             sql.Append("dr_updatedate=sysdate where dr_decode='" + Decode + "'");
             Main.QueueUpdateDevice.Enqueue(sql.ToString());
+            //更新设备工作时长
+            sql1.Append("dwt_indate=sysdate  when not matched then insert (dwt_id,dwt_decode,dwt_indate) values(deviceworktime_seq.nextval,'"+Decode+"',sysdate)");
+            Main.QueueUpdateDevice.Enqueue(sql1.ToString());
         }
 
         /// <summary>