SMMRI01400.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. XSLT 관리 ( SMMRI01400_XSLT 관리.xrw - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  7. */
  8. var xCondPath = "/root/main/cond";
  9. var xXSLTInfoPath = "/root/main/xsltinfo";
  10. var xXSLTListPath = "/root/main/xsltinfo/xsltlist";
  11. var xXSLTInfoBKPath = "/root/temp/xsltinfo";
  12. var xXSLTLIstBKPath = "/root/temp/xsltinfo/xsltlist";
  13. /**
  14. * @desc : 화면초기화
  15. * @id :
  16. * @event : xforms-ready
  17. * @return : void
  18. * @authur : 이은영
  19. */
  20. function fInitialize(){
  21. fSearch();
  22. model.setFocus("ipt_srchnm", true);
  23. }
  24. /**
  25. * @desc : XSLT 리스트 조회
  26. * @id :
  27. * @event : DOMActivate
  28. * @return : void
  29. * @authur : 이은영
  30. */
  31. function fSearch(){
  32. model.removenode("/root/send");
  33. model.makeNode("/root/send");
  34. model.copynode("/root/send", xCondPath);
  35. if(submit("TRMRI01401")){
  36. model.copynode(xXSLTInfoBKPath, xXSLTInfoPath);
  37. for(var iRow = grd_xsltlist.fixedrows; iRow <= (grd_xsltlist.rows-grd_xsltlist.fixedrows); iRow++){
  38. grd_xsltlist.isReadOnly(iRow,1) = true;
  39. }
  40. if(model.getValue(xCondPath+"/reqstatus") == "ALL"){
  41. btn_save.disabled = true;
  42. }else{
  43. btn_save.disabled = false;
  44. }
  45. }
  46. }
  47. /**
  48. * @desc : XSLT 정보 변경시
  49. * @id :
  50. * @event : xforms-value-changed
  51. * @return : void
  52. * @authur : 이은영
  53. */
  54. function fChangedGridRow(){
  55. var iRow = grd_xsltlist.row;
  56. var sStatus = grd_xsltlist.rowStatus(iRow);
  57. var sFromCd = "";
  58. if(sStatus == 0){
  59. sFromCd = model.getValue(xXSLTListPath+"["+iRow+"]/formcd");
  60. if( instance1.selectSingleNode(xXSLTListPath+"["+iRow+"]").xml != instance1.selectSingleNode(xXSLTLIstBKPath+"[formcd ='"+ sFromCd +"']").xml){
  61. grd_xsltlist.rowStatus(iRow) = 2;
  62. }else{
  63. grd_xsltlist.rowStatus(iRow) = 0;
  64. }
  65. }
  66. }
  67. /**
  68. * @desc : 줄추가
  69. * @id :
  70. * @event : xforms-value-changed
  71. * @return : void
  72. * @authur : 이은영
  73. */
  74. function fAddXSLTList(){
  75. grd_xsltlist.addRow(false);
  76. var iRow = grd_xsltlist.rows - grd_xsltlist.fixedrows;
  77. model.setValue(xXSLTListPath+"["+iRow+"]/xsltfromdd",getCurrentDate());
  78. model.setValue(xXSLTListPath+"["+iRow+"]/xsltfromtm",getCurrentTime().substr(0,4));
  79. model.setValue(xXSLTListPath+"["+iRow+"]/xslttodd","99991231");
  80. model.setValue(xXSLTListPath+"["+iRow+"]/xslttotm","0000");
  81. model.refresh();
  82. grd_xsltlist.topRow = iRow;
  83. }
  84. /**
  85. * @desc : 줄삭제
  86. * @id :
  87. * @event : xforms-value-changed
  88. * @return : void
  89. * @authur : 이은영
  90. */
  91. function fDelXSLTList(){
  92. var iRow = grd_xsltlist.row;
  93. if(iRow < 1){
  94. messageBox("서식코드를 하나","C002");
  95. return;
  96. }
  97. var sStatus = grd_xsltlist.rowStatus(iRow);
  98. var sFromCd = "";
  99. if(sStatus == 0 || sStatus == 2){
  100. grd_xsltlist.rowStatus(iRow) = 4;
  101. }else if(sStatus == 4){
  102. sFromCd = model.getValue(xXSLTListPath+"["+iRow+"]/formcd");
  103. if( instance1.selectSingleNode(xXSLTListPath+"["+iRow+"]").xml == instance1.selectSingleNode(xXSLTLIstBKPath+"[formcd ='"+ sFromCd +"']").xml){
  104. grd_xsltlist.rowStatus(iRow) = 0;
  105. }else{
  106. grd_xsltlist.rowStatus(iRow) = 2;
  107. }
  108. }else if(sStatus == 1){
  109. grd_xsltlist.deleteRow(iRow);
  110. }
  111. }
  112. /**
  113. * @desc : 파일추가
  114. * @id :
  115. * @event : xforms-value-changed
  116. * @return : void
  117. * @authur : 이은영
  118. */
  119. function fUploadXSLTFile(){
  120. var iRow = grd_xsltlist.row;
  121. if(iRow < 1){
  122. messageBox("서식코드를 하나","C002");
  123. return;
  124. }
  125. var sStatus = grd_xsltlist.rowStatus(iRow);
  126. var sFromCd = "";
  127. var maxsize = upload1.attribute("filesize");
  128. var fs, textstream;
  129. files = window.fileDialog("open", "|", true);
  130. fs = new ActiveXObject("Scripting.FileSystemObject");
  131. filelist = files.split("|");
  132. if(files == "") return;
  133. if(!fs.FileExists(filelist[0])){
  134. messageBox("파일이 존재하지", "E007");
  135. return;
  136. }
  137. if (!checkFileSize(upload1)){
  138. messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  139. return;
  140. }
  141. var textstream = fs.OpenTextFile(filelist[0],1, true);
  142. model.setValue(xXSLTListPath+"["+iRow+"]/xsltdata", textstream.ReadAll());
  143. textstream.close();
  144. if(sStatus == 0){
  145. sFromCd = model.getValue(xXSLTListPath+"["+iRow+"]/formcd");
  146. if( instance1.selectSingleNode(xXSLTListPath+"["+iRow+"]").xml != instance1.selectSingleNode(xXSLTLIstBKPath+"[formcd ='"+ sFromCd +"']").xml){
  147. grd_xsltlist.rowStatus(iRow) = 2;
  148. }
  149. }
  150. }
  151. /**
  152. * @desc : 저장
  153. * @id :
  154. * @event : DOMActivate
  155. * @return : void
  156. * @authur : 이은영
  157. */
  158. function fSave(){
  159. model.removenode("/root/send");
  160. var sSaveFlag = false;
  161. var sStatus = 0;
  162. for(var iRow = grd_xsltlist.fixedrows; iRow <= grd_xsltlist.rows - grd_xsltlist.fixedrows; iRow++){
  163. sStatus = grd_xsltlist.rowStatus(iRow);
  164. if(sStatus != 0){
  165. sSaveFlag = true;
  166. if(model.getValue(xXSLTListPath+"["+iRow+"]/formcd") == ""){
  167. messageBox("서식코드를","C001");
  168. return;
  169. }
  170. if(model.getValue(xXSLTListPath+"["+iRow+"]/xsltfromdd") == "" ){
  171. messageBox("적용시작일자를","C001");
  172. return;
  173. }
  174. if(model.getValue(xXSLTListPath+"["+iRow+"]/xsltfromtm") == ""){
  175. messageBox("적용시작시간을","C001");
  176. return;
  177. }
  178. if(model.getValue(xXSLTListPath+"["+iRow+"]/xslttodd") == ""){
  179. messageBox("적용종료일자를","C001");
  180. return;
  181. }
  182. if(model.getValue(xXSLTListPath+"["+iRow+"]/xslttotm") == ""){
  183. messageBox("적용종료시간을","C001");
  184. return;
  185. }
  186. if(model.getValue(xXSLTListPath+"["+iRow+"]/xsltdata") == ""){
  187. messageBox("XSLT 파일을","C001");
  188. return;
  189. }
  190. }
  191. }
  192. if(sSaveFlag == false){
  193. messageBox("저장할 데이터가","I004");
  194. return;
  195. }
  196. model.makeNode("/root/send/cond");
  197. model.copynode("/root/send/cond",xCondPath);
  198. model.makeValue("/root/send/xsltlist",grd_xsltlist.getUpdateData());
  199. if(submit("TXMRI01402")){
  200. model.copynode(xXSLTInfoBKPath, xXSLTInfoPath);
  201. for(var iRow = grd_xsltlist.fixedrows; iRow <= (grd_xsltlist.rows-grd_xsltlist.fixedrows); iRow++){
  202. grd_xsltlist.isReadOnly(iRow,1) = true;
  203. }
  204. if(model.getValue(xCondPath+"/reqstatus") == "ALL"){
  205. btn_save.disabled = true;
  206. }else{
  207. btn_save.disabled = false;
  208. }
  209. }
  210. }