ZMR00101.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 원격 알림 메시지 대상, 출력관리 (ZMR00101.js)
  4. - Version :
  5. 1) : Ver.1.00.00
  6. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  7. */
  8. /**
  9. * @group :
  10. * @ver : 2006.12.20
  11. * @by : ???
  12. * @---------------------------------------------------
  13. * @type : function
  14. * @access : public
  15. * @desc : ???? ????? ???? ???? ??
  16. * @return : bool
  17. * @---------------------------------------------------
  18. */
  19. function checkGridField(grid, field)
  20. {
  21. //alert(grd_scrnlist.fixedRows);
  22. // alert(grd_scrnlist.rows);
  23. var nodeset = grid.nodeset;
  24. var iStatus;
  25. var iData = grid.getUpdateDataXml("insert");
  26. for (i=grid.fixedRows; i<grid.rows; i++)
  27. {
  28. iStatus = grid.rowstatus(i);
  29. if (iStatus == 1) // ?? ??? ?? ????
  30. {
  31. if(model.getValue(nodeset+"["+i+"]/"+field)=="") return false;
  32. }
  33. }
  34. return true;
  35. }
  36. /**
  37. * @group :
  38. * @ver : 2006.12.20
  39. * @by : ???
  40. * @---------------------------------------------------
  41. * @type : function
  42. * @access : public
  43. * @desc : ???? ? ???? ?? ? ??
  44. * @return : bool
  45. * @---------------------------------------------------
  46. */
  47. function checkGridUpdate(grid)
  48. {
  49. var iData = grid.getUpdateDataXml("insert");
  50. var uData = grid.getUpdateDataXml("update");
  51. var dData = grid.getUpdateDataXml("delete");
  52. if (iData=="" && uData=="" && dData=="") return false;
  53. else return true;
  54. }
  55. /**
  56. * @group :
  57. * @ver : 2006.12.20
  58. * @by : 이상준
  59. * @---------------------------------------------------
  60. * @type : function
  61. * @access : public
  62. * @desc : 초기화
  63. * @return :
  64. * @---------------------------------------------------
  65. */
  66. function fInitialize() {
  67. model.removeNodeset("/root/main/destlist");
  68. model.removeNodeset("/root/main/equiplist");
  69. model.resetInstanceNode("/root/send");
  70. model.refresh();
  71. cmb_search.select(0);
  72. }
  73. /**
  74. * @group :
  75. * @ver : 2006.12.20
  76. * @by : 이상준
  77. * @---------------------------------------------------
  78. * @type : function
  79. * @access : public
  80. * @desc : 원격목적지 그리드 수정
  81. * @return :
  82. * @---------------------------------------------------
  83. */
  84. function fEditGrid()
  85. {
  86. var cur_row = grd_destlist.row;
  87. var iStatus = grd_destlist.rowstatus(cur_row);
  88. if(iStatus=="1" || iStatus=="3") // 삽입이거나 삽입후 변경되었다면...
  89. {
  90. grd_destlist.colDisabled(1)=false;
  91. }
  92. else
  93. {
  94. grd_destlist.colDisabled(1)=true;
  95. }
  96. }
  97. /**
  98. * @group :
  99. * @ver : 2006.12.20
  100. * @by : 이상준
  101. * @---------------------------------------------------
  102. * @type : function
  103. * @access : public
  104. * @desc : 원격목적지 그리드 클릭했을때 호출되는 함수
  105. * @return :
  106. * @---------------------------------------------------
  107. */
  108. function fClickGrid()
  109. {
  110. var cur_row = grd_destlist.row;
  111. var iStatus = grd_destlist.rowstatus(cur_row);
  112. if(iStatus=="1" || iStatus=="3") // 삽입상태가 아니고 삽입후 변경되지 않았다면...
  113. {
  114. return;
  115. }
  116. var cur_row = grd_destlist.row;
  117. if ( cur_row > 0 ) {
  118. model.copyNode("/root/main/destitem","/root/main/destlist/dstlist["+cur_row+"]");
  119. }
  120. var destnm = model.getValue("/root/main/destlist/dstlist["+grd_destlist.row+"]/destnm");
  121. //grd_destlist.dispatch("onentercell");
  122. model.setValue("/root/send/destnm", destnm)
  123. submit("TRZMR00102");
  124. model.refresh();
  125. }
  126. /**
  127. * @group :
  128. * @ver : 2006.12.20
  129. * @by : 이상준
  130. * @---------------------------------------------------
  131. * @type : function
  132. * @access : public
  133. * @desc : 그리드에서 데이터를 삭제하는 함수
  134. * @return :
  135. * @---------------------------------------------------
  136. */
  137. function fDeleteGrid(grid)
  138. {
  139. var cur_row = grid.row; // 행 번호 가져오기
  140. var iStatus;
  141. var selectedRows = new Array();
  142. var d_cnt = 0;
  143. if(cur_row<0) {
  144. alert("삭제할 행을 선택해주세요.");
  145. return;
  146. }
  147. for ( var i= grid.selectedRows-1; i >= 0; i--)
  148. {
  149. index = grid.selectedrow(i);
  150. iStatus = grid.rowstatus(index);
  151. if (iStatus == 1 || iStatus == 3) // 새로 삽입된 행이면
  152. {
  153. selectedRows[d_cnt++] = index;
  154. }
  155. else
  156. {
  157. grid.addStatus(index, "delete");
  158. }
  159. }
  160. for (var i=0; i<d_cnt; i++)
  161. {
  162. grid.deleterow(selectedRows[i],false);
  163. }
  164. model.refresh();
  165. }
  166. /**
  167. * @group :
  168. * @ver : 2006.12.20
  169. * @by : 이상준
  170. * @---------------------------------------------------
  171. * @type : function
  172. * @access : public
  173. * @desc : 지정된 인스턴스를 삽입
  174. * @return :
  175. * @---------------------------------------------------
  176. */
  177. function fInsertInstance(cdGroupID, codeName, codeID) {
  178. //model.refresh();
  179. model.copyNode("/root/hidden/comcd","/root/init/comcd");
  180. var nodelist = instance1.selectNodes("/root/hidden/comcd/"+cdGroupID);
  181. var newNode = instance1.createNode("element", cdGroupID, "");
  182. var childnode1 = instance1.createNode("element", "cdnm", "");
  183. var childnode2 = instance1.createNode("element", "cdid", "");
  184. newNode.appendChild(childnode1);
  185. newNode.appendChild(childnode2);
  186. if (nodelist.length > 0)
  187. {
  188. var currNode = root.hidden.comcd.insertBefore(newNode, nodelist.item(0));
  189. model.setValue("/root/hidden/comcd/"+cdGroupID+"[1]/cdnm", codeName);
  190. model.setValue("/root/hidden/comcd/"+cdGroupID+"[1]/cdid", codeID);
  191. }
  192. }
  193. /**
  194. * @group :
  195. * @ver : 2006.12.20
  196. * @by : 이상준
  197. * @---------------------------------------------------
  198. * @type : function
  199. * @access : public
  200. * @desc : 즉시전송 <-> 예약전송 상태 변경
  201. * @return :
  202. * @---------------------------------------------------
  203. */
  204. function fChangeState()
  205. {
  206. var chk = model.getValue("/root/send/rsrvyn");
  207. if(chk=="0")
  208. {
  209. ipt_trsmreqdt.disabled = true;
  210. }
  211. else
  212. {
  213. ipt_trsmreqdt.disabled = false;
  214. }
  215. }
  216. /**
  217. * @group :
  218. * @ver : 2006.12.20
  219. * @by : 이상준
  220. * @---------------------------------------------------
  221. * @type : function
  222. * @access : public
  223. * @desc : 단문메시지 전송 예약을 취소하는 메소드
  224. * @return :
  225. * @---------------------------------------------------
  226. */
  227. function fCancelReservedMsg()
  228. {
  229. var cur_row = grd_msglist.row;
  230. var index;
  231. var rsrvyn;
  232. var msgstate;
  233. var yn;
  234. var s_cnt=0;
  235. if (cur_row == -1)
  236. {
  237. messageBox("취소할 메시지가 선택되지 ", "E007");
  238. return;
  239. }
  240. for ( var i= 0; i < grd_msglist.selectedRows; i++)
  241. {
  242. index = grd_msglist.selectedrow(i);
  243. rsrvyn = model.getValue("/root/main/list/msglist["+ index +"]/rsrvyn");
  244. msgstate = model.getValue("/root/main/list/msglist["+ index +"]/msgstate");
  245. if (rsrvyn=="1" && msgstate=="ZM00")
  246. {
  247. grd_msglist.addStatus(index,"update");
  248. s_cnt++;
  249. }
  250. }
  251. if (s_cnt == 0)
  252. {
  253. messageBox("선택된 행중에서 예약취소 대상이 포함되지", "E007");
  254. return;
  255. }
  256. yn = messageBox("총 "+ s_cnt +" 건의 단문메시지 예약전송을 취소\n", "S001");
  257. if (yn=="2" || yn=="7") // 취소를 누른경우
  258. {
  259. grd_msglist.clearStatus();
  260. return;
  261. }
  262. else if (yn=="6") // 예를 누른경우
  263. {
  264. // 예약 취소 대상만 골라서 상태 변경한다..
  265. for (var i= 0; i < grd_msglist.selectedRows; i++)
  266. {
  267. index = grd_msglist.selectedrow(i);
  268. rsrvyn = model.getValue("/root/main/list/msglist["+ index +"]/rsrvyn");
  269. msgstate = model.getValue("/root/main/list/msglist["+ index +"]/msgstate");
  270. if (rsrvyn=="1" && msgstate=="ZM00")
  271. {
  272. model.setValue("/root/main/list/msglist["+ index +"]/msgstate", 'ZM04');
  273. }
  274. }
  275. model.setValue("/root/send/msglist", grd_msglist.getUpdateData());
  276. submit("TXZMS00301");
  277. }
  278. }