SMMRI01400.xjs 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  4. XSLT 관리 ( SMMRI01400_XSLT 관리.xrw - JScript )
  5. - Version :
  6. 1) : Ver.1.00.01
  7. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  8. */
  9. var xCondPath = ds_main_cond;
  10. var xXSLTInfoPath = ds_main_xsltinfo_xsltlist;
  11. var xXSLTListPath = ds_main_xsltinfo_xsltlist;
  12. var xXSLTInfoBKPath = ds_temp_xsltinfo_xsltlist;
  13. var xXSLTLIstBKPath = ds_temp_xsltinfo_xsltlist;
  14. /**
  15. * @desc : 화면초기화
  16. * @id :
  17. * @event : xforms-ready
  18. * @return : void
  19. * @authur : 이은영
  20. */
  21. function fInitialize(){
  22. fSearch();
  23. grp_sea.ipt_srchnm.setFocus();
  24. }
  25. /**
  26. * @desc : XSLT 리스트 조회
  27. * @id :
  28. * @event : DOMActivate
  29. * @return : void
  30. * @authur : 이은영
  31. */
  32. function fSearch(){
  33. ds_send.clearData();
  34. ds_send.addRow();
  35. ds_send.copyRow(0, ds_main_cond, 0);
  36. var oParam = {};
  37. oParam.id = "TRMRI01401";
  38. oParam.service = "xsltmngtapp.XSLTMngt";
  39. oParam.method = "reqGetXSLTList";
  40. oParam.inds = "req=ds_send";
  41. oParam.outds = "ds_main_xsltinfo_xsltlist=xsltlist";
  42. oParam.async = false;
  43. oParam.callback = "cf_TRMRI01401";
  44. tranf_submit(oParam);
  45. if( utlf_isNull(ds_main_xsltinfo_xsltlist.getColumnInfo("xsltdata")) ){
  46. ds_main_xsltinfo_xsltlist.addColumn("xsltdata", "string");
  47. }
  48. if( !utlf_isNull(ds_main_xsltinfo_xsltlist.getColumnInfo("xsltfromdt")) ){
  49. ds_main_xsltinfo_xsltlist.updateColID("xsltfromdt", "xsltfromdt_bk");
  50. }else{
  51. ds_main_xsltinfo_xsltlist.addColumn("xsltfromdt_bk", "string");
  52. }
  53. if(arErrorCode.pop("TRMRI01401") > -1){
  54. ds_temp_xsltinfo_xsltlist.copyData(ds_main_xsltinfo_xsltlist);
  55. // for(var iRow = 0; iRow <= (ds_main_xsltinfo_xsltlist.rowcount-1); iRow++){
  56. // grd_xsltlist.isReadOnly(iRow,1) = true;
  57. // }
  58. if(ds_main_cond.getColumn(0, "reqstatus") == "ALL"){
  59. btn_save.enable = false;
  60. }else{
  61. btn_save.enable = true;
  62. }
  63. }
  64. }
  65. function cf_TRMRI01401(sSvcId, nErrorCode, sErrorMsg) {
  66. arErrorCode.push(sSvcId, nErrorCode);
  67. }
  68. /**
  69. * @desc : XSLT 정보 변경시
  70. * @id :
  71. * @event : xforms-value-changed
  72. * @return : void
  73. * @authur : 이은영
  74. */
  75. function fChangedGridRow(){
  76. var iRow = ds_main_xsltinfo_xsltlist.rowposition;
  77. var sStatus = ds_main_xsltinfo_xsltlist.getRowType(iRow);
  78. var sFromCd = "";
  79. if(sStatus == 1){
  80. sFromCd = ds_main_xsltinfo_xsltlist.getColumn(iRow, "formcd");
  81. var rCSV1 = dsf_getDsCSV(ds_main_xsltinfo_xsltlist, iRow);
  82. var rCSV2 = dsf_getDsCSV(ds_temp_xsltinfo_xsltlist, ds_temp_xsltinfo_xsltlist.findRow("formcd", sFromCd));
  83. ds_main_xsltinfo_xsltlist.enableevent = false;
  84. ds_main_xsltinfo_xsltlist.updatecontrol = false;
  85. if( rCSV1 != rCSV2){
  86. ds_main_xsltinfo_xsltlist.setRowType(iRow, 4);
  87. }else{
  88. ds_main_xsltinfo_xsltlist.setRowType(iRow, 1);
  89. }
  90. ds_main_xsltinfo_xsltlist.updatecontrol = true;
  91. ds_main_xsltinfo_xsltlist.enableevent = true;
  92. }
  93. }
  94. /**
  95. * @desc : 줄추가
  96. * @id :
  97. * @event : xforms-value-changed
  98. * @return : void
  99. * @authur : 이은영
  100. */
  101. function fAddXSLTList(){
  102. ds_main_xsltinfo_xsltlist.addRow();
  103. var iRow = ds_main_xsltinfo_xsltlist.rowcount-1;
  104. ds_main_xsltinfo_xsltlist.setColumn(iRow, "xsltfromdd",utlf_getCurrentDate());
  105. ds_main_xsltinfo_xsltlist.setColumn(iRow, "xsltfromtm",utlf_getCurrentTime().substr(0,4));
  106. ds_main_xsltinfo_xsltlist.setColumn(iRow, "xslttodd","99991231");
  107. ds_main_xsltinfo_xsltlist.setColumn(iRow, "xslttotm","0000");
  108. }
  109. /**
  110. * @desc : 줄삭제
  111. * @id :
  112. * @event : xforms-value-changed
  113. * @return : void
  114. * @authur : 이은영
  115. */
  116. function fDelXSLTList(){
  117. var iRow = ds_main_xsltinfo_xsltlist.rowposition;
  118. if(iRow < 0){
  119. sysf_messageBox("서식코드를 하나","C002");
  120. return;
  121. }
  122. var sStatus = ds_main_xsltinfo_xsltlist.getRowType(iRow);
  123. var sFromCd = "";
  124. ds_main_xsltinfo_xsltlist.enableevent = false;
  125. ds_main_xsltinfo_xsltlist.updatecontrol = false;
  126. if(sStatus == 1 || sStatus == 4){
  127. ds_main_xsltinfo_xsltlist.setRowType(iRow, 8);
  128. }else if(sStatus == 8){
  129. sFromCd = ds_main_xsltinfo_xsltlist.getColumn(iRow, "formcd");
  130. var rCSV1 = dsf_getDsCSV(ds_main_xsltinfo_xsltlist, iRow);
  131. var rCSV2 = dsf_getDsCSV(ds_temp_xsltinfo_xsltlist, ds_temp_xsltinfo_xsltlist.findRow("formcd", sFromCd));
  132. if( rCSV1 == rCSV2){
  133. ds_main_xsltinfo_xsltlist.setRowType(iRow, 1);
  134. }else{
  135. ds_main_xsltinfo_xsltlist.setRowType(iRow, 4);
  136. }
  137. }else if(sStatus == 2){
  138. ds_main_xsltinfo_xsltlist.deleteRow(iRow);
  139. }
  140. ds_main_xsltinfo_xsltlist.updatecontrol = true;
  141. ds_main_xsltinfo_xsltlist.enableevent = true;
  142. }
  143. /**
  144. * @desc : 파일추가
  145. * @id :
  146. * @event : xforms-value-changed
  147. * @return : void
  148. * @authur : 이은영
  149. */
  150. function fUploadXSLTFile(){
  151. var iRow = ds_main_xsltinfo_xsltlist.rowposition;
  152. if(iRow < 0){
  153. sysf_messageBox("서식코드를 하나","C002");
  154. return;
  155. }
  156. var sStatus = ds_main_xsltinfo_xsltlist.getRowType(iRow);
  157. var sFromCd = "";
  158. ///////////////////////////////////////////////////////////////
  159. vf = new FileDialog;
  160. var maxsize = 1048576;//upload1.attribute("filesize");
  161. var fs, textstream;
  162. var objFileList = vf.open("열기",FileDialog.LOAD ,"%MYDOCUMENT%");
  163. if(!utlf_isNull(objFileList))
  164. {
  165. var nFileSize = 0;
  166. if (objFileList.open(VirtualFile.openRead))
  167. {
  168. nFileSize = objFileList.getFileSize();
  169. if(nFileSize > maxsize)
  170. {
  171. sysf_messageBox("파일 크기가 최대치("+(maxBytes/1024)+"K)를","E003");
  172. objFileList.close();
  173. return "";
  174. }
  175. var rVal = objFileList.read();
  176. ds_main_xsltinfo_xsltlist.setColumn(iRow, "xsltdata", rVal);
  177. objFileList.close();
  178. }
  179. }
  180. if(sStatus == 0){
  181. sFromCd = ds_main_xsltinfo_xsltlist.setColumn(iRow, "formcd");
  182. var rCSV1 = dsf_getDsCSV(ds_main_xsltinfo_xsltlist, iRow);
  183. var rCSV2 = dsf_getDsCSV(ds_temp_xsltinfo_xsltlist, ds_temp_xsltinfo_xsltlist.findRow("formcd", sFromCd));
  184. if( rCSV1 != rCSV2){
  185. ds_main_xsltinfo_xsltlist.enableevent = false;
  186. ds_main_xsltinfo_xsltlist.updatecontrol = false;
  187. ds_main_xsltinfo_xsltlist.setRowType(iRow, 4);
  188. ds_main_xsltinfo_xsltlist.updatecontrol = true;
  189. ds_main_xsltinfo_xsltlist.enableevent = true;
  190. }
  191. }
  192. // files = window.fileDialog("open", "|", true);
  193. // fs = new ActiveXObject("Scripting.FileSystemObject");
  194. //
  195. // filelist = files.split("|");
  196. // if(files == "") return;
  197. // if(!fs.FileExists(filelist[0])){
  198. // messageBox("파일이 존재하지", "E007");
  199. // return;
  200. // }
  201. // if (!checkFileSize(upload1)){
  202. // messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  203. // return;
  204. // }
  205. //
  206. // var textstream = fs.OpenTextFile(filelist[0],1, true);
  207. //
  208. // model.setValue(xXSLTListPath+"["+iRow+"]/xsltdata", textstream.ReadAll());
  209. //
  210. // textstream.close();
  211. // if(sStatus == 0){
  212. // sFromCd = model.getValue(xXSLTListPath+"["+iRow+"]/formcd");
  213. // if( instance1.selectSingleNode(xXSLTListPath+"["+iRow+"]").xml != instance1.selectSingleNode(xXSLTLIstBKPath+"[formcd ='"+ sFromCd +"']").xml){
  214. // grd_xsltlist.rowStatus(iRow) = 2;
  215. // }
  216. // }
  217. }
  218. /**
  219. * @desc : 저장
  220. * @id :
  221. * @event : DOMActivate
  222. * @return : void
  223. * @authur : 이은영
  224. */
  225. function fSave(){
  226. ds_send.clearData();
  227. ds_send.addRow();
  228. var sSaveFlag = false;
  229. var sStatus = 0;
  230. for(var iRow = 0; iRow <= ds_main_xsltinfo_xsltlist.rowcount-1; iRow++){
  231. sStatus = ds_main_xsltinfo_xsltlist.getRowType(iRow);
  232. if(sStatus != 1){
  233. sSaveFlag = true;
  234. if(utlf_isNull(ds_main_xsltinfo_xsltlist.getColumn(iRow, "formcd"))){
  235. sysf_messageBox("서식코드를","C001");
  236. return;
  237. }
  238. if(utlf_isNull(ds_main_xsltinfo_xsltlist.getColumn(iRow, "xsltfromdd")) ){
  239. sysf_messageBox("적용시작일자를","C001");
  240. return;
  241. }
  242. if(utlf_isNull(ds_main_xsltinfo_xsltlist.getColumn(iRow, "xsltfromtm"))){
  243. sysf_messageBox("적용시작시간을","C001");
  244. return;
  245. }
  246. if(utlf_isNull(ds_main_xsltinfo_xsltlist.getColumn(iRow, "xslttodd"))){
  247. sysf_messageBox("적용종료일자를","C001");
  248. return;
  249. }
  250. if(utlf_isNull(ds_main_xsltinfo_xsltlist.getColumn(iRow, "xslttotm"))){
  251. sysf_messageBox("적용종료시간을","C001");
  252. return;
  253. }
  254. if(utlf_isNull(ds_main_xsltinfo_xsltlist.getColumn(iRow, "xsltdata"))){
  255. sysf_messageBox("XSLT 파일을","C001");
  256. return;
  257. }
  258. }
  259. }
  260. if(sSaveFlag == false){
  261. sysf_messageBox("저장할 데이터가","I004");
  262. return;
  263. }
  264. ds_send.copyRow(0, ds_main_cond, 0);
  265. ds_main_xsltinfo_xsltlist.enableevent = false;
  266. ds_main_xsltinfo_xsltlist.updatecontrol = false;
  267. grdf_setStatusColumn(ds_main_xsltinfo_xsltlist, "status");
  268. ds_main_xsltinfo_xsltlist.updatecontrol = true;
  269. ds_main_xsltinfo_xsltlist.enableevent = true;
  270. ds_send_xsltlist.assign(grdf_getGridUpdateData(grd_xsltlist, "all"));
  271. var oParam = {};
  272. oParam.id = "TXMRI01402";
  273. oParam.service = "xsltmngtapp.XSLTMngt";
  274. oParam.method = "reqExeXSLT";
  275. oParam.inds = "req=ds_send xsltlist=ds_send_xsltlist:A";
  276. oParam.outds = "ds_main_xsltinfo_xsltlist=xsltlist";
  277. oParam.async = false;
  278. oParam.callback = "cf_TXMRI01402";
  279. tranf_submit(oParam);
  280. if( !utlf_isNull(ds_main_xsltinfo_xsltlist.getColumnInfo("xsltfromdt")) ){
  281. ds_main_xsltinfo_xsltlist.updateColID("xsltfromdt", "xsltfromdt_bk");
  282. }else{
  283. ds_main_xsltinfo_xsltlist.addColumn("xsltfromdt_bk", "string");
  284. }
  285. trace(arErrorCode.pop("TXMRI01402"));
  286. if(arErrorCode.pop("TXMRI01402") > -1){
  287. ds_temp_xsltinfo_xsltlist.copyData(ds_main_xsltinfo_xsltlist);
  288. // for(var iRow = 0; iRow <= (ds_main_xsltinfo_xsltlist.rowcount-1); iRow++){
  289. // grd_xsltlist.isReadOnly(iRow,1) = true;
  290. // }
  291. if(ds_main_cond.getColumn(0, "reqstatus") == "ALL"){
  292. btn_save.enable = false;
  293. }else{
  294. btn_save.enable = true;
  295. }
  296. }
  297. }
  298. function cf_TXMRI01402(sSvcId, nErrorCode, sErrorMsg) {
  299. arErrorCode.push(sSvcId, nErrorCode);
  300. }
  301. ]]></Script>