SMLQF00300_QC검사코드관리.xfdl 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLQF00300" position="absolute 0 0 1198 753" titletext="QC검사코드관리" oninit="SMLQF00300_oninit" onload="SMLQF00300_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 26 1197 750" id="group3" scrollbars="autoboth" anchor="all">
  8. <Layouts>
  9. <Layout width="1195" height="744">
  10. <Grid position="absolute 0 69 888 716" id="grd_testList" class="datagrid2" binddataset="ds_grd_testList" anchor="all" onkeyup="group3_grd_testList_onkeyup" autofittype="col">
  11. <Formats>
  12. <Format id="default">
  13. <Columns>
  14. <Column size="0"/>
  15. <Column size="20"/>
  16. <Column size="0"/>
  17. <Column size="60"/>
  18. <Column size="130"/>
  19. <Column size="30"/>
  20. <Column size="114"/>
  21. <Column size="30"/>
  22. <Column size="120"/>
  23. <Column size="30"/>
  24. <Column size="111"/>
  25. <Column size="30"/>
  26. <Column size="70"/>
  27. <Column size="30"/>
  28. <Column size="70"/>
  29. </Columns>
  30. <Rows>
  31. <Row size="29" band="head"/>
  32. <Row size="24"/>
  33. </Rows>
  34. <Band id="head">
  35. <Cell/>
  36. <Cell col="1"/>
  37. <Cell col="2" displaytype="checkbox" edittype="checkbox"/>
  38. <Cell col="3" text="검사코드"/>
  39. <Cell col="4" text="검사명"/>
  40. <Cell col="5" text="항목&#13;&#10;코드"/>
  41. <Cell col="6" text="OnCall항목"/>
  42. <Cell col="7" text="방법&#13;&#10;코드"/>
  43. <Cell col="8" text="OnCall방법"/>
  44. <Cell col="9" text="시약&#13;&#10;코드"/>
  45. <Cell col="10" text="OnCall시약"/>
  46. <Cell col="11" text="온도&#13;&#10;코드"/>
  47. <Cell col="12" text="OnCall온도"/>
  48. <Cell col="13" text="단위&#13;&#10;코드"/>
  49. <Cell col="14" text="OnCall단위"/>
  50. </Band>
  51. <Band id="body">
  52. <Cell displaytype="checkbox" edittype="checkbox" text="bind:chk"/>
  53. <Cell col="1" celltype="body" displaytype="normal" edittype="none"/>
  54. <Cell col="2" displaytype="checkbox" edittype="checkbox" text="bind:chk"/>
  55. <Cell col="3" style="align:left middle;" text="bind:testcd"/>
  56. <Cell col="4" style="align:left middle;" text="bind:testnm"/>
  57. <Cell col="5" displaytype="text" edittype="text" text="bind:ocitemcd"/>
  58. <Cell col="6" style="align:left middle;" text="bind:ocitemnm"/>
  59. <Cell col="7" displaytype="text" edittype="text" text="bind:ocmthdcd"/>
  60. <Cell col="8" style="align:left middle;" text="bind:ocmthdnm"/>
  61. <Cell col="9" displaytype="text" edittype="text" text="bind:ocreagentcd"/>
  62. <Cell col="10" style="align:left middle;" text="bind:ocreagentnm"/>
  63. <Cell col="11" displaytype="text" edittype="text" text="bind:octmprcd"/>
  64. <Cell col="12" style="align:left middle;" text="bind:octmprnm"/>
  65. <Cell col="13" displaytype="text" edittype="text" text="bind:ocunitcd"/>
  66. <Cell col="14" style="align:left middle;" text="bind:ocunitnm"/>
  67. </Band>
  68. </Format>
  69. </Formats>
  70. </Grid>
  71. <Static text="검사코드상세내역" position="absolute 0 50 173 66" id="caption2" class="tit_2" anchor="default"/>
  72. <Button position="absolute 781 48 834 67" id="btn_add" class="btn2" visible="true" enable="false" text="행추가" anchor="top right" onclick="group3_btn_add_onclick"/>
  73. <Div position="absolute 0 0 1197 35" id="group1" anchor="left top right" class="div_SA">
  74. <Layouts>
  75. <Layout>
  76. <Shape position="absolute 447 5 453 27" linetype="vertical" id="line3" class="line_4" anchor="left"/>
  77. <Button position="absolute 1131 7 1187 29" id="button1" class="btn1" text="검색" anchor="right" onclick="group3_group1_button1_onclick"/>
  78. <Static text="검색구분 :" position="absolute 455 9 545 26" id="caption1" class="search_name" anchor="left"/>
  79. <Combo position="absolute 548 8 665 27" id="cbo_searchFlag" class="combo_search" codecolumn="codecolumn" datacolumn="datacolumn" anchor="left">
  80. <Dataset id="innerdataset">
  81. <ColumnInfo>
  82. <Column id="codecolumn"/>
  83. <Column id="datacolumn"/>
  84. </ColumnInfo>
  85. <Rows>
  86. <Row>
  87. <Col id="codecolumn">1</Col>
  88. <Col id="datacolumn">검사코드</Col>
  89. </Row>
  90. <Row>
  91. <Col id="codecolumn">2</Col>
  92. <Col id="datacolumn">검사명</Col>
  93. </Row>
  94. </Rows>
  95. </Dataset>
  96. </Combo>
  97. <Edit position="absolute 670 8 780 27" id="ipt_search" class="input_s_button" anchor="left" onkeydown="group3_group1_ipt_search_onkeydown"/>
  98. <Static text="조회구분 :" position="absolute 20 9 107 26" id="caption25" class="search_name" anchor="left"/>
  99. <Combo position="absolute 210 9 320 28" id="cmb_testLrgCd" class="combo_s_essential" innerdataset="ds_init_cmb_lrg" datacolumn="nm" codecolumn="cd" anchor="left" onitemchanged="group3_group1_cmb_testLrgCd_onitemchanged"/>
  100. <Combo position="absolute 325 9 440 28" id="cmb_testMdlCd" class="combo_s_essential" innerdataset="@ds_init_cmb_mdl" datacolumn="nm" codecolumn="cd" anchor="left" onitemchanged="group3_group1_cmb_testMdlCd_onitemchanged"/>
  101. <Radio position="absolute 800 10 890 26" id="rdo_refFlag" visible="false" columncount="2" codecolumn="codecolumn" datacolumn="datacolumn" anchor="left">
  102. <Dataset id="innerdataset">
  103. <ColumnInfo>
  104. <Column id="codecolumn"/>
  105. <Column id="datacolumn"/>
  106. </ColumnInfo>
  107. <Rows>
  108. <Row>
  109. <Col id="codecolumn">1</Col>
  110. <Col id="datacolumn">QC</Col>
  111. </Row>
  112. <Row>
  113. <Col id="codecolumn">2</Col>
  114. <Col id="datacolumn">코드</Col>
  115. </Row>
  116. </Rows>
  117. </Dataset>
  118. </Radio>
  119. <Shape position="absolute 1121 5 1127 27" linetype="vertical" id="line2" class="line_4" anchor="right"/>
  120. <Combo position="absolute 115 9 205 28" id="cmb_selectgbn" class="combo_search" visible="true" codecolumn="codecolumn" datacolumn="datacolumn" anchor="left" onitemchanged="group3_group1_cmb_selectgbn_onitemchanged">
  121. <Dataset id="innerdataset">
  122. <ColumnInfo>
  123. <Column id="codecolumn"/>
  124. <Column id="datacolumn"/>
  125. </ColumnInfo>
  126. <Rows>
  127. <Row>
  128. <Col id="codecolumn">1</Col>
  129. <Col id="datacolumn">검사분류</Col>
  130. </Row>
  131. <Row>
  132. <Col id="codecolumn">2</Col>
  133. <Col id="datacolumn">시행부서</Col>
  134. </Row>
  135. </Rows>
  136. </Dataset>
  137. </Combo>
  138. </Layout>
  139. </Layouts>
  140. </Div>
  141. <Button position="absolute 896 395 922 414" id="btn_up" class="icon_left" text="" anchor="top right" onclick="group3_btn_up_onclick"/>
  142. <Static text="검사항목코드목록" position="absolute 929 49 1102 65" id="caption3" class="tit_2" anchor="top right"/>
  143. <Grid position="absolute 929 69 1197 716" id="grd_tclsList" class="datagrid2" binddataset="ds_grd_tclsList" anchor="top right bottom" oncelldblclick="group3_grd_tclsList_oncelldblclick" oncellclick="group3_grd_tclsList_oncellclick">
  144. <Formats>
  145. <Format id="default">
  146. <Columns>
  147. <Column size="20"/>
  148. <Column size="65"/>
  149. <Column size="166"/>
  150. </Columns>
  151. <Rows>
  152. <Row size="24" band="head"/>
  153. <Row size="24"/>
  154. </Rows>
  155. <Band id="head">
  156. <Cell displaytype="checkbox" edittype="checkbox"/>
  157. <Cell col="1" text="검사코드"/>
  158. <Cell col="2" text="검사명"/>
  159. </Band>
  160. <Band id="body">
  161. <Cell displaytype="checkbox" edittype="checkbox" text="bind:chk"/>
  162. <Cell col="1" text="bind:tclscd"/>
  163. <Cell col="2" style="align:left middle;" text="bind:tclsnm"/>
  164. </Band>
  165. </Format>
  166. </Formats>
  167. </Grid>
  168. <Button position="absolute 836 48 889 67" id="btn_del" class="btn2" visible="true" text="행삭제" anchor="top right" onclick="group3_btn_del_onclick"/>
  169. </Layout>
  170. </Layouts>
  171. </Div>
  172. <Button id="btn_exec" taborder="1" text="저장" class="btn4" position="absolute 1071 3 1127 25" anchor="top right" onclick="btn_exec_onclick"/>
  173. <Button id="button5" taborder="2" text="초기화" class="btn4" position="absolute 1130 3 1198 25" anchor="top right" onclick="button5_onclick"/>
  174. <Static id="caption6" text="QC검사코드관리" class="tit_1" position="absolute 0 0 138 26"/>
  175. </Layout>
  176. </Layouts>
  177. <Objects>
  178. <Dataset id="ds_grd_testList" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  179. <ColumnInfo>
  180. <Column id="chk" type="STRING"/>
  181. <Column id="testcd" type="STRING" size="256" sumtext="검사코드"/>
  182. <Column id="testnm" type="STRING" size="256" sumtext="검사명"/>
  183. <Column id="ocitemcd" type="STRING" size="256" sumtext="OnCall항목"/>
  184. <Column id="ocmthdcd" type="STRING" size="256" sumtext="OnCall방법"/>
  185. <Column id="ocreagentcd" type="STRING" size="256" sumtext="시약"/>
  186. <Column id="octmprcd" type="STRING" size="256" sumtext="OnCall온도"/>
  187. <Column id="ocunitcd" type="STRING" size="256" sumtext="OnCall단위"/>
  188. <Column id="ocitemnm" type="STRING" size="256" sumtext="OnCall항목"/>
  189. <Column id="ocmthdnm" type="STRING" size="256" sumtext="OnCall방법"/>
  190. <Column id="ocreagentnm" type="STRING" size="256" sumtext="시약"/>
  191. <Column id="octmprnm" type="STRING" size="256" sumtext="OnCall온도"/>
  192. <Column id="ocunitnm" type="STRING" size="256" sumtext="OnCall단위"/>
  193. <Column id="status" type="STRING" size="256"/>
  194. </ColumnInfo>
  195. </Dataset>
  196. <Dataset id="ds_init_cmb_lrg" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  197. <ColumnInfo>
  198. <Column id="nm" type="STRING"/>
  199. <Column id="cd" type="STRING"/>
  200. </ColumnInfo>
  201. </Dataset>
  202. <Dataset id="ds_init_cmb_mdl" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  203. <ColumnInfo>
  204. <Column id="nm" type="STRING"/>
  205. <Column id="cd" type="STRING"/>
  206. </ColumnInfo>
  207. </Dataset>
  208. <Dataset id="ds_grd_tclsList" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  209. <ColumnInfo>
  210. <Column id="chk" type="STRING" size="256" sumtext="chk"/>
  211. <Column id="tclscd" type="STRING" size="256" sumtext="검사코드"/>
  212. <Column id="spccd" type="STRING" size="256" sumtext="검체코드"/>
  213. <Column id="tclsnm" type="STRING" size="256" sumtext="검사명"/>
  214. <Column id="tclskind" type="STRING" size="256" sumtext="검사구분"/>
  215. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  216. </ColumnInfo>
  217. </Dataset>
  218. <Dataset id="ds_init_lb0102" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  219. <ColumnInfo>
  220. <Column id="cd" type="STRING" size="256"/>
  221. <Column id="nm" type="STRING" size="256"/>
  222. </ColumnInfo>
  223. </Dataset>
  224. <Dataset id="ds_init_lb0104" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  225. <ColumnInfo>
  226. <Column id="cd" type="STRING" size="256"/>
  227. <Column id="nm" type="STRING" size="256"/>
  228. </ColumnInfo>
  229. </Dataset>
  230. <Dataset id="ds_init_lb0000" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  231. <ColumnInfo>
  232. <Column id="cd" type="STRING" size="256"/>
  233. <Column id="nm" type="STRING" size="256"/>
  234. </ColumnInfo>
  235. </Dataset>
  236. <Dataset id="ds_init_lb0111" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  237. <ColumnInfo>
  238. <Column id="cd" type="STRING" size="256"/>
  239. <Column id="nm" type="STRING" size="256"/>
  240. </ColumnInfo>
  241. </Dataset>
  242. <Dataset id="ds_init_lb0106" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  243. <ColumnInfo>
  244. <Column id="cd" type="STRING" size="256"/>
  245. <Column id="nm" type="STRING" size="256"/>
  246. </ColumnInfo>
  247. </Dataset>
  248. <Dataset id="ds_send_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  249. <Dataset id="ds_hidden_infonm" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  250. </Objects>
  251. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  252. * System Name :
  253. * Job Name :
  254. * Creator :
  255. * Make Date : 2015-11-13
  256. * Description :
  257. *---------------------------------------------------------------------------------------
  258. * Modify Date Modifier Modify Description
  259. *---------------------------------------------------------------------------------------
  260. * 2015-11-13 Live Converter TF->XP
  261. *
  262. *---------------------------------------------------------------------------------------
  263. ****************************************************************************************/
  264. include "com_commonxp::comm_main.xjs";
  265. function SMLQF00300_oninit(obj:Form, e:InitEventInfo)
  266. {
  267. frmf_initForm(obj);
  268. }
  269. function SMLQF00300_onload(obj:Form, e:LoadEventInfo)
  270. {
  271. lf_setInit();
  272. }
  273. function lf_setInit(){
  274. grdf_initGrid(group3.grd_tclsList);
  275. grdf_initGrid(group3.grd_testList);
  276. grdf_setRowTypeIcon(group3.grd_testList, 1);
  277. ds_grd_testList.clearData();
  278. ds_grd_tclsList.clearData();
  279. dsf_createDsRow("ds_temp_search"
  280. , [{col: "codeflag", val: "0102|0104|0000|0111|0106|"}]);
  281. var oParam = {};
  282. oParam.id = "TRLZZ00101";
  283. oParam.service = "diagtestapplib.DiagTestBaseInfoMngt";
  284. oParam.method = "reqGetInitCodeInfo";
  285. oParam.inds = "cond=ds_temp_search";
  286. oParam.outds = "ds_init_lb0102=0102 ds_init_lb0104=0104 ds_init_lb0000=0000 ds_init_lb0111=0111 ds_init_lb0106=0106";
  287. oParam.async = false;
  288. tranf_submit(oParam);
  289. group3.group1.cmb_selectgbn.value = "1";
  290. group3.group1.cbo_searchFlag.value = "1";
  291. lf_selectGbn();
  292. }
  293. function lf_selectGbn(){
  294. //검사분류 선택
  295. if(group3.group1.cmb_selectgbn.value == "1"){
  296. //첫번째 콤보에 대분류 셋팅
  297. ds_init_cmb_lrg.copyData(ds_init_lb0104);
  298. //두번째 콤보에 중분류 셋팅
  299. ds_init_cmb_mdl.copyData(ds_init_lb0102);
  300. } else if(group3.group1.cmb_selectgbn.value == "2"){
  301. //첫번째 콤보에 계코드 셋팅
  302. ds_init_cmb_lrg.copyData(ds_init_lb0111);
  303. //두번째 콤보에 검사계코드 셋팅
  304. ds_init_cmb_mdl.copyData(ds_init_lb0106);
  305. }
  306. group3.group1.cmb_testLrgCd.value = "00";
  307. group3.group1.cmb_testMdlCd.value = "00";
  308. }
  309. function group3_group1_cmb_selectgbn_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  310. {
  311. lf_selectGbn();
  312. }
  313. function group3_group1_cmb_testLrgCd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  314. {
  315. lf_setSelect02();
  316. }
  317. function lf_setSelect02(){
  318. var sLcode = group3.group1.cmb_testLrgCd.value;
  319. if(sLcode == "00"){
  320. ds_init_cmb_mdl.filter("");
  321. }else{
  322. ds_init_cmb_mdl.filter("cd=='00' || etc01=='"+sLcode+"'");
  323. }
  324. group3.group1.cmb_testMdlCd.value = "00";
  325. }
  326. function group3_group1_cmb_testMdlCd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  327. {
  328. lf_getTclscdList();
  329. }
  330. function lf_getTclscdList(){
  331. dsf_createDsRow("ds_temp_search"
  332. , [{col: "testlrgcd", val: ""}
  333. , {col: "testmdlcd", val: ""}
  334. , {col: "selectgbn", val: group3.group1.cmb_selectgbn.value }
  335. , {col: "sectcd", val: "" }
  336. , {col: "tsectcd", val: "" }
  337. , {col: "deptflag", val: ds_init_lb0000.getColumn(0,"nm")}]);
  338. if (group3.group1.cmb_selectgbn.value == "1"){
  339. ds_temp_search.setColumn(0,"testlrgcd",group3.group1.cmb_testLrgCd.value);
  340. ds_temp_search.setColumn(0,"testmdlcd",group3.group1.cmb_testMdlCd.value);
  341. } else if(group3.group1.cmb_selectgbn.value == "2"){
  342. ds_temp_search.setColumn(0,"sectcd",group3.group1.cmb_testLrgCd.value);
  343. ds_temp_search.setColumn(0,"tsectcd",group3.group1.cmb_testMdlCd.value);
  344. }
  345. var oParam = {};
  346. oParam.id = "TRLQF00303";
  347. oParam.service = "grademngtbasemngtapp.TclscdMngt";
  348. oParam.method = "reqGetTest";
  349. oParam.inds = "cond=ds_temp_search";
  350. oParam.outds = "ds_grd_testList=testlist ds_grd_tclsList=gettclscdlist";
  351. oParam.async = false;
  352. tranf_submit(oParam);
  353. }
  354. function group3_group1_ipt_search_onkeydown(obj:Edit, e:KeyEventInfo)
  355. {
  356. if(e.keycode == 13){
  357. lf_getHospTclscd();
  358. }
  359. }
  360. function lf_getHospTclscd(){
  361. dsf_createDsRow("ds_temp_search"
  362. , [{col: "testlrgcd", val: ""}
  363. , {col: "testmdlcd", val: ""}
  364. , {col: "selectgbn", val: group3.group1.cmb_selectgbn.value }
  365. , {col: "sectcd", val: "" }
  366. , {col: "tsectcd", val: "" }
  367. , {col: "refgbn", val: group3.group1.cbo_searchFlag.value }
  368. , {col: "refcont", val: group3.group1.ipt_search.value }
  369. , {col: "deptflag", val: ds_init_lb0000.getColumn(0,"nm")}]);
  370. if (group3.group1.cmb_selectgbn.value == "1"){
  371. ds_temp_search.setColumn(0,"testlrgcd",group3.group1.cmb_testLrgCd.value);
  372. ds_temp_search.setColumn(0,"testmdlcd",group3.group1.cmb_testMdlCd.value);
  373. } else if(group3.group1.cmb_selectgbn.value == "2"){
  374. ds_temp_search.setColumn(0,"sectcd",group3.group1.cmb_testLrgCd.value);
  375. ds_temp_search.setColumn(0,"tsectcd",group3.group1.cmb_testMdlCd.value);
  376. }
  377. if(utlf_isNull(group3.group1.ipt_search.value)){ //텍스트 검색이 아니면 등록된 검사코드 모두 조회
  378. var oParam = {};
  379. oParam.id = "TRLQF00301";
  380. oParam.service = "grademngtbasemngtapp.TclscdMngt";
  381. oParam.method = "reqGetTclscd";
  382. oParam.inds = "cond=ds_temp_search";
  383. oParam.outds = "ds_grd_testList=testlist";
  384. oParam.async = false;
  385. tranf_submit(oParam);
  386. }else{
  387. var oParam = {};
  388. oParam.id = "TRLQF00304";
  389. oParam.service = "grademngtbasemngtapp.TclscdMngt";
  390. oParam.method = "reqGetTestOnly";
  391. oParam.inds = "cond=ds_temp_search";
  392. oParam.outds = "ds_grd_testList=testlist ds_grd_tclsList=gettclscdlist";
  393. oParam.async = false;
  394. tranf_submit(oParam);
  395. }
  396. }
  397. function group3_btn_add_onclick(obj:Button, e:ClickEventInfo)
  398. {
  399. var nRow = ds_grd_testList.addRow();
  400. }
  401. function group3_btn_del_onclick(obj:Button, e:ClickEventInfo)
  402. {
  403. var arrPostion = new Array();
  404. arrPostion[0] = ds_grd_testList.rowposition;
  405. grdf_setStatus(group3.grd_testList, "D", arrPostion);
  406. }
  407. function group3_btn_up_onclick(obj:Button, e:ClickEventInfo)
  408. {
  409. lf_setChoiTestList();
  410. }
  411. function lf_setChoiTestList ( ) {
  412. var vChk = ""
  413. var vTestCd = ""
  414. var vTestNm = ""
  415. for(var i=0; i<ds_grd_tclsList.rowcount; i++){
  416. vChk = ds_grd_tclsList.getColumn(i,"chk");
  417. vTestCd = ds_grd_tclsList.getColumn(i,"tclscd");
  418. vTestNm = ds_grd_tclsList.getColumn(i,"tclsnm");
  419. if(vChk == "true" || vChk == "1"){ //검사항목 선택된 항목들
  420. if(ds_grd_testList.findRow("testcd",vTestCd) == "-1"){//물질별 검사항목에 등록되어있지 않은 항목만
  421. var nRow = ds_grd_testList.addRow();
  422. ds_grd_testList.setColumn(nRow, "testcd" ,vTestCd);
  423. ds_grd_testList.setColumn(nRow, "testnm" ,vTestNm);
  424. ds_grd_tclsList.setColumn(i,"chk",false);
  425. }else{
  426. alert(vTestCd + " 항목이 중복되었습니다");
  427. ds_grd_tclsList.setColumn(i,"chk",false);
  428. }
  429. }
  430. } //end for
  431. }
  432. function group3_group1_button1_onclick(obj:Button, e:ClickEventInfo)
  433. {
  434. lf_getTclscdList();
  435. }
  436. function group3_grd_tclsList_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  437. {
  438. lf_setTclsCopy();
  439. }
  440. function lf_setTclsCopy(){
  441. var sTestcd = ds_grd_tclsList.getColumn(ds_grd_tclsList.rowposition,"tclscd");
  442. var sTestnm = ds_grd_tclsList.getColumn(ds_grd_tclsList.rowposition,"tclsnm");
  443. var findrow = ds_grd_testList.findRow("testcd",sTestcd);
  444. if(findrow == "-1" ) {
  445. } else {
  446. alert("이미 선택된 검사코드입니다.");
  447. ds_grd_tclsList.setColumn(ds_grd_tclsList.rowposition,"chk",false);
  448. return;
  449. }
  450. var nRow = ds_grd_testList.addRow();
  451. ds_grd_testList.setColumn(nRow, "testcd" ,sTestcd);
  452. ds_grd_testList.setColumn(nRow, "testnm" ,sTestnm);
  453. ds_grd_tclsList.setColumn(ds_grd_tclsList.rowposition,"chk",false);
  454. }
  455. function btn_exec_onclick(obj:Button, e:ClickEventInfo)
  456. {
  457. if(sysf_messageBox("", "Q002")==6)
  458. {
  459. var oDsUpdate = grdf_getGridUpdateData(group3.grd_testList);
  460. if(utlf_isNull(oDsUpdate))
  461. {
  462. alert("저장할 자료가 존재하지 않습니다.");
  463. return;
  464. }
  465. grdf_setStatusColumn(oDsUpdate,"status");
  466. ds_send_temp.clear();
  467. ds_send_temp.copyData(oDsUpdate, true);
  468. dsf_createDsRow("ds_temp_search2"
  469. , [{col: "deptflag", val: ds_init_lb0000.getColumn(0,"nm")}]);
  470. var oParam = {};
  471. oParam.id = "TXLQF00301";
  472. oParam.service = "grademngtbasemngtapp.TclscdMngt";
  473. oParam.method = "reqExeTclscd";
  474. oParam.inds = "data=ds_send_temp cond=ds_temp_search2";
  475. oParam.async = false;
  476. oParam.callback = "cf_TXLQF00301";
  477. tranf_submit(oParam);
  478. }
  479. }
  480. function cf_TXLQF00301(sSvcId, nErrorCode, sErrorMsg) {
  481. if(nErrorCode < 0) return;
  482. lf_getHospTclscd();
  483. }
  484. function button5_onclick(obj:Button, e:ClickEventInfo)
  485. {
  486. lf_setInit();
  487. }
  488. function group3_grd_tclsList_oncellclick(obj:Grid, e:GridClickEventInfo)
  489. {
  490. if(obj.getCellProperty("body", obj.currentcol, "edittype" ) != "checkbox"){
  491. if(ds_grd_tclsList.getColumn(ds_grd_tclsList.rowposition,"chk") != "true" || ds_grd_tclsList.getColumn(ds_grd_tclsList.rowposition,"chk") != "1"){
  492. ds_grd_tclsList.setColumn(ds_grd_tclsList.rowposition,"chk",true);
  493. }else{
  494. ds_grd_tclsList.setColumn(ds_grd_tclsList.rowposition,"chk",false);
  495. }
  496. }
  497. }
  498. function group3_grd_testList_onkeyup(obj:Grid, e:KeyEventInfo)
  499. {
  500. if(e.keycode == 13){
  501. var vCol = obj.currentcol;
  502. var vRow = obj.currentrow;
  503. if (obj.getCellProperty("body", obj.currentcol, "edittype" ) == "text"){
  504. dsf_createDsRow("ds_temp_search3"
  505. , [{col: "itemcd", val: obj.getCellValue(vRow ,vCol) }
  506. , {col: "colno", val: vCol}]);
  507. var oParam = {};
  508. oParam.id = "TRLQF00302";
  509. oParam.service = "grademngtbasemngtapp.TclscdMngt";
  510. oParam.method = "reqGetTestInfo";
  511. oParam.inds = "cond=ds_temp_search3";
  512. oParam.outds = "ds_hidden_infonm=testinfo";
  513. oParam.async = false;
  514. tranf_submit(oParam);
  515. switch(lf_getCellBindCol(obj.currentcol)){
  516. case "ocitemcd":
  517. ds_grd_testList.setColumn(vRow, "ocitemnm", ds_hidden_infonm.getColumn(0,"info") );
  518. break;
  519. case "ocmthdcd":
  520. ds_grd_testList.setColumn(vRow, "ocmthdnm", ds_hidden_infonm.getColumn(0,"info") );
  521. break;
  522. case "ocreagentcd":
  523. ds_grd_testList.setColumn(vRow, "ocreagentnm", ds_hidden_infonm.getColumn(0,"info") );
  524. break;
  525. case "octmprcd":
  526. ds_grd_testList.setColumn(vRow, "octmprnm", ds_hidden_infonm.getColumn(0,"info") );
  527. break;
  528. case "ocunitcd":
  529. ds_grd_testList.setColumn(vRow, "ocunitnm", ds_hidden_infonm.getColumn(0,"info") );
  530. break;
  531. }
  532. }
  533. }
  534. }
  535. function lf_getCellBindCol( nCell)
  536. {
  537. var text = utlf_trim(group3.grd_testList.getCellProperty("body", nCell, "text"));
  538. return text.replace(/bind:/, "").replace(/BIND:/, "");
  539. }
  540. ]]></Script>
  541. </Form>
  542. </FDL>