SMLLF10700_CDSS마스터관리.xfdl 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLLF10700" position="absolute 0 0 1256 805" titletext="CDSS RULE 관리" onload="SMLLF10700_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="grp3" position="absolute 0 25 1256 805" anchor="all" positiontype="position" scrollbars="autoboth">
  8. <Layouts>
  9. <Layout>
  10. <Shape id="line1" class="line_1" position="absolute 0 70 490 70" anchor="default" linetype="horizontal" positiontype="position"/>
  11. <Grid id="grd_testlist" position="absolute 0 72 348 780" anchor="left top bottom" onclick="testlist_onclick" positiontype="position" binddataset="ds_grid_testlist" oncellclick="grp3_grd_testlist_oncellclick" findtype="col" onheadclick="grdf_setEventGrid" autosizingtype="none" autofittype="col">
  12. <Formats>
  13. <Format id="default">
  14. <Columns>
  15. <Column size="30"/>
  16. <Column size="0"/>
  17. <Column size="90"/>
  18. <Column size="162"/>
  19. <Column size="55"/>
  20. </Columns>
  21. <Rows>
  22. <Row size="24" band="head"/>
  23. <Row size="24"/>
  24. </Rows>
  25. <Band id="head">
  26. <Cell/>
  27. <Cell col="1" text="상태"/>
  28. <Cell col="2" text="검사코드"/>
  29. <Cell col="3" text="검사명"/>
  30. <Cell col="4" text="룰여부"/>
  31. </Band>
  32. <Band id="body">
  33. <Cell celltype="head" expr="currow+1"/>
  34. <Cell col="1" displaytype="image" expr="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'))"/>
  35. <Cell col="2" displaytype="text" edittype="text" text="bind:tclscd"/>
  36. <Cell col="3" style="align:left middle;" text="bind:tclsnm"/>
  37. <Cell col="4" text="bind:yn"/>
  38. </Band>
  39. </Format>
  40. </Formats>
  41. </Grid>
  42. <Static id="caption1" class="tit_2" position="absolute 0 52 98 72" anchor="default" text="검사코드목록" positiontype="position"/>
  43. <Button id="btn_add" class="btn2" position="absolute 1200 48 1256 68" anchor="top right" text="행추가" positiontype="position" onclick="grp3_btn_add_onclick"/>
  44. <Grid id="grd_cdsslist" position="absolute 353 72 1255 780" anchor="all" positiontype="position" binddataset="ds_grid_cdsslist" autosizingtype="none" autoenter="select" autofittype="col" onheadclick="grdf_setEventGrid">
  45. <Formats>
  46. <Format id="default">
  47. <Columns>
  48. <Column size="0"/>
  49. <Column size="25"/>
  50. <Column size="0"/>
  51. <Column size="0"/>
  52. <Column size="0"/>
  53. <Column size="51"/>
  54. <Column size="127"/>
  55. <Column size="124"/>
  56. <Column size="103"/>
  57. <Column size="103"/>
  58. <Column size="100"/>
  59. <Column size="66"/>
  60. <Column size="54"/>
  61. <Column size="57"/>
  62. <Column size="59"/>
  63. </Columns>
  64. <Rows>
  65. <Row size="24" band="head"/>
  66. <Row size="24"/>
  67. </Rows>
  68. <Band id="head">
  69. <Cell/>
  70. <Cell col="1" text="상태"/>
  71. <Cell col="2" text="일련번호"/>
  72. <Cell col="3" text="검사코드"/>
  73. <Cell col="4" text="RULE종류"/>
  74. <Cell col="5" text="전송유형"/>
  75. <Cell col="6" text="결과유형"/>
  76. <Cell col="7" text="룰유형"/>
  77. <Cell col="8" text="부등호"/>
  78. <Cell col="9" text="룰값"/>
  79. <Cell col="10" text="재전송구간"/>
  80. <Cell col="11" text="전송여부"/>
  81. <Cell col="12" text="주치의"/>
  82. <Cell col="13" text="처방의"/>
  83. <Cell col="14" text="원내구분"/>
  84. </Band>
  85. <Band id="body">
  86. <Cell celltype="head" expr="currow+1"/>
  87. <Cell col="1" celltype="head" displaytype="image"/>
  88. <Cell col="2" text="bind:seqno"/>
  89. <Cell col="3" text="bind:tclscd"/>
  90. <Cell col="4" displaytype="combo" edittype="combo" style="align:center;" text="bind:cvryn" editautoselect="true" combodataset="ds_rule" combocodecol="cd" combodatacol="nm"/>
  91. <Cell col="5" displaytype="combo" edittype="combo" style="align:center;" text="bind:msgkind" combodataset="ds_msgkind" combocodecol="cd" combodatacol="nm"/>
  92. <Cell col="6" displaytype="combo" edittype="combo" style="align:center;" text="bind:rsltstat" editautoselect="true" combodataset="ds_rsltstat" combocodecol="cd" combodatacol="nm"/>
  93. <Cell col="7" displaytype="combo" edittype="combo" style="align:center;" text="bind:rulekind" editautoselect="true" combodataset="ds_rulekind" combocodecol="cd" combodatacol="nm"/>
  94. <Cell col="8" displaytype="combo" edittype="combo" style="align:center;selectbackground:EXPR(rulekind== 'P' ? '' : '#c0c0c0');" text="bind:refs" editautoselect="true" combodataset="ds_refs" combocodecol="cd" combodatacol="nm"/>
  95. <Cell col="9" displaytype="text" edittype="text" style="selectbackground:EXPR(rulekind== 'P' ? '' : '#c0c0c0');" text="bind:rulerst" editautoselect="true" combodataset="ds_refs" combocodecol="cd" combodatacol="nm"/>
  96. <Cell col="10" displaytype="text" edittype="text" text="bind:resendday"/>
  97. <Cell col="11" displaytype="combo" edittype="combo" style="align:center;" text="bind:sendyn" combodataset="ds_sendyn" combocodecol="cd" combodatacol="nm"/>
  98. <Cell col="12" displaytype="checkbox" edittype="checkbox" text="bind:recipient1"/>
  99. <Cell col="13" displaytype="checkbox" edittype="checkbox" text="bind:recipient2"/>
  100. <Cell col="14" displaytype="combo" edittype="combo" text="bind:ioflag" combodataset="ds_ioflag" combocodecol="cd" combodatacol="nm"/>
  101. </Band>
  102. </Format>
  103. </Formats>
  104. </Grid>
  105. <Static id="caption3" class="tit_2" position="absolute 356 52 608 72" anchor="left top" text="CDSS RULE LIST" positiontype="position" onclick="grp3_caption3_onclick"/>
  106. <Shape id="line2" class="line_1" position="absolute 500 70 1194 70" anchor="default" linetype="horizontal" positiontype="position"/>
  107. <Button id="bnt_delete" class="btn2" position="absolute 1141 48 1197 68" anchor="top right" text="행삭제" positiontype="position" onclick="grp3_bnt_delete_onclick"/>
  108. <Div id="grp_sea" anchor="left top right" taborder="1" style="align:center top;" position="absolute 0 0 1256 42" class="div_SA">
  109. <Layouts>
  110. <Layout>
  111. <Button id="btn_sea" taborder="21" text="조회" class="btn1" position="absolute 1115 10 1172 30" anchor="top right" onclick="grp3_grp_sea_btn_sea_onclick"/>
  112. <Combo id="cmb_selectgbn" taborder="22" class="combo_search" position="absolute 82 10 162 30" anchor="default" visible="true" positiontype="position" codecolumn="cd" datacolumn="nm" onitemchanged="grp3_grp_sea_cmb_selectgbn_onitemchanged" innerdataset="@ds_selectgbn"/>
  113. <Combo id="cmb_testlrgcd" taborder="23" position="absolute 165 10 275 30" anchor="default" positiontype="position" onitemchanged="grp3_grp_sea_cmb_testlrgcd_onitemchanged"/>
  114. <Combo id="cmb_testmdlcd" taborder="24" position="absolute 278 10 408 30" anchor="default" positiontype="position" onitemchanged="grp3_grp_sea_cmb_testmdlcd_onitemchanged"/>
  115. <Static id="caption2" text="검사분류" class="search_name" position="absolute 8 10 82 30" positiontype="position"/>
  116. </Layout>
  117. </Layouts>
  118. </Div>
  119. </Layout>
  120. </Layouts>
  121. </Div>
  122. <Div id="grp2" position="absolute 0 0 1256 25" anchor="default" positiontype="position">
  123. <Layouts>
  124. <Layout>
  125. <Static id="caption6" class="tit_1" position="absolute 0 0 193 25" anchor="default" positiontype="position" text="CVR/CDSS RULE 관리"/>
  126. </Layout>
  127. </Layouts>
  128. </Div>
  129. <Button id="btn_save" taborder="2" text="저장" onclick="btn_save_onclick" class="btn4" position="absolute 1200 0 1256 20" anchor="top right"/>
  130. <Button id="btn_clear" taborder="3" text="초기화" onclick="btn_clear_onclick" class="btn1" position="absolute 1176 36 1245 56" anchor="top right"/>
  131. </Layout>
  132. </Layouts>
  133. <Objects>
  134. <Dataset id="ds_init_lb0104" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  135. <ColumnInfo>
  136. <Column id="cd" type="STRING"/>
  137. <Column id="nm" type="STRING"/>
  138. </ColumnInfo>
  139. </Dataset>
  140. <Dataset id="ds_init_lb0102" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  141. <ColumnInfo>
  142. <Column id="cd" type="STRING"/>
  143. <Column id="nm" type="STRING"/>
  144. </ColumnInfo>
  145. </Dataset>
  146. <Dataset id="ds_init_lb0000" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  147. <ColumnInfo>
  148. <Column id="cd" type="STRING"/>
  149. <Column id="nm" type="STRING"/>
  150. </ColumnInfo>
  151. </Dataset>
  152. <Dataset id="ds_init_lb0111" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  153. <ColumnInfo>
  154. <Column id="cd" type="STRING"/>
  155. <Column id="nm" type="STRING"/>
  156. </ColumnInfo>
  157. </Dataset>
  158. <Dataset id="ds_init_lb0106" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  159. <ColumnInfo>
  160. <Column id="cd" type="STRING"/>
  161. <Column id="nm" type="STRING"/>
  162. </ColumnInfo>
  163. </Dataset>
  164. <Dataset id="ds_selectgbn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  165. <ColumnInfo>
  166. <Column id="cd" type="STRING" size="256"/>
  167. <Column id="nm" type="STRING" size="256"/>
  168. </ColumnInfo>
  169. <Rows>
  170. <Row>
  171. <Col id="cd">1</Col>
  172. <Col id="nm">검사분류</Col>
  173. </Row>
  174. <Row>
  175. <Col id="cd">2</Col>
  176. <Col id="nm">시행부서</Col>
  177. </Row>
  178. </Rows>
  179. </Dataset>
  180. <Dataset id="ds_grid_testlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  181. <ColumnInfo>
  182. <Column id="tclscd" type="STRING"/>
  183. <Column id="tclsnm" type="STRING"/>
  184. <Column id="yn" type="STRING"/>
  185. </ColumnInfo>
  186. </Dataset>
  187. <Dataset id="ds_grid_cdsslist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_grid_cdsslist_oncolumnchanged">
  188. <ColumnInfo>
  189. <Column id="seqno" type="STRING"/>
  190. <Column id="tclscd" type="STRING"/>
  191. <Column id="msgkind" type="STRING"/>
  192. <Column id="rsltstat" type="STRING"/>
  193. <Column id="rulekind" type="STRING"/>
  194. <Column id="refs" type="STRING"/>
  195. <Column id="rulerst" type="STRING"/>
  196. <Column id="resendday" type="STRING"/>
  197. <Column id="sendyn" type="STRING"/>
  198. <Column id="recipient1" type="STRING"/>
  199. <Column id="recipient2" type="STRING"/>
  200. <Column id="ioflag" type="STRING"/>
  201. <Column id="cvryn" type="STRING" size="256"/>
  202. <Column id="refminvalsinq" type="STRING" size="256"/>
  203. <Column id="refminval" type="STRING" size="256"/>
  204. <Column id="refmaxvalsinq" type="STRING" size="256"/>
  205. <Column id="refmaxval" type="STRING" size="256"/>
  206. </ColumnInfo>
  207. </Dataset>
  208. <Dataset id="ds_ioflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  209. <ColumnInfo>
  210. <Column id="cd" type="STRING" size="256"/>
  211. <Column id="nm" type="STRING" size="256"/>
  212. </ColumnInfo>
  213. <Rows>
  214. <Row>
  215. <Col id="cd">A</Col>
  216. <Col id="nm">전체</Col>
  217. </Row>
  218. <Row>
  219. <Col id="cd">I</Col>
  220. <Col id="nm">입원</Col>
  221. </Row>
  222. <Row>
  223. <Col id="cd">O</Col>
  224. <Col id="nm">외래</Col>
  225. </Row>
  226. </Rows>
  227. </Dataset>
  228. <Dataset id="ds_sendyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  229. <ColumnInfo>
  230. <Column id="cd" type="STRING" size="256"/>
  231. <Column id="nm" type="STRING" size="256"/>
  232. </ColumnInfo>
  233. <Rows>
  234. <Row>
  235. <Col id="cd">Y</Col>
  236. <Col id="nm">YES</Col>
  237. </Row>
  238. <Row>
  239. <Col id="cd">N</Col>
  240. <Col id="nm">NO</Col>
  241. </Row>
  242. </Rows>
  243. </Dataset>
  244. <Dataset id="ds_refs" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  245. <ColumnInfo>
  246. <Column id="cd" type="STRING" size="256"/>
  247. <Column id="nm" type="STRING" size="256"/>
  248. </ColumnInfo>
  249. <Rows>
  250. <Row>
  251. <Col id="cd">-</Col>
  252. <Col id="nm">없음</Col>
  253. </Row>
  254. <Row>
  255. <Col id="cd">5</Col>
  256. <Col id="nm">일치 (=)</Col>
  257. </Row>
  258. <Row>
  259. <Col id="cd">6</Col>
  260. <Col id="nm">포함 (like)</Col>
  261. </Row>
  262. <Row>
  263. <Col id="cd">1</Col>
  264. <Col id="nm">이상 (&gt;=)</Col>
  265. </Row>
  266. <Row>
  267. <Col id="cd">2</Col>
  268. <Col id="nm">초과 (&gt;)</Col>
  269. </Row>
  270. <Row>
  271. <Col id="cd">3</Col>
  272. <Col id="nm">이하 (&lt;=)</Col>
  273. </Row>
  274. <Row>
  275. <Col id="cd">4</Col>
  276. <Col id="nm">미만 (&lt;)</Col>
  277. </Row>
  278. </Rows>
  279. </Dataset>
  280. <Dataset id="ds_rulekind" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  281. <ColumnInfo>
  282. <Column id="cd" type="STRING" size="256"/>
  283. <Column id="nm" type="STRING" size="256"/>
  284. </ColumnInfo>
  285. <Rows>
  286. <Row>
  287. <Col id="cd">C</Col>
  288. <Col id="nm">Critical</Col>
  289. </Row>
  290. <Row>
  291. <Col id="cd">P</Col>
  292. <Col id="nm">패턴</Col>
  293. </Row>
  294. <Row>
  295. <Col id="cd">R</Col>
  296. <Col id="nm">범위</Col>
  297. </Row>
  298. <Row>
  299. <Col id="cd">L</Col>
  300. <Col id="nm">Low</Col>
  301. </Row>
  302. <Row>
  303. <Col id="cd">H</Col>
  304. <Col id="nm">High</Col>
  305. </Row>
  306. <Row>
  307. <Col id="cd">M</Col>
  308. <Col id="nm">배양(양성)</Col>
  309. </Row>
  310. </Rows>
  311. </Dataset>
  312. <Dataset id="ds_rsltstat" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  313. <ColumnInfo>
  314. <Column id="cd" type="STRING" size="256"/>
  315. <Column id="nm" type="STRING" size="256"/>
  316. </ColumnInfo>
  317. <Rows>
  318. <Row>
  319. <Col id="cd">2</Col>
  320. <Col id="nm">중간보고</Col>
  321. </Row>
  322. <Row>
  323. <Col id="cd">4</Col>
  324. <Col id="nm">최종보고</Col>
  325. </Row>
  326. </Rows>
  327. </Dataset>
  328. <Dataset id="ds_msgkind" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  329. <ColumnInfo>
  330. <Column id="cd" type="STRING" size="256"/>
  331. <Column id="nm" type="STRING" size="256"/>
  332. </ColumnInfo>
  333. <Rows>
  334. <Row>
  335. <Col id="cd">S</Col>
  336. <Col id="nm">SMS</Col>
  337. </Row>
  338. <Row>
  339. <Col id="cd">N</Col>
  340. <Col id="nm">notify</Col>
  341. </Row>
  342. </Rows>
  343. </Dataset>
  344. <Dataset id="ds_rule" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  345. <ColumnInfo>
  346. <Column id="cd" type="STRING" size="256"/>
  347. <Column id="nm" type="STRING" size="256"/>
  348. </ColumnInfo>
  349. <Rows>
  350. <Row>
  351. <Col id="cd">Y</Col>
  352. <Col id="nm">CVR</Col>
  353. </Row>
  354. <Row>
  355. <Col id="cd">N</Col>
  356. <Col id="nm">CDSS</Col>
  357. </Row>
  358. </Rows>
  359. </Dataset>
  360. <Dataset id="ds_refminvalsinq" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  361. <ColumnInfo>
  362. <Column id="label" type="STRING" size="256"/>
  363. <Column id="value" type="STRING" size="256"/>
  364. </ColumnInfo>
  365. <Rows>
  366. <Row>
  367. <Col id="label">없음</Col>
  368. <Col id="value">-</Col>
  369. </Row>
  370. <Row>
  371. <Col id="label">이하(&lt;=)</Col>
  372. <Col id="value">1</Col>
  373. </Row>
  374. <Row>
  375. <Col id="label">미만(&lt;)</Col>
  376. <Col id="value">2</Col>
  377. </Row>
  378. </Rows>
  379. </Dataset>
  380. <Dataset id="ds_refmaxvalsinq" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  381. <ColumnInfo>
  382. <Column id="label" type="STRING" size="256"/>
  383. <Column id="value" type="STRING" size="256"/>
  384. </ColumnInfo>
  385. <Rows>
  386. <Row>
  387. <Col id="label">없음</Col>
  388. <Col id="value">-</Col>
  389. </Row>
  390. <Row>
  391. <Col id="label">이상(&gt;=)</Col>
  392. <Col id="value">1</Col>
  393. </Row>
  394. <Row>
  395. <Col id="label">초과(&gt;)</Col>
  396. <Col id="value">2</Col>
  397. </Row>
  398. </Rows>
  399. </Dataset>
  400. <Dataset id="ds_print" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  401. <ColumnInfo>
  402. <Column id="able" type="STRING" size="256"/>
  403. </ColumnInfo>
  404. </Dataset>
  405. <Dataset id="ds_execute" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  406. <ColumnInfo>
  407. <Column id="able" type="STRING" size="256"/>
  408. </ColumnInfo>
  409. </Dataset>
  410. </Objects>
  411. <Bind>
  412. <BindItem id="item0" compid="grp3.bnt_delete" propid="enable" datasetid="ds_execute" columnid="able"/>
  413. <BindItem id="item1" compid="btn_save" propid="enable" datasetid="ds_execute" columnid="able"/>
  414. <BindItem id="item2" compid="grp3.btn_add" propid="enable" datasetid="ds_execute" columnid="able"/>
  415. <BindItem id="item3" compid="grp3.grd_cdsslist" propid="enable" datasetid="ds_execute" columnid="able"/>
  416. </Bind>
  417. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  418. * System Name :
  419. * Job Name :
  420. * Creator :
  421. * Make Date : 2015-11-09
  422. * Description :
  423. *---------------------------------------------------------------------------------------
  424. * Modify Date Modifier Modify Description
  425. *---------------------------------------------------------------------------------------
  426. * 2015-11-09 Live Converter TF->XP
  427. *
  428. *---------------------------------------------------------------------------------------
  429. ****************************************************************************************/
  430. include "com_commonxp::comm_main.xjs";
  431. include "lis_commonxp::LLZ001.xjs";
  432. function SMLLF10700_onload(obj:Form, e:LoadEventInfo)
  433. {
  434. //폼 초기화 함수
  435. frmf_initForm(obj);
  436. grdf_setRowTypeIcon(grp3.grd_testlist, 0);
  437. grdf_setRowTypeIcon(grp3.grd_cdsslist, 1);
  438. //초기값 셋팀
  439. lf_initDataSet();
  440. lf_fSelectGbn();
  441. var sScreenID = frmf_getScreenID(); //화면아이디를 가져온다.
  442. var sScreenAuth = frmf_getScreenAuth(); //화면권한코드를 가져온다.
  443. var sMenuParam = frmf_getMenuParam(); //메뉴파라미터를 가져온다.
  444. var sMenuGroupCD = frmf_getMenuGroupCD(); //메뉴그룹코드를 가져온다.
  445. var sMenuItemCD = frmf_getMenuItemCD(); //메뉴아이템코드를 가져온다.
  446. var sPrestDeptCd = frmf_getPrestDeptCd(); //메뉴그룹의 사용처 부서코드를 가져온다.
  447. lf_menumaster();//메뉴권한
  448. }
  449. function lf_initDataSet(){
  450. //0104 대분류 0102 중분류 0000 유저과flag 0111 시행부서(계) 0106 시행부서(검사계)
  451. lf_getDbDeptcd("0104|0102|0000|0111|0106|","cbf_SMLLF10700");
  452. grp3.grp_sea.cmb_selectgbn.value = "1";
  453. }
  454. // 조회구분에서 대분류와 중분류의 값을 받아 검사목록을 출력
  455. function lf_fGettestRsltlist(){
  456. var sInDsName = dsf_createDsRow("ds_temp_search"
  457. , [{col: "selectgbn", val: grp3.grp_sea.cmb_selectgbn.value}
  458. , {col: "testlrgcd", val: grp3.grp_sea.cmb_testlrgcd.value}
  459. , {col: "testmdlcd", val: grp3.grp_sea.cmb_testmdlcd.value}
  460. , {col: "deptflag" , val: lgv_sUserdeptflagcd}
  461. ]);
  462. var oParam = {};
  463. oParam.id = "TRLLF90803";
  464. oParam.service = "diagtestbaseinfomngtapp.GeneralTestBaseInfoMngt";
  465. oParam.method = "reqTclscdList";
  466. oParam.inds = "cond="+sInDsName;
  467. oParam.outds = "ds_grid_testlist=reqTclscdList";
  468. oParam.async = false;
  469. oParam.callback = "cbf_SMLLF10700";
  470. tranf_submit(oParam);
  471. lf_fClickResultList();
  472. }
  473. //검사목록 조회
  474. function lf_fClickResultList(){
  475. var sInDsName = dsf_createDsRow("ds_temp_search"
  476. , [{col: "tclscd", val: ds_grid_testlist.getColumn(grp3.grd_testlist.currentrow,"tclscd")}]);
  477. var oParam = {};
  478. oParam.id = "TRLLF90804";
  479. oParam.service = "diagtestbaseinfomngtapp.GeneralTestBaseInfoMngt";
  480. oParam.method = "reqCdssList";
  481. oParam.inds = "cond="+sInDsName;
  482. oParam.outds = "ds_grid_cdsslist=reqCdssList";
  483. oParam.async = false;
  484. oParam.callback = "cbf_SMLLF10700";
  485. tranf_submit(oParam);
  486. for(i=0;i<ds_grid_cdsslist.rowcount;i++){
  487. if(ds_grid_cdsslist.getColumn(i,"recipient1") == "Y"){
  488. ds_grid_cdsslist.setColumn(i,"recipient1","1")
  489. } else{
  490. ds_grid_cdsslist.setColumn(i,"recipient1","0")
  491. }
  492. if(ds_grid_cdsslist.getColumn(i,"recipient2") == "Y"){
  493. ds_grid_cdsslist.setColumn(i,"recipient2","1")
  494. } else{
  495. ds_grid_cdsslist.setColumn(i,"recipient2","0")
  496. }
  497. }
  498. }
  499. //행추가
  500. function lf_fInsRowAdd() {
  501. ds_grid_cdsslist.addRow();
  502. ds_grid_cdsslist.setColumn(grp3.grd_cdsslist.rowcount - 1,"tclscd" ,ds_grid_testlist.getColumn(grp3.grd_testlist.currentrow,"tclscd"));
  503. ds_grid_cdsslist.setColumn(grp3.grd_cdsslist.rowcount - 1,"msgkind" ,"S");
  504. ds_grid_cdsslist.setColumn(grp3.grd_cdsslist.rowcount - 1,"rsltstat" ,"4");
  505. ds_grid_cdsslist.setColumn(grp3.grd_cdsslist.rowcount - 1,"rulekind" ,"C");
  506. ds_grid_cdsslist.setColumn(grp3.grd_cdsslist.rowcount - 1,"refs" ,"-");
  507. ds_grid_cdsslist.setColumn(grp3.grd_cdsslist.rowcount - 1,"rulerst" ,"-");
  508. ds_grid_cdsslist.setColumn(grp3.grd_cdsslist.rowcount - 1,"resendday" ,"-");
  509. ds_grid_cdsslist.setColumn(grp3.grd_cdsslist.rowcount - 1,"sendyn" ,"Y");
  510. ds_grid_cdsslist.setColumn(grp3.grd_cdsslist.rowcount - 1,"recipient1","0");
  511. ds_grid_cdsslist.setColumn(grp3.grd_cdsslist.rowcount - 1,"recipient2","0");
  512. ds_grid_cdsslist.setColumn(grp3.grd_cdsslist.rowcount - 1,"ioflag" ,"A");
  513. }
  514. //행삭제
  515. function lf_fInsRowdel() {
  516. var arrPostion = new Array();
  517. arrPostion[0] = ds_grid_cdsslist.rowposition;
  518. if(ds_grid_cdsslist.getRowType(arrPostion)==Dataset.ROWTYPE_INSERT){
  519. ds_grid_cdsslist.deleteRow(arrPostion);
  520. } else {
  521. grdf_setStatus(grp3.grd_cdsslist, "D", arrPostion);
  522. }
  523. }
  524. //그리드 필수값 체크
  525. function lf_ckeckNull() {
  526. if(sysf_messageBox("","Q002","")==6){
  527. if(grp3.grd_testlist.selectendrow < 0 ){
  528. sysf_messageBox("검사항목을 선택하십시오","E","");
  529. return;
  530. } else{
  531. lf_fExeEqmtSave();
  532. }
  533. }
  534. }
  535. // 결과목록 삽입, 삭제, 수정
  536. function lf_fExeEqmtSave() {
  537. for(i=0;i<ds_grid_cdsslist.rowcount;i++){
  538. if(ds_grid_cdsslist.getColumn(i,"recipient1") == "1"){
  539. ds_grid_cdsslist.setColumn(i,"recipient1","Y")
  540. } else{
  541. ds_grid_cdsslist.setColumn(i,"recipient1","N")
  542. }
  543. if(ds_grid_cdsslist.getColumn(i,"recipient2") == "1"){
  544. ds_grid_cdsslist.setColumn(i,"recipient2","Y")
  545. } else{
  546. ds_grid_cdsslist.setColumn(i,"recipient2","N")
  547. }
  548. }
  549. var oParam = {};
  550. oParam.id = "TXLLF90901";
  551. oParam.service = "diagtestbaseinfomngtapp.GeneralTestBaseInfoMngt";
  552. oParam.method = "reqInsertCdss";
  553. oParam.inds = "cond=ds_grid_cdsslist:U";
  554. oParam.async = false;
  555. oParam.callback = "cbf_SMLLF10700";
  556. tranf_submit(oParam);
  557. }
  558. function lf_fSelectGbn(){
  559. //검사분류 선택
  560. if(grp3.grp_sea.cmb_selectgbn.value == "1"){
  561. //첫번째 콤보에 대분류 셋팅
  562. grp3.grp_sea.cmb_testlrgcd.innerdataset="ds_init_lb0104";
  563. grp3.grp_sea.cmb_testlrgcd.codecolumn="cd";
  564. grp3.grp_sea.cmb_testlrgcd.datacolumn="nm";
  565. //두번째 콤보에 중분류 셋팅
  566. ds_init_lb0102.filter("");
  567. grp3.grp_sea.cmb_testmdlcd.innerdataset="ds_init_lb0102";
  568. grp3.grp_sea.cmb_testmdlcd.codecolumn="cd";
  569. grp3.grp_sea.cmb_testmdlcd.datacolumn="nm";
  570. }
  571. //시행부서 선택
  572. else if(grp3.grp_sea.cmb_selectgbn.value == "2"){
  573. //첫번째 콤보에 계코드 셋팅
  574. grp3.grp_sea.cmb_testlrgcd.innerdataset="ds_init_lb0111";
  575. grp3.grp_sea.cmb_testlrgcd.codecolumn="cd";
  576. grp3.grp_sea.cmb_testlrgcd.datacolumn="nm";
  577. //두번째 콤보에 검사계코드 셋팅
  578. ds_init_lb0106.filter("");
  579. grp3.grp_sea.cmb_testmdlcd.innerdataset="ds_init_lb0106";
  580. grp3.grp_sea.cmb_testmdlcd.codecolumn="cd";
  581. grp3.grp_sea.cmb_testmdlcd.datacolumn="nm";
  582. }
  583. grp3.grp_sea.cmb_testlrgcd.index = 0;
  584. grp3.grp_sea.cmb_testmdlcd.index = 0;
  585. }
  586. //첫번째 콤보 선택시, 두번째 콤보 셋팅
  587. function lf_fSetSelect02(){
  588. var sEtc = grp3.grp_sea.cmb_testlrgcd.value;
  589. var sFilter = "cd =='00' || etc01 =='" + sEtc + "'";
  590. //검사분류선택
  591. if(grp3.grp_sea.cmb_selectgbn.value == "1"){
  592. grp3.grp_sea.cmb_testmdlcd.innerdataset="ds_init_lb0102";
  593. }
  594. //시행부서 선택
  595. else if(grp3.grp_sea.cmb_selectgbn.value == "2"){
  596. grp3.grp_sea.cmb_testmdlcd.innerdataset="ds_init_lb0106";
  597. }
  598. if(sEtc != "00") {
  599. ds_init_lb0102.filter(sFilter);
  600. ds_init_lb0106.filter(sFilter);
  601. } else {
  602. ds_init_lb0102.filter("");
  603. ds_init_lb0106.filter("");
  604. }
  605. grp3.grp_sea.cmb_testmdlcd.codecolumn="cd";
  606. grp3.grp_sea.cmb_testmdlcd.datacolumn="nm";
  607. grp3.grp_sea.cmb_testmdlcd.index=0;
  608. }
  609. //콜백함수
  610. function cbf_SMLLF10700(strSvcID, nErrorCode, strErrorMag){
  611. if(nErrorCode != 0) sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
  612. if(strSvcID == "TXLLF90901" && nErrorCode==0){
  613. lf_fClickResultList();
  614. sysf_messageBox("","I001","");
  615. }
  616. }
  617. //진검 사용자별 메뉴권한
  618. function lf_menumaster(){
  619. var edit = frmf_checkAuth("X");
  620. var print = frmf_checkAuth("P");
  621. var eRow = ds_execute.addRow();
  622. var pRow = ds_print.addRow();
  623. if(edit == true){
  624. ds_execute.setColumn(eRow,"able",true);
  625. }
  626. if(print == true){
  627. ds_print.setColumn(pRow,"able",true);
  628. }
  629. }
  630. function grp3_grd_testlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  631. {
  632. lf_fClickResultList();
  633. }
  634. function grp3_btn_add_onclick(obj:Button, e:ClickEventInfo)
  635. {
  636. lf_fInsRowAdd();
  637. }
  638. function grp3_grp_sea_btn_sea_onclick(obj:Button, e:ClickEventInfo)
  639. {
  640. lf_fGettestRsltlist();
  641. }
  642. function grp3_grp_sea_cmb_testlrgcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  643. {
  644. lf_fSetSelect02();
  645. grp3_grp_sea_btn_sea_onclick();
  646. }
  647. function grp3_grp_sea_cmb_testmdlcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  648. {
  649. lf_fGettestRsltlist();
  650. grp3_grp_sea_btn_sea_onclick();
  651. }
  652. function grp3_grp_sea_cmb_selectgbn_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  653. {
  654. lf_fSelectGbn();
  655. }
  656. function grp3_bnt_delete_onclick(obj:Button, e:ClickEventInfo)
  657. {
  658. lf_fInsRowdel();
  659. }
  660. function btn_clear_onclick(obj:Button, e:ClickEventInfo)
  661. {
  662. ds_grid_testlist.clearData();
  663. ds_grid_cdsslist.clearData();
  664. grp3.grp_sea.cmb_selectgbn.value = "1";
  665. grp3.grp_sea.cmb_testlrgcd.index = 0;
  666. grp3.grp_sea.cmb_testmdlcd.index = 0;
  667. }
  668. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  669. {
  670. lf_ckeckNull();
  671. }
  672. //룰유형에 따라 그리드 포맷이 바뀜
  673. function lf_gridRuleKindFormat(rulekind) {
  674. if(rulekind == "C") { //Critical
  675. grp3.grd_cdsslist.setFormatColProperty( 7, "size", 0); //부등호
  676. grp3.grd_cdsslist.setFormatColProperty( 8, "size", 0); //룰값
  677. }
  678. else if(rulekind == "P") { //패턴
  679. grp3.grd_cdsslist.setFormatColProperty( 7, "size", 122); //부등호
  680. grp3.grd_cdsslist.setFormatColProperty( 8, "size", 122); //룰값
  681. }
  682. }
  683. //그리드 데이타셋 변경시 발생
  684. function ds_grid_cdsslist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  685. {
  686. if( e.columnid == "rulekind" ) {
  687. var rulekind = obj.getColumn(e.row, e.col);
  688. //룰유형 Critical 선택시, 패턴관련 값은 초기화
  689. if(rulekind == "C") {
  690. obj.setColumn(e.row, "refs" , "-");
  691. obj.setColumn(e.row, "rulerst", "-");
  692. }
  693. }
  694. }
  695. function grp3_caption3_onclick(obj:Static, e:ClickEventInfo)
  696. {
  697. }
  698. ]]></Script>
  699. </Form>
  700. </FDL>