SMMMO14100_AJCC관리.xfdl 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMMO14100" position="absolute 0 0 1280 1024" titletext="AJCC 관리" onload="SMMMO14100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption1" class="tit_1" position="absolute 10 2 150 23" style="" text="AJCC 관리"/>
  8. <Shape id="roundrect1" anchor="default" type="roundrectangle" position="absolute 0 21 1193 60" style="border:1 solid #ffd799 #ffd799;background:#fffbf2 ;"/>
  9. <Static id="caption2" class="search_name" position="absolute 30 32 135 49" style="" text="문서제목 :"/>
  10. <Edit id="ipt_docutitl" class="input_search" taborder="1" position="absolute 125 31 500 50" style="" anchor="default" onkeyup="ipt_docutitl_onkeyup"/>
  11. <Static id="caption3" class="search_name" position="absolute 530 32 635 49" style="" text="사용구분 :"/>
  12. <Combo datacolumn="datacolumn" codecolumn="codecolumn" columncount="-1" rowcount="-1" id="cmb_use" taborder="2" position="absolute 625 31 725 50" style="" onitemclick="cmb_use_onitemclick" onitemchanged="cmb_use_onitemchanged">
  13. <Dataset id="innerdataset">
  14. <ColumnInfo>
  15. <Column id="codecolumn"/>
  16. <Column id="datacolumn"/>
  17. </ColumnInfo>
  18. <Rows>
  19. <Row>
  20. <Col id="codecolumn">Y</Col>
  21. <Col id="datacolumn">사용</Col>
  22. </Row>
  23. <Row>
  24. <Col id="codecolumn">N</Col>
  25. <Col id="datacolumn">미사용</Col>
  26. </Row>
  27. </Rows>
  28. </Dataset>
  29. </Combo>
  30. <Shape id="line3" linetype="vertical" position="absolute 1100 25 1103 55" style="border:1 solid #ffe4bb #ffe4bb;" anchor="default"/>
  31. <Button id="btn_req" class="btn1" taborder="3" position="absolute 1112 30 1168 52" style="" text="조회" onclick="btn_req_onclick"/>
  32. <Static id="caption4" class="tit_2" position="absolute 0 65 126 79" style="align:left middle;" text="AJCC 내역"/>
  33. <Shape id="line1" class="line_1" linetype="horizontal" position="absolute 0 80 1193 83" style="" anchor="default"/>
  34. <Static id="caption5" class="cell_1" position="absolute 0 85 101 108" style="align: middle;" text="문서제목"/>
  35. <Static id="caption6" class="cell_1" position="absolute 0 109 101 132" style="align: middle;" text="파일명"/>
  36. <Edit id="ipt_docutitlnm" class="input_search" enable="False" taborder="5" position="absolute 102 87 485 106" style="" anchor="default"/>
  37. <Edit id="ipt_attfilenm" class="input_search" enable="False" taborder="7" position="absolute 102 111 485 130" style="" anchor="default"/>
  38. <Static id="caption10" class="cell_1" position="absolute 487 85 588 108" style="align: middle;" text="사용구분"/>
  39. <Combo datacolumn="datacolumn" codecolumn="codecolumn" columncount="-1" rowcount="-1" id="cmb_useYN" enable="False" taborder="6" position="absolute 590 87 700 106" style="">
  40. <Dataset id="innerdataset">
  41. <ColumnInfo>
  42. <Column id="codecolumn"/>
  43. <Column id="datacolumn"/>
  44. </ColumnInfo>
  45. <Rows>
  46. <Row>
  47. <Col id="codecolumn">Y</Col>
  48. <Col id="datacolumn">사용</Col>
  49. </Row>
  50. <Row>
  51. <Col id="codecolumn">N</Col>
  52. <Col id="datacolumn">미사용</Col>
  53. </Row>
  54. </Rows>
  55. </Dataset>
  56. </Combo>
  57. <Shape id="line6" class="line_3" linetype="horizontal" position="absolute 0 132 1194 135" style="" anchor="default"/>
  58. <Button id="btn_save" class="btn4" taborder="11" position="absolute 1082 134 1138 156" style="" text="저장" onclick="btn_save_onclick"/>
  59. <Button id="btn_delete" class="btn4" taborder="12" position="absolute 1139 134 1195 156" style="" text="삭제" onclick="btn_delete_onclick"/>
  60. <Button id="btn_reset" class="btn4" taborder="10" position="absolute 1013 134 1081 156" style="" text="초기화" onclick="btn_reset_onclick"/>
  61. <Button id="button2" class="btn2" taborder="8" position="absolute 489 110 553 129" style="" text="파일첨부" onclick="button2_onclick"/>
  62. <Button id="button3" class="btn2" taborder="9" position="absolute 555 110 619 129" style="" text="파일삭제" onclick="button3_onclick"/>
  63. <Grid id="grd_AJCClist" binddataset="ds_main_AJCCspeclist_AJCCspeclist" taborder="4" position="absolute 0 170 1193 735" style="" oncelldblclick="grd_AJCClist_oncelldblclick">
  64. <Formats>
  65. <Format id="default">
  66. <Columns>
  67. <Column size="540"/>
  68. <Column size="540"/>
  69. <Column size="0"/>
  70. <Column size="0"/>
  71. <Column size="70"/>
  72. </Columns>
  73. <Rows>
  74. <Row size="24" band="head"/>
  75. <Row size="24"/>
  76. </Rows>
  77. <Band id="head">
  78. <Cell text="문서제목"/>
  79. <Cell col="1" text="파일명"/>
  80. <Cell col="2" text="발생일자"/>
  81. <Cell col="3" text="발생번호"/>
  82. <Cell col="4" text="사용구분"/>
  83. </Band>
  84. <Band id="body">
  85. <Cell style="align:left middle;" text="bind:docutitlnm"/>
  86. <Cell col="1" style="align:left middle;" text="bind:attfilenm"/>
  87. <Cell col="2" text="bind:genrdd"/>
  88. <Cell col="3" text="bind:genrno"/>
  89. <Cell col="4" displaytype="combo" style="align:center middle;" text="bind:useyn" combodataset="ds_init_useyn" combocodecol="value" combodatacol="label"/>
  90. </Band>
  91. </Format>
  92. </Formats>
  93. </Grid>
  94. <Static id="caption18" class="tit_2" position="absolute 0 150 139 163" style="align:left middle;" text="AJCC 내역리스트"/>
  95. <Shape id="line2" class="line_1" linetype="horizontal" position="absolute 0 165 1193 168" style="" anchor="default"/>
  96. </Layout>
  97. </Layouts>
  98. <Objects>
  99. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  100. <ColumnInfo>
  101. <Column id="docutitlnm" type="STRING" size="256"/>
  102. <Column id="useyn" type="STRING" size="256"/>
  103. </ColumnInfo>
  104. <Rows>
  105. <Row>
  106. <Col id="docutitlnm"/>
  107. <Col id="useyn"/>
  108. </Row>
  109. </Rows>
  110. </Dataset>
  111. <Dataset id="ds_main_info_AJCCspecinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  112. <ColumnInfo>
  113. <Column id="docutitlnm" type="STRING" size="256"/>
  114. <Column id="attfilenm" type="STRING" size="256"/>
  115. <Column id="useyn" type="STRING" size="256"/>
  116. <Column id="genrdd" type="STRING" size="256"/>
  117. <Column id="genrno" type="STRING" size="256"/>
  118. <Column id="status" type="STRING" size="256"/>
  119. </ColumnInfo>
  120. <Rows>
  121. <Row>
  122. <Col id="docutitlnm"/>
  123. <Col id="attfilenm"/>
  124. <Col id="useyn"/>
  125. <Col id="genrdd"/>
  126. <Col id="genrno"/>
  127. <Col id="status"/>
  128. </Row>
  129. </Rows>
  130. </Dataset>
  131. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  132. <ColumnInfo>
  133. <Column id="reqdata" type="STRING" size="256"/>
  134. <Column id="savedata" type="STRING" size="256"/>
  135. </ColumnInfo>
  136. <Rows>
  137. <Row>
  138. <Col id="reqdata"/>
  139. <Col id="savedata"/>
  140. </Row>
  141. </Rows>
  142. </Dataset>
  143. <Dataset id="ds_main_AJCCspeclist_AJCCspeclist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  144. <ColumnInfo>
  145. <Column id="docutitlnm" type="STRING" size="256"/>
  146. <Column id="attfilenm" type="STRING" size="256"/>
  147. <Column id="useyn" type="STRING" size="256"/>
  148. <Column id="genrdd" type="STRING" size="256"/>
  149. <Column id="genrno" type="STRING" size="256"/>
  150. </ColumnInfo>
  151. <Rows>
  152. <Row>
  153. <Col id="docutitlnm"/>
  154. <Col id="attfilenm"/>
  155. <Col id="useyn"/>
  156. <Col id="genrdd"/>
  157. <Col id="genrno"/>
  158. </Row>
  159. </Rows>
  160. </Dataset>
  161. <Dataset id="ds_main_AJCCspeclist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  162. <ColumnInfo/>
  163. </Dataset>
  164. <Dataset id="ds_main_info" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  165. <ColumnInfo/>
  166. </Dataset>
  167. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  168. <ColumnInfo>
  169. <Column id="hidden" type="STRING" size="256"/>
  170. </ColumnInfo>
  171. <Rows>
  172. <Row>
  173. <Col id="hidden"/>
  174. </Row>
  175. </Rows>
  176. </Dataset>
  177. <Dataset id="ds_send_file" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  178. <ColumnInfo>
  179. <Column id="filename" type="STRING" size="256"/>
  180. <Column id="genrdd" type="STRING" size="256"/>
  181. <Column id="genrno" type="STRING" size="256"/>
  182. <Column id="status" type="STRING" size="256"/>
  183. <Column id="useyn" type="STRING" size="256"/>
  184. <Column id="filedata" type="BLOB" size="256"/>
  185. </ColumnInfo>
  186. <Rows>
  187. <Row>
  188. <Col id="filename"/>
  189. <Col id="genrdd"/>
  190. <Col id="genrno"/>
  191. <Col id="status"/>
  192. <Col id="useyn"/>
  193. </Row>
  194. </Rows>
  195. </Dataset>
  196. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  197. <ColumnInfo/>
  198. </Dataset>
  199. <Dataset id="ds_main_keyinfo_keylist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  200. <ColumnInfo>
  201. <Column id="keylist" type="STRING" size="256"/>
  202. </ColumnInfo>
  203. <Rows>
  204. <Row>
  205. <Col id="keylist"/>
  206. </Row>
  207. </Rows>
  208. </Dataset>
  209. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  210. <ColumnInfo>
  211. <Column id="init" type="STRING" size="256"/>
  212. </ColumnInfo>
  213. </Dataset>
  214. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  215. <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  216. <Dataset id="ds_init_useyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  217. <ColumnInfo>
  218. <Column id="label" type="STRING" size="256"/>
  219. <Column id="value" type="STRING" size="256"/>
  220. </ColumnInfo>
  221. <Rows>
  222. <Row>
  223. <Col id="label">사용</Col>
  224. <Col id="value">Y</Col>
  225. </Row>
  226. <Row>
  227. <Col id="label">미사용</Col>
  228. <Col id="value">N</Col>
  229. </Row>
  230. </Rows>
  231. </Dataset>
  232. </Objects>
  233. <Bind>
  234. <BindItem id="item0" compid="ipt_docutitl" propid="value" datasetid="ds_main_cond" columnid="docutitlnm"/>
  235. <BindItem id="item1" compid="cmb_use" propid="value" datasetid="ds_main_cond" columnid="useyn"/>
  236. <BindItem id="item2" compid="ipt_docutitlnm" propid="value" datasetid="ds_main_info_AJCCspecinfo" columnid="docutitlnm"/>
  237. <BindItem id="item3" compid="ipt_attfilenm" propid="value" datasetid="ds_main_info_AJCCspecinfo" columnid="attfilenm"/>
  238. <BindItem id="item4" compid="cmb_useYN" propid="value" datasetid="ds_main_info_AJCCspecinfo" columnid="useyn"/>
  239. </Bind>
  240. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  241. * System Name :
  242. * Job Name :
  243. * File Name : SPZMS00100_단문메시지전송.xfdl
  244. * Creator :
  245. * Make Date :
  246. *
  247. * Description :
  248. *---------------------------------------------------------------------------------------
  249. ****************************************************************************************/
  250. include "com_commonxp::comm_main.xjs"
  251. include "com_basiccodexp::ZBC001.xjs"
  252. include "emr_prcpmngtxp::MMO001.xjs"
  253. function SMMMO14100_onload(obj:Form, e:LoadEventInfo) {
  254. frmf_initForm(obj);
  255. //grdf_initGrid(grd_XXX);
  256. //grdf_setGridSort(grd_XXX);
  257. //grdf_setRowTypeIcon(grd_XXX, 0_컬럼위치값);
  258. //그리드 초기화
  259. ds_main_AJCCspeclist_AJCCspeclist.clearData();
  260. ds_main_keyinfo_keylist.clearData();
  261. //조건초기화
  262. ipt_docutitl.value = '';
  263. cmb_use.index=0;
  264. //내역 초기화
  265. ipt_docutitlnm.value = '';
  266. ipt_attfilenm.value = '';
  267. cmb_useYN.index=0;
  268. //질환병기AJCC테이블에 있는 데이타 조회
  269. ds_send_reqdata.copyData(ds_main_cond);
  270. var oParam = {};
  271. oParam.id = "TRMMO14101";
  272. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  273. oParam.method = "reqGetAJCCspecList";
  274. oParam.inds = "req=ds_send_reqdata";
  275. oParam.outds = "ds_main_AJCCspeclist_AJCCspeclist=AJCCspeclist";
  276. oParam.async = false;
  277. //oParam.callback = "cf_TRMMO14101";
  278. tranf_submit(oParam);
  279. //파일삭제버튼을 누르지 않았다는 상태값
  280. ds_send_file.setColumn( 0, "status", 'N');
  281. //현재 상태값을 초기화
  282. //ds_main_info_AJCCspecinfo.setColumn( 0, "status",'u');
  283. }
  284. // function ipt_docutitl_onkeyup(obj:Edit, e:KeyEventInfo) {
  285. //
  286. // //조건을 적고 enter를 치면 바로 조회 버튼을 누르지 않고 조회
  287. // //inputEnterKey("btn_req","DOMActivate");
  288. // trace('1111');
  289. // btn_req_onclick();
  290. //
  291. //
  292. // }
  293. function cmb_use_onitemchanged(obj:Combo, e:ItemChangeEventInfo) {
  294. //값이 변경되면 바로 조회
  295. //btn_req.dispatch("DOMActivate");
  296. btn_req_onclick();
  297. }
  298. function btn_req_onclick(obj:Button, e:ClickEventInfo) {
  299. //질환병기AJCC테이블에 있는 데이타 조회
  300. ds_send_reqdata.copyData(ds_main_cond);
  301. var oParam = {};
  302. oParam.id = "TRMMO14101";
  303. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  304. oParam.method = "reqGetAJCCspecList";
  305. oParam.inds = "req=ds_send_reqdata";
  306. oParam.outds = "ds_main_AJCCspeclist_AJCCspeclist=AJCCspeclist";
  307. oParam.async = false;
  308. //oParam.callback = "cf_TRMMO14101";
  309. tranf_submit(oParam);
  310. //정보화면 초기화
  311. //내역 초기화
  312. ipt_docutitlnm.value = '';
  313. ipt_attfilenm.value = '';
  314. cmb_useYN.index=0;
  315. ipt_attfilenm.disabled = 'true';
  316. ipt_docutitlnm.disabled = 'true';
  317. cmb_useYN.disabled = 'true';
  318. }
  319. function btn_save_onclick(obj:Button, e:ClickEventInfo) {
  320. //파일을 삭제 여부를 확인
  321. var status = ds_send_file.getColumn(0, "status");
  322. if(status == 'Y'){
  323. //파일을 삭제할 것인 지 확인 하여 하는 경우 만 삭제
  324. //선택된 로우
  325. var row = ds_main_AJCCspeclist_AJCCspeclist.rowposition;
  326. //선택된 로우의 파일명
  327. var name = ds_main_AJCCspeclist_AJCCspeclist.getColumn(row, "attfilenm");
  328. //파일을 삭제할 것인지 확인 메세지를 띄워줌
  329. var delfile = sysf_messageBox(name + " 파일 삭제를" , "Q001");
  330. if(delfile == '6'){
  331. //등록된 파일을 삭제하기 위해 상태값을 삭제로 만든다.
  332. ds_main_info_AJCCspecinfo.setColumn( 0, "status",'d');
  333. //파일 삭제
  334. //조건을 data를 가지고 등록된 파일을 삭제하러 간다.
  335. ds_send_savedata.copyData(ds_main_info_AJCCspecinfo);
  336. var oParam = {};
  337. oParam.id = "TXMMO14103";
  338. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  339. oParam.method = "reqExeDelAJCCFileList";
  340. oParam.inds = "req=ds_send_savedata";
  341. oParam.outds = "ds_main_AJCCspeclist_AJCCspeclist=AJCCspeclist";
  342. oParam.async = false;
  343. //oParam.callback = "cf_TXMMO14103";
  344. tranf_submit(oParam);
  345. //기존 상태값으로 변경한다.
  346. ds_main_info_AJCCspecinfo.setColumn( 0, "status",'u');
  347. }else if(delfile == '7'){
  348. }
  349. //첨부파일이 있는지 확인
  350. var filenm = ds_main_info_AJCCspecinfo.getColumn(0, "attfilenm");
  351. //파일이 없는경우 메세지
  352. if(filenm == ''){
  353. sysf_messageBox("파일이 첨부 되지 " , "E007");
  354. }else{
  355. //테이블에 저장
  356. ds_send_savedata.copyData(ds_main_info_AJCCspecinfo);
  357. var oParam = {};
  358. oParam.id = "TXMMO14101";
  359. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  360. oParam.method = "reqExeSaveAJCCspecList";
  361. oParam.inds = "req=ds_send_savedata";
  362. oParam.outds = "ds_main_AJCCspeclist_AJCCspeclist=AJCCspeclist ds_main_keyinfo_keylist=keylist";
  363. oParam.async = false;
  364. //oParam.callback = "cf_TXMMO14101";
  365. tranf_submit(oParam);
  366. var status = ds_main_info_AJCCspecinfo.getColumn(0, "status");
  367. if(status == 'i'){
  368. //등록을 하고 거기에서 받아온 키값들을 저장해 둔다.
  369. var getDD = ds_main_keyinfo_keylist.getColumn(0, "genrdd");
  370. var getNO = ds_main_keyinfo_keylist.getColumn(0, "genrno");
  371. ds_main_info_AJCCspecinfo.setColumn( 0, "genrdd", getDD);
  372. ds_main_info_AJCCspecinfo.setColumn( 0, "genrno", getNO);
  373. }
  374. //**********첨부파일을 BLOB 형태로 DB에 올림
  375. //선택한 파일의 첨부파일을 선택하기 위해 키를 가지고 간다.
  376. var getno = ds_main_info_AJCCspecinfo.getColumn(0, "genrno");
  377. var getdd = ds_main_info_AJCCspecinfo.getColumn(0, "genrdd");
  378. var useyn = ds_main_info_AJCCspecinfo.getColumn(0, "useyn");
  379. ds_send_file.setColumn( 0, "genrno", getno);
  380. ds_send_file.setColumn( 0, "genrdd", getdd);
  381. ds_send_file.setColumn( 0, "useyn", useyn);
  382. var oParam = {};
  383. oParam.id = "TXMMO14102";
  384. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  385. oParam.method = "reqExeSaveAJCCFileList";
  386. oParam.inds = "req=ds_send_file";
  387. oParam.outds = "ds_main_AJCCspeclist_AJCCspeclist=AJCCspeclist";
  388. oParam.async = false;
  389. //oParam.callback = "cf_TXMMO14102";
  390. tranf_submit(oParam);
  391. }
  392. ds_send_file.setColumn( 0, "status",'N');
  393. }else{
  394. //첨부파일이 있는지 확인
  395. var filenm = ds_main_info_AJCCspecinfo.getColumn(0, "attfilenm");
  396. //파일이 첨부되지 않은 경우 메세지
  397. if(utlf_isNull(filenm)){
  398. sysf_messageBox("파일이 첨부 되지 " , "E007");
  399. }else{
  400. //테이블에 저장
  401. ds_main_keyinfo_keylist.clearData();
  402. ds_main_keyinfo_keylist.addRow();
  403. ds_send_savedata.copyData(ds_main_info_AJCCspecinfo);
  404. var oParam = {};
  405. oParam.id = "TXMMO14101";
  406. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  407. oParam.method = "reqExeSaveAJCCspecList";
  408. oParam.inds = "req=ds_send_savedata";
  409. oParam.outds = "ds_main_AJCCspeclist_AJCCspeclist=AJCCspeclist ds_main_keyinfo_keylist=keylist";
  410. oParam.async = false;
  411. //oParam.callback = "cf_TXMMO14101";
  412. tranf_submit(oParam);
  413. //그리드의 총개수를 알아내서 마지막으로 추가된 로우의 키값을 알아냄
  414. var rows = grd_AJCClist.rows - grd_AJCClist.fixedRows;
  415. var status = ds_main_info_AJCCspecinfo.getColumn(0, "status");
  416. if(status == 'i'){
  417. //등록을 하고 거기에서 받아온 키값들을 저장해 둔다.
  418. var getDD = ds_main_keyinfo_keylist.getColumn(0, "genrdd");
  419. var getNO = ds_main_keyinfo_keylist.getColumn(0, "genrno");
  420. ds_main_info_AJCCspecinfo.setColumn( 0, "genrdd", getDD);
  421. ds_main_info_AJCCspecinfo.setColumn( 0, "genrno", getNO);
  422. }
  423. //**********첨부파일을 BLOB 형태로 DB에 올림
  424. //선택한 파일의 첨부파일을 선택하기 위해 키를 가지고 간다.
  425. var getno = ds_main_info_AJCCspecinfo.getColumn(0, "genrno");
  426. var getdd = ds_main_info_AJCCspecinfo.getColumn(0, "genrdd");
  427. var useyn = ds_main_info_AJCCspecinfo.getColumn(0, "useyn");
  428. ds_send_file.setColumn( 0, "genrno", getno);
  429. ds_send_file.setColumn( 0, "genrdd", getdd);
  430. ds_send_file.setColumn( 0, "useyn", useyn);
  431. var oParam = {};
  432. oParam.id = "TXMMO14102";
  433. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  434. oParam.method = "reqExeSaveAJCCFileList";
  435. oParam.inds = "req=ds_send_file";
  436. oParam.outds = "ds_main_AJCCspeclist_AJCCspeclist=AJCCspeclist";
  437. oParam.async = false;
  438. //oParam.callback = "cf_TXMMO14102";
  439. tranf_submit(oParam);
  440. }
  441. ds_send_file.setColumn( 0, "status",'N');
  442. }
  443. }
  444. function btn_delete_onclick(obj:Button, e:ClickEventInfo) {
  445. //상태를 삭제상태로 변경
  446. ds_main_info_AJCCspecinfo.setColumn( 0, "status",'d');
  447. //파일을 삭제하러 간다
  448. ds_send_savedata.copyData(ds_main_info_AJCCspecinfo);
  449. // submit("TXMMO14101");
  450. var oParam = {};
  451. oParam.id = "TXMMO14101";
  452. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  453. oParam.method = "reqExeSaveAJCCspecList";
  454. oParam.inds = "req=ds_send_savedata";
  455. oParam.outds = "ds_main_AJCCspeclist_AJCCspeclist=AJCCspeclist ds_main_keyinfo_keylist=keylist";
  456. oParam.async = false;
  457. //oParam.callback = "cf_TXMMO14101";
  458. tranf_submit(oParam);
  459. //내역 초기화
  460. ipt_docutitlnm.value = '';
  461. ipt_attfilenm.value = '';
  462. cmb_useYN.index=0;
  463. //입력불가상태를 입력가능하게 변경해줌
  464. ipt_docutitlnm.disabled = 'true';
  465. ipt_attfilenm.disabled = 'true';
  466. cmb_useYN.disabled = 'true';
  467. //상태를 신규등록 상태로 만들어준다
  468. //ds_main_info_AJCCspecinfo.setColumn( 0, "status",'');
  469. }
  470. function btn_reset_onclick(obj:Button, e:ClickEventInfo) {
  471. //내역 초기화
  472. ipt_docutitlnm.value = '';
  473. ipt_attfilenm.value = '';
  474. cmb_useYN.index=0;
  475. //입력불가상태를 입력가능하게 변경해줌
  476. ipt_docutitlnm.disabled = 'false';
  477. ipt_attfilenm.disabled = 'true';
  478. cmb_useYN.disabled = 'false';
  479. //상태를 신규등록 상태로 만들어준다
  480. ds_main_info_AJCCspecinfo.setColumn( 0, "status",'i');
  481. ds_main_info_AJCCspecinfo.setColumn( 0, "genrdd",'');
  482. ds_main_info_AJCCspecinfo.setColumn( 0, "genrno",'');
  483. ds_main_keyinfo_keylist.clearData();
  484. }
  485. function button2_onclick(obj:Button, e:ClickEventInfo) {
  486. //파일 사이즈를 받아옴
  487. var maxsize = 10485760;
  488. //현재 저장할 파일 명을 받아옴
  489. var name = ds_main_info_AJCCspecinfo.getColumn(0, "attfilenm");
  490. //파일 명이 존재하면 저장된 파일이 있는 것이므로 먼저 파일을 삭제하라는 메세지를 띄워줌
  491. if(!utlf_isNull(name) || name == '-') {
  492. var fileupdata = sysf_messageBox(name + " 파일 삭제 후 " , "C002");
  493. }else{
  494. //파일을 받아오기 위해 파일열기 팝업창을 띄운다.
  495. var fd = new FileDialog;
  496. var vFile = fd.open("FileOpen", FileDialog.LOAD);
  497. if(utlf_isNull(vFile)) return;
  498. vFile.open(VirtualFile.openRead | VirtualFile.openBinary);
  499. vFile.seek(0,VirtualFile.seekBegin);
  500. var bData = new Buffer(vFile.read(vFile.getFileSize()));
  501. ds_main_info_AJCCspecinfo.setColumn( 0, "attfilenm", vFile.filename);
  502. ds_main_info_AJCCspecinfo.setColumn( 0, "status", "i");
  503. var name = ds_main_info_AJCCspecinfo.getColumn(0, "attfilenm");
  504. var filename = name.lastIndexOf("\\");
  505. dsf_makeValue(ds_send_file, "filenm", "String", vFile.filename);
  506. dsf_makeValue(ds_send_file, "filesize", "String", vFile.getFileSize());
  507. dsf_makeValue(ds_send_file, "filetype", "String", vFile.filetype);
  508. dsf_makeValue(ds_send_file, "filedata", "String", bData);
  509. if (!checkFileSize(vFile.getFileSize()))
  510. {
  511. ipt_attfilenm.value = "";
  512. sysf_messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  513. ds_send_file.clearData();
  514. ds_send_file.addRow();
  515. }
  516. //open 파일명를 input박스에 넣는다.
  517. //ipt_attfilenm.value = fileopen.substring(filename + 1);
  518. //선택한 파일이 저장버튼을 눌렀을때 저장이 되게 하기 위해 파일 저장 인스턴스에 파일주소를 저장해 둔다.
  519. ds_send_file.setColumn( 0, "filename", name);
  520. // //파일 경로가 아닌 이름만 input박스에 넣기 위한 처리
  521. // ds_main_info_AJCCspecinfo.setColumn( 0, "attfilenm", fileopen);
  522. // var name = ds_main_info_AJCCspecinfo.getColumn(0, "attfilenm");
  523. // //lastIndexOf함수는 \\이것을 뒤어세 검색하여 나오면 앞에 것은 지운다.
  524. // var filename = name.lastIndexOf("\\");
  525. // //open 파일명를 input박스에 넣는다.
  526. // ipt_attfilenm.value = fileopen.substring(filename + 1);
  527. //
  528. // //선택한 파일이 저장버튼을 눌렀을때 저장이 되게 하기 위해 파일 저장 인스턴스에 파일주소를 저장해 둔다.
  529. // ds_send_file.setColumn( 0, "filename", name);
  530. //
  531. //
  532. // //파일 크기가 너무 큰경우 메세지를 띄운다.
  533. // if (!checkFileSize(upload1)){
  534. // ipt_attfilenm.value = "";
  535. // sysf_messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  536. // }
  537. }
  538. }
  539. function button3_onclick(obj:Button, e:ClickEventInfo) {
  540. //파일 삭제 상태값을 저장으로 넘겨줌
  541. ds_send_file.setColumn( 0, "status",'Y');
  542. //input박스에 나타난 명을 제거
  543. ipt_attfilenm.value = "";
  544. }
  545. function grd_AJCClist_oncelldblclick(obj:Grid, e:GridClickEventInfo) {
  546. //선택한 것을 더블클릭하면 내역에 표시되게 한다.
  547. var row = ds_main_AJCCspeclist_AJCCspeclist.rowposition;
  548. var docutitl = ds_main_AJCCspeclist_AJCCspeclist.getColumn(row, "docutitlnm");
  549. var attfile = ds_main_AJCCspeclist_AJCCspeclist.getColumn(row, "attfilenm");
  550. var useyn = ds_main_AJCCspeclist_AJCCspeclist.getColumn(row, "useyn");
  551. var genrdd = ds_main_AJCCspeclist_AJCCspeclist.getColumn(row, "genrdd");
  552. var genrno = ds_main_AJCCspeclist_AJCCspeclist.getColumn(row, "genrno");
  553. ds_main_info_AJCCspecinfo.setColumn( 0, "docutitlnm", docutitl);
  554. ds_main_info_AJCCspecinfo.setColumn( 0, "attfilenm", attfile);
  555. ds_main_info_AJCCspecinfo.setColumn( 0, "useyn", useyn);
  556. ds_main_info_AJCCspecinfo.setColumn( 0, "genrdd", genrdd);
  557. ds_main_info_AJCCspecinfo.setColumn( 0, "genrno", genrno);
  558. //더블클릭하는 것은 수정하는 경우이기 때문에 상태를 수정으로 만든다
  559. ds_main_info_AJCCspecinfo.setColumn( 0, "status", 'u');
  560. //입력불가상태를 입력가능하게 변경해줌
  561. ipt_docutitlnm.disabled = 'false';
  562. ipt_attfilenm.disabled = 'true';
  563. cmb_useYN.disabled = 'false';
  564. //사용구분이 사용인 문서제목이 조회되는 팝업을 띄워줌
  565. frmf_open("SPMMO13900", "SPMMO13900", "", "", "", "", "", "", "", "", "", "", "M");
  566. }
  567. function checkFileSize(fileSize)
  568. {
  569. if (fileSize <= 10485760)
  570. return true;
  571. else
  572. return false;
  573. }
  574. ]]></Script>
  575. </Form>
  576. </FDL>