SMLLF00700_검사결과코드관리.xfdl 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLLF00700" position="absolute 0 0 1256 805" titletext="검사결과코드" onload="SMLLF00700_onload">
  5. <Layouts>
  6. <Layout>
  7. <Grid id="grd_testlist" taborder="0" useinputpanel="false" position="absolute 0 97 502 805" onclick="testlist_onclick" autofittype="col" anchor="left top bottom" binddataset="ds_grid_testlist" positiontype="position" oncellclick="grd_testlist_oncellclick">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="0"/>
  12. <Column size="30"/>
  13. <Column size="100"/>
  14. <Column size="281"/>
  15. <Column size="76"/>
  16. </Columns>
  17. <Rows>
  18. <Row size="24" band="head"/>
  19. <Row size="24"/>
  20. </Rows>
  21. <Band id="head">
  22. <Cell/>
  23. <Cell col="1" text="상태"/>
  24. <Cell col="2" text="검사코드"/>
  25. <Cell col="3" text="검사명"/>
  26. <Cell col="4" text="검사구분코드"/>
  27. </Band>
  28. <Band id="body">
  29. <Cell celltype="head" expr="expr:currow+1"/>
  30. <Cell col="1" celltype="head" displaytype="image" expr="expr:getRowType(currow) == 2 ?'theme://images/ico_i.png' : (getRowType(currow) == 4 ? 'theme://images/ico_u.png' : (getRowType(currow) == 8 ? 'theme://images/ico_d.png' : 'theme://images/ico_e.png'))"/>
  31. <Cell col="2" style="align:left;" text="bind:tclscd"/>
  32. <Cell col="3" style="align:left;" text="bind:tclsnm"/>
  33. <Cell col="4" text="bind:tclskind"/>
  34. </Band>
  35. </Format>
  36. </Formats>
  37. </Grid>
  38. <Button id="btn_deleterow" taborder="1" text="행삭제" class="btn2" position="absolute 1141 74 1197 94" anchor="top right" positiontype="position" onclick="btn_deleterow_onclick"/>
  39. <Button id="btn_addrow" taborder="2" text="행추가" class="btn2" position="absolute 1200 74 1256 94" anchor="top right" positiontype="position" onclick="btn_addrow_onclick"/>
  40. <Static id="caption3" text="결과코드목록" class="tit_2" position="absolute 512 77 643 97" positiontype="position"/>
  41. <Static id="caption1" text="검사목록" class="tit_2" position="absolute 0 77 300 97" positiontype="position"/>
  42. <Button id="btn_save" taborder="10" text="저장" class="btn4" position="absolute 1200 0 1256 20" anchor="top right" positiontype="position" onclick="btn_save_onclick"/>
  43. <Static id="caption6" text="검사결과코드관리" class="tit_1" position="absolute 0 0 177 25" positiontype="position"/>
  44. <Grid id="grd_rsltcdlist" taborder="11" useinputpanel="false" position="absolute 512 97 1256 805" anchor="all" binddataset="ds_grid_rsltcdlist" positiontype="position" autoenter="select" autofittype="col">
  45. <Formats>
  46. <Format id="default">
  47. <Columns>
  48. <Column size="0"/>
  49. <Column size="30"/>
  50. <Column size="90"/>
  51. <Column size="300"/>
  52. <Column size="80"/>
  53. <Column size="80"/>
  54. <Column size="80"/>
  55. </Columns>
  56. <Rows>
  57. <Row size="24" band="head"/>
  58. <Row size="24"/>
  59. </Rows>
  60. <Band id="head">
  61. <Cell/>
  62. <Cell col="1" text="상태"/>
  63. <Cell col="2" text="결과코드" combodisplay="display" calendardisplay="display"/>
  64. <Cell col="3" text="결과내용"/>
  65. <Cell col="4" text="목록표시여부"/>
  66. <Cell col="5" text="Positive여부"/>
  67. <Cell col="6" text="표시순서"/>
  68. </Band>
  69. <Band id="body">
  70. <Cell celltype="head" expr="expr:currow+1"/>
  71. <Cell col="1" celltype="head" displaytype="image" style="align:center;" expr="expr:getRowType(currow) == 2 ?'theme://images/ico_i.png' : (getRowType(currow) == 4 ? 'theme://images/ico_u.png' : (getRowType(currow) == 8 ? 'theme://images/ico_d.png' : 'theme://images/ico_e.png'))"/>
  72. <Cell col="2" displaytype="text" edittype="expr:getRowType(currow) == 2 ? 'text' : 'none'" text="bind:rsltcd" combodisplay="display" calendardisplay="display"/>
  73. <Cell col="3" displaytype="text" edittype="text" text="bind:rsltcnts"/>
  74. <Cell col="4" displaytype="combo" edittype="combo" text="bind:listdispyn" combodataset="ds_init_listdispyn" combocodecol="cd" combodatacol="nm"/>
  75. <Cell col="5" displaytype="combo" edittype="combo" text="bind:positiveyn" combodataset="ds_init_positiveyn" combocodecol="cd" combodatacol="nm"/>
  76. <Cell col="6" displaytype="text" edittype="text" text="bind:rsntcddispseq"/>
  77. </Band>
  78. </Format>
  79. </Formats>
  80. </Grid>
  81. <Div id="grp_sea" anchor="left top right" taborder="12" style="align:center top;" position="absolute 0 25 1256 67" class="div_SA">
  82. <Layouts>
  83. <Layout width="1256" height="42">
  84. <Static id="caption2" text="검사분류" class="search_name" position="absolute 8 10 98 30" positiontype="position"/>
  85. <Combo id="cmb_selectgbn" taborder="1" class="combo_search" position="absolute 81 10 231 30" positiontype="position" codecolumn="codecolumn" datacolumn="datacolumn" index="0" value="1" text="검사분류" onitemchanged="grp_sea_cmb_selectgbn_onitemchanged">
  86. <Dataset id="innerdataset">
  87. <ColumnInfo>
  88. <Column id="codecolumn" size="256"/>
  89. <Column id="datacolumn" size="256"/>
  90. </ColumnInfo>
  91. <Rows>
  92. <Row>
  93. <Col id="codecolumn">1</Col>
  94. <Col id="datacolumn">검사분류</Col>
  95. </Row>
  96. <Row>
  97. <Col id="codecolumn">2</Col>
  98. <Col id="datacolumn">시행부서</Col>
  99. </Row>
  100. </Rows>
  101. </Dataset>
  102. </Combo>
  103. <Combo id="cmb_select01" taborder="2" class="combo_s_essential" position="absolute 234 10 384 30" positiontype="position" innerdataset="@ds_init_lb0104" codecolumn="cd" datacolumn="nm" onitemchanged="grp_sea_cmb_select01_onitemchanged"/>
  104. <Combo id="cmb_select02" taborder="3" class="combo_s_essential" position="absolute 387 10 537 30" positiontype="position" innerdataset="@ds_init_lb0102" codecolumn="cd" datacolumn="nm" onitemchanged="grp_sea_cmb_select02_onitemchanged"/>
  105. <Combo id="testlrgcd" taborder="4" visible="false" position="absolute 540 10 690 30" positiontype="position" innerdataset="@ds_init_lb0104" codecolumn="cd" datacolumn="nm"/>
  106. <Combo id="testmdlcd" taborder="5" visible="false" position="absolute 693 10 843 30" enable="false" positiontype="position" innerdataset="@ds_init_lb0102" codecolumn="cd" datacolumn="nm"/>
  107. <Button id="btn_search" taborder="6" text="조회" class="btn1" position="absolute 1116 10 1172 30" anchor="top right" positiontype="position" onclick="grp_sea_btn_search_onclick"/>
  108. <Button id="btn_reset" taborder="7" text="초기화" class="btn1" position="absolute 1175 10 1244 30" anchor="top right" positiontype="position" onclick="grp_sea_btn_reset_onclick"/>
  109. <Combo id="cmb_ruleyn" taborder="8" value="00" text="전체" codecolumn="codecolumn" datacolumn="datacolumn" index="0" onitemchanged="grp3_grp_sea_cmb_testmdlcd_onitemchanged" position="absolute 950 10 1063 30">
  110. <Dataset id="innerdataset">
  111. <ColumnInfo>
  112. <Column id="codecolumn" size="256"/>
  113. <Column id="datacolumn" size="256"/>
  114. </ColumnInfo>
  115. <Rows>
  116. <Row>
  117. <Col id="codecolumn">ALL</Col>
  118. <Col id="datacolumn">전체</Col>
  119. </Row>
  120. <Row>
  121. <Col id="codecolumn">Y</Col>
  122. <Col id="datacolumn">Y</Col>
  123. </Row>
  124. <Row>
  125. <Col id="codecolumn">N</Col>
  126. <Col id="datacolumn">N</Col>
  127. </Row>
  128. </Rows>
  129. </Dataset>
  130. </Combo>
  131. <Static id="caption00" text="결과코드 유무" class="search_name" position="absolute 851 10 943 30"/>
  132. </Layout>
  133. </Layouts>
  134. </Div>
  135. </Layout>
  136. </Layouts>
  137. <Objects>
  138. <Dataset id="ds_grid_testlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" onrowposchanged="ds_grid_testlist_onrowposchanged">
  139. <ColumnInfo>
  140. <Column id="tclscd" type="STRING"/>
  141. <Column id="tclsnm" type="STRING"/>
  142. <Column id="tclskind" type="STRING"/>
  143. </ColumnInfo>
  144. </Dataset>
  145. <Dataset id="ds_grid_rsltcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  146. <ColumnInfo>
  147. <Column id="rsltcd" type="STRING"/>
  148. <Column id="rsltcnts" type="STRING"/>
  149. <Column id="listdispyn" type="STRING"/>
  150. <Column id="positiveyn" type="STRING"/>
  151. <Column id="rsntcddispseq" type="STRING"/>
  152. <Column id="tclscd" type="STRING"/>
  153. <Column id="spccd" type="STRING"/>
  154. <Column id="instcd" type="STRING"/>
  155. <Column id="fstrgstdt" type="STRING"/>
  156. <Column id="fstrgstrid" type="STRING"/>
  157. <Column id="lastupdtdt" type="STRING"/>
  158. <Column id="lastupdtrid" type="STRING"/>
  159. </ColumnInfo>
  160. </Dataset>
  161. <Dataset id="ds_init_lb0000" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  162. <ColumnInfo>
  163. <Column id="cd" type="STRING"/>
  164. <Column id="nm" type="STRING"/>
  165. </ColumnInfo>
  166. </Dataset>
  167. <Dataset id="ds_init_lb0104" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  168. <ColumnInfo>
  169. <Column id="cd" type="STRING"/>
  170. <Column id="nm" type="STRING"/>
  171. </ColumnInfo>
  172. </Dataset>
  173. <Dataset id="ds_init_lb0102" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  174. <ColumnInfo>
  175. <Column id="cd" type="STRING"/>
  176. <Column id="nm" type="STRING"/>
  177. </ColumnInfo>
  178. </Dataset>
  179. <Dataset id="ds_init_lb0111" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  180. <ColumnInfo>
  181. <Column id="cd" type="STRING"/>
  182. <Column id="nm" type="STRING"/>
  183. </ColumnInfo>
  184. </Dataset>
  185. <Dataset id="ds_init_lb0106" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  186. <ColumnInfo>
  187. <Column id="cd" type="STRING"/>
  188. <Column id="nm" type="STRING"/>
  189. </ColumnInfo>
  190. </Dataset>
  191. <Dataset id="ds_init_listdispyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  192. <ColumnInfo>
  193. <Column id="cd" type="STRING"/>
  194. <Column id="nm" type="STRING"/>
  195. </ColumnInfo>
  196. <Rows>
  197. <Row>
  198. <Col id="cd">Y</Col>
  199. <Col id="nm">YES</Col>
  200. </Row>
  201. <Row>
  202. <Col id="cd">N</Col>
  203. <Col id="nm">NO</Col>
  204. </Row>
  205. </Rows>
  206. </Dataset>
  207. <Dataset id="ds_init_positiveyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  208. <ColumnInfo>
  209. <Column id="cd" type="STRING"/>
  210. <Column id="nm" type="STRING"/>
  211. </ColumnInfo>
  212. <Rows>
  213. <Row>
  214. <Col id="cd">Y</Col>
  215. <Col id="nm">YES(Popup)</Col>
  216. </Row>
  217. <Row>
  218. <Col id="cd">N</Col>
  219. <Col id="nm">NO</Col>
  220. </Row>
  221. <Row>
  222. <Col id="cd">G</Col>
  223. <Col id="nm">YES(Result)</Col>
  224. </Row>
  225. </Rows>
  226. </Dataset>
  227. <Dataset id="ds_print" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  228. <ColumnInfo>
  229. <Column id="able" type="STRING" size="256"/>
  230. </ColumnInfo>
  231. </Dataset>
  232. <Dataset id="ds_execute" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  233. <ColumnInfo>
  234. <Column id="able" type="STRING" size="256"/>
  235. </ColumnInfo>
  236. </Dataset>
  237. </Objects>
  238. <Bind>
  239. <BindItem id="item0" compid="btn_save" propid="enable" datasetid="ds_execute" columnid="able"/>
  240. <BindItem id="item1" compid="btn_deleterow" propid="enable" datasetid="ds_execute" columnid="able"/>
  241. <BindItem id="item2" compid="btn_addrow" propid="enable" datasetid="ds_execute" columnid="able"/>
  242. </Bind>
  243. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  244. * System Name :
  245. * Job Name :
  246. * Creator :
  247. * Make Date : 2015-11-09
  248. * Description :
  249. *---------------------------------------------------------------------------------------
  250. * Modify Date Modifier Modify Description
  251. *---------------------------------------------------------------------------------------
  252. * 2015-11-09 Live Converter TF->XP
  253. *
  254. *---------------------------------------------------------------------------------------
  255. ****************************************************************************************/
  256. include "com_commonxp::comm_main.xjs";
  257. include "lis_commonxp::LLZ001.xjs";
  258. function SMLLF00700_onload(obj:Form, e:LoadEventInfo)
  259. {
  260. frmf_initForm(obj);
  261. //초기값 셋팅
  262. lf_initDataSet();
  263. //조회구분선택 검사분류,시행부서셋팅
  264. lf_selectGbn();
  265. //그리드 Sort
  266. grdf_setGridSort(grd_testlist);
  267. grdf_setGridSort(grd_rsltcdlist);
  268. grdf_setRowTypeIcon(grd_testlist, 1);
  269. grdf_setRowTypeIcon(grd_rsltcdlist, 1);
  270. lf_menumaster();//메뉴권한
  271. }
  272. function lf_initDataSet(){
  273. //0104 대분류 0102 중분류 0111 시행부서 0106 상세시행부
  274. lf_getDbDeptcd("0000|0102|0104|0106|0111|","cbf_SMLLF00700");
  275. }
  276. //검사항목 조회
  277. function lf_getTestRstList(){
  278. ds_grid_testlist.enableevent = false;
  279. ds_grid_testlist.clearData();
  280. ds_grid_testlist.enableevent = true;
  281. var sInDsName = dsf_createDsRow("ds_temp_search"
  282. , [{col: "userdeptflagcd", val: lgv_sUserdeptflagcd}
  283. , {col: "selectgbn", val: grp_sea.cmb_selectgbn.value}
  284. , {col: "select01", val: grp_sea.cmb_select01.value}
  285. , {col: "select02", val: grp_sea.cmb_select02.value}
  286. , {col: "ruleyn" , val: grp_sea.cmb_ruleyn.value }]);
  287. ds_grid_testlist.clearData();
  288. ds_grid_rsltcdlist.clearData();
  289. var oParam = {};
  290. oParam.id = "TRLLF00701";
  291. oParam.service = "diagtestbaseinfomngtapp.GeneralTestBaseInfoMngt";
  292. oParam.method = "reqGetTestRsltList";
  293. oParam.inds = "cond="+sInDsName;
  294. oParam.outds = "ds_grid_testlist=getTestRsltList";
  295. oParam.async = false;
  296. oParam.callback = "cbf_SMLLF00700";
  297. tranf_submit(oParam);
  298. }
  299. //검사항목에 해당하는 결과코드 조회
  300. function lf_getResultList(){trace("aaaaaaaa");
  301. var sTclscd = ds_grid_testlist.getColumn(ds_grid_testlist.rowposition,"tclscd");
  302. var sInDsName = dsf_createDsRow("ds_temp_search"
  303. , [{col: "tclscd", val: sTclscd}]);
  304. ds_grid_rsltcdlist.clearData();
  305. var oParam = {};
  306. oParam.id = "TRLLF00702";
  307. oParam.service = "diagtestbaseinfomngtapp.GeneralTestBaseInfoMngt";
  308. oParam.method = "reqGetRsltList";
  309. oParam.inds = "cond="+sInDsName;
  310. oParam.outds = "ds_grid_rsltcdlist=getRsltList";
  311. oParam.async = false;
  312. oParam.callback = "cbf_SMLLF00700";
  313. tranf_submit(oParam);
  314. }
  315. // 그리드 필수값 체크
  316. function lf_ckeckNull(){
  317. if (ds_grid_rsltcdlist.rowcount > 0){
  318. var bChkValue= frmf_chkMdtGrid(grd_rsltcdlist,[2,3,4,5,6],["결과코드","결과내용","목록표시여부","Positive여부","표시순서"]);
  319. if(bChkValue==true) lf_saveResultInfo();
  320. }
  321. }
  322. //결과코드 저장
  323. function lf_saveResultInfo(){
  324. var oParam = {};
  325. oParam.id = "TXLLF00701";
  326. oParam.service = "diagtestbaseinfomngtapp.GeneralTestBaseInfoMngt";
  327. oParam.method = "reqExeRsltList";
  328. oParam.inds = "cond=ds_grid_rsltcdlist:U";
  329. oParam.async = false;
  330. oParam.callback = "cbf_SMLLF00700";
  331. tranf_submit(oParam);
  332. }
  333. //콜백함수
  334. function cbf_SMLLF00700(strSvcID, nErrorCode, strErrorMag){
  335. if(nErrorCode != 0) sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  336. if(strSvcID == "TXLLF00701" && nErrorCode==0){
  337. lf_getResultList();
  338. sysf_messageBox("","I001","");
  339. }
  340. }
  341. //조회구분선택 검사분류,시행부서
  342. function lf_selectGbn(){
  343. if(grp_sea.cmb_selectgbn.value=="1"){
  344. grp_sea.cmb_select01.innerdataset="ds_init_lb0104";
  345. grp_sea.cmb_select02.innerdataset="ds_init_lb0102";
  346. } else {
  347. grp_sea.cmb_select01.innerdataset="ds_init_lb0111";
  348. grp_sea.cmb_select02.innerdataset="ds_init_lb0106";
  349. }
  350. grp_sea.cmb_select01.codecolumn="cd";
  351. grp_sea.cmb_select01.datacolumn="nm";
  352. grp_sea.cmb_select02.codecolumn="cd";
  353. grp_sea.cmb_select02.datacolumn="nm";
  354. grp_sea.cmb_select01.index=0;
  355. grp_sea.cmb_select02.index=0;
  356. }
  357. //검사분류,시행부서 선택 시 세부 값 변경
  358. function lf_selectDetail(){
  359. var sSel01 = grp_sea.cmb_select01.value;
  360. var sFilter = "cd =='00' || etc01 =='" + sSel01 + "'";
  361. if(grp_sea.cmb_selectgbn.value=="1"){
  362. grp_sea.cmb_select02.innerdataset="ds_init_lb0102";
  363. if (sSel01 != "00" ) ds_init_lb0102.filter(sFilter);
  364. } else {
  365. grp_sea.cmb_select02.innerdataset="ds_init_lb0106";
  366. if (sSel01 != "00" ) ds_init_lb0106.filter(sFilter);
  367. }
  368. grp_sea.cmb_select02.codecolumn="cd";
  369. grp_sea.cmb_select02.datacolumn="nm";
  370. grp_sea.cmb_select02.index=0;
  371. }
  372. //진검 사용자별 메뉴권한
  373. function lf_menumaster(){
  374. var edit = frmf_checkAuth("X");
  375. var print = frmf_checkAuth("P");
  376. var eRow = ds_execute.addRow();
  377. var pRow = ds_print.addRow();
  378. if(edit == true){
  379. ds_execute.setColumn(eRow,"able",true);
  380. }
  381. if(print == true){
  382. ds_print.setColumn(pRow,"able",true);
  383. }
  384. }
  385. function grp_sea_cmb_selectgbn_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  386. {
  387. lf_selectGbn();
  388. }
  389. function grp_sea_cmb_select01_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  390. {
  391. lf_selectDetail();
  392. }
  393. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  394. {
  395. lf_getTestRstList();
  396. }
  397. function grp_sea_cmb_select02_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  398. {
  399. lf_getTestRstList();
  400. }
  401. function grd_testlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  402. {
  403. lf_getResultList();
  404. }
  405. function grp_sea_btn_reset_onclick(obj:Button, e:ClickEventInfo)
  406. {
  407. grp_sea.cmb_selectgbn.index=0;
  408. grp_sea.cmb_select01.index=0;
  409. grp_sea.cmb_select02.index=0;
  410. ds_grid_testlist.clearData();
  411. ds_grid_rsltcdlist.clearData();
  412. }
  413. function btn_addrow_onclick(obj:Button, e:ClickEventInfo)
  414. {
  415. if(ds_grid_testlist.rowposition < 0){
  416. sysf_messageBox("검사항목을 먼저 선택해 주세요.","I", "");
  417. return;
  418. }
  419. var nRow = ds_grid_rsltcdlist.addRow();
  420. ds_grid_rsltcdlist.setColumn(nRow,"tclscd",ds_grid_testlist.getColumn(ds_grid_testlist.rowposition,"tclscd"));
  421. ds_grid_rsltcdlist.setColumn(nRow,"rsntcddispseq",ds_grid_rsltcdlist.rowcount);
  422. }
  423. function btn_deleterow_onclick(obj:Button, e:ClickEventInfo)
  424. {
  425. var arrPostion = new Array();
  426. arrPostion[0] = ds_grid_rsltcdlist.rowposition;
  427. if(ds_grid_rsltcdlist.getRowType(arrPostion)==Dataset.ROWTYPE_INSERT){
  428. ds_grid_rsltcdlist.deleteRow(arrPostion);
  429. } else {
  430. grdf_setStatus(grd_rsltcdlist, "D", arrPostion);
  431. }
  432. }
  433. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  434. {
  435. for(var i=0; i<ds_grid_rsltcdlist.rowcount; i++) {
  436. if( utlf_isNull(ds_grid_rsltcdlist.getColumn(i, "rsltcd")) ) {
  437. sysf_messageBox("추가하지 않은 결과코드 데이터가 존재합니다.","I","");
  438. ds_grid_rsltcdlist.rowposition = i;
  439. grd_rsltcdlist.setCellPos(2);
  440. grd_rsltcdlist.showEditor(true);
  441. return;
  442. }
  443. for(var j=i+1; j<ds_grid_rsltcdlist.rowcount; j++){
  444. if( ds_grid_rsltcdlist.getColumn(i, "rsltcd") == ds_grid_rsltcdlist.getColumn(j, "rsltcd")){
  445. sysf_messageBox("결과코드 데이터가 중복됩니다.","I","");
  446. return;
  447. }
  448. }
  449. }
  450. var retVal = lf_dupKeyCheckAll(new Array("rsltcd"), ds_grid_rsltcdlist);
  451. if (retVal > -1)
  452. {
  453. sysf_messageBox("결과코드 데이터가 중복됩니다.","I","");
  454. ds_grid_rsltcdlist.selectRow(retVal);
  455. return;
  456. }
  457. lf_ckeckNull();
  458. }
  459. function lf_dupKeyCheckAll(keyArr, dsParam:Dataset)
  460. {
  461. if (keyArr.length == 0) return false;
  462. for(var i=0;i<dsParam.getRowCount();i++)
  463. {
  464. if(!(dsParam.getRowType(i) == Dataset.ROWTYPE_INSERT || dsParam.getRowType(i) == Dataset.ROWTYPE_UPDATE))
  465. {
  466. //수정된 데이터하고만 비교 (속도문제)
  467. continue;
  468. }
  469. var keyValue = "";
  470. for(var colcnt=0; colcnt < keyArr.length; colcnt++)
  471. {
  472. if (colcnt == 0)
  473. {
  474. keyValue = keyArr[colcnt] +"=='"+ dsParam.getColumn(i, keyArr[colcnt]) +"'";
  475. }
  476. else
  477. {
  478. keyValue += " && "+ keyArr[colcnt] +"=='"+ dsParam.getColumn(i, keyArr[colcnt]) +"'";
  479. }
  480. }
  481. var keycheck = dsParam.findRowExpr(keyValue);
  482. if (keycheck == i)
  483. {
  484. keycheck = dsParam.findRowExpr(keyValue, i+1);
  485. }
  486. if (keycheck > -1)
  487. {
  488. return i;
  489. }
  490. }
  491. return -1;
  492. }
  493. function ds_grid_testlist_onrowposchanged(obj:Dataset, e:DSRowPosChangeEventInfo)
  494. {
  495. if(e.newrow > -1){
  496. lf_getResultList();
  497. }
  498. }
  499. ]]></Script>
  500. </Form>
  501. </FDL>