SPMMO20001_희귀난치등록수정.xfdl 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMO20001" position="absolute 0 0 370 310" titletext="희귀난치진단방법수정" onload="SPMMO20001_onload">
  5. <Layouts>
  6. <Layout>
  7. <Shape id="line1" class="line_10" linetype="horizontal" position="absolute 0 20 360 23" style="" anchor="default"/>
  8. <Static id="caption14" class="tit_2" position="absolute 0 3 152 19" style="align: middle;" text="희귀난치등록신청서"/>
  9. <Static id="caption6" position="absolute 22 53 72 68" style="" text="영상검사"/>
  10. <Static id="caption5" position="absolute 22 264 72 279" style="" text="기타검사"/>
  11. <Static id="caption7" position="absolute 4 111 19 126" style="" text="②"/>
  12. <Static id="caption8" position="absolute 4 132 19 147" style="" text="③"/>
  13. <Static id="caption9" position="absolute 4 153 19 168" style="" text="④"/>
  14. <Static id="caption10" position="absolute 4 174 19 189" style="" text="⑤"/>
  15. <Static id="caption11" position="absolute 4 264 19 279" style="" text="⑥"/>
  16. <Button id="btn_save" class="btn4" position="absolute 244 285 300 307" style="" text="저장" onclick="btn_save_onclick"/>
  17. <Button id="btn_exit" class="btn4" position="absolute 304 285 360 307" style="" text="종료" onclick="btn_exit_onclick"/>
  18. <CheckBox id="bool_sono" position="absolute 75 50 135 65" style="" text="SONO" anchor="left bottom"/>
  19. <CheckBox id="bool_ct" position="absolute 150 50 194 65" style="" text="CT" anchor="left bottom"/>
  20. <CheckBox id="bool_mri" position="absolute 225 50 285 65" style="" text="MRI" anchor="left bottom"/>
  21. <CheckBox id="bool_etc" position="absolute 75 71 119 86" style="" text="기타" anchor="left bottom"/>
  22. <CheckBox id="bool_item4" position="absolute 25 152 125 167" style="" text="조직학적 검사" anchor="left bottom"/>
  23. <CheckBox id="bool_item3" position="absolute 25 131 125 146" style="" text="유전학적 검사" anchor="left bottom"/>
  24. <CheckBox id="bool_item2" position="absolute 25 110 237 125" style="" text="특수 생화학적 또는 면역학적 검사" anchor="left bottom"/>
  25. <CheckBox id="bool_item5" position="absolute 25 173 237 188" style="" text="임상적 소견으로 최종 진단 시 기재" anchor="left bottom"/>
  26. <Edit id="ipt_etc1" enable="False" position="absolute 124 69 360 88" style="" anchor="default" onkeydown="ipt_etc1_onkeydown" autoselect="true"/>
  27. <Button id="btn_del" class="btn4" visible="false" position="absolute 210 315 266 337" style="" text="삭제" onclick="btn_del_onclick"/>
  28. <Button id="btn_upt" class="btn4" visible="false" position="absolute 153 315 209 337" style="" text="수정" onclick="btn_upt_onclick"/>
  29. <TextArea id="txt_etc2" position="absolute 45 190 360 240" style="" onkeydown="txt_etc2_onkeydown" autoselect="true" wordwrap="both"/>
  30. <Combo innerdataset="ds_init_P0509" datacolumn="cdnm" codecolumn="cdid" columncount="-1" rowcount="-1" id="com_etc1" position="absolute 75 262 360 281" style="" onitemchanged="com_etc1_onitemchanged"/>
  31. <Static id="caption12" position="absolute 5 53 25 68" style="" text="①"/>
  32. <Static id="caption17" position="absolute 50 87 360 106" style="color:#000000;" text="( 최소 : 한글 3자, 영어 5자 최대 : 한글 20자, 영어 40자 )"/>
  33. <Static id="caption18" position="absolute 41 242 359 257" style="color:#000000ff;font:arial,9,underline;" text="( 최소 : 한글 5자, 영어 10자, 최대 : 한글 40자, 영어 80자 )"/>
  34. <Button id="button1" class="btn4" visible="false" position="absolute 72 315 152 337" style="" text="예외환자" onclick="button1_onclick"/>
  35. <Button id="button2" class="btn4" visible="false" position="absolute 15 315 71 337" style="" text="조회" onclick="button2_onclick"/>
  36. <Static id="caption1" position="absolute 9 28 148 48" style="" text="상병기호/순번/특정코드"/>
  37. <Edit id="input1" position="absolute 150 27 205 46" style="" anchor="default" autoselect="true"/>
  38. <Edit id="input2" position="absolute 209 27 252 46" style="" anchor="default" autoselect="true"/>
  39. <Edit id="input3" position="absolute 255 27 310 46" style="" anchor="default" autoselect="true"/>
  40. <Button id="button3" class="btn5" position="absolute 316 26 358 45" style="" text="help" onclick="button3_onclick"/>
  41. </Layout>
  42. </Layouts>
  43. <Objects>
  44. <Dataset id="ds_main_serdiagappinfo_row" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  45. <ColumnInfo>
  46. <Column id="status" type="STRING" size="256"/>
  47. <Column id="genrdd" type="STRING" size="256"/>
  48. <Column id="genrno" type="STRING" size="256"/>
  49. <Column id="histno" type="STRING" size="256"/>
  50. <Column id="instcd" type="STRING" size="256"/>
  51. <Column id="histcd" type="STRING" size="256"/>
  52. <Column id="pid" type="STRING" size="256"/>
  53. <Column id="anohosprgstflag" type="STRING" size="256"/>
  54. <Column id="genrflagcd" type="STRING" size="256"/>
  55. <Column id="insukind" type="STRING" size="256"/>
  56. <Column id="cncrdiagcnfmdd" type="STRING" size="256"/>
  57. <Column id="orddeptcd" type="STRING" size="256"/>
  58. <Column id="orddrid" type="STRING" size="256"/>
  59. <Column id="serdiagno" type="STRING" size="256"/>
  60. <Column id="serdiagfromdd" type="STRING" size="256"/>
  61. <Column id="serdiagtodd" type="STRING" size="256"/>
  62. <Column id="genrorddd" type="STRING" size="256"/>
  63. <Column id="genrcretno" type="STRING" size="256"/>
  64. <Column id="maindiagcd" type="STRING" size="256"/>
  65. <Column id="ediflag" type="STRING" size="256"/>
  66. <Column id="editretdd" type="STRING" size="256"/>
  67. <Column id="editrettm" type="STRING" size="256"/>
  68. <Column id="pathngnm" type="STRING" size="256"/>
  69. <Column id="dschprcpyn" type="STRING" size="256"/>
  70. <Column id="prcpdd" type="STRING" size="256"/>
  71. <Column id="age" type="STRING" size="256"/>
  72. <Column id="frmsuppkind" type="STRING" size="256"/>
  73. <Column id="rgstkindcd" type="STRING" size="256"/>
  74. <Column id="burnicd10desc" type="STRING" size="256"/>
  75. <Column id="icd10cd" type="STRING" size="256"/>
  76. <Column id="reregyn" type="STRING" size="256"/>
  77. <Column id="regdiagcd" type="STRING" size="256"/>
  78. <Column id="regdiagseq" type="STRING" size="256"/>
  79. </ColumnInfo>
  80. <Rows>
  81. <Row>
  82. <Col id="status"/>
  83. <Col id="genrdd"/>
  84. <Col id="genrno"/>
  85. <Col id="histno"/>
  86. <Col id="instcd"/>
  87. <Col id="histcd"/>
  88. <Col id="pid"/>
  89. <Col id="anohosprgstflag"/>
  90. <Col id="genrflagcd"/>
  91. <Col id="insukind"/>
  92. <Col id="cncrdiagcnfmdd"/>
  93. <Col id="orddeptcd"/>
  94. <Col id="orddrid"/>
  95. <Col id="serdiagno"/>
  96. <Col id="serdiagfromdd"/>
  97. <Col id="serdiagtodd"/>
  98. <Col id="genrorddd"/>
  99. <Col id="genrcretno"/>
  100. <Col id="maindiagcd"/>
  101. <Col id="ediflag"/>
  102. <Col id="editretdd"/>
  103. <Col id="editrettm"/>
  104. <Col id="pathngnm"/>
  105. <Col id="dschprcpyn"/>
  106. <Col id="prcpdd"/>
  107. <Col id="age"/>
  108. <Col id="frmsuppkind"/>
  109. <Col id="rgstkindcd"/>
  110. <Col id="burnicd10desc"/>
  111. <Col id="icd10cd"/>
  112. <Col id="reregyn"/>
  113. <Col id="regdiagcd"/>
  114. <Col id="regdiagseq"/>
  115. </Row>
  116. </Rows>
  117. </Dataset>
  118. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  119. <ColumnInfo>
  120. <Column id="items" type="STRING" size="256"/>
  121. </ColumnInfo>
  122. <Rows>
  123. <Row>
  124. <Col id="items"/>
  125. </Row>
  126. </Rows>
  127. </Dataset>
  128. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  129. <ColumnInfo>
  130. <Column id="orddept" type="STRING" size="256"/>
  131. <Column id="P0008" type="STRING" size="256"/>
  132. <Column id="rgstkindnm" type="STRING" size="256"/>
  133. <Column id="P0509" type="STRING" size="256"/>
  134. </ColumnInfo>
  135. <Rows>
  136. <Row>
  137. <Col id="orddept"/>
  138. </Row>
  139. </Rows>
  140. </Dataset>
  141. <Dataset id="ds_main_serdiagappdetl_row" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  142. <ColumnInfo>
  143. <Column id="diagmthdcd" type="STRING" size="256"/>
  144. <Column id="diagetccnts" type="STRING" size="256"/>
  145. </ColumnInfo>
  146. <Rows>
  147. <Row>
  148. <Col id="diagmthdcd"/>
  149. <Col id="diagetccnts"/>
  150. </Row>
  151. </Rows>
  152. </Dataset>
  153. <Dataset id="ds_main_result" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  154. <ColumnInfo>
  155. <Column id="serdiagappinfo" type="STRING" size="256"/>
  156. <Column id="serdiagyn" type="STRING" size="256"/>
  157. <Column id="serdiagno" type="STRING" size="256"/>
  158. </ColumnInfo>
  159. <Rows>
  160. <Row>
  161. <Col id="serdiagappinfo"/>
  162. <Col id="serdiagyn"/>
  163. <Col id="serdiagno"/>
  164. </Row>
  165. </Rows>
  166. </Dataset>
  167. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  168. <ColumnInfo>
  169. <Column id="rareobstdetllist" type="STRING" size="256"/>
  170. </ColumnInfo>
  171. </Dataset>
  172. <Dataset id="ds_prcpetcinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  173. <ColumnInfo>
  174. <Column id="saveestmspclcs" type="STRING" size="256"/>
  175. <Column id="saveserdiagappfrm" type="STRING" size="256"/>
  176. <Column id="savelglydis" type="STRING" size="256"/>
  177. </ColumnInfo>
  178. <Rows>
  179. <Row>
  180. <Col id="saveestmspclcs"/>
  181. <Col id="saveserdiagappfrm"/>
  182. <Col id="savelglydis"/>
  183. </Row>
  184. </Rows>
  185. </Dataset>
  186. <Dataset id="ds_main_serdiagappinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  187. <ColumnInfo/>
  188. </Dataset>
  189. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  190. <ColumnInfo>
  191. <Column id="hardcdno_5400" type="STRING" size="256"/>
  192. </ColumnInfo>
  193. <Rows>
  194. <Row>
  195. <Col id="hardcdno_5400"/>
  196. </Row>
  197. </Rows>
  198. </Dataset>
  199. <Dataset id="ds_init_serdiagitem" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  200. <ColumnInfo>
  201. <Column id="diagmthdcd" type="STRING" size="256"/>
  202. <Column id="diagetccnts" type="STRING" size="256"/>
  203. </ColumnInfo>
  204. <Rows>
  205. <Row>
  206. <Col id="diagmthdcd"/>
  207. <Col id="diagetccnts"/>
  208. </Row>
  209. </Rows>
  210. </Dataset>
  211. <Dataset id="ds_main_tmp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  212. <ColumnInfo>
  213. <Column id="item1" type="STRING" size="256"/>
  214. <Column id="item2" type="STRING" size="256"/>
  215. <Column id="item3" type="STRING" size="256"/>
  216. <Column id="item4" type="STRING" size="256"/>
  217. <Column id="item5" type="STRING" size="256"/>
  218. <Column id="item6" type="STRING" size="256"/>
  219. </ColumnInfo>
  220. <Rows>
  221. <Row>
  222. <Col id="item1">N</Col>
  223. <Col id="item2">N</Col>
  224. <Col id="item3">N</Col>
  225. <Col id="item4">N</Col>
  226. <Col id="item5">N</Col>
  227. <Col id="item6">N</Col>
  228. </Row>
  229. </Rows>
  230. </Dataset>
  231. <Dataset id="ds_init_mthd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  232. <ColumnInfo>
  233. <Column id="mthdstr" type="STRING" size="256"/>
  234. <Column id="mthd5txt" type="STRING" size="256"/>
  235. <Column id="rgstbasic" type="STRING" size="256"/>
  236. </ColumnInfo>
  237. <Rows>
  238. <Row>
  239. <Col id="mthdstr"/>
  240. <Col id="mthd5txt"/>
  241. <Col id="rgstbasic"/>
  242. </Row>
  243. </Rows>
  244. </Dataset>
  245. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  246. <ColumnInfo>
  247. <Column id="savedata" type="STRING" size="256"/>
  248. <Column id="cond1" type="STRING" size="256"/>
  249. <Column id="cond2" type="STRING" size="256"/>
  250. <Column id="cond3" type="STRING" size="256"/>
  251. <Column id="cond4" type="STRING" size="256"/>
  252. <Column id="cond5" type="STRING" size="256"/>
  253. <Column id="cond6" type="STRING" size="256"/>
  254. <Column id="cond7" type="STRING" size="256"/>
  255. <Column id="cond8" type="STRING" size="256"/>
  256. <Column id="cond9" type="STRING" size="256"/>
  257. <Column id="cond10" type="STRING" size="256"/>
  258. <Column id="cond11" type="STRING" size="256"/>
  259. </ColumnInfo>
  260. <Rows>
  261. <Row>
  262. <Col id="savedata"/>
  263. <Col id="cond1"/>
  264. <Col id="cond2"/>
  265. <Col id="cond3"/>
  266. <Col id="cond4"/>
  267. <Col id="cond5"/>
  268. <Col id="cond6"/>
  269. <Col id="cond7"/>
  270. <Col id="cond8"/>
  271. <Col id="cond9"/>
  272. <Col id="cond10"/>
  273. <Col id="cond11"/>
  274. </Row>
  275. </Rows>
  276. </Dataset>
  277. <Dataset id="ds_hidden2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  278. <ColumnInfo>
  279. <Column id="hidden2" type="STRING" size="256"/>
  280. </ColumnInfo>
  281. </Dataset>
  282. <Dataset id="ds_init_items" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep" oncolumnchanged="ds_init_items_oncolumnchanged">
  283. <ColumnInfo>
  284. <Column id="item1" type="STRING" size="256"/>
  285. <Column id="item2" type="STRING" size="256"/>
  286. <Column id="item3" type="STRING" size="256"/>
  287. <Column id="item4" type="STRING" size="256"/>
  288. <Column id="item5" type="STRING" size="256"/>
  289. <Column id="item6" type="STRING" size="256"/>
  290. <Column id="item7" type="STRING" size="256"/>
  291. <Column id="item8" type="STRING" size="256"/>
  292. <Column id="item9" type="STRING" size="256"/>
  293. <Column id="item10" type="STRING" size="256"/>
  294. <Column id="item11" type="STRING" size="256"/>
  295. <Column id="item12" type="STRING" size="256"/>
  296. <Column id="item13" type="STRING" size="256"/>
  297. <Column id="item14" type="STRING" size="256"/>
  298. <Column id="seq" type="STRING" size="256"/>
  299. <Column id="row" type="STRING" size="256"/>
  300. <Column id="appdiagcd" type="STRING" size="256"/>
  301. <Column id="appdiagseq" type="STRING" size="256"/>
  302. <Column id="appspclcd" type="STRING" size="256"/>
  303. <Column id="genrdd" type="STRING" size="256"/>
  304. <Column id="genrno" type="STRING" size="256"/>
  305. <Column id="histno" type="STRING" size="256"/>
  306. <Column id="instcd" type="STRING" size="256"/>
  307. </ColumnInfo>
  308. <Rows>
  309. <Row>
  310. <Col id="item1"/>
  311. <Col id="item2"/>
  312. <Col id="item3"/>
  313. <Col id="item4"/>
  314. <Col id="item5"/>
  315. <Col id="item6"/>
  316. <Col id="item7"/>
  317. <Col id="item8"/>
  318. <Col id="item9"/>
  319. <Col id="item10"/>
  320. <Col id="item11"/>
  321. <Col id="item12"/>
  322. <Col id="item13"/>
  323. <Col id="item14"/>
  324. <Col id="seq"/>
  325. <Col id="row"/>
  326. <Col id="appdiagcd"/>
  327. <Col id="appdiagseq"/>
  328. <Col id="appspclcd"/>
  329. </Row>
  330. </Rows>
  331. </Dataset>
  332. <Dataset id="ds_init_P0509" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  333. </Objects>
  334. <Bind>
  335. <BindItem id="item0" compid="bool_sono" propid="value" datasetid="ds_init_items" columnid="item2"/>
  336. <BindItem id="item1" compid="bool_ct" propid="value" datasetid="ds_init_items" columnid="item3"/>
  337. <BindItem id="item2" compid="bool_mri" propid="value" datasetid="ds_init_items" columnid="item4"/>
  338. <BindItem id="item3" compid="bool_etc" propid="value" datasetid="ds_init_items" columnid="item5"/>
  339. <BindItem id="item4" compid="bool_item4" propid="value" datasetid="ds_init_items" columnid="item8"/>
  340. <BindItem id="item5" compid="bool_item3" propid="value" datasetid="ds_init_items" columnid="item7"/>
  341. <BindItem id="item6" compid="bool_item2" propid="value" datasetid="ds_init_items" columnid="item6"/>
  342. <BindItem id="item7" compid="bool_item5" propid="value" datasetid="ds_init_items" columnid="item9"/>
  343. <BindItem id="item8" compid="ipt_etc1" propid="value" datasetid="ds_init_items" columnid="item12"/>
  344. <BindItem id="item9" compid="txt_etc2" propid="value" datasetid="ds_init_items" columnid="item13"/>
  345. <BindItem id="item10" compid="com_etc1" propid="value" datasetid="ds_init_items" columnid="item14"/>
  346. <BindItem id="item11" compid="input1" propid="value" datasetid="ds_init_items" columnid="appdiagcd"/>
  347. <BindItem id="item12" compid="input2" propid="value" datasetid="ds_init_items" columnid="appdiagseq"/>
  348. <BindItem id="item13" compid="input3" propid="value" datasetid="ds_init_items" columnid="appspclcd"/>
  349. </Bind>
  350. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  351. * System Name :
  352. * Job Name :
  353. * Creator :
  354. * Make Date :
  355. * Description :
  356. *---------------------------------------------------------------------------------------
  357. * Modify Date Modifier Modify Description
  358. *---------------------------------------------------------------------------------------
  359. * 2015-02-02 Live Converter TF->XP
  360. *
  361. *---------------------------------------------------------------------------------------
  362. ****************************************************************************************/
  363. include "com_commonxp::comm_main.xjs";
  364. include "emr_prcpmngtxp::SMMMO04100.xjs";
  365. include "emr_prcpmngtxp::SMMMO04200.xjs";
  366. include "emr_prcpmngtxp::MMO001.xjs";
  367. //=======================================================================================
  368. // Global Form Variable
  369. //---------------------------------------------------------------------------------------
  370. //=======================================================================================
  371. // Function
  372. //---------------------------------------------------------------------------------------
  373. /****************************************************************************************
  374. * Argument : N/A
  375. * Description : 조회
  376. ****************************************************************************************/
  377. function fSearch() {
  378. var genrdd = opener.frmf_getParameter("SPMMO20001_param_genrdd");
  379. var genrno = opener.frmf_getParameter("SPMMO20001_param_genrno");
  380. var appdiagcd = opener.frmf_getParameter("SPMMO20001_param_appdiagcd");
  381. var appdiagseq = opener.frmf_getParameter("SPMMO20001_param_appdiagseq");
  382. var appspclcd = opener.frmf_getParameter("SPMMO20001_param_appspclcd");
  383. ds_init_items.setColumn(0, "appdiagcd", appdiagcd);
  384. ds_init_items.setColumn(0, "appdiagseq", appdiagseq);
  385. ds_init_items.setColumn(0, "appspclcd", appspclcd);
  386. dsf_createDsRow("ds_send_reqdata", [{col:"genrdd", type:"STRING", size:256, val:genrdd}
  387. , {col:"genrno", type:"INT", size:256, val:genrno}
  388. , {col:"histno", type:"INT", size:256, val:""}]);
  389. dsf_createDs("ds_data_rareobstdetllist");
  390. dsf_createDs("ds_data_rareobstpatdetl");
  391. var oParam = {};
  392. oParam.id = "TRMRD02002";
  393. oParam.service = "dschanalyapp.DschAnaly";
  394. oParam.method = "reqGetRareObstAppDetlList";
  395. oParam.inds = "req=ds_send_reqdata";
  396. oParam.outds = "ds_data_rareobstdetllist=rareobstdetllist ds_data_rareobstpatdetl=rareobstpatdetl";
  397. oParam.async = false;
  398. tranf_submit(oParam);
  399. ds_init_items.enableevent = false;
  400. ds_init_items.setColumn(0, "item2", ds_data_rareobstdetllist.lookup("cdid", "01", "chkflag"));//sono
  401. ds_init_items.setColumn(0, "item3", ds_data_rareobstdetllist.lookup("cdid", "02", "chkflag"));//ct
  402. ds_init_items.setColumn(0, "item4", ds_data_rareobstdetllist.lookup("cdid", "03", "chkflag"));//mri
  403. ds_init_items.setColumn(0, "item5", ds_data_rareobstdetllist.lookup("cdid", "04", "chkflag"));//기타
  404. ds_init_items.setColumn(0, "item6", ds_data_rareobstdetllist.lookup("cdid", "05", "chkflag"));//특수
  405. ds_init_items.setColumn(0, "item7", ds_data_rareobstdetllist.lookup("cdid", "06", "chkflag"));//유전
  406. ds_init_items.setColumn(0, "item8", ds_data_rareobstdetllist.lookup("cdid", "07", "chkflag"));//조직
  407. ds_init_items.setColumn(0, "item9", ds_data_rareobstdetllist.lookup("cdid", "08", "chkflag"));//임상소견
  408. ds_init_items.setColumn(0, "item12", utlf_transNullToEmpty(ds_data_rareobstdetllist.lookup("cdid", "04", "diagetccnts")));//기타
  409. ds_init_items.setColumn(0, "item13", utlf_transNullToEmpty(ds_data_rareobstdetllist.lookup("cdid", "08", "diagetccnts")));//임상소견내용
  410. ds_init_items.setColumn(0, "item14", utlf_transNullToEmpty(ds_data_rareobstdetllist.lookup("cdid", "09", "gitacd")));//기타검사
  411. if( ds_init_items.getColumn(0, "item5") == "false" ){
  412. ipt_etc1.enable = false;
  413. }
  414. if( ds_init_items.getColumn(0, "item9") == "false" ){
  415. txt_etc2.enable = false;
  416. }
  417. ds_init_items.enableevent = true;
  418. }
  419. /****************************************************************************************
  420. * Argument : N/A
  421. * Description :
  422. ****************************************************************************************/
  423. function fSetSerDiagItem(boolvalue, itemcd, itemcnts) {
  424. if (boolvalue == "true" || boolvalue == true) {
  425. ds_init_serdiagitem.setColumn(0, "diagmthdcd", itemcd);
  426. ds_init_serdiagitem.setColumn(0, "diagetccnts", itemcnts);
  427. ds_main_serdiagappdetl_row.appendData(ds_init_serdiagitem, true, false);
  428. } else {
  429. var nFindRow = ds_main_serdiagappdetl_row.findRow("diagmthdcd", itemcd);
  430. if( nFindRow > -1 ){
  431. ds_main_serdiagappdetl_row.deleteRow(nFindRow);
  432. }
  433. }
  434. }
  435. //=======================================================================================
  436. // Event
  437. //---------------------------------------------------------------------------------------
  438. /****************************************************************************************
  439. * Components : Form
  440. * Components ID : SPMMO20001
  441. * Event : onload
  442. * Argument : 01.obj : Object Event has occurred
  443. * : 02.e : Event Object
  444. * Description : 화면 초기화
  445. ****************************************************************************************/
  446. function SPMMO20001_onload(obj:Form, e:LoadEventInfo) {
  447. frmf_initForm(obj);
  448. appf_getCodeList([{dsNm: "ds_init_P0509", cdGrpId: "P0509"}]);
  449. frmf_addComboItem( "com_etc1", " 선 택 ", "", "init" ); //6번 기타 검사 항목
  450. fSearch();
  451. }
  452. /****************************************************************************************
  453. * Components : Button
  454. * Components ID : btn_save
  455. * Event : onclick
  456. * Argument : 01.obj : Object Event has occurred
  457. * : 02.e : Event Object
  458. * Description : 저장 버튼 이벤트
  459. ****************************************************************************************/
  460. function btn_save_onclick(obj:Button, e:ClickEventInfo) {
  461. var genrdd = opener.frmf_getParameter("SPMMO20001_param_genrdd");
  462. var genrno = opener.frmf_getParameter("SPMMO20001_param_genrno");
  463. ds_init_items.setColumn(0, "genrdd",genrdd);
  464. ds_init_items.setColumn(0, "genrno",genrno);
  465. var oParam = {};
  466. oParam.id = "TXMRD02006";
  467. oParam.service = "dschanalyapp.DschAnaly";
  468. oParam.method = "reqExeSaveRodm";
  469. oParam.inds = "req=ds_init_items";
  470. oParam.outds = "";
  471. oParam.async = false;
  472. tranf_submit(oParam);
  473. }
  474. /****************************************************************************************
  475. * Components : Button
  476. * Components ID : btn_exit
  477. * Event : onclick
  478. * Argument : 01.obj : Object Event has occurred
  479. * : 02.e : Event Object
  480. * Description : 종료 버튼 이벤트
  481. ****************************************************************************************/
  482. function btn_exit_onclick(obj:Button, e:ClickEventInfo) {
  483. this.close();
  484. }
  485. /****************************************************************************************
  486. * Components : Edit
  487. * Components ID : ipt_etc1
  488. * Event : onkeydown
  489. * Argument : 01.obj : Object Event has occurred
  490. * : 02.e : Event Object
  491. * Description : 영상검사 기타
  492. ****************************************************************************************/
  493. function ipt_etc1_onkeydown(obj:Edit, e:KeyEventInfo) {
  494. if ( e.keycode != 8 && e.keycode != 46 && e.keycode != 35 && e.keycode != 36
  495. && e.keycode != 16 && e.keycode != 17
  496. && !(e.keycode >= 37 && e.keycode <= 40) ) { // 백스페이스, delete,화살표, home, end 키는 이벤트제외.
  497. var yy1 = utlf_transNullToEmpty(obj.text);
  498. var xx1 = 0;
  499. for(var i=0; i < yy1.length; i++) { (yy1.charCodeAt(i) > 255) ? xx1 += 2 : xx1 += 1; }
  500. if ( xx1 > 40) {
  501. sysf_messageBox("최대 한글 20자, 영어 40자 까지만 입력할 수 있습니다.", "I");
  502. return;
  503. }
  504. }
  505. }
  506. /****************************************************************************************
  507. * Components : Button
  508. * Components ID : btn_del
  509. * Event : onclick
  510. * Argument : 01.obj : Object Event has occurred
  511. * : 02.e : Event Object
  512. * Description : 삭제 이벤트(사용안함)
  513. ****************************************************************************************/
  514. function btn_del_onclick(obj:Button, e:ClickEventInfo) {
  515. var a = sysf_getUserInfo("dutplcecd");
  516. var b = sysf_getUserInfo("jobkindcd");
  517. var c = sysf_getUserInfo("jobposcd");
  518. if((model.getValue("/root/main/serdiagappinfo/row/orddeptcd") == getUserInfo("dutplcecd")) && (getUserInfo("jobkindcd") == "0330") && (getUserInfo("jobposcd") != "1799")){ // 0330 : 의사
  519. submit("TRMMO12203");
  520. if((model.getValue("/root/main/result/serdiagyn/histcd") == "O") && (model.getValue("/root/main/result/serdiagyn/prntyn") == "N") && (model.getValue("/root/main/result/serdiagyn/rareobstno") == "-")){
  521. if(submit("TXMMO12204")){
  522. messageBox("해당환자의 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서가 삭제","I001");
  523. btn_del.visible = false;
  524. model.close();
  525. }else{
  526. messageBox("해당환자의 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서 삭제를 ","E009");
  527. window.close();
  528. }
  529. model.refresh();
  530. }else{
  531. messageBox("해당환자의 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서를 삭제 ","E001");
  532. window.close();
  533. }
  534. }else{
  535. messageBox("삭제할 수 있는 ","E002");
  536. btn_save.visible = false; //저장
  537. btn_del.visible = false; //삭제
  538. btn_upt.visible = false; //수정
  539. window.close();
  540. }
  541. }
  542. /****************************************************************************************
  543. * Components : Button
  544. * Components ID : btn_upt
  545. * Event : onclick
  546. * Argument : 01.obj : Object Event has occurred
  547. * : 02.e : Event Object
  548. * Description : 수정 이벤트(사용안함)
  549. ****************************************************************************************/
  550. function btn_upt_onclick(obj:Button, e:ClickEventInfo) {
  551. if ( getNodesetCount("/root/main/serdiagappdetl/row") == 1 ) {
  552. messageBox("최종진단방법은 1개 이상", "C002");
  553. return;
  554. }
  555. var row = model.getValue ( "/root/init/items/row" );
  556. if ( !isNull(row)) {
  557. var test1 = model.getValue("/root/hidden/items[" + row + "]/test1");
  558. var test2 = model.getValue("/root/hidden/items[" + row + "]/test2");
  559. var test3 = model.getValue("/root/hidden/items[" + row + "]/test3");
  560. var test4 = model.getValue("/root/hidden/items[" + row + "]/test4");
  561. var test5 = model.getValue("/root/hidden/items[" + row + "]/test5");
  562. var test6 = model.getValue("/root/hidden/items[" + row + "]/test6");
  563. if (test1 =="Y" ) {
  564. if ( model.getValue("/root/init/items/item2") !="true"
  565. && model.getValue("/root/init/items/item3") !="true"
  566. && model.getValue("/root/init/items/item4") !="true"
  567. && model.getValue("/root/init/items/item5") !="true" ){
  568. messageBox("1번 영상검사 항목중 하나를 반드시 선택 하셔야 합니다.", "I003");
  569. return;
  570. }
  571. }
  572. if (test2 =="Y" ) {
  573. if ( model.getValue("/root/init/items/item6") !="true"){
  574. messageBox("2번 특수 생화학적 또는 면역학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  575. return;
  576. }
  577. }
  578. if (test3 =="Y" ) {
  579. if ( model.getValue("/root/init/items/item7") !="true"){
  580. messageBox("3번 유전학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  581. return;
  582. }
  583. }
  584. if (test4 =="Y" ) {
  585. if ( model.getValue("/root/init/items/item8") !="true"){
  586. messageBox("4번 조직학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  587. return;
  588. }
  589. }
  590. if (test5 =="Y" ) {
  591. if ( model.getValue("/root/init/items/item9") !="true"){
  592. messageBox("5번 임상적 소견을 반드시 선택 하셔야 합니다.", "I003");
  593. return;
  594. }
  595. }
  596. if (!isNull(test6)) {
  597. if (model.getValue("/root/init/items/item14") == ""){
  598. messageBox("6번 기타검사을 반드시 선택 하셔야 합니다.", "I003");
  599. return;
  600. }
  601. if(test6 != model.getValue("/root/init/items/item14")) {
  602. messageBox("선택된 6번 기타검사의 항목이 등록기준 및 필수검사 항목과 서로 틀립니다.", "I003");
  603. return;
  604. }
  605. }
  606. }
  607. var yy1 = ipt_etc1.value;
  608. var yy2 = txt_etc2.value;
  609. var xx1 = 0;
  610. for(var i=0; i < yy1.length; i++) { (yy1.charCodeAt(i) > 255) ? xx1 += 2 : xx1 += 1; }
  611. var xx2 = 0;
  612. for(var i=0; i < yy2.length; i++) { (yy2.charCodeAt(i) > 255) ? xx2 += 2 : xx2 += 1; }
  613. if (bool_etc.value == "true") {
  614. if (ipt_etc1.value == "" ) {
  615. messageBox("1번의 기타항목을 선택하였으므로 해당 내용을","C001");
  616. return;
  617. } else if ( xx1 < 5 || xx1 > 40 ) {
  618. messageBox("1번 기타항목의 내용은 최소 : 한글 3자, 영어 5자 최대 : 한글 20자, 영어 40자 까지 입니다.","I");
  619. return;
  620. }
  621. model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='04']/diagetccnts", ipt_etc1.value );
  622. }
  623. if (bool_item5.value == "true") {
  624. if ( txt_etc2.value == "" ) {
  625. messageBox("5번 항목을 선택하였으므로 해당 내용을","C001");
  626. return;
  627. } else if ( xx2 < 10 || xx2 > 80 ) {
  628. messageBox("5번 기타항목의 내용은 최소 : 한글 5자, 영어 10자 최대 : 한글 40자, 영어 80자 까지 입니다.","I");
  629. return;
  630. }
  631. model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='08']/diagetccnts", txt_etc2.value );
  632. }
  633. copyNodeListType("/root/send/savedata", "/root/main/serdiagappinfo", "replace");
  634. copyNodeListType("/root/send/savedata", "/root/main/serdiagappdetl", "after");
  635. if((model.getValue("/root/main/serdiagappinfo/row/orddeptcd") == getUserInfo("dutplcecd")) && (getUserInfo("jobkindcd") == "0330") && (getUserInfo("jobposcd") != "1799")){ // 0330 : 의사, 1799 : 인턴
  636. submit("TRMMO12203");
  637. if((model.getValue("/root/main/result/serdiagyn/histcd") == "O") && (model.getValue("/root/main/result/serdiagyn/prntyn") == "N") && (model.getValue("/root/main/result/serdiagyn/rareobstno") == "-")){
  638. if(submit("TXMMO12205")){
  639. messageBox("해당환자의 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서가 수정","I001");
  640. btn_del.visible = false;
  641. btn_upt.visible = false;
  642. }else{
  643. messageBox("해당환자의 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서 수정을 ","E009");
  644. }
  645. model.refresh();
  646. }else{
  647. messageBox("해당환자의 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서를 수정 ","E001");
  648. }
  649. }else{
  650. messageBox("수정할 수 있는 ","E002");
  651. btn_save.visible = false; //저장
  652. btn_del.visible = false; //삭제
  653. btn_upt.visible = false; //수정
  654. }
  655. }
  656. /****************************************************************************************
  657. * Components : TextArea
  658. * Components ID : txt_etc2
  659. * Event : onkeydown
  660. * Argument : 01.obj : Object Event has occurred
  661. * : 02.e : Event Object
  662. * Description : 임상적소견으로 최종진단 시 기재 기타 입력란
  663. ****************************************************************************************/
  664. function txt_etc2_onkeydown(obj:TextArea, e:KeyEventInfo) {
  665. if ( e.keycode != 8 && e.keycode != 46 && e.keycode != 35 && e.keycode != 36
  666. && e.keycode != 16 && e.keycode != 17
  667. && !(e.keycode >= 37 && e.keycode <= 40) ) { // 백스페이스, delete,화살표, home, end 키는 이벤트제외.
  668. var yy1 = utlf_transNullToEmpty(txt_etc2.text);
  669. var xx1 = 0;
  670. for(var i=0; i < yy1.length; i++) { (yy1.charCodeAt(i) > 255) ? xx1 += 2 : xx1 += 1; }
  671. if ( xx1 > 80) {
  672. sysf_messageBox("최대 한글 40자, 영어 80자 까지만 입력할 수 있습니다.", "I");
  673. return;
  674. }
  675. }
  676. }
  677. /****************************************************************************************
  678. * Components : Combo
  679. * Components ID : com_etc1
  680. * Event : onitemchanged
  681. * Argument : 01.obj : Object Event has occurred
  682. * : 02.e : Event Object
  683. * Description : 기타검사 콤보
  684. ****************************************************************************************/
  685. function com_etc1_onitemchanged(obj:Combo, e:ItemChangeEventInfo) {
  686. fSetSerDiagItem("false", "09", "");
  687. ds_main_tmp.setColumn(0, "item6", "N");
  688. if(!utlf_isNull(ds_init_items.getColumn(0, "item14"))){
  689. fSetSerDiagItem("true", "09", com_etc1.value);
  690. ds_main_tmp.setColumn(0, "item6","Y");
  691. }
  692. }
  693. /****************************************************************************************
  694. * Components : Button
  695. * Components ID : button1
  696. * Event : onclick
  697. * Argument : 01.obj : Object Event has occurred
  698. * : 02.e : Event Object
  699. * Description : 예외환자 버튼(사용안함)
  700. ****************************************************************************************/
  701. function button1_onclick(obj:Button, e:ClickEventInfo) {
  702. frmf_modal ("SPMMO09500", "SPMMO09500", null, null, null, null, null, null, null, null, null, null, "M");
  703. }
  704. /****************************************************************************************
  705. * Components : Button
  706. * Components ID : button2
  707. * Event : onclick
  708. * Argument : 01.obj : Object Event has occurred
  709. * : 02.e : Event Object
  710. * Description : 조회 버튼(사용안함)
  711. ****************************************************************************************/
  712. function button2_onclick(obj:Button, e:ClickEventInfo) {
  713. if ( getNodesetCount("/root/main/serdiagappdetl/row") == 1 ) {
  714. messageBox("최종진단방법은 1개 이상", "C002");
  715. return;
  716. }
  717. var row = model.getValue ( "/root/init/items/row" );
  718. if ( !isNull(row)) {
  719. var test1 = model.getValue("/root/hidden/items[" + row + "]/test1");
  720. var test2 = model.getValue("/root/hidden/items[" + row + "]/test2");
  721. var test3 = model.getValue("/root/hidden/items[" + row + "]/test3");
  722. var test4 = model.getValue("/root/hidden/items[" + row + "]/test4");
  723. var test5 = model.getValue("/root/hidden/items[" + row + "]/test5");
  724. var test6 = model.getValue("/root/hidden/items[" + row + "]/test6");
  725. if (test1 =="Y" ) {
  726. if ( model.getValue("/root/init/items/item2") !="true"
  727. && model.getValue("/root/init/items/item3") !="true"
  728. && model.getValue("/root/init/items/item4") !="true"
  729. && model.getValue("/root/init/items/item5") !="true" ){
  730. messageBox("1번 영상검사 항목중 하나를 반드시 선택 하셔야 합니다.", "I003");
  731. return;
  732. }
  733. }
  734. if (test2 =="Y" ) {
  735. if ( model.getValue("/root/init/items/item6") !="true"){
  736. messageBox("2번 특수 생화학적 또는 면역학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  737. return;
  738. }
  739. }
  740. if (test3 =="Y" ) {
  741. if ( model.getValue("/root/init/items/item7") !="true"){
  742. messageBox("3번 유전학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  743. return;
  744. }
  745. }
  746. if (test4 =="Y" ) {
  747. if ( model.getValue("/root/init/items/item8") !="true"){
  748. messageBox("4번 조직학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  749. return;
  750. }
  751. }
  752. if (test5 =="Y" ) {
  753. if ( model.getValue("/root/init/items/item9") !="true"){
  754. messageBox("5번 임상적 소견을 반드시 선택 하셔야 합니다.", "I003");
  755. return;
  756. }
  757. }
  758. if (!isNull(test6)) {
  759. if (model.getValue("/root/init/items/item14") == ""){
  760. messageBox("6번 기타검사을 반드시 선택 하셔야 합니다.", "I003");
  761. return;
  762. }
  763. if(test6 != model.getValue("/root/init/items/item14")) {
  764. messageBox("선택된 6번 기타검사의 항목이 등록기준 및 필수검사 항목과 서로 틀립니다.", "I003");
  765. return;
  766. }
  767. }
  768. }
  769. var yy1 = ipt_etc1.value;
  770. var yy2 = txt_etc2.value;
  771. var xx1 = 0;
  772. for(var i=0; i < yy1.length; i++) { (yy1.charCodeAt(i) > 255) ? xx1 += 2 : xx1 += 1; }
  773. var xx2 = 0;
  774. for(var i=0; i < yy2.length; i++) { (yy2.charCodeAt(i) > 255) ? xx2 += 2 : xx2 += 1; }
  775. if (bool_etc.value == "true") {
  776. if (ipt_etc1.value == "" ) {
  777. messageBox("1번의 기타항목을 선택하였으므로 해당 내용을","C001");
  778. return;
  779. } else if ( xx1 < 5 || xx1 > 40 ) {
  780. messageBox("1번 기타항목의 내용은 최소 : 한글 3자, 영어 5자 최대 : 한글 20자, 영어 40자 까지 입니다.","I");
  781. return;
  782. }
  783. model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='04']/diagetccnts", ipt_etc1.value );
  784. }
  785. if (bool_item5.value == "true") {
  786. if ( txt_etc2.value == "" ) {
  787. messageBox("5번 항목을 선택하였으므로 해당 내용을","C001");
  788. return;
  789. } else if ( xx2 < 10 || xx2 > 80 ) {
  790. messageBox("5번 기타항목의 내용은 최소 : 한글 5자, 영어 10자 최대 : 한글 40자, 영어 80자 까지 입니다.","I");
  791. return;
  792. }
  793. model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='08']/diagetccnts", txt_etc2.value );
  794. }
  795. copyNodeListType("/root/send/savedata", "/root/main/serdiagappinfo", "replace");
  796. copyNodeListType("/root/send/savedata", "/root/main/serdiagappdetl", "after");
  797. if((model.getValue("/root/main/serdiagappinfo/row/orddeptcd") == getUserInfo("dutplcecd")) && (getUserInfo("jobkindcd") == "0330") && (getUserInfo("jobposcd") != "1799")){ // 0330 : 의사, 1799 : 인턴
  798. submit("TRMMO12203");
  799. if((model.getValue("/root/main/result/serdiagyn/histcd") == "O") && (model.getValue("/root/main/result/serdiagyn/prntyn") == "N") && (model.getValue("/root/main/result/serdiagyn/rareobstno") == "-")){
  800. if(submit("TXMMO12205")){
  801. messageBox("해당환자의 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서가 수정","I001");
  802. btn_del.visible = false;
  803. btn_upt.visible = false;
  804. }else{
  805. messageBox("해당환자의 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서 수정을 ","E009");
  806. }
  807. model.refresh();
  808. }else{
  809. messageBox("해당환자의 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서를 수정 ","E001");
  810. }
  811. }else{
  812. messageBox("수정할 수 있는 ","E002");
  813. btn_save.visible = false; //저장
  814. btn_del.visible = false; //삭제
  815. btn_upt.visible = false; //수정
  816. }
  817. }
  818. /****************************************************************************************
  819. * Components : Button
  820. * Components ID : button3
  821. * Event : onclick
  822. * Argument : 01.obj : Object Event has occurred
  823. * : 02.e : Event Object
  824. * Description : Help 버튼
  825. ****************************************************************************************/
  826. function button3_onclick(obj:Button, e:ClickEventInfo) {
  827. frmf_open("SMPIB03000", "SMPIB03000", null, null, null, null, null, null, null, null, null, null, "M");
  828. }
  829. /****************************************************************************************
  830. * Components : Dataset
  831. * Components ID : ds_init_items
  832. * Event : oncolumnchanged
  833. * Argument : 01.obj : Object Event has occurred
  834. * : 02.e : Event Object
  835. * Description : value-change event
  836. ****************************************************************************************/
  837. function ds_init_items_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  838. {
  839. if( e.columnid == "item2" ){
  840. fSetSerDiagItem(e.newvalue, "01", "");
  841. if ( ds_init_items.getColumn(0, "item2") == "true"
  842. || ds_init_items.getColumn(0, "item3") == "true"
  843. || ds_init_items.getColumn(0, "item4") == "true"
  844. || ds_init_items.getColumn(0, "item5") == "true" ){
  845. ds_main_tmp.setColumn(0, "item1", "Y");
  846. } else {
  847. ds_main_tmp.setColumn(0, "item1", "N");
  848. }
  849. }else if( e.columnid == "item3" ){
  850. fSetSerDiagItem(e.newvalue, "02", "");
  851. if ( ds_init_items.getColumn(0, "item2") == "true"
  852. || ds_init_items.getColumn(0, "item3") == "true"
  853. || ds_init_items.getColumn(0, "item4") == "true"
  854. || ds_init_items.getColumn(0, "item5") == "true" ){
  855. ds_main_tmp.setColumn(0, "item1", "Y");
  856. } else {
  857. ds_main_tmp.setColumn(0, "item1", "N");
  858. }
  859. }else if( e.columnid == "item4" ){
  860. fSetSerDiagItem(e.newvalue, "03", "");
  861. if ( ds_init_items.getColumn(0, "item2") == "true"
  862. || ds_init_items.getColumn(0, "item3") == "true"
  863. || ds_init_items.getColumn(0, "item4") == "true"
  864. || ds_init_items.getColumn(0, "item5") == "true" ){
  865. ds_main_tmp.setColumn(0, "item1", "Y");
  866. } else {
  867. ds_main_tmp.setColumn(0, "item1", "N");
  868. }
  869. }else if( e.columnid == "item5" ){
  870. if (e.newvalue == "true") {
  871. ipt_etc1.enable = true;
  872. if (utlf_isNull(ipt_etc1.value)) {
  873. sysf_messageBox("기타항목을 선택하였으므로 해당 내용을","C001");
  874. }
  875. } else {
  876. var nFindRow = ds_main_serdiagappdetl_row.findRow("diagmthdcd", "04");
  877. if( nFindRow > -1 ){
  878. ds_main_serdiagappdetl_row.deleteRow(nFindRow);
  879. }
  880. ds_init_items.setColumn(0, "item12", "");
  881. ipt_etc1.enable = false;
  882. }
  883. if ( ds_init_items.getColumn(0, "item2") == "true"
  884. || ds_init_items.getColumn(0, "item3") == "true"
  885. || ds_init_items.getColumn(0, "item4") == "true"
  886. || ds_init_items.getColumn(0, "item5") == "true" ){
  887. ds_main_tmp.setColumn(0, "item1", "Y");
  888. } else {
  889. ds_main_tmp.setColumn(0, "item1", "N");
  890. }
  891. }else if( e.columnid == "item12" ){
  892. var nFindRow = ds_main_serdiagappdetl_row.findRow("diagmthdcd", "04");
  893. if( nFindRow > -1 ){
  894. ds_main_serdiagappdetl_row.deleteRow(nFindRow);
  895. }
  896. if( !utlf_isNull(ds_init_items.getColumn(0, "item12")) ){
  897. fSetSerDiagItem(bool_etc.value, "04", e.newvalue);
  898. }
  899. }else if( e.columnid == "item6" ){
  900. fSetSerDiagItem(e.newvalue, "05", "");
  901. if(ds_init_items.getColumn(0, "item6") == "true"){
  902. ds_main_tmp.setColumn(0, "item2","Y");
  903. } else {
  904. ds_main_tmp.setColumn(0, "item2","N");
  905. }
  906. }else if( e.columnid == "item7" ){
  907. fSetSerDiagItem(e.newvalue, "06", "");
  908. if(ds_init_items.getColumn(0, "item7") == "true"){
  909. ds_main_tmp.setColumn(0, "item3","Y");
  910. } else {
  911. ds_main_tmp.setColumn(0, "item3","N");
  912. }
  913. }else if( e.columnid == "item8" ){
  914. fSetSerDiagItem(e.newvalue, "07", "");
  915. if (ds_init_items.getColumn(0, "item8") == "true"){
  916. ds_main_tmp.setColumn(0, "item4","Y");
  917. } else {
  918. ds_main_tmp.setColumn(0, "item4","N");
  919. }
  920. }else if( e.columnid == "item9" ){
  921. fSetSerDiagItem(e.newvalue, "08", "");
  922. if (e.newvalue == "true") {
  923. txt_etc2.enable = true;
  924. if (utlf_isNull(txt_etc2.value) ) {
  925. sysf_messageBox("⑤번 항목을 선택하였으므로 해당 내용을","C001");
  926. }
  927. } else {
  928. var nFindRow = ds_main_serdiagappdetl_row.findRow("diagmthdcd", "08");
  929. if( nFindRow > -1 ){
  930. ds_main_serdiagappdetl_row.deleteRow(nFindRow);
  931. }
  932. ds_init_items.setColumn(0, "item13", "");
  933. txt_etc2.enable = false;
  934. }
  935. if (ds_init_items.getColumn(0, "item9") == "true"){
  936. ds_main_tmp.setColumn(0, "item5","Y");
  937. }else {
  938. ds_main_tmp.setColumn(0, "item5","N");
  939. }
  940. }else if( e.columnid == "item13" ){
  941. var nFindRow = ds_main_serdiagappdetl_row.findRow("diagmthdcd", "08");
  942. if( nFindRow > -1 ){
  943. ds_main_serdiagappdetl_row.deleteRow(nFindRow);
  944. }
  945. if( !utlf_isNull(ds_init_items.getColumn(0, "item13")) ){
  946. fSetSerDiagItem(bool_item5.value, "08", e.newvalue);
  947. }
  948. }
  949. }
  950. ]]></Script>
  951. </Form>
  952. </FDL>