sap 클립보드 기능 추가
This commit is contained in:
		
							
								
								
									
										118
									
								
								Project/Util.cs
									
									
									
									
									
								
							
							
						
						
									
										118
									
								
								Project/Util.cs
									
									
									
									
									
								
							| @@ -15,9 +15,119 @@ using System.Linq; | ||||
| using System.Net; | ||||
| using System.Text; | ||||
| using System.Windows.Forms; | ||||
| using System.Data.SqlClient; | ||||
|  | ||||
| namespace Project | ||||
| { | ||||
|     public static class ServerUtil | ||||
|     { | ||||
|         /// <summary> | ||||
|         /// 내 그룹내에서 센드메일 사용자가 할당되어있는가? | ||||
|         /// </summary> | ||||
|         /// <returns></returns> | ||||
|         public static Boolean SendmailSet() | ||||
|         { | ||||
|             try | ||||
|             { | ||||
|  | ||||
|                 if (FCOMMON.info.Login.no == null) return false; | ||||
|                 if (FCOMMON.info.Login.no.ToLower() == "dev") return false; | ||||
|  | ||||
|                 var ts = DateTime.Now - sendmailchecktime; | ||||
|                 if (ts.TotalMinutes < 1) return ServerUtil.IsMailserver; | ||||
|  | ||||
|                 sendmailchecktime = DateTime.Now; | ||||
|                 bool retval = false; | ||||
|                 var sql = "select wdate from EETGW_ServerSetting" + | ||||
|                 " where gcode = @gcode " + | ||||
|                 " and active = 1" + | ||||
|                 " order by wdate desc"; | ||||
|                 var cn = new SqlConnection(Properties.Settings.Default.gwcs); | ||||
|                 cn.Open(); | ||||
|                 var trans = cn.BeginTransaction(); | ||||
|                  | ||||
|                 var cmd = new SqlCommand(sql, cn); | ||||
|                 cmd.Transaction = trans; | ||||
|                 cmd.Parameters.Add("gcode", System.Data.SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode; | ||||
|                 var value = cmd.ExecuteScalar(); | ||||
|                 if (value == null || value.ToString().isEmpty()) | ||||
|                 { | ||||
|                     //대상없음 | ||||
|                     cmd.CommandText = "insert into EETGW_ServerSetting(gcode,active,wuid,wdate) values(@gcode,1,@wuid,GETDATE())"; | ||||
|                     cmd.Parameters.Clear(); | ||||
|                     cmd.Parameters.Add("gcode", System.Data.SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode; | ||||
|                     cmd.Parameters.Add("wuid", System.Data.SqlDbType.VarChar).Value = FCOMMON.info.Login.no; | ||||
|                     cmd.ExecuteNonQuery(); | ||||
|                     retval = true; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     //있다면  | ||||
|                     var dt = (DateTime)value; | ||||
|                     if (dt >= DateTime.Now.AddMinutes(-10)) | ||||
|                     { | ||||
|                         //이 사용자가 나인지 체크한다 | ||||
|                         cmd.CommandText = sql = "select wuid from EETGW_ServerSetting" + | ||||
|                                         " where gcode = @gcode " + | ||||
|                                         " and active = 1" + | ||||
|                                         " order by wdate desc"; | ||||
|                         var uid = cmd.ExecuteScalar(); | ||||
|                         if(uid.ToString().Equals(FCOMMON.info.Login.no)) | ||||
|                         { | ||||
|                             //아직 10분전이므로 정상이다 | ||||
|                             ts = DateTime.Now - dt; | ||||
|                             if (ts.TotalMinutes > 3) | ||||
|                             { | ||||
|                                 //3분이 넘었다면 갱신해준다 | ||||
|                                 cmd.Parameters.Clear(); | ||||
|                                 cmd.Parameters.Add("gcode", System.Data.SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode; | ||||
|                                 cmd.Parameters.Add("wuid", System.Data.SqlDbType.VarChar).Value = FCOMMON.info.Login.no; | ||||
|  | ||||
|                                 //기존데이터를 비활성화 | ||||
|                                 cmd.CommandText = "update EETGW_ServerSetting set active=0 where gcode =@gcode and active=1 and wuid <> @wuid "; | ||||
|                                 cmd.ExecuteNonQuery(); | ||||
|  | ||||
|                                 //내 데이터를 활성화 | ||||
|                                 cmd.CommandText = "update EETGW_ServerSetting  set wdate =  getdate() where gcode = @gcode and wuid = @wuid and active=1"; | ||||
|                                 var cnt = cmd.ExecuteNonQuery(); | ||||
|                             } | ||||
|                             retval = true; | ||||
|                         } | ||||
|                         else | ||||
|                         { | ||||
|                             //다른사용자의 데이터는 내가 처리하지 않는다 | ||||
|                         } | ||||
|                     } | ||||
|                     else | ||||
|                     { | ||||
|                         //10분넘었으니 다시 생성한다 | ||||
|                         cmd.CommandText = "update EETGW_ServerSetting set active=0 where gcode =@gcode and active=1"; | ||||
|                         cmd.ExecuteNonQuery(); | ||||
|                         cmd.CommandText = "insert into EETGW_ServerSetting(gcode,active,wuid,wdate) values(@gcode,1,@wuid,GETDATE())"; | ||||
|                         cmd.Parameters.Clear(); | ||||
|                         cmd.Parameters.Add("gcode", System.Data.SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode; | ||||
|                         cmd.Parameters.Add("wuid", System.Data.SqlDbType.VarChar).Value = FCOMMON.info.Login.no; | ||||
|                         cmd.ExecuteNonQuery(); | ||||
|                         retval = true; | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
|                 trans.Commit(); | ||||
|                 cmd.Dispose(); | ||||
|                 cn.Close(); | ||||
|                 cn.Dispose(); | ||||
|                 return retval; | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 return false; | ||||
|             } | ||||
|  | ||||
|         } | ||||
|         static DateTime sendmailchecktime = DateTime.Now; | ||||
|         public static Boolean IsMailserver = false; | ||||
|     } | ||||
|  | ||||
|     public static class Util | ||||
|     { | ||||
|  | ||||
| @@ -506,14 +616,14 @@ namespace Project | ||||
|  | ||||
|         public static void RunExplorer(string arg) | ||||
|         { | ||||
|             if(arg.StartsWith("http")) | ||||
| 			{ | ||||
|             if (arg.StartsWith("http")) | ||||
|             { | ||||
|                 System.Diagnostics.Process.Start(arg); | ||||
|  | ||||
|  | ||||
|             } | ||||
| 			else | ||||
| 			{ | ||||
|             else | ||||
|             { | ||||
|  | ||||
|                 System.Diagnostics.ProcessStartInfo si = new ProcessStartInfo("explorer"); | ||||
|                 si.Arguments = arg; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 chi
					chi