IrmsCom.xjs 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[var gMaxSize = 10485760;
  3. var lrgResultRef = "ds_init_lrgcodeinfo";
  4. var midResultRef = "ds_init_midcodeinfo";
  5. var paramPath = "ds_send_codedata";
  6. /**
  7. * @group :
  8. * @ver : 2012.11.19
  9. * @by : 김병국
  10. * @---------------------------------------------------
  11. * @type : function
  12. * @access : public
  13. * @desc : 전산장비관리 코드정보를 가져온다.
  14. * @param : pSupcd : 조회할 CdGrupID 코드정보, 여러개 조회할 경우 ,(콤마)로 구분한다.
  15. 예) '001', '002', '003'
  16. pUseyn : 사용여부
  17. bAsync : 비동기여부
  18. pSgflag : 싱글, 그룹여부.
  19. * @return :
  20. * @---------------------------------------------------
  21. */
  22. function fGetCodeInfo(pSupcd, pUseyn, bAsync){
  23. if(utlf_isNull(bAsync)) {
  24. bAsync = false;
  25. }
  26. dsf_createDs(lrgResultRef);
  27. dsf_createDsRow(paramPath, [{col:"supcd", type:"string", size:256, val:pSupcd} // 조회할 CdGrupID 코드정보
  28. , {col:"useyn", type:"string", size:256, val:pUseyn}]); // 조회기준일자
  29. var oParam = {};
  30. oParam.id = "TRZHI00001";
  31. oParam.service = "irmsapp.EqmtInfoMngt";
  32. oParam.method = "reqGetComCodeInfo";
  33. oParam.inds = "req=" + paramPath;
  34. oParam.outds = lrgResultRef + "=codelist";
  35. oParam.async = bAsync;
  36. tranf_submit(oParam);
  37. }
  38. function fGetDetlCodeInfo(pSupcd, pLrgcd, pUseyn, bAsync)
  39. {
  40. if(utlf_isNull(bAsync))
  41. {
  42. bAsync = false;
  43. }
  44. dsf_createDs(midResultRef);
  45. dsf_createDsRow(paramPath, [{col:"supcd", type:"string", size:256, val:pSupcd} // 조회할 CdGrupID 코드정보
  46. , {col:"lrgcd", type:"string", size:256, val:pUseyn} // 조회할 CdGrupID 코드정보
  47. , {col:"useyn", type:"string", size:256, val:pUseyn}]); // 조회기준일자
  48. var oParam = {};
  49. oParam.id = "TRZHI00002";
  50. oParam.service = "irmsapp.EqmtInfoMngt";
  51. oParam.method = "reqGetComDetlCodeInfo";
  52. oParam.inds = "req=ds_send_req";
  53. oParam.outds = midResultRef+"=codelist";
  54. oParam.async = bAsync;
  55. tranf_submit(oParam);
  56. }
  57. function fAttachFile(oDataset){
  58. //******파일을 첨부하기 위해 파일열기가 open 되게 한다.
  59. var name = oDataset.getColumn(0, "attfilenm");
  60. if(!utlf_isNull(name)){
  61. var fileupdata = sysf_messageBox(name + " 파일 수정을" , "S001");
  62. if(fileupdata == '6'){
  63. //파일 삭제
  64. //input박스에 나타난 명을 제거
  65. oDataset.setColumn(0, "attfilenm", "");
  66. //파일 저장
  67. //파일을 받아오기 위해 파일열기 팝업창을 띄운다.
  68. var fd = new FileDialog;
  69. var objVFileList = fd.open("첨부 할 파일을 선택하여 주십시오.", FileDialog.LOAD);
  70. oDataset.setColumn(0, "attfilenm", objVFileList.filename);
  71. //선택한 파일이 저장버튼을 눌렀을때 저장이 되게 하기 위해 파일 저장 인스턴스에 파일주소를 저장해 둔다.
  72. dsf_createDsRow("ds_send_save_file", [{col:"filedata", type:"BLOB", size:256}
  73. , {col:"filenm", type:"string", size:256}
  74. , {col:"filesize", type:"string", size:256}
  75. , {col:"filetype", type:"string", size:256}]);
  76. var oDsSaveFile = this.objects["ds_send_save_file"];
  77. var objFileinfo = dsf_writeFileToDs(objVFileList, oDsSaveFile, 0, "filedata");
  78. oDsSaveFile.setColumn(0, "filenm", objFileinfo.filename);
  79. oDsSaveFile.setColumn(0, "filesize", objFileinfo.filesize);
  80. oDsSaveFile.setColumn(0, "filetype", objFileinfo.filetype);
  81. //파일 크기가 너무 큰경우 메세지를 띄운다.
  82. if (!checkFileSize(objFileinfo.filesize)){
  83. oDataset.setColumn(0, "attfilenm", "");
  84. sysf_messageBox("파일 크기가 최대치(" + gMaxSize + "Byte)를", "E003");
  85. oDsSaveFile.setColumn(0, "filedata", "");
  86. }
  87. oDataset.setColumn(0, "fileyn", 'Y');
  88. }else if(fileupdata == '7'){
  89. sysf_messageBox(name + " 파일 수정을 하지", "E007");
  90. oDataset.setColumn(0, "fileyn", 'N');
  91. }
  92. }else{
  93. //파일을 받아오기 위해 파일열기 팝업창을 띄운다.
  94. var fd = new FileDialog;
  95. var objVFileList = fd.open("첨부 할 파일을 선택하여 주십시오.", FileDialog.LOAD);
  96. //파일 경로가 아닌 이름만 input박스에 넣기 위한 처리
  97. oDataset.setColumn(0, "attfilenm", objVFileList.filename);
  98. //선택한 파일이 저장버튼을 눌렀을때 저장이 되게 하기 위해 파일 저장 인스턴스에 파일주소를 저장해 둔다.
  99. dsf_createDsRow("ds_send_save_file", [{col:"filedata", type:"BLOB", size:256}
  100. , {col:"filenm", type:"string", size:256}
  101. , {col:"filesize", type:"string", size:256}
  102. , {col:"filetype", type:"string", size:256}]);
  103. var oDsSaveFile = this.objects["ds_send_save_file"];
  104. var objFileinfo = dsf_writeFileToDs(objVFileList, oDsSaveFile, 0, "filedata");
  105. oDsSaveFile.setColumn(0, "filenm", objFileinfo.filename);
  106. oDsSaveFile.setColumn(0, "filesize", objFileinfo.filesize);
  107. oDsSaveFile.setColumn(0, "filetype", objFileinfo.filetype);
  108. //파일 크기가 너무 큰경우 메세지를 띄운다.
  109. if (!checkFileSize(objFileinfo.filesize)){
  110. oDataset.setColumn(0, "attfilenm", "");
  111. sysf_messageBox("파일 크기가 최대치(" + gMaxSize + "Byte)를", "E003");
  112. oDsSaveFile.setColumn(0, "filedata", "");
  113. }
  114. oDataset.setColumn(0, "fileyn", 'Y');
  115. }
  116. }
  117. function fFileDown(filenm, filepath, oDataset) {
  118. //파일명이 있는 경우 다운로드
  119. if(!utlf_isNull(filenm) && oDataset.getColumn(0, "fileyn") == "Y"){
  120. //파일명의 확장자만 받아옴
  121. var fileext = filenm.lastIndexOf(".");
  122. var ext = filenm.substring(fileext +1);
  123. //파일을 다운로드 하기 위해 저장할 창을 띄움
  124. var fd = new FileDialog;
  125. var objVFileList = fd.open("다운 받을 위치를 선택하여 주십시오.", FileDialog.SAVE, "", filenm);
  126. //키값을 받아옴
  127. dsf_createDsRow("ds_attfile", [{col:"attfilepath", type:"string", size:256, val:filepath}
  128. , {col:"filepathcolnm", type:"string", size:256, val:"attfilepath"}]);
  129. dsf_createDs("ds_filelist");
  130. //키값을 가지고 DB에 저장된 데이타를 조회하러 간다
  131. var oParam = {};
  132. oParam.id = "TRZHI05105";
  133. oParam.service = "irmsapp.MessageMngt";
  134. oParam.method = "reqAttFileDownLoad";
  135. oParam.inds = "req=ds_attfile";
  136. oParam.outds = "ds_filelist=filelist";
  137. oParam.async = false;
  138. tranf_submit(oParam);
  139. if (objVFileList != null) {
  140. dsf_readFileFromDs(objVFileList.fullpath, ds_filelist, 0, "attfilecnts"); // 파일저장
  141. if(sysf_messageBox("파일을", "Q004") == "6")
  142. system.execShell("\"" + objVFileList.fullpath + "\"");
  143. }
  144. } else {
  145. sysf_messageBox("파일이 첨부되지 않은상태입니다.", "C000");
  146. }
  147. }
  148. function fFilePreview(filenm, filepath, oDataset) {
  149. //파일명이 있는 경우 다운로드
  150. if(!utlf_isNull(filenm) && oDataset.getColumn(0, "fileyn") == "Y"){
  151. var temp_path = "C:\\temp2";
  152. var objActiveX = new ActiveX();
  153. var FSO = objActiveX.createObject("Scripting.FileSystemObject");
  154. // 객체 생성 실패하면 리턴
  155. if (FSO == null)
  156. {
  157. return;
  158. }
  159. // 시스템 드라이브가 없다면..
  160. if (FSO.DriveExists("C") == false)
  161. {
  162. return;
  163. }
  164. // 임시디렉토리가 없으면 생성
  165. if (FSO.FolderExists(temp_path) == false)
  166. {
  167. folder = FSO.CreateFolder(temp_path);
  168. }
  169. //키값을 받아옴
  170. dsf_createDsRow("ds_attfile", [{col:"attfilepath", type:"string", size:256, val:filepath}
  171. , {col:"filepathcolnm", type:"string", size:256, val:"attfilepath"}]);
  172. dsf_createDs("ds_filelist");
  173. //키값을 가지고 DB에 저장된 데이타를 조회하러 간다
  174. var oParam = {};
  175. oParam.id = "TRZHI05105";
  176. oParam.service = "irmsapp.MessageMngt";
  177. oParam.method = "reqAttFileDownLoad";
  178. oParam.inds = "req=ds_attfile";
  179. oParam.outds = "ds_filelist=filelist";
  180. oParam.async = false;
  181. tranf_submit(oParam);
  182. dsf_readFileFromDs(temp_path+"\\"+filenm, ds_filelist, 0, "attfilecnts"); // 파일저장
  183. system.execShell("\"" + temp_path+"\\"+filenm + "\"");
  184. } else {
  185. sysf_messageBox("파일이 첨부되지 않은상태입니다.", "C000");
  186. }
  187. }
  188. function fAttachFileKnowhow(oDataset){
  189. //******파일을 첨부하기 위해 파일열기가 open 되게 한다.
  190. var name = oDataset.getColumn(0, "attfilenm");
  191. if(!utlf_isNull(name)){
  192. var fileupdata = sysf_messageBox(name + " 파일 수정을" , "S001");
  193. if(fileupdata == '6'){
  194. //파일 삭제
  195. //input박스에 나타난 명을 제거
  196. oDataset.setColumn(0, "attfilenm", "");
  197. //파일 저장
  198. //파일을 받아오기 위해 파일열기 팝업창을 띄운다.
  199. var fd = new FileDialog;
  200. var objVFileList = fd.open("첨부 할 파일을 선택하여 주십시오.", FileDialog.LOAD);
  201. oDataset.setColumn(0, "attfilenm", objVFileList.filename);
  202. //선택한 파일이 저장버튼을 눌렀을때 저장이 되게 하기 위해 파일 저장 인스턴스에 파일주소를 저장해 둔다.
  203. dsf_createDsRow("ds_send_save_file", [{col:"filedata", type:"BLOB", size:256}
  204. , {col:"filenm", type:"string", size:256}
  205. , {col:"filesize", type:"string", size:256}
  206. , {col:"filetype", type:"string", size:256}]);
  207. var oDsSaveFile = this.objects["ds_send_save_file"];
  208. var objFileinfo = dsf_writeFileToDs(objVFileList, oDsSaveFile, 0, "filedata");
  209. oDsSaveFile.setColumn(0, "filenm", objFileinfo.filename);
  210. oDsSaveFile.setColumn(0, "filesize", objFileinfo.filesize);
  211. oDsSaveFile.setColumn(0, "filetype", objFileinfo.filetype);
  212. //파일 크기가 너무 큰경우 메세지를 띄운다.
  213. if (!checkFileSize(objFileinfo.filesize)){
  214. oDataset.setColumn(0, "attfilenm", "");
  215. sysf_messageBox("파일 크기가 최대치(" + gMaxSize + "Byte)를", "E003");
  216. oDsSaveFile.setColumn(0, "filedata", "");
  217. }
  218. oDataset.setColumn(0, "fileyn", 'Y');
  219. }else if(fileupdata == '7'){
  220. sysf_messageBox(name + " 파일 수정을 하지", "E007");
  221. oDataset.setColumn(0, "fileyn", 'N');
  222. }
  223. }else{
  224. //파일을 받아오기 위해 파일열기 팝업창을 띄운다.
  225. var fd = new FileDialog;
  226. var objVFileList = fd.open("첨부 할 파일을 선택하여 주십시오.", FileDialog.LOAD);
  227. //파일 경로가 아닌 이름만 input박스에 넣기 위한 처리
  228. oDataset.setColumn(0, "attfilenm", objVFileList.filename);
  229. //선택한 파일이 저장버튼을 눌렀을때 저장이 되게 하기 위해 파일 저장 인스턴스에 파일주소를 저장해 둔다.
  230. dsf_createDsRow("ds_send_save_file", [{col:"filedata", type:"BLOB", size:256}
  231. , {col:"filenm", type:"string", size:256}
  232. , {col:"filesize", type:"string", size:256}
  233. , {col:"filetype", type:"string", size:256}]);
  234. var oDsSaveFile = this.objects["ds_send_save_file"];
  235. var objFileinfo = dsf_writeFileToDs(objVFileList, oDsSaveFile, 0, "filedata");
  236. oDsSaveFile.setColumn(0, "filenm", objFileinfo.filename);
  237. oDsSaveFile.setColumn(0, "filesize", objFileinfo.filesize);
  238. oDsSaveFile.setColumn(0, "filetype", objFileinfo.filetype);
  239. //파일 크기가 너무 큰경우 메세지를 띄운다.
  240. if (!checkFileSize(objFileinfo.filesize)){
  241. oDataset.setColumn(0, "attfilenm", "");
  242. sysf_messageBox("파일 크기가 최대치(" + gMaxSize + "Byte)를", "E003");
  243. oDsSaveFile.setColumn(0, "filedata", "");
  244. }
  245. oDataset.setColumn(0, "fileyn", 'Y');
  246. }
  247. }
  248. function fFileDownKnowhow(knowfilenm, knowfilepath, oDataset) {
  249. //파일명이 있는 경우 다운로드
  250. if(!utlf_isNull(knowfilenm) && oDataset.getColumn(0, "fileyn") == "Y"){
  251. //파일명의 확장자만 받아옴
  252. var fileext = knowfilenm.lastIndexOf(".");
  253. var ext = knowfilenm.substring(fileext +1);
  254. //파일을 다운로드 하기 위해 저장할 창을 띄움
  255. var fd = new FileDialog;
  256. var objVFileList = fd.open("다운 받을 위치를 선택하여 주십시오.", FileDialog.SAVE, "", knowfilenm);
  257. //키값을 받아옴
  258. dsf_createDsRow("ds_attfile", [{col:"attfilepath", type:"string", size:256, val:knowfilepath}
  259. , {col:"filepathcolnm", type:"string", size:256, val:"attfilepath"}]);
  260. dsf_createDs("ds_filelist");
  261. //키값을 가지고 DB에 저장된 데이타를 조회하러 간다
  262. var oParam = {};
  263. oParam.id = "TRZHI05105";
  264. oParam.service = "irmsapp.MessageMngt";
  265. oParam.method = "reqAttFileDownLoad";
  266. oParam.inds = "req=ds_attfile";
  267. oParam.outds = "ds_filelist=filelist";
  268. oParam.async = false;
  269. tranf_submit(oParam);
  270. if (objVFileList != null) {
  271. dsf_readFileFromDs(objVFileList.fullpath, ds_filelist, 0, "attfilecnts"); // 파일저장
  272. if(sysf_messageBox("파일을", "Q004") == "6")
  273. system.execShell("\"" + objVFileList.fullpath + "\"");
  274. }
  275. } else {
  276. sysf_messageBox("파일이 첨부되지 않은상태입니다.", "C000");
  277. }
  278. }
  279. /**
  280. * @desc : 파일 미리보기 버튼 클릭시 이벤트
  281. * @
  282. * @param :
  283. * @return :
  284. * @author :
  285. * @---------------------------------------------------
  286. */
  287. function fFilePreviewKnowhow(knowfilenm, knowfilepath, oDataset) {
  288. //파일명이 있는 경우 다운로드
  289. if(!utlf_isNull(knowfilenm) && oDataset.getColumn(0, "fileyn") == "Y"){
  290. var temp_path = "C:\\temp2";
  291. //키값을 받아옴
  292. dsf_createDsRow("ds_attfile", [{col:"attfilepath", type:"string", size:256, val:knowfilepath}
  293. , {col:"filepathcolnm", type:"string", size:256, val:"attfilepath"}]);
  294. dsf_createDs("ds_filelist");
  295. //키값을 가지고 DB에 저장된 데이타를 조회하러 간다
  296. var oParam = {};
  297. oParam.id = "TRZHI05105";
  298. oParam.service = "irmsapp.MessageMngt";
  299. oParam.method = "reqAttFileDownLoad";
  300. oParam.inds = "req=ds_attfile";
  301. oParam.outds = "ds_filelist=filelist";
  302. oParam.async = false;
  303. tranf_submit(oParam);
  304. dsf_readFileFromDs(temp_path+"\\"+knowfilenm, ds_filelist, 0, "attfilecnts"); // 파일저장
  305. system.execShell("\"" + temp_path+"\\"+knowfilenm + "\"");
  306. } else {
  307. sysf_messageBox("파일이 첨부되지 않은상태입니다.", "C000");
  308. }
  309. }
  310. function checkFileSize(fileSize)
  311. {
  312. if (fileSize <= gMaxSize)
  313. return true;
  314. else
  315. return false;
  316. }]]></Script>