SMRFC01100_고정자산 첨부파일.xfdl 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMRFC01100" position="absolute 0 0 761 526" titletext="첨부파일조회" oninit="SMRFC01100_oninit" onload="SMRFC01100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption1" text="첨부파일내역조회" class="tit_2" position="absolute 0 11 175 32"/>
  8. <Shape id="line1" class="line_10" position="absolute 0 27 755 33"/>
  9. <Grid id="grd_fileinfo" taborder="1" binddataset="ds_main_fileinfo_fileinfolist" autoenter="select" useinputpanel="false" cellsizingtype="col" position="absolute 0 59 755 499" oncelldblclick="grd_fileinfo_oncelldblclick">
  10. <Formats>
  11. <Format id="default">
  12. <Columns>
  13. <Column size="18"/>
  14. <Column size="0"/>
  15. <Column size="0"/>
  16. <Column size="350"/>
  17. <Column size="67"/>
  18. <Column size="150"/>
  19. <Column size="60"/>
  20. <Column size="0"/>
  21. <Column size="0"/>
  22. <Column size="0"/>
  23. <Column size="0"/>
  24. <Column size="0"/>
  25. <Column size="0"/>
  26. <Column size="70"/>
  27. <Column size="80"/>
  28. </Columns>
  29. <Rows>
  30. <Row size="24" band="head"/>
  31. <Row size="24"/>
  32. </Rows>
  33. <Band id="head">
  34. <Cell/>
  35. <Cell col="1" text="첨부파일번호"/>
  36. <Cell col="2" text="자산코드"/>
  37. <Cell col="3" text="파일이름"/>
  38. <Cell col="4" text="파일크기"/>
  39. <Cell col="5" text="파일타입"/>
  40. <Cell col="6" text="다운로드"/>
  41. <Cell col="7" text="파일경로"/>
  42. <Cell col="8" text="첨부기관"/>
  43. <Cell col="9" text="첨부기관"/>
  44. <Cell col="10" text="첨부부서"/>
  45. <Cell col="11" text="첨부부서"/>
  46. <Cell col="12" text="등록자"/>
  47. <Cell col="13" text="등록자"/>
  48. <Cell col="14" text="등록시간"/>
  49. </Band>
  50. <Band id="body">
  51. <Cell celltype="head"/>
  52. <Cell col="1" text="bind:fileseqno"/>
  53. <Cell col="2" text="bind:fixasetcd"/>
  54. <Cell col="3" text="bind:filenm"/>
  55. <Cell col="4" displaytype="number" text="bind:filesize"/>
  56. <Cell col="5" text="bind:filetype"/>
  57. <Cell col="6" displaytype="number" text="bind:qrycnt"/>
  58. <Cell col="7" text="bind:filepath"/>
  59. <Cell col="8" text="bind:refinstcd"/>
  60. <Cell col="9" text="bind:refinstnm"/>
  61. <Cell col="10" text="bind:refdeptcd"/>
  62. <Cell col="11" text="bind:refdeptnm"/>
  63. <Cell col="12" text="bind:refpsnid"/>
  64. <Cell col="13" text="bind:refpsnnm"/>
  65. <Cell col="14" text="bind:fstrgstdt"/>
  66. </Band>
  67. </Format>
  68. </Formats>
  69. </Grid>
  70. <Button id="btn_search" taborder="2" text="조회" class="btn1" visible="false" position="absolute 638 5 694 27" onclick="btn_search_onclick"/>
  71. <Button id="btn_save" taborder="3" text="저장" class="btn4" position="absolute 698 5 754 27" onclick="btn_save_onclick"/>
  72. <Shape id="line2" class="line_3" position="absolute 0 55 755 61"/>
  73. <Button id="btn_delgrd" taborder="4" text="파일삭제" class="btn2" position="absolute 690 37 754 56" onclick="btn_delgrd_onclick"/>
  74. <Button id="btn_addfile" taborder="5" text="파일추가" class="btn2" position="absolute 622 37 686 56" onclick="btn_addfile_onclick"/>
  75. <Static id="cap_fixasetcd_search" text="자산코드 :" class="search_name" position="absolute 13 36 130 53"/>
  76. <Edit id="ipt_fixasetcd_search" taborder="6" readonly="true" autoselect="true" autoskip="true" class="output" position="absolute 105 35 210 54"/>
  77. <Edit id="ipt_goodnm_search" taborder="7" readonly="true" autoselect="true" autoskip="true" class="output" position="absolute 300 35 581 54"/>
  78. <Static id="cap_goodflaghngnm_search" text="자 산 명 :" class="search_name" position="absolute 218 35 305 52"/>
  79. <Edit id="ipt_uploadfile" taborder="8" visible="false" position="absolute 440 5 475 24"/>
  80. <Shape id="line32" class="line_6" position="absolute 0 500 580 506"/>
  81. <Button id="btn_confirm" taborder="9" text="확인" class="btn4" position="absolute 642 502 698 524" onclick="btn_confirm_onclick"/>
  82. <Button id="btn_cancel" taborder="10" text="취소" class="btn4" position="absolute 699 502 755 524" onclick="btn_cancel_onclick"/>
  83. </Layout>
  84. </Layouts>
  85. <Objects>
  86. <Dataset id="ds_send_fileinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  87. <ColumnInfo>
  88. <Column id="fixasetcd" type="STRING" size="256"/>
  89. <Column id="fixasetnm" type="STRING" size="256"/>
  90. <Column id="reqpsnid" type="STRING" size="256"/>
  91. </ColumnInfo>
  92. <Rows>
  93. <Row>
  94. <Col id="fixasetcd"/>
  95. <Col id="fixasetnm"/>
  96. </Row>
  97. </Rows>
  98. </Dataset>
  99. <Dataset id="ds_main_fileinfo_fileinfolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  100. <ColumnInfo>
  101. <Column id="fixasetcd" type="STRING" size="256" sumtext="고정자산코드"/>
  102. <Column id="fileseqno" type="STRING" size="256" sumtext="첨부파일순번"/>
  103. <Column id="refinstcd" type="STRING" size="256" sumtext="첨부등록기관"/>
  104. <Column id="refinstnm" type="STRING" size="256" sumtext="첨부등록기관"/>
  105. <Column id="refdeptcd" type="STRING" size="256" sumtext="첨부등록부서"/>
  106. <Column id="refdeptnm" type="STRING" size="256" sumtext="첨부등록부서"/>
  107. <Column id="refpsnid" type="STRING" size="256" sumtext="첨부등록ID"/>
  108. <Column id="refpsnnm" type="STRING" size="256" sumtext="첨부등록자명"/>
  109. <Column id="filenm" type="STRING" size="256" sumtext="화일명"/>
  110. <Column id="filepath" type="STRING" size="256" sumtext="화일경로"/>
  111. <Column id="filesize" type="STRING" size="256" sumtext="화일사이즈"/>
  112. <Column id="filetype" type="STRING" size="256" sumtext="화일유형"/>
  113. <Column id="qrycnt" type="STRING" size="256" sumtext="조회수"/>
  114. <Column id="fstrgstdt" type="STRING" size="256" sumtext="등록시간"/>
  115. </ColumnInfo>
  116. </Dataset>
  117. <Dataset id="ds_target_defaultvalue" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  118. <Dataset id="ds_send_fileupcolumn_fileupload" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  119. <ColumnInfo>
  120. <Column id="filenm" type="STRING" size="256"/>
  121. <Column id="filedata" type="BLOB" size="256"/>
  122. <Column id="filesize" type="STRING" size="256"/>
  123. <Column id="filetype" type="STRING" size="256"/>
  124. </ColumnInfo>
  125. <Rows>
  126. <Row/>
  127. </Rows>
  128. </Dataset>
  129. <Dataset id="ds_send_fileupcolumn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  130. <ColumnInfo>
  131. <Column id="fixasetcd" type="STRING" size="256" sumtext="고정자산코드"/>
  132. <Column id="refinstcd" type="STRING" size="256" sumtext="참조등록기관코드"/>
  133. <Column id="refdeptcd" type="STRING" size="256" sumtext="참조등록부서코드"/>
  134. <Column id="refpsnid" type="STRING" size="256" sumtext="참조등록자ID"/>
  135. <Column id="attfilenm" type="STRING" size="256" sumtext="첨부파일이름"/>
  136. <Column id="attfilepathnm" type="STRING" size="256" sumtext="첨부파일경로"/>
  137. <Column id="reqdd" type="STRING" size="256" sumtext="수리요구일자"/>
  138. <Column id="reqno" type="STRING" size="256" sumtext="수리요구번호"/>
  139. </ColumnInfo>
  140. <Rows>
  141. <Row/>
  142. </Rows>
  143. </Dataset>
  144. <Dataset id="ds_sfile" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  145. <ColumnInfo>
  146. <Column id="filenm" type="STRING" size="256" sumtext="첨부파일명"/>
  147. <Column id="filedata" type="STRING" size="256" sumtext="첨부파일데이터"/>
  148. <Column id="filesize" type="STRING" size="256" sumtext="첨부파일크기"/>
  149. <Column id="filetype" type="STRING" size="256" sumtext="파일종류"/>
  150. </ColumnInfo>
  151. </Dataset>
  152. <Dataset id="ds_temp_attfileinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  153. <ColumnInfo>
  154. <Column id="fileseqno" type="STRING" size="256" sumtext="첨부파일SeqNo"/>
  155. <Column id="filepath" type="STRING" size="256" sumtext="첨부파일경로"/>
  156. <Column id="filenm" type="STRING" size="256" sumtext="첨부파일명"/>
  157. </ColumnInfo>
  158. </Dataset>
  159. </Objects>
  160. <Bind>
  161. <BindItem id="item0" compid="ipt_fixasetcd_search" propid="value" datasetid="ds_send_fileinfo" columnid="fixasetcd"/>
  162. <BindItem id="item1" compid="ipt_goodnm_search" propid="value" datasetid="ds_send_fileinfo" columnid="fixasetnm"/>
  163. <BindItem id="item2" compid="ipt_uploadfile" propid="value" datasetid="ds_send_fileupcolumn_fileupload" columnid="file"/>
  164. </Bind>
  165. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  166. * System Name :
  167. * Job Name :
  168. * Creator :
  169. * Make Date : 2017-06-19
  170. * Description :
  171. *---------------------------------------------------------------------------------------
  172. * Modify Date Modifier Modify Description
  173. *---------------------------------------------------------------------------------------
  174. * 2017-06-19 Live Converter TF->XP
  175. *
  176. *---------------------------------------------------------------------------------------
  177. ****************************************************************************************/
  178. include "com_commonxp::comm_main.xjs";
  179. include "mis_miscommonxp::MIS.xjs";
  180. var arErrorCode = new HashArray();
  181. function SMRFC01100_oninit(obj:Form, e:InitEventInfo)
  182. {
  183. frmf_initForm(obj);
  184. }
  185. function SMRFC01100_onload(obj:Form, e:LoadEventInfo)
  186. {
  187. grdf_initGrid(grd_fileinfo);
  188. grdf_setRowTypeIcon(grd_fileinfo, 0);
  189. try
  190. {
  191. ds_target_defaultvalue.copyData(arg_ds_target);
  192. }
  193. catch(e)
  194. {
  195. }
  196. misfGridInit(grd_fileinfo);
  197. misfMsterDetailSet(grd_fileinfo,null, "TRRFC01101" ,"Y");
  198. if(String(ds_target_defaultvalue.getColumn(0, "fixasetcd")).length > 0)
  199. {
  200. ds_send_fileinfo.setColumn(0, "fixasetcd", ds_target_defaultvalue.getColumn(0, "fixasetcd"));
  201. ds_send_fileinfo.setColumn(0, "fixasetnm", ds_target_defaultvalue.getColumn(0, "fixasetnm"));
  202. btn_search.click();
  203. }
  204. else
  205. {
  206. sysf_messageBox("자산코드가 없는 경우 조회가 불가능 합니다.", "I");
  207. btn_cancel.click();
  208. }
  209. }
  210. function btn_search_onclick(obj:Button, e:ClickEventInfo)
  211. {
  212. misfMsterDetailRetrieve();
  213. var reqpsnid = ds_send_fileinfo.getColumn(0, "reqpsnid");
  214. if (ds_main_fileinfo_fileinfolist.rowcount > 0)
  215. {
  216. if (ds_main_fileinfo_fileinfolist.getColumn(0, "reqpsnid") == reqpsnid)
  217. {
  218. btn_save.enable = true;
  219. btn_delgrd.enable = true;
  220. }
  221. else
  222. {
  223. btn_save.enable = false;
  224. btn_delgrd.enable = false;
  225. }
  226. }
  227. else
  228. {
  229. btn_save.enable = false;
  230. btn_delgrd.enable = false;
  231. }
  232. }
  233. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  234. {
  235. var delCount = 0;
  236. for (var i = 0; i< ds_main_fileinfo_fileinfolist.rowcount; i++)
  237. {
  238. if ( ds_main_fileinfo_fileinfolist.getRowType(i) == 8)
  239. {
  240. delCount++;
  241. }
  242. }
  243. var rtn = sysf_messageBox(delCount + "건의 파일 삭제를", "Q009");
  244. if( rtn == 6 )
  245. {
  246. var oParam = {};
  247. oParam.id = "TXRFC01102";
  248. oParam.service = "purcbaseapp.PurcBaseMngt";
  249. oParam.method = "delFixasetAttFile";
  250. oParam.inds = "fileinfolist=ds_main_fileinfo_fileinfolist:u";
  251. oParam.outds = "";
  252. oParam.async = false;
  253. //oParam.callback = "cf_TXRFC01102";
  254. tranf_submit(oParam);
  255. btn_search.click();
  256. }
  257. }
  258. function btn_addfile_onclick(obj:Button, e:ClickEventInfo)
  259. {
  260. var fd = new FileDialog;
  261. var vFile = fd.open("FileOpen", FileDialog.SINGLELOAD);
  262. if(utlf_isNull(vFile)) return;
  263. var file = dsf_writeFileToDs(vFile, ds_send_fileupcolumn_fileupload, 0, "filedata");
  264. // if(file.filesize > 5242880) {
  265. // ds_send_attach.deleteRow(nRow);
  266. // sysf_messageBox("파일 크기가 최대치(5242880Byte)를", "E003");
  267. // return;
  268. // }
  269. var filename = file.filename;
  270. var filesize = file.filesize;
  271. var idx = filename.indexOf(".");
  272. // ds_send_attach.setColumn(nRow, "file" , filename);
  273. ds_send_fileupcolumn_fileupload.setColumn(0, "filenm", file.filename);
  274. ds_send_fileupcolumn_fileupload.setColumn(0, "filesize", file.filesize);
  275. ds_send_fileupcolumn_fileupload.setColumn(0, "filetype", file.filetype);
  276. ipt_uploadfile.value = vFile.fullpath;
  277. if(String(ipt_uploadfile.value).length > 0)
  278. {
  279. fAttfileAdd();
  280. }
  281. }
  282. function fAttfileAdd(bData)
  283. {
  284. ds_send_fileupcolumn.setColumn(0, "refinstcd" , sysf_getUserInfo("dutplceinstcd"));
  285. ds_send_fileupcolumn.setColumn(0, "refdeptcd" , sysf_getUserInfo("dutplcecd"));
  286. ds_send_fileupcolumn.setColumn(0, "refpsnid" , sysf_getUserInfo("userid"));
  287. ds_send_fileupcolumn.setColumn(0, "fixasetcd" , ipt_fixasetcd_search.value);
  288. var oParam = {};
  289. oParam.id = "TXRFC01101";
  290. oParam.service = "purcbaseapp.PurcBaseMngt";
  291. oParam.method = "insFixasetAttFile";
  292. oParam.inds = "sfile=ds_send_fileupcolumn_fileupload req=ds_send_fileupcolumn";
  293. oParam.outds = "ds_temp_attfileinfo=attfileinfo";
  294. oParam.async = false;
  295. oParam.callback = "cf_TXRFC01101";
  296. tranf_submit(oParam);
  297. }
  298. function cf_TXRFC01101(sSvcId, nErrorCode, sErrorMsg)
  299. {
  300. if(nErrorCode < 0) return;
  301. else btn_search.click();
  302. }
  303. function btn_delgrd_onclick(obj:Button, e:ClickEventInfo)
  304. {
  305. misfGridIUD(grd_fileinfo, "D");
  306. }
  307. function btn_confirm_onclick(obj:Button, e:ClickEventInfo)
  308. {
  309. this.close();
  310. }
  311. function btn_cancel_onclick(obj:Button, e:ClickEventInfo)
  312. {
  313. this.close();
  314. }
  315. function grd_fileinfo_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  316. {
  317. var idx = ds_main_fileinfo_fileinfolist.rowposition;
  318. if(idx >= 0) {
  319. var filepath = ds_main_fileinfo_fileinfolist.getColumn(idx, "filepath");
  320. var fileseqno = ds_main_fileinfo_fileinfolist.getColumn(idx, "fileseqno");
  321. var filenm = ds_main_fileinfo_fileinfolist.getColumn(idx, "filenm");
  322. var attfilenm = filenm.split(".");
  323. var fd = new FileDialog;
  324. var localfile = fd.open("FileSave", FileDialog.SAVE, "%MYDOCUMENT%", attfilenm[0]);
  325. if (!utlf_isNull(localfile)) {
  326. dsf_createDsRow("ds_req", [{col:"filepath", val:filepath}
  327. ,{col:"fileseqno", val:fileseqno}]);
  328. //sysf_setErrorMsg(false); //자바단에서 에러발생시 1.0은 오류리턴을 안해서...
  329. var oParam = {};
  330. oParam.id = "TRRFC01102";
  331. oParam.service = "purcbaseapp.PurcBaseMngt";
  332. oParam.method = "reqGetFixasetAttfileDownLoad";
  333. oParam.inds = "req=ds_req";
  334. oParam.outds = "ds_sfile=attachfile";
  335. oParam.async = false;
  336. oParam.callback = "cf_TRRFC01102";
  337. tranf_submit(oParam);
  338. //sysf_setErrorMsg(true);
  339. if( arErrorCode.pop("TRRFC01102") > -1 ){
  340. var temp = dsf_readFileFromDs(localfile.fullpath+"."+attfilenm[1], ds_sfile, 0, "filedata"); // 파일저장
  341. if( !utlf_isNull(temp) )
  342. {
  343. var rtn = sysf_messageBox("파일을", "Q004");
  344. if( rtn == 6 ) {
  345. var objExtCommon = new ExtCommon();
  346. var rtn = objExtCommon.executeProcess(localfile.fullpath+"."+attfilenm[1],"","");
  347. }
  348. }
  349. }
  350. }
  351. btn_search.click();
  352. }
  353. }
  354. function cf_TRRFC01102(sSvcId, nErrorCode, sErrorMsg) {
  355. arErrorCode.push(sSvcId, nErrorCode);
  356. }
  357. ]]></Script>
  358. </Form>
  359. </FDL>