5c389d1a1f81b806abbec6e212d8ca79345e366d.svn-base 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using FirebirdSql.Data.FirebirdClient;
  5. using System.Data;
  6. using System.Collections;
  7. namespace IControls_FireManager
  8. {
  9. /*******************************************************************************************
  10. * TB_COMM(통신) 설정 관련 Dac
  11. *******************************************************************************************/
  12. public class DacCommConfig: DacBase
  13. {
  14. public DacCommConfig()
  15. {
  16. //try {
  17. // base.Connect();
  18. //}
  19. //catch (Exception ex) {
  20. // Util.UErrorMessage(ex, 0, 0);
  21. //}
  22. }
  23. ~DacCommConfig()
  24. {
  25. //try {
  26. // base.DisConnect();
  27. //}
  28. //catch (Exception ex) {
  29. // Util.UErrorMessage(ex, 0, 0);
  30. //}
  31. }
  32. public DataTable Comm_Select(int RECEIVER_ID, int COMM_ID, String UseFlag)
  33. {
  34. DataTable dt = null;
  35. try
  36. {
  37. String SQL = "";
  38. if (COMM_ID < 1)
  39. {
  40. SQL += "SELECT COMM_ID,COMM_NAME,COMM_LOOP,COMM_TYPE";
  41. SQL += ",COMM_PORT,BAUD_RATE,PARITY,DATA_BITS,STOP_BITS";
  42. SQL += ",IP_ADDRESS,PORT_NO,COMM_TIMEOUT,COMM_DELAY";
  43. SQL += ",LOG_FLAG,USE_FLAG FROM TB_COMM ";
  44. if (UseFlag != null)
  45. {
  46. SQL += " WHERE USE_FLAG = '" + UseFlag + "'";
  47. SQL += " AND RECEIVER_ID = '{0}'";
  48. }
  49. else
  50. {
  51. SQL += " WHERE RECEIVER_ID = '{0}'";
  52. }
  53. SQL += " ORDER BY COMM_ID";
  54. SQL = String.Format(SQL, RECEIVER_ID);
  55. }
  56. else
  57. {
  58. SQL += "SELECT COMM_ID,COMM_NAME,COMM_LOOP,COMM_TYPE";
  59. SQL += ",COMM_PORT,BAUD_RATE,PARITY,DATA_BITS,STOP_BITS";
  60. SQL += ",IP_ADDRESS,PORT_NO,COMM_TIMEOUT,COMM_DELAY";
  61. SQL += ",LOG_FLAG,USE_FLAG FROM TB_COMM ";
  62. if (UseFlag != null)
  63. {
  64. SQL += " WHERE USE_FLAG = '" + UseFlag + "'";
  65. SQL += " AND RECEIVER_ID = {0} AND COMM_ID = {1}";
  66. }
  67. else
  68. {
  69. SQL += " WHERE RECEIVER_ID = {0} AND COMM_ID = {1}";
  70. }
  71. SQL = String.Format(SQL, RECEIVER_ID, COMM_ID);
  72. }
  73. DataSet dao = Select(SQL);
  74. dt = dao.Tables[0];
  75. }
  76. catch (Exception ex)
  77. {
  78. Util.UErrorMessage(ex,0,0);
  79. throw ex;
  80. }
  81. return dt;
  82. }
  83. public void Comm_FlagUpdate(QUERYMode cmd, int RECEIVER_ID, Enum COMM_ID, String USE_FLAG)
  84. {
  85. try
  86. {
  87. int commId = (int)Enum.Parse(typeof(COMMLOOP), COMM_ID.ToString());
  88. DataTable dt = Comm_Select(RECEIVER_ID, commId,null);
  89. if (cmd == QUERYMode.insert || cmd == QUERYMode.update || cmd == QUERYMode.InsertAndUpdate)
  90. {
  91. String SQL = "";
  92. if (dt.Rows.Count > 0)
  93. {
  94. SQL = "UPDATE TB_COMM SET USE_FLAG = '{0}'";
  95. SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp";
  96. SQL += " WHERE RECEIVER_ID = {1} AND COMM_ID = {2}";
  97. SQL = String.Format(SQL, USE_FLAG, RECEIVER_ID, commId);
  98. ExecuteNonQuery(SQL);
  99. }
  100. }
  101. }
  102. catch (Exception ex)
  103. {
  104. Util.UErrorMessage(ex,0,0);
  105. throw ex;
  106. }
  107. }
  108. public void Comm_FlagUpdate(QUERYMode cmd, int RECEIVER_ID, Enum COMM_ID, String USE_FLAG, String LOG_FLAG)
  109. {
  110. try
  111. {
  112. int commId = (int)Enum.Parse(typeof(COMMLOOP), COMM_ID.ToString());
  113. DataTable dt = Comm_Select(RECEIVER_ID, commId,null);
  114. if (cmd == QUERYMode.insert || cmd == QUERYMode.update || cmd == QUERYMode.InsertAndUpdate)
  115. {
  116. String SQL = "";
  117. if (dt.Rows.Count > 0)
  118. {
  119. SQL = "UPDATE TB_COMM SET LOG_FLAG = '{0}',USE_FLAG = '{1}'";
  120. SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp";
  121. SQL += " WHERE RECEIVER_ID = {2} AND COMM_ID = {3}";
  122. SQL = String.Format(SQL, LOG_FLAG, USE_FLAG, RECEIVER_ID, commId);
  123. ExecuteNonQuery(SQL);
  124. }
  125. }
  126. }
  127. catch (Exception ex)
  128. {
  129. Util.UErrorMessage(ex,0,0);
  130. throw ex;
  131. }
  132. }
  133. public void Comm_Clear() {
  134. try {
  135. String SQL = "DELETE FROM TB_COMM ";
  136. ExecuteNonQuery(SQL);
  137. }
  138. catch (Exception ex) {
  139. Util.UErrorMessage(ex, 0, 0);
  140. throw ex;
  141. }
  142. }
  143. public void Comm_Update(QUERYMode cmd, int RECEIVER_ID, Enum COMM_ID, String COMM_NAME, Enum COMM_LOOP
  144. , String COMM_TYPE, String COMM_PORT, int BAUD_RATE, String PARITY, String DATA_BITS, String STOP_BITS
  145. , String IP_ADDRESS, int PORT_NO, int COMM_TIMEOUT, int COMM_DELAY, /*String RUN_TYPE,*/ String LOG_FLAG, String USE_FLAG)
  146. {
  147. try
  148. {
  149. int commId = (int)Enum.Parse(typeof(COMMLOOP), COMM_ID.ToString());
  150. int commLoop = (int)Enum.Parse(typeof(COMMLOOP), COMM_LOOP.ToString());
  151. DataTable dt = Comm_Select(RECEIVER_ID, commId,null);
  152. if (cmd == QUERYMode.insert || cmd == QUERYMode.update || cmd == QUERYMode.InsertAndUpdate)
  153. {
  154. String SQL = "";
  155. if (dt.Rows.Count > 0)
  156. {
  157. //RS232
  158. if (COMM_TYPE.Equals("C") || COMM_TYPE.Equals("R"))
  159. {
  160. SQL = "UPDATE TB_COMM SET COMM_NAME = '{0}'";
  161. SQL += ", COMM_LOOP = {1}, COMM_TYPE = '{2}'";
  162. SQL += ", COMM_PORT = '{3}', BAUD_RATE = {4}";
  163. SQL += ", PARITY = '{5}', DATA_BITS = '{6}'";
  164. SQL += ", STOP_BITS = '{7}'";
  165. SQL += ", COMM_TIMEOUT = {8}, COMM_DELAY = {9}";
  166. SQL += ", USE_FLAG = '{10}'";
  167. SQL += ", LOG_FLAG = '{11}'";
  168. SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp";
  169. SQL += " WHERE RECEIVER_ID = {12} AND COMM_ID = {13}";
  170. SQL = String.Format(SQL, COMM_NAME, commLoop, COMM_TYPE, COMM_PORT, BAUD_RATE
  171. , PARITY, DATA_BITS, STOP_BITS, COMM_TIMEOUT, COMM_DELAY,USE_FLAG, LOG_FLAG, RECEIVER_ID, commId);
  172. }
  173. //LEN
  174. else
  175. {
  176. SQL = "UPDATE TB_COMM SET COMM_NAME = '{0}'";
  177. SQL += ", COMM_LOOP = {1}, COMM_TYPE = '{2}'";
  178. SQL += ", IP_ADDRESS = '{3}', PORT_NO = {4}";
  179. SQL += ", COMM_TIMEOUT = {5}, COMM_DELAY = {6}";
  180. SQL += ", USE_FLAG = '{7}'";
  181. SQL += ", LOG_FLAG = '{8}'";
  182. SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp";
  183. SQL += " WHERE RECEIVER_ID = {9} AND COMM_ID = {10}";
  184. SQL = String.Format(SQL, COMM_NAME, commLoop, COMM_TYPE, IP_ADDRESS, PORT_NO
  185. , COMM_TIMEOUT, COMM_DELAY, USE_FLAG, LOG_FLAG, RECEIVER_ID, commId);
  186. }
  187. }
  188. else
  189. {
  190. if (COMM_TYPE.Equals("C") || COMM_TYPE.Equals("R"))
  191. {
  192. SQL = "INSERT INTO TB_COMM ( ";
  193. SQL += " RECEIVER_ID,COMM_ID,COMM_NAME,COMM_LOOP,COMM_TYPE,COMM_PORT";
  194. SQL += ",BAUD_RATE,PARITY,DATA_BITS,STOP_BITS";
  195. SQL += ",COMM_TIMEOUT,COMM_DELAY,USE_FLAG,LOG_FLAG,UPDATE_USER_ID,UPDATE_TIME";
  196. SQL += ") VALUES ({0},{1},'{2}',{3},'{4}','{5}',{6},'{7}','{8}','{9}',{10},{11},'{12}','{13}','FPER',current_timestamp)";
  197. SQL = String.Format(SQL, RECEIVER_ID, commId, COMM_NAME, commLoop, COMM_TYPE, COMM_PORT
  198. , BAUD_RATE, PARITY, DATA_BITS, STOP_BITS
  199. , COMM_TIMEOUT, COMM_DELAY, USE_FLAG, LOG_FLAG);
  200. }
  201. else
  202. {
  203. SQL = "INSERT INTO TB_COMM ( ";
  204. SQL += " RECEIVER_ID,COMM_ID,COMM_NAME,COMM_LOOP,COMM_TYPE";
  205. SQL += ",IP_ADDRESS,PORT_NO";
  206. SQL += ",COMM_TIMEOUT,COMM_DELAY,USE_FLAG,LOG_FLAG,UPDATE_USER_ID,UPDATE_TIME";
  207. SQL += ") VALUES ({0},'{1}','{2}',{3},{4},'{5}','{6}','FPER',current_timestamp)";
  208. SQL = String.Format(SQL, RECEIVER_ID, commId, COMM_NAME, commLoop, COMM_TYPE
  209. , IP_ADDRESS, PORT_NO
  210. , COMM_TIMEOUT, COMM_DELAY, USE_FLAG, LOG_FLAG, USE_FLAG);
  211. }
  212. }
  213. ExecuteNonQuery(SQL);
  214. }
  215. else if (cmd == QUERYMode.delete)
  216. {
  217. if (dt.Rows.Count < 1)
  218. {
  219. throw new Exception("해당 자료를 찾을수 없습니다.");
  220. }
  221. String SQL = "UPDATE TB_COMM SET USE_FLAG = 'N' ";
  222. SQL += ", UPDATE_USER_ID = 'FPER', UPDATE_TIME = current_timestamp";
  223. SQL += " WHERE RECEIVER_ID = {0} AND COMM_ID = {1}";
  224. //String SQL = "DELETE FROM TB_COMM WHERE RECEIVER_ID = {0} AND COMM_ID = {1}";
  225. SQL = String.Format(SQL, RECEIVER_ID, commId);
  226. ExecuteNonQuery(SQL);
  227. }
  228. }
  229. catch (Exception ex)
  230. {
  231. Util.UErrorMessage(ex,0,0);
  232. throw ex;
  233. }
  234. }
  235. }
  236. /*******************************************************************************************/
  237. }