SMMRI08000_의무기록열람신청및조회.xfdl 113 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMRI08000" position="absolute 0 0 1195 775" titletext="의무기록 열람신청 및 조회" oninit="SMMRI08000_oninit" onload="SMMRI08000_onload">
  5. <Layouts>
  6. <Layout>
  7. <Button id="btn_readapp" taborder="5" text="열람신청 및 의무기록 열람 (건별)" class="btn_tab" onclick="btn_readapp_onclick" style="font:Dotum,8,bold;" anchor="default" position="absolute 0 30 220 52" positiontype="position"/>
  8. <Button id="btn_readexe" taborder="6" text="열람신청 내역 조회 및 의무기록 열람 (그룹별)" class="btn_tab" style="font:Dotum,8,bold;" onclick="btn_readexe_onclick" anchor="default" position="absolute 220 30 495 52" positiontype="position"/>
  9. <Button id="button2" taborder="4" text="파일" class="btn4" visible="false" position="absolute 500 55 556 77" onclick="button2_onclick"/>
  10. <Static text="의무기록 열람신청 및 조회" position="absolute 0 0 199 25" id="caption6" class="tit_1"/>
  11. <Shape position="absolute 0 26 1195 32" linetype="horizontal" id="line17" class="line_1" visible="false"/>
  12. <Div position="absolute 0 52 581 122" id="roundrect3" class="div_SA2" type="roundrectangle" anchor="left top right"/>
  13. <Button position="absolute 514 61 570 83" taborder="3" id="btn_srch" class="btn1" text="조회" onclick="btn_srch_onclick"/>
  14. <Static text="처리구분 :" position="absolute 26 90 112 107" id="caption1" class="search_name" style="font:굴림체,9,bold;"/>
  15. <Static text="신 청 과 :" position="absolute 26 62 114 79" id="caption21" class="search_name" style="font:굴림체,9,bold;"/>
  16. <Combo position="absolute 116 90 226 109" id="cmb_acptstatus" class="combo_search" innerdataset="@ds_init_acptstatusinfo" datacolumn="cdnm" codecolumn="cdid"/>
  17. <Static text="신 청 자 :" position="absolute 252 62 345 79" id="caption3" class="search_name" visible="true" style="font:굴림체,9,bold;"/>
  18. <Combo position="absolute 342 62 437 81" id="cmb_appid" enable="false" taborder="3" visible="true" innerdataset="ds_init_cmb_appid" datacolumn="usernm" codecolumn="userid"/>
  19. <Combo position="absolute 116 62 227 81" id="cmb_appdeptcd" enable="false" taborder="2" innerdataset="ds_init_cmb_appdeptcd" datacolumn="depthngnm" codecolumn="deptcd"/>
  20. <Shape position="absolute 491 59 497 81" linetype="vertical" id="line18" class="line_4"/>
  21. <Grid position="absolute 0 127 580 775" id="grd_readapplist" class="datagrid2" binddataset="ds_grd_readapplist" oncellclick="grd_readapplist_oncellclick" cellsizingtype="col" anchor="all">
  22. <Formats>
  23. <Format id="default">
  24. <Columns>
  25. <Column size="20" band="left"/>
  26. <Column size="69"/>
  27. <Column size="34"/>
  28. <Column size="40"/>
  29. <Column size="81"/>
  30. <Column size="66"/>
  31. <Column size="121"/>
  32. <Column size="0"/>
  33. <Column size="107"/>
  34. <Column size="112"/>
  35. <Column size="54"/>
  36. <Column size="75"/>
  37. <Column size="79"/>
  38. <Column size="0"/>
  39. <Column size="100"/>
  40. <Column size="0"/>
  41. <Column size="0"/>
  42. <Column size="0"/>
  43. <Column size="0"/>
  44. <Column size="100"/>
  45. <Column size="0"/>
  46. <Column size="110"/>
  47. </Columns>
  48. <Rows>
  49. <Row size="26" band="head"/>
  50. <Row size="24"/>
  51. </Rows>
  52. <Band id="head">
  53. <Cell celltype="none"/>
  54. <Cell col="1" text="신청번호"/>
  55. <Cell col="2" text="순번"/>
  56. <Cell col="3" text="종이&#10;차트"/>
  57. <Cell col="4" text="신청일"/>
  58. <Cell col="5" text="신청자"/>
  59. <Cell col="6" text="직종"/>
  60. <Cell col="7" text="열람목적코드"/>
  61. <Cell col="8" text="열람목적"/>
  62. <Cell col="9" text="주제"/>
  63. <Cell col="10" text="처리"/>
  64. <Cell col="11" text="열람희망일"/>
  65. <Cell col="12" text="열람종료일"/>
  66. <Cell col="13" text="서약서"/>
  67. <Cell col="14" text="연락처"/>
  68. <Cell col="15" text="연락처"/>
  69. <Cell col="16" text="histstat"/>
  70. <Cell col="17" text="신청상태"/>
  71. <Cell col="18" text="출력여부"/>
  72. <Cell col="19" text="신청과"/>
  73. <Cell col="20" text="appid"/>
  74. <Cell col="21" text="문서번호"/>
  75. </Band>
  76. <Band id="body">
  77. <Cell celltype="head" text="expr:currow + 1"/>
  78. <Cell col="1" text="bind:appno"/>
  79. <Cell col="2" text="bind:histno"/>
  80. <Cell col="3" displaytype="normal" edittype="none" text="bind:pappyn"/>
  81. <Cell col="4" text="bind:appdd" mask="expr:utlf_isNull(appdd) ? '' : '####-##-##'"/>
  82. <Cell col="5" text="bind:appnm"/>
  83. <Cell col="6" text="bind:jobkindnm"/>
  84. <Cell col="7" text="bind:apptype"/>
  85. <Cell col="8" displaytype="normal" edittype="none" style="align:left top;padding:3 0 0 3;" text="bind:apptypenm" wordwrap="char" combodisplay="edit"/>
  86. <Cell col="9" style="align:left top;padding:3 0 0 3;" text="bind:appdetail" wordwrap="char"/>
  87. <Cell col="10" displaytype="combo" edittype="none" text="bind:acptstatus" combodataset="ds_init_acptstatusinfo" combocodecol="cdid" combodatacol="cdnm"/>
  88. <Cell col="11" text="bind:appreadfromdd" mask="expr:utlf_isNull(appreadfromdd) ? '' : '####-##-##' "/>
  89. <Cell col="12" text="bind:appreadtodd" mask="expr:utlf_isNull(appreadtodd) ? '' : '####-##-##'"/>
  90. <Cell col="13" text="bind:pledgeflag"/>
  91. <Cell col="14" style="align:left;" text="bind:apptel"/>
  92. <Cell col="15" style="align:left;"/>
  93. <Cell col="16" text="bind:histstat"/>
  94. <Cell col="17" text="bind:histstatnm"/>
  95. <Cell col="18" text="bind:prntyn"/>
  96. <Cell col="19" text="bind:appdeptcd"/>
  97. <Cell col="20" displaytype="combo" edittype="none" style="align:center middle;" text="bind:appid" combodataset="ds_init_cmb_appid" combocodecol="userid" combodatacol="usernm"/>
  98. <Cell col="21" text="bind:docmtno"/>
  99. </Band>
  100. </Format>
  101. </Formats>
  102. </Grid>
  103. <Tab position="absolute 590 36 1195 775" id="swh_app" class="sw_no_border" style="buttonbackground:stretch 0,0;background:stretch 10,23;border:1 none #808080ff ;" anchor="top right bottom" tabindex="0">
  104. <Tabpages>
  105. <Tabpage text="" position="absolute 0 0 600 735" id="readapp">
  106. <Layouts>
  107. <Layout width="605" height="720">
  108. <Button position="absolute 260 700 400 722" id="btn_pledgeprnt" class="btn4" visible="false" text="열람서약서 재출력" onclick="swh_app_readapp_btn_pledgeprnt_onclick" anchor="right bottom"/>
  109. <Div position="absolute 7 0 594 122" align="align:center top;" id="grp_applist" class="div_SA" anchor="left top">
  110. <Layouts>
  111. <Layout>
  112. <Static text="신 청 일 :" position="absolute 12 9 115 26" id="caption8" class="search_name" anchor="default" style="font:굴림,9,bold;"/>
  113. <Edit readonly="true" position="absolute 360 9 475 28" id="output4" class="output" anchor="default"/>
  114. <Static text="신 청 번 호 :" position="absolute 251 10 352 27" id="caption9" class="search_name" anchor="default" style="font:굴림,9,bold;"/>
  115. <Static text="신 청 과 :" position="absolute 12 32 115 49" id="caption10" class="search_name" anchor="default" style="font:굴림,9,bold;"/>
  116. <Static text="신 청 자 :" position="absolute 251 32 354 48" id="caption11" class="search_name" anchor="default" style="font:굴림,9,bold;"/>
  117. <Static text="연 락 처 :" position="absolute 12 54 115 71" id="caption12" class="search_name" anchor="default" style="font:굴림,9,bold;"/>
  118. <Edit position="absolute 117 53 233 72" id="ipt_usernm" class="input_essential" anchor="default" autoselect="true"/>
  119. <Static text="열 람 목 적 :" position="absolute 251 54 352 71" id="caption13" class="search_name" anchor="default" style="font:굴림,9,bold;"/>
  120. <Combo position="absolute 360 53 476 72" id="cmb_resn" class="input_essential" innerdataset="ds_init_cmb_resn" datacolumn="rsnnm" codecolumn="rsncd" anchor="default" onitemchanged="swh_app_readapp_grp_applist_cmb_resn_onitemchanged" style="padding:0 0 0 5;"/>
  121. <Static text="주 제 :" position="absolute 12 75 117 92" id="caption14" class="search_name" anchor="default" style="font:굴림,9,bold;"/>
  122. <Edit position="absolute 117 75 568 94" id="ipt_appdetail" class="input_search" enable="false" anchor="default" autoselect="true"/>
  123. <Static text="열람희망기간 :" position="absolute 12 98 122 116" id="caption15" class="search_name" anchor="default" style="font:굴림,9,bold;"/>
  124. <Calendar position="absolute 117 97 233 116" id="ipt_appreadfromdd" class="input_essential" anchor="default" onchanged="swh_app_readapp_grp_applist_ipt_appreadfromdd_onchanged" dateformat="yyyy-MM-dd" value="null" autoselect="true"/>
  125. <MaskEdit readonly="true" position="absolute 117 9 232 28" id="opt_appdd" class="output" mask="####-##-##" anchor="default" displaynulltext=" " type="string" style="align:center middle;"/>
  126. <MaskEdit readonly="true" position="absolute 246 97 362 116" id="ipt_appreadtodd" mask="####-##-##" anchor="default" displaynulltext=" " type="string" style="background:URL('theme://images/bg_edit_D.png') stretch 5,5;border:2 solid red #f0fdfcff;align:center middle;"/>
  127. <Edit readonly="true" position="absolute 117 31 232 50" id="out_appdeptcd" anchor="default" autoselect="true"/>
  128. <Edit readonly="true" position="absolute 360 31 475 50" id="out_appid" anchor="default" autoselect="true"/>
  129. <Static id="caption16" text="~" visible="true" position="absolute 235 98 246 115" style="font:굴림체,10;"/>
  130. <Static id="caption00" text="문서번호 :" class="search_name" position="absolute 378 99 461 116" style="font:굴림체,9,bold;"/>
  131. <Edit id="ipt_docnum" taborder="1" autoselect="true" position="absolute 455 97 568 116" style="selectcolor:black;color:black;font:arial,9;"/>
  132. </Layout>
  133. </Layouts>
  134. </Div>
  135. <Button position="absolute 217 700 333 722" id="btn_excelupload" class="btn4" visible="true" text="Excel Upload" onclick="swh_app_readapp_btn_excelupload_onclick" anchor="right bottom"/>
  136. <Button position="absolute 450 185 590 207" id="button4" class="btn4" visible="false" text="Excel Download" onclick="swh_app_readapp_button4_onclick"/>
  137. <Button position="absolute 469 700 537 722" id="btn_resave" class="btn4" enable="false" text="재신청" onclick="swh_app_readapp_btn_resave_onclick" anchor="right bottom"/>
  138. <Div position="absolute 7 127 594 214" align="align:center top;" id="grp_applist2" class="div_SA2" anchor="left top">
  139. <Layouts>
  140. <Layout>
  141. <Static text="등록번호 :" position="absolute 11 7 109 24" id="caption17" class="search_name" anchor="default" style="font:굴림체,9,bold;"/>
  142. <Static text="수 진 과 :" position="absolute 11 45 109 62" id="caption19" class="search_name" anchor="default" style="font:굴림체,9,bold;"/>
  143. <Edit position="absolute 234 5 349 24" id="ipt_pid" class="input_search" onkeydown="swh_app_readapp_grp_applist2_ipt_pid_onkeydown" anchor="default" autoselect="true"/>
  144. <Button position="absolute 352 7 368 23" id="btn_srchpid" class="icon_search" text="" onclick="swh_app_readapp_grp_applist2_btn_srchpid_onclick" anchor="default"/>
  145. <Grid position="absolute 115 30 505 80" id="grd_orddeptlist" class="datagrid0" binddataset="ds_grd_orddeptlist" oncelldblclick="swh_app_readapp_grp_applist2_grd_orddeptlist_oncelldblclick" selecttype="multiarea" anchor="default">
  146. <Formats>
  147. <Format id="default">
  148. <Columns>
  149. <Column size="53"/>
  150. <Column size="53"/>
  151. <Column size="53"/>
  152. <Column size="53"/>
  153. <Column size="53"/>
  154. <Column size="53"/>
  155. <Column size="53"/>
  156. </Columns>
  157. <Rows>
  158. <Row size="0" band="head"/>
  159. <Row size="22"/>
  160. </Rows>
  161. <Band id="head">
  162. <Cell text="1"/>
  163. <Cell col="1" text="2"/>
  164. <Cell col="2" text="3"/>
  165. <Cell col="3" text="4"/>
  166. <Cell col="4" text="5"/>
  167. <Cell col="5" text="6"/>
  168. <Cell col="6" text="7"/>
  169. </Band>
  170. <Band id="body">
  171. <Cell text="bind:dept1"/>
  172. <Cell col="1" text="bind:dept2"/>
  173. <Cell col="2" text="bind:dept3"/>
  174. <Cell col="3" text="bind:dept4"/>
  175. <Cell col="4" text="bind:dept5"/>
  176. <Cell col="5" text="bind:dept6"/>
  177. <Cell col="6" text="bind:dept7"/>
  178. </Band>
  179. </Format>
  180. </Formats>
  181. </Grid>
  182. <Button position="absolute 511 30 567 52" id="button1" class="btn4" visible="false" text="추가" onclick="swh_app_readapp_grp_applist2_button1_onclick" anchor="default"/>
  183. <Edit position="absolute 115 5 231 24" id="input1" class="input_search" onkeydown="swh_app_readapp_grp_applist2_input1_onkeydown" anchor="default" autoselect="true"/>
  184. <Button position="absolute 400 5 445 25" id="btn_reqpatnm" enable="false" text="" onclick="swh_app_readapp_grp_applist2_btn_reqpatnm_onclick" visible="false" anchor="default"/>
  185. <Button position="absolute 445 5 490 25" id="btn_patsrch" enable="false" text="" onclick="swh_app_readapp_grp_applist2_btn_patsrch_onclick" visible="false" anchor="default"/>
  186. </Layout>
  187. </Layouts>
  188. </Div>
  189. <Button position="absolute 538 700 594 722" id="btn_save" class="btn4" text="신청" onclick="swh_app_readapp_btn_save_onclick" anchor="right bottom"/>
  190. <Grid position="absolute 7 225 594 695" align="align:left middle;" id="grd_apppatlist" visible="true" binddataset="ds_grd_apppatlist" oncellclick="swh_app_readapp_grd_apppatlist_oncellclick" selecttype="multirow" cellsizingtype="col" scrollpixel="all" anchor="all" cellclickbound="cell" autoenter="select" rtldirection="inherit" style="border:1 solid #33bbbbff,0 solid #b0b0b0ff,1 solid #b0b0b0ff,0 solid #b0b0b0ff;">
  191. <Formats>
  192. <Format id="default">
  193. <Columns>
  194. <Column size="25" band="left"/>
  195. <Column size="25" band="left"/>
  196. <Column size="56" band="left"/>
  197. <Column size="56" band="left"/>
  198. <Column size="53" band="left"/>
  199. <Column size="183"/>
  200. <Column size="87"/>
  201. <Column size="36"/>
  202. <Column size="41"/>
  203. <Column size="0"/>
  204. <Column size="0"/>
  205. <Column size="0"/>
  206. <Column size="50"/>
  207. <Column size="0"/>
  208. </Columns>
  209. <Rows>
  210. <Row size="24" band="head"/>
  211. <Row size="24"/>
  212. </Rows>
  213. <Band id="head">
  214. <Cell/>
  215. <Cell col="1" displaytype="checkbox" edittype="checkbox"/>
  216. <Cell col="2" text="등록번호"/>
  217. <Cell col="3" text="성명"/>
  218. <Cell col="4" text="진료과"/>
  219. <Cell col="5" text="사유"/>
  220. <Cell col="6" text="처리내용"/>
  221. <Cell col="7" style="background:red;color:black;font:Arial Narrow,9,bold;" text="열람"/>
  222. <Cell col="8" text="출력"/>
  223. <Cell col="9" colspan="2" text="종이차트(사유입력)"/>
  224. <Cell col="11" text="출력"/>
  225. <Cell col="12" text="순번"/>
  226. <Cell col="13" text="orddeptcd"/>
  227. </Band>
  228. <Band id="body">
  229. <Cell celltype="head"/>
  230. <Cell col="1" displaytype="checkbox" edittype="checkbox" style="background:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));background2:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));" text="bind:chk"/>
  231. <Cell col="2" style="align:left middle;background:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));background2:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));" text="bind:pid"/>
  232. <Cell col="3" style="align:left middle;background:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));background2:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));" text="bind:pnm"/>
  233. <Cell col="4" edittype="none" style="align:left middle;background:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));background2:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));" text="bind:orddeptnm"/>
  234. <Cell col="5" displaytype="text" edittype="textarea" style="align:left middle;background:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));background2:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));" text="bind:appdetail" wordwrap="char"/>
  235. <Cell col="6" style="align:left middle;background:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));background2:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));" text="bind:acptcontents"/>
  236. <Cell col="7" style="background:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;center&quot;));background2:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;center&quot;));font:Arial Narrow,9,bold;cursor:hand;selectbackground:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;center&quot;, &quot;select&quot;));backgroundimage:EXPR(acptstatus == '02' ? 'theme://images\\icon_list4_N.png' : '');" text="bind:search"/>
  237. <Cell col="8" displaytype="combo" edittype="combo" style="align:left middle;background:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));background2:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));" text="bind:prntstatus" combodataset="ds_init_prntstatusinfo" combocodecol="cdid" combodatacol="cdnm"/>
  238. <Cell col="9" displaytype="checkbox" edittype="checkbox" style="background:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;center&quot;));background2:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;center&quot;));" text="bind:pappyn"/>
  239. <Cell col="10" displaytype="text" edittype="text" style="align:left middle;background:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));background2:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));" text="bind:pappdetail"/>
  240. <Cell col="11" displaytype="none" edittype="none" style="background:EXPR(fSetRowStyle(orddeptnm, acptstatus, 'left'));background2:EXPR(fSetRowStyle(orddeptnm, acptstatus, 'left'));" text="bind:appseqno"/>
  241. <Cell col="12" style="align:left middle;background:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));background2:EXPR(fSetRowStyle(orddeptnm, acptstatus, &quot;left&quot;));" text="bind:orddeptcd"/>
  242. <Cell col="13" text="bind:acptstatus"/>
  243. </Band>
  244. </Format>
  245. </Formats>
  246. </Grid>
  247. <Shape position="absolute 7 220 594 226" linetype="horizontal" id="line3" class="line_10" anchor="left top right"/>
  248. <Button position="absolute 412 700 468 722" id="btn_del" class="btn4" text="삭제" onclick="swh_app_readapp_btn_del_onclick" anchor="right bottom"/>
  249. <Div position="absolute 260 535 528 649" id="grup_appreadfromdd" visible="false" class="div_Layer">
  250. <Layouts>
  251. <Layout>
  252. <Static text="열람희망일을 입력 해 주세요." position="absolute 9 10 210 24" id="caption24" class="tit_3" anchor="default"/>
  253. <Button position="absolute 157 91 210 111" id="button56" class="btn2" text="확 인" anchor="default" onclick="swh_app_readapp_grup_appreadfromdd_button56_onclick"/>
  254. <Button position="absolute 212 91 265 111" id="button57" class="btn2" text="취 소" anchor="default" onclick="swh_app_readapp_grup_appreadfromdd_button57_onclick"/>
  255. <Static text="열람희망일" position="absolute 10 44 87 67" align="align:center middle;" id="caption50" class="cell_1" anchor="default"/>
  256. <Static text="* 연장신청은 열람희망일만 변경 가능합니다" position="absolute 10 71 250 85" id="caption41" anchor="default"/>
  257. <Calendar position="absolute 95 45 210 64" id="input4" class="input_s_searcd" anchor="default" onchanged="swh_app_readapp_grup_appreadfromdd_input4_onchanged"/>
  258. </Layout>
  259. </Layouts>
  260. </Div>
  261. <Button position="absolute 495 9 575 31" id="btn_new" class="btn4" text="신규입력" onclick="swh_app_readapp_btn_new_onclick"/>
  262. <Edit readonly="true" position="absolute 9 700 34 719" id="output1" style="background:#ff0000ff 0,0;" anchor="left bottom"/>
  263. <Static text="접근제한부서(사유입력 필수)" position="absolute 39 702 239 720" id="caption2" anchor="left bottom"/>
  264. <Div id="grup_appdetail" taborder="1" class="div_Layer" visible="false" position="absolute 260 535 528 649">
  265. <Layouts>
  266. <Layout>
  267. <Static id="caption24" text="일괄 사유 입력" class="tit_3" position="absolute 9 10 125 24" anchor="default"/>
  268. <Button id="confirm" taborder="1" text="확 인" class="btn2" position="absolute 153 91 206 111" anchor="default" onclick="swh_app_readapp_grup_appdetail_confirm_onclick"/>
  269. <Button id="cancel" taborder="2" text="취 소" class="btn2" position="absolute 208 91 261 111" anchor="default" onclick="swh_app_readapp_grup_appdetail_cancel_onclick"/>
  270. <Static id="caption50" text="사유" class="cell_1" position="absolute 7 44 58 85" anchor="default"/>
  271. <TextArea id="txa_appdetail" taborder="3" position="absolute 60 44 261 85" autoselect="true" anchor="default"/>
  272. </Layout>
  273. </Layouts>
  274. </Div>
  275. <Button id="btn_multiappdetail" taborder="2" text="사유입력" class="btn4" position="absolute 334 700 411 722" anchor="right bottom" onclick="swh_app_readapp_btn_multiappdetail_onclick"/>
  276. </Layout>
  277. </Layouts>
  278. </Tabpage>
  279. <Tabpage text="" id="readexe">
  280. <Layouts>
  281. <Layout>
  282. <Grid position="absolute 6 0 597 713" id="grd_readpatlist" binddataset="ds_grd_readpatlist" oncellclick="swh_app_readexe_grd_readpatlist_oncellclick" cellsizingtype="col" anchor="all">
  283. <Formats>
  284. <Format id="default">
  285. <Columns>
  286. <Column size="20" band="left"/>
  287. <Column size="100"/>
  288. <Column size="100"/>
  289. <Column size="0"/>
  290. <Column size="0"/>
  291. <Column size="0"/>
  292. <Column size="370"/>
  293. </Columns>
  294. <Rows>
  295. <Row size="24" band="head"/>
  296. <Row size="24"/>
  297. </Rows>
  298. <Band id="head">
  299. <Cell celltype="none"/>
  300. <Cell col="1" text="등록번호"/>
  301. <Cell col="2" text="성명"/>
  302. <Cell col="3" text="진료과"/>
  303. <Cell col="4" text="처리"/>
  304. <Cell col="5" text="처리내용"/>
  305. <Cell col="6" text="열람"/>
  306. </Band>
  307. <Band id="body">
  308. <Cell celltype="head" text="expr:currow + 1"/>
  309. <Cell col="1" style="align:left;" text="bind:pid"/>
  310. <Cell col="2" text="bind:pnm"/>
  311. <Cell col="3" text="bind:orddeptnm"/>
  312. <Cell col="4" displaytype="combo" edittype="none" text="bind:acptstatus" combodataset="ds_init_grd_acptstatus" combocodecol="value" combodatacol="label"/>
  313. <Cell col="5" text="bind:acptcontents"/>
  314. <Cell col="6" style="background:EXPR(acptstatus == '02' ? 'center middle' : '');background2:EXPR(acptstatus == '02' ? 'center middle' : '');cursor:hand;selectbackground:EXPR(acptstatus == '02' ? 'center middle' : '');backgroundimage:EXPR(acptstatus == '02' ? 'theme://images\\icon_list_N.png' : '');" text="bind:search"/>
  315. </Band>
  316. </Format>
  317. </Formats>
  318. </Grid>
  319. </Layout>
  320. </Layouts>
  321. </Tabpage>
  322. <Tabpage text="" id="readdetail">
  323. <Layouts>
  324. <Layout>
  325. <Grid position="absolute 6 0 597 713" id="grd_readdpatlist" binddataset="ds_grd_readdpatlist" anchor="all">
  326. <Formats>
  327. <Format id="default">
  328. <Columns>
  329. <Column size="100"/>
  330. <Column size="100"/>
  331. <Column size="100"/>
  332. <Column size="43"/>
  333. <Column size="168"/>
  334. <Column size="37"/>
  335. </Columns>
  336. <Rows>
  337. <Row size="24" band="head"/>
  338. <Row size="24"/>
  339. </Rows>
  340. <Band id="head">
  341. <Cell text="등록번호"/>
  342. <Cell col="1" text="성명"/>
  343. <Cell col="2" text="진료과"/>
  344. <Cell col="3" text="처리"/>
  345. <Cell col="4" text="처리내용"/>
  346. <Cell col="5" text="열람"/>
  347. </Band>
  348. <Band id="body">
  349. <Cell text="bind:pid"/>
  350. <Cell col="1" text="bind:pnm"/>
  351. <Cell col="2" text="bind:orddeptnm"/>
  352. <Cell col="3" displaytype="combo" edittype="combo" text="bind:acptstatus" combodataset="ds_init_grd_acptstatus" combocodecol="value" combodatacol="label"/>
  353. <Cell col="4" text="bind:acptcontents"/>
  354. <Cell col="5" style="cursor:hand;" text="bind:search"/>
  355. </Band>
  356. </Format>
  357. </Formats>
  358. </Grid>
  359. </Layout>
  360. </Layouts>
  361. </Tabpage>
  362. </Tabpages>
  363. </Tab>
  364. <Div position="absolute 248 88 570 113" id="appdd" visible="true">
  365. <Layouts>
  366. <Layout>
  367. <Static text="신 청 일 :" position="absolute 3 2 96 19" id="caption4" class="search_name" anchor="default" style="font:굴림체,9,bold;"/>
  368. <Static text="~" position="absolute 204 2 219 22" align="align:center middle;" id="caption5" anchor="default"/>
  369. <Calendar position="absolute 216 2 322 21" id="input18" class="input_essential" anchor="default" autoskip="true" autoselect="true"/>
  370. <Calendar position="absolute 93 2 199 21" id="ipt_formrecdtfr" class="input_essential" anchor="default" autoskip="true" autoselect="true"/>
  371. </Layout>
  372. </Layouts>
  373. </Div>
  374. <Div position="absolute 248 88 570 113" id="appreaddd" visible="false" style="font:굴림체,9;">
  375. <Layouts>
  376. <Layout>
  377. <Static text="열람희망일 :" position="absolute 3 2 102 19" id="caption22" class="search_name" anchor="default" style="font:굴림체,9,bold;"/>
  378. <Static text="~" position="absolute 204 2 224 22" align="align:center middle;" id="caption23" anchor="default"/>
  379. <Calendar position="absolute 216 2 322 21" id="input2" class="input_essential" anchor="default" autoskip="true" autoselect="true"/>
  380. <Calendar position="absolute 93 2 199 21" id="input3" class="input_essential" anchor="default" autoskip="true" autoselect="true"/>
  381. </Layout>
  382. </Layouts>
  383. </Div>
  384. <Grid position="absolute 25 210 265 360" id="grd_pid" visible="false" binddataset="ds_grd_pid">
  385. <Formats>
  386. <Format id="default">
  387. <Columns>
  388. <Column size="100"/>
  389. <Column size="100"/>
  390. </Columns>
  391. <Rows>
  392. <Row size="24" band="head"/>
  393. <Row size="24"/>
  394. </Rows>
  395. <Band id="head">
  396. <Cell text="pid"/>
  397. <Cell col="1" text="pnm"/>
  398. </Band>
  399. <Band id="body">
  400. <Cell text="bind:pid"/>
  401. <Cell col="1" text="bind:pnm"/>
  402. </Band>
  403. </Format>
  404. </Formats>
  405. </Grid>
  406. <Shape position="absolute 0 122 580 128" linetype="horizontal" id="line1" class="line_10" anchor="left top right"/>
  407. <Div id="Div00" taborder="7" position="absolute 590 29 665 50" anchor="top right"/>
  408. </Layout>
  409. </Layouts>
  410. <Objects>
  411. <Dataset id="ds_init_cmb_acptstatus" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  412. <ColumnInfo>
  413. <Column id="cdnm" type="STRING"/>
  414. <Column id="cdid" type="STRING"/>
  415. </ColumnInfo>
  416. </Dataset>
  417. <Dataset id="ds_init_cmb_appid" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  418. <ColumnInfo>
  419. <Column id="usernm" type="STRING"/>
  420. <Column id="userid" type="STRING"/>
  421. </ColumnInfo>
  422. </Dataset>
  423. <Dataset id="ds_init_cmb_appdeptcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  424. <ColumnInfo>
  425. <Column id="deptcd" type="STRING" size="256" sumtext="열람신청과코드"/>
  426. <Column id="depthngnm" type="STRING" size="256" sumtext="열람신청과명"/>
  427. </ColumnInfo>
  428. </Dataset>
  429. <Dataset id="ds_grd_readapplist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" onrowposchanged="ds_grd_readapplist_onrowposchanged">
  430. <ColumnInfo>
  431. <Column id="appno" type="STRING" size="256" sumtext="신청번호"/>
  432. <Column id="histno" type="STRING" size="256" sumtext="이력번호"/>
  433. <Column id="pappyn" type="STRING" size="256" sumtext="종이챠트신청여부"/>
  434. <Column id="appdd" type="STRING" size="256" sumtext="신청일자"/>
  435. <Column id="apptype" type="STRING" size="256" sumtext="목적"/>
  436. <Column id="appdetail" type="STRING" size="256" sumtext="주제"/>
  437. <Column id="acptstatus" type="STRING" size="256" sumtext="처리구분"/>
  438. <Column id="appreadfromdd" type="STRING" size="256" sumtext="열람희망일"/>
  439. <Column id="appreadtodd" type="STRING" size="256" sumtext="열람종료일"/>
  440. <Column id="pledgeflag" type="STRING" size="256" sumtext="서약서상태(default:n,,출력:p,전자인증:e"/>
  441. <Column id="apptel" type="STRING" size="256" sumtext="연락처"/>
  442. <Column id="histstat" type="STRING" size="256" sumtext="이력상태"/>
  443. <Column id="histstatnm" type="STRING" size="256" sumtext="이력상태"/>
  444. <Column id="prntyn" type="STRING" size="256" sumtext="출력여부"/>
  445. <Column id="appdeptcd" type="STRING" size="256" sumtext="신청과"/>
  446. <Column id="appid" type="STRING" size="256" sumtext="신청자"/>
  447. <Column id="appnm" type="STRING" size="256" sumtext="신청자명"/>
  448. <Column id="pledgeclick" type="STRING" size="256" sumtext="서약서출력"/>
  449. <Column id="pledgepath" type="STRING" size="256" sumtext="서약서스캔이미지경로,서약서인증일시"/>
  450. <Column id="pappdetail" type="STRING" size="256" sumtext="종이챠트신청상세"/>
  451. <Column id="appnmid" type="STRING" size="256" sumtext="신청자명id"/>
  452. <Column id="jobkindnm" type="STRING" size="256" sumtext="직종명"/>
  453. <Column id="jobkindcd" type="STRING" size="256" sumtext="직종코드"/>
  454. <Column id="docmtno" type="STRING" size="256"/>
  455. </ColumnInfo>
  456. </Dataset>
  457. <Dataset id="ds_init_cmb_resn" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  458. <ColumnInfo>
  459. <Column id="rsncd" type="STRING" size="256" sumtext="사유코드"/>
  460. <Column id="rsnnm" type="STRING" size="256" sumtext="사유명"/>
  461. <Column id="jobkind" type="STRING" size="256" sumtext="직종"/>
  462. <Column id="deptcd" type="STRING" size="256" sumtext="부서코드"/>
  463. <Column id="readterm" type="STRING" size="256" sumtext="열람기간"/>
  464. </ColumnInfo>
  465. </Dataset>
  466. <Dataset id="ds_grd_orddeptlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  467. <ColumnInfo>
  468. <Column id="dept1" type="STRING"/>
  469. <Column id="dept2" type="STRING"/>
  470. <Column id="dept3" type="STRING"/>
  471. <Column id="dept4" type="STRING"/>
  472. <Column id="dept5" type="STRING"/>
  473. <Column id="dept6" type="STRING"/>
  474. <Column id="dept7" type="STRING"/>
  475. </ColumnInfo>
  476. </Dataset>
  477. <Dataset id="ds_grd_apppatlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_grd_apppatlist_oncolumnchanged" onrowposchanged="ds_grd_apppatlist_onrowposchanged">
  478. <ColumnInfo>
  479. <Column id="m" type="STRING" size="256"/>
  480. <Column id="chk" type="STRING" size="256" sumtext="사유입력 Check"/>
  481. <Column id="pid" type="STRING" size="256" sumtext="환자번호"/>
  482. <Column id="pnm" type="STRING" size="256" sumtext="환자이름"/>
  483. <Column id="orddeptnm" type="STRING" size="256" sumtext="진료과"/>
  484. <Column id="appdetail" type="STRING" size="256" sumtext="신청사유"/>
  485. <Column id="acptcontents" type="STRING" size="256" sumtext="처리내용"/>
  486. <Column id="search" type="STRING" size="256" sumtext="조회"/>
  487. <Column id="prntstatus" type="STRING" size="256" sumtext="출력상태"/>
  488. <Column id="pappyn" type="STRING"/>
  489. <Column id="pappdetail" type="STRING"/>
  490. <Column id="appseqno" type="STRING" size="256" sumtext="신청번호,이력번호별로생성되는번호"/>
  491. <Column id="apper" type="STRING" size="256" sumtext="신청자"/>
  492. <Column id="appdt" type="STRING" size="256" sumtext="신청일시"/>
  493. <Column id="acpter" type="STRING" size="256" sumtext="승인자"/>
  494. <Column id="acptdt" type="STRING" size="256" sumtext="승인일시"/>
  495. <Column id="orddeptcd" type="STRING"/>
  496. <Column id="acptstatus" type="STRING" size="256" sumtext="처리상태"/>
  497. <Column id="appno" type="STRING" size="256" sumtext="신청번호"/>
  498. <Column id="histno" type="STRING" size="256" sumtext="이력일련번호"/>
  499. <Column id="acpt02" type="STRING" size="256" sumtext="상태(승인)"/>
  500. <Column id="acpt04" type="STRING" size="256" sumtext="상태(불가)"/>
  501. <Column id="acpt05" type="STRING" size="256" sumtext="상태(보류)"/>
  502. </ColumnInfo>
  503. </Dataset>
  504. <Dataset id="ds_grd_readpatlist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" onrowposchanged="ds_grd_readpatlist_onrowposchanged">
  505. <ColumnInfo>
  506. <Column id="pid" type="STRING" size="256" sumtext="환자번호"/>
  507. <Column id="pnm" type="STRING" size="256" sumtext="환자이름"/>
  508. <Column id="orddeptnm" type="STRING" size="256" sumtext="진료과"/>
  509. <Column id="acptstatus" type="STRING" size="256" sumtext="처리상태"/>
  510. <Column id="acptcontents" type="STRING" size="256" sumtext="처리내용"/>
  511. <Column id="search" type="STRING" size="256" sumtext="조회"/>
  512. <Column id="appdetail" type="STRING" size="256" sumtext="신청사유"/>
  513. <Column id="prntstatus" type="STRING" size="256" sumtext="출력상태"/>
  514. <Column id="pappyn" type="STRING"/>
  515. <Column id="pappdetail" type="STRING"/>
  516. <Column id="appseqno" type="STRING" size="256" sumtext="신청번호,이력번호별로생성되는번호"/>
  517. <Column id="orddeptcd" type="STRING"/>
  518. <Column id="appno" type="STRING" size="256" sumtext="신청번호"/>
  519. <Column id="histno" type="STRING" size="256" sumtext="이력일련번호"/>
  520. <Column id="acpt02" type="STRING" size="256" sumtext="상태(승인)"/>
  521. <Column id="acpt04" type="STRING" size="256" sumtext="상태(불가)"/>
  522. <Column id="acpt05" type="STRING" size="256" sumtext="상태(보류)"/>
  523. <Column id="apper" type="STRING" size="256" sumtext="신청자"/>
  524. <Column id="appdt" type="STRING" size="256" sumtext="신청일시"/>
  525. <Column id="acpter" type="STRING" size="256" sumtext="승인자"/>
  526. <Column id="acptdt" type="STRING" size="256" sumtext="승인일시"/>
  527. </ColumnInfo>
  528. </Dataset>
  529. <Dataset id="ds_grd_readdpatlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" onrowposchanged="ds_grd_readdpatlist_onrowposchanged">
  530. <ColumnInfo>
  531. <Column id="pid" type="STRING"/>
  532. <Column id="pnm" type="STRING"/>
  533. <Column id="orddeptnm" type="STRING"/>
  534. <Column id="acptstatus" type="STRING"/>
  535. <Column id="acptcontents" type="STRING"/>
  536. <Column id="search" type="STRING"/>
  537. </ColumnInfo>
  538. </Dataset>
  539. <Dataset id="ds_grd_pid" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  540. <ColumnInfo>
  541. <Column id="pid" type="STRING"/>
  542. <Column id="pnm" type="STRING"/>
  543. </ColumnInfo>
  544. </Dataset>
  545. <Dataset id="ds_send_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  546. <ColumnInfo>
  547. <Column id="appdeptcd" type="STRING" size="256" sumtext="신청과"/>
  548. <Column id="appid" type="STRING" size="256" sumtext="신청자"/>
  549. <Column id="acptstatus" type="STRING" size="256" sumtext="처리구분"/>
  550. <Column id="appfromdd" type="STRING" size="256" sumtext="신청시작일"/>
  551. <Column id="apptodd" type="STRING" size="256" sumtext="신청종료일"/>
  552. <Column id="appreadfromdd" type="STRING" size="256" sumtext="열람희망시작일"/>
  553. <Column id="appreadtodd" type="STRING" size="256" sumtext="열람희망종료일"/>
  554. <Column id="pappyn" type="STRING" size="256" sumtext="종이챠트신청여부"/>
  555. <Column id="pid" type="STRING" size="256" sumtext="환자번호"/>
  556. <Column id="appno" type="STRING" size="256" sumtext="신청번호"/>
  557. <Column id="histno" type="STRING" size="256" sumtext="이력상태"/>
  558. <Column id="trgtno" type="INT" size="256" sumtext="팝업대상부서대상코드"/>
  559. <Column id="exno" type="INT" size="256" sumtext="팝업제외부서대상코드"/>
  560. <Column id="histstat" type="STRING" size="256" sumtext="이력상태"/>
  561. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  562. </ColumnInfo>
  563. <Rows>
  564. <Row>
  565. <Col id="acptstatus">-</Col>
  566. <Col id="appdeptcd"/>
  567. <Col id="appid"/>
  568. <Col id="appfromdd"/>
  569. <Col id="apptodd"/>
  570. <Col id="appreadfromdd"/>
  571. <Col id="appreadtodd"/>
  572. <Col id="pid"/>
  573. <Col id="appno"/>
  574. <Col id="trgtno"/>
  575. <Col id="exno"/>
  576. <Col id="pappyn"/>
  577. <Col id="histno"/>
  578. <Col id="histstat"/>
  579. <Col id="instcd"/>
  580. </Row>
  581. </Rows>
  582. </Dataset>
  583. <Dataset id="ds_init_acptstatusinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  584. <ColumnInfo>
  585. <Column id="cdnm" type="STRING" size="256"/>
  586. <Column id="cdid" type="STRING" size="256"/>
  587. </ColumnInfo>
  588. <Rows>
  589. <Row>
  590. <Col id="cdnm">전체</Col>
  591. <Col id="cdid">-</Col>
  592. </Row>
  593. <Row>
  594. <Col id="cdnm">신청</Col>
  595. <Col id="cdid">01</Col>
  596. </Row>
  597. <Row>
  598. <Col id="cdnm">승인</Col>
  599. <Col id="cdid">02</Col>
  600. </Row>
  601. <Row>
  602. <Col id="cdnm">부분승인</Col>
  603. <Col id="cdid">03</Col>
  604. </Row>
  605. <Row>
  606. <Col id="cdnm">불가</Col>
  607. <Col id="cdid">04</Col>
  608. </Row>
  609. <Row>
  610. <Col id="cdnm">보류</Col>
  611. <Col id="cdid">05</Col>
  612. </Row>
  613. </Rows>
  614. </Dataset>
  615. <Dataset id="ds_init_orddept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  616. <ColumnInfo>
  617. <Column id="depthngnm" type="STRING" size="256"/>
  618. <Column id="deptcd" type="STRING" size="256"/>
  619. </ColumnInfo>
  620. </Dataset>
  621. <Dataset id="_TEMP_ds_init_userlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  622. <ColumnInfo>
  623. <Column id="usernm" type="STRING" size="256"/>
  624. <Column id="userid" type="STRING" size="256"/>
  625. </ColumnInfo>
  626. </Dataset>
  627. <Dataset id="ds_main_readappinfo_detail_applist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  628. <ColumnInfo>
  629. <Column id="appdd" type="STRING" size="256"/>
  630. <Column id="appno" type="STRING" size="256"/>
  631. <Column id="appdeptcd" type="STRING" size="256"/>
  632. <Column id="appid" type="STRING" size="256"/>
  633. <Column id="apptel" type="STRING" size="256"/>
  634. <Column id="apptype" type="STRING" size="256"/>
  635. <Column id="appdetail" type="STRING" size="256"/>
  636. <Column id="appreadfromdd" type="STRING" size="256"/>
  637. <Column id="appreadtodd" type="STRING" size="256"/>
  638. <Column id="prntyn" type="STRING" size="256"/>
  639. <Column id="pappyn" type="STRING" size="256"/>
  640. <Column id="pappdetail" type="STRING" size="256"/>
  641. <Column id="appnmid" type="STRING" size="256" sumtext="신청자명id"/>
  642. <Column id="jobkindnm" type="STRING" size="256" sumtext="직종명"/>
  643. <Column id="jobkindcd" type="STRING" size="256" sumtext="직종코드"/>
  644. <Column id="docmtno" type="STRING" size="256" sumtext="문서번호"/>
  645. </ColumnInfo>
  646. <Rows>
  647. <Row>
  648. <Col id="appdd"/>
  649. <Col id="appno"/>
  650. <Col id="appdeptcd"/>
  651. <Col id="appid"/>
  652. <Col id="apptel"/>
  653. <Col id="apptype"/>
  654. <Col id="appdetail"/>
  655. <Col id="appreadfromdd"/>
  656. <Col id="appreadtodd"/>
  657. <Col id="prntyn"/>
  658. <Col id="pappyn"/>
  659. <Col id="pappdetail"/>
  660. <Col id="appnmid"/>
  661. <Col id="jobkindnm"/>
  662. <Col id="jobkindcd"/>
  663. </Row>
  664. </Rows>
  665. </Dataset>
  666. <Dataset id="ds_main_readappinfo_detail" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  667. <ColumnInfo>
  668. <Column id="pid" type="STRING" size="256"/>
  669. <Column id="pnm" type="STRING" size="256"/>
  670. </ColumnInfo>
  671. <Rows>
  672. <Row>
  673. <Col id="pid"/>
  674. <Col id="pnm"/>
  675. </Row>
  676. </Rows>
  677. </Dataset>
  678. <Dataset id="ds_init_prntstatusinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  679. <ColumnInfo>
  680. <Column id="cdid" type="STRING" size="256"/>
  681. <Column id="cdnm" type="STRING" size="256"/>
  682. </ColumnInfo>
  683. <Rows>
  684. <Row>
  685. <Col id="cdid">01</Col>
  686. <Col id="cdnm">신청</Col>
  687. </Row>
  688. <Row>
  689. <Col id="cdid">-</Col>
  690. <Col id="cdnm">-</Col>
  691. </Row>
  692. <Row>
  693. <Col id="cdid">04</Col>
  694. <Col id="cdnm">불가</Col>
  695. </Row>
  696. <Row>
  697. <Col id="cdid">02</Col>
  698. <Col id="cdnm">승인</Col>
  699. </Row>
  700. </Rows>
  701. </Dataset>
  702. <Dataset id="ds_init_grd_acptstatus" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  703. <ColumnInfo>
  704. <Column id="label" type="STRING" size="256"/>
  705. <Column id="value" type="STRING" size="256"/>
  706. </ColumnInfo>
  707. <Rows>
  708. <Row>
  709. <Col id="label">전체</Col>
  710. <Col id="value">-</Col>
  711. </Row>
  712. <Row>
  713. <Col id="label">신청</Col>
  714. <Col id="value">01</Col>
  715. </Row>
  716. <Row>
  717. <Col id="label">승인</Col>
  718. <Col id="value">02</Col>
  719. </Row>
  720. <Row>
  721. <Col id="label">부분승인</Col>
  722. <Col id="value">03</Col>
  723. </Row>
  724. <Row>
  725. <Col id="label">불가</Col>
  726. <Col id="value">04</Col>
  727. </Row>
  728. <Row>
  729. <Col id="label">보류</Col>
  730. <Col id="value">05</Col>
  731. </Row>
  732. </Rows>
  733. </Dataset>
  734. <Dataset id="ds_send_rsnsrch" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  735. <ColumnInfo>
  736. <Column id="jobkind" type="STRING" size="256" sumtext="직종"/>
  737. <Column id="deptcd" type="STRING" size="256" sumtext="부서코드"/>
  738. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  739. </ColumnInfo>
  740. <Rows>
  741. <Row>
  742. <Col id="jobkind"/>
  743. <Col id="deptcd"/>
  744. <Col id="instcd"/>
  745. </Row>
  746. </Rows>
  747. </Dataset>
  748. <Dataset id="ds_hidden_prntuser" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  749. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  750. <ColumnInfo>
  751. <Column id="prntstatus" type="STRING" size="256"/>
  752. </ColumnInfo>
  753. <Rows>
  754. <Row>
  755. <Col id="prntstatus"/>
  756. </Row>
  757. </Rows>
  758. </Dataset>
  759. <Dataset id="ds_main_deptengabbrinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  760. <ColumnInfo>
  761. <Column id="deptengabbr" type="STRING" size="256" sumtext="진료과명"/>
  762. <Column id="prntdeptengabbr" type="STRING" size="256" sumtext="출력승인진료과명"/>
  763. </ColumnInfo>
  764. </Dataset>
  765. <Dataset id="ds_initinfo_lrgindx" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  766. <ColumnInfo>
  767. <Column id="itemindxseq" type="STRING" size="256" sumtext="항목색인번호"/>
  768. <Column id="indxnm" type="STRING" size="256" sumtext="색인명칭"/>
  769. </ColumnInfo>
  770. </Dataset>
  771. <Dataset id="ds_initinfo_dplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  772. <ColumnInfo>
  773. <Column id="deptcd" type="STRING" size="256" sumtext="부서코드"/>
  774. <Column id="deptnm" type="STRING" size="256" sumtext="부서명"/>
  775. <Column id="deptengabbr" type="STRING" size="256" sumtext="부서영문약어명명"/>
  776. </ColumnInfo>
  777. </Dataset>
  778. <Dataset id="ds_init_patnm" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  779. <Dataset id="ds_temp_patinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  780. <ColumnInfo>
  781. <Column id="deptcd" type="STRING" size="256" sumtext="부서코드"/>
  782. <Column id="deptnm" type="STRING" size="256" sumtext="부서명"/>
  783. <Column id="deptengabbr" type="STRING" size="256" sumtext="부서영문약어명명"/>
  784. </ColumnInfo>
  785. </Dataset>
  786. <Dataset id="ds_send_reqdata_applist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  787. <Dataset id="ds_send_reqdata_apppatlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  788. <Dataset id="ds_hidden_result" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  789. <Dataset id="ds_main_appinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  790. <ColumnInfo>
  791. <Column id="appno" type="STRING" size="256" sumtext="신청번호"/>
  792. </ColumnInfo>
  793. </Dataset>
  794. <Dataset id="ds_main_appudtcnt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  795. <ColumnInfo>
  796. <Column id="cnt" type="INT" size="256" sumtext="건수"/>
  797. </ColumnInfo>
  798. </Dataset>
  799. </Objects>
  800. <Bind>
  801. <BindItem id="item0" compid="cmb_acptstatus" propid="value" datasetid="ds_send_cond" columnid="acptstatus"/>
  802. <BindItem id="item1" compid="cmb_appid" propid="value" datasetid="ds_send_cond" columnid="appid"/>
  803. <BindItem id="item2" compid="cmb_appdeptcd" propid="value" datasetid="ds_send_cond" columnid="appdeptcd"/>
  804. <BindItem id="item3" compid="swh_app.readapp.grp_applist.output4" propid="value" datasetid="ds_main_readappinfo_detail_applist" columnid="appno"/>
  805. <BindItem id="item4" compid="swh_app.readapp.grp_applist.ipt_usernm" propid="value" datasetid="ds_main_readappinfo_detail_applist" columnid="apptel"/>
  806. <BindItem id="item5" compid="swh_app.readapp.grp_applist.cmb_resn" propid="value" datasetid="ds_main_readappinfo_detail_applist" columnid="apptype"/>
  807. <BindItem id="item6" compid="swh_app.readapp.grp_applist.ipt_appdetail" propid="value" datasetid="ds_main_readappinfo_detail_applist" columnid="appdetail"/>
  808. <BindItem id="item7" compid="swh_app.readapp.grp_applist.ipt_appreadfromdd" propid="value" datasetid="ds_main_readappinfo_detail_applist" columnid="appreadfromdd"/>
  809. <BindItem id="item8" compid="swh_app.readapp.grp_applist.opt_appdd" propid="value" datasetid="ds_main_readappinfo_detail_applist" columnid="appdd"/>
  810. <BindItem id="item9" compid="swh_app.readapp.grp_applist.ipt_appreadtodd" propid="value" datasetid="ds_main_readappinfo_detail_applist" columnid="appreadtodd"/>
  811. <BindItem id="item10" compid="swh_app.readapp.grp_applist.out_appdeptcd" propid="value" datasetid="ds_main_readappinfo_detail_applist" columnid="appdeptcd"/>
  812. <BindItem id="item11" compid="swh_app.readapp.grp_applist.out_appid" propid="value" datasetid="ds_main_readappinfo_detail_applist" columnid="appnmid"/>
  813. <BindItem id="item12" compid="swh_app.readapp.grp_applist2.ipt_pid" propid="value" datasetid="ds_main_readappinfo_detail" columnid="pnm"/>
  814. <BindItem id="item13" compid="swh_app.readapp.grp_applist2.input1" propid="value" datasetid="ds_main_readappinfo_detail" columnid="pid"/>
  815. <BindItem id="item14" compid="swh_app.readapp.grup_appreadfromdd.input4" propid="value" datasetid="ds_main_readappinfo_detail_applist" columnid="appreadfromdd"/>
  816. <BindItem id="item15" compid="appdd.ipt_formrecdtfr" propid="value" datasetid="ds_send_cond" columnid="appfromdd"/>
  817. <BindItem id="item16" compid="appdd.input18" propid="value" datasetid="ds_send_cond" columnid="apptodd"/>
  818. <BindItem id="item17" compid="appreaddd.input3" propid="value" datasetid="ds_send_cond" columnid="appreadfromdd"/>
  819. <BindItem id="item18" compid="appreaddd.input2" propid="value" datasetid="ds_send_cond" columnid="appreadtodd"/>
  820. <BindItem id="item19" compid="swh_app.readapp.grp_applist.ipt_docnum" propid="value" datasetid="ds_main_readappinfo_detail_applist" columnid="docmtno"/>
  821. </Bind>
  822. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  823. * System Name :
  824. * Job Name :
  825. * Creator :
  826. * Make Date : 2014-10-30
  827. * Description :
  828. *---------------------------------------------------------------------------------------
  829. * Modify Date Modifier Modify Description
  830. *---------------------------------------------------------------------------------------
  831. * 2014-10-30 Live Converter TF->XP
  832. *
  833. *---------------------------------------------------------------------------------------
  834. ****************************************************************************************/
  835. //=======================================================================================
  836. // Lib Include
  837. //---------------------------------------------------------------------------------------
  838. include "com_commonxp::comm_main.xjs"
  839. //include "emr_commonxp::EMRCommon.xjs"
  840. include "emr_prcpmngtxp::MMO001.xjs"
  841. include "emr_recmngtxp::SMMRI08000.xjs"
  842. include "emr_prcpmngtxp::MMOCommon.xjs" // lf_mmbfGetUserComboList, lf_reqPatInfo
  843. //=======================================================================================
  844. // Global Form Variable
  845. //---------------------------------------------------------------------------------------
  846. var arErrorCode = new HashArray();
  847. var objExt = new ExtCommon();
  848. //=======================================================================================
  849. // Function
  850. //---------------------------------------------------------------------------------------
  851. /****************************************************************************************
  852. * Argument : 01.sKey : 코드아이디
  853. * : 02.sValue : 코드명
  854. * Description : 공통코드를 가져온다.
  855. ****************************************************************************************/
  856. function lf_init_grid(){
  857. var sForm = swh_app.readexe.grd_readpatlist.getFormatString();
  858. swh_app.readexe.grd_readpatlist.userdata = sForm;
  859. sForm = swh_app.readapp.grd_apppatlist.getFormatString();
  860. swh_app.readapp.grd_apppatlist.userdata = sForm;
  861. grdf_setRowTypeIcon(swh_app.readapp.grd_apppatlist, 0);
  862. grdf_setToolTipBind(grd_readapplist);
  863. grdf_setGridSort(grd_readapplist);
  864. //grdf_setGridSort(swh_app.readapp.grd_apppatlist);
  865. grdf_initGrid(swh_app.readapp.grd_apppatlist);
  866. grdf_setGridSort(swh_app.readexe.grd_readpatlist);
  867. }
  868. function fSetRowStyle(orddeptnm, acptstatus, position, flag ){
  869. var color = "default";
  870. var align = "";
  871. var deptabbr = sysf_getUserInfo("deptabbr");
  872. //접근제한 챠트의 경우 바탕에 빨간색 표시
  873. if ( POPUP_DEPTENGABBR.indexOf(orddeptnm) > -1 && orddeptnm != deptabbr )
  874. {
  875. color = "#ff0000";
  876. }
  877. if ( acptstatus == "02" )
  878. {
  879. align = "center middle";
  880. }
  881. if ( flag == "select" )
  882. color = "#FFD3CF88";
  883. return color + " " + align;
  884. }
  885. function lf_setSelectStatus(btnId){
  886. var arrBtn = new Array("btn_readapp", "btn_readexe");
  887. for(var i=0; i<arrBtn.length; i++){
  888. var objBtn = this.components[arrBtn[i]];
  889. if( btnId == arrBtn[i] ){
  890. objBtn.setSelectStatus(true);
  891. objBtn.class = "btn_tab_S";
  892. }else{
  893. objBtn.setSelectStatus(false);
  894. objBtn.class = "btn_tab";
  895. }
  896. }
  897. }
  898. //=======================================================================================
  899. // Transaction Callback
  900. //---------------------------------------------------------------------------------------
  901. /****************************************************************************************
  902. * Argument : 01.sSvcId : 서비스 ID
  903. * : 02.nErrorCode : 에러코드
  904. * : 03.sErrorMsg : 에러메시지
  905. * Description : tr_getCodeList의 콜백함수
  906. ****************************************************************************************/
  907. function cf_TRMRI08109(sSvcId, nErrorCode, sErrorMsg) {
  908. if(nErrorCode < 0) return;
  909. arErrorCode.push(sSvcId, nErrorCode);
  910. //sysf_trace("***** cf_TRMRI08109 *****");
  911. }
  912. function cf_TRMRI03102(sSvcId, nErrorCode, sErrorMsg) {
  913. if(nErrorCode < 0) return;
  914. arErrorCode.push(sSvcId, nErrorCode);
  915. //sysf_trace("***** cf_TRMRI03102 *****");
  916. ds_init_cmb_resn.keystring = "";
  917. ds_init_cmb_resn.keystring = "S:+rsnnm";
  918. }
  919. function cf_TRMRI08104(sSvcId, nErrorCode, sErrorMsg) {
  920. if(nErrorCode < 0) return;
  921. arErrorCode.push(sSvcId, nErrorCode);
  922. //sysf_trace("***** cf_TRMRI08104 *****");
  923. var nodeCnt = ds_init_hardcd_trgtdept.rowcount;
  924. for ( i=0; i<nodeCnt; i++ )
  925. {
  926. POPUP_DEPTENGABBR = POPUP_DEPTENGABBR + ds_init_hardcd_trgtdept.getColumn(i, "deptengabbr") + ",";
  927. }
  928. POPUP_DEPTENGABBR = POPUP_DEPTENGABBR.substr(0,POPUP_DEPTENGABBR.length-1);
  929. // dsf_deleteDs("ds_init_hardcd_trgtdept");
  930. // dsf_deleteDs("ds_init_hardcd_exdept");
  931. }
  932. function cf_TRMRI08101(sSvcId, nErrorCode, sErrorMsg) {
  933. if(nErrorCode < 0) return;
  934. arErrorCode.push(sSvcId, nErrorCode);
  935. //sysf_trace("***** cf_TRMRI08101 *****");
  936. }
  937. function cf_TRMRI08102(sSvcId, nErrorCode, sErrorMsg) {
  938. if(nErrorCode < 0) return;
  939. arErrorCode.push(sSvcId, nErrorCode);
  940. //sysf_trace("***** cf_TRMRI08102 *****");
  941. //dsf_setDefaultVal(ds_grd_readpatlist, "prntstatus:'',acpt02:'',acpt04:'',acpt05:'',search:''");
  942. dsf_setDefaultVal(ds_grd_readpatlist, "all");
  943. ds_grd_apppatlist.applyChange();
  944. }
  945. function cf_TRMRI08107(sSvcId, nErrorCode, sErrorMsg) {
  946. if(nErrorCode < 0) return;
  947. arErrorCode.push(sSvcId, nErrorCode);
  948. //sysf_trace("***** cf_TRMRI08107 *****");
  949. //dsf_setDefaultVal(ds_grd_apppatlist, "prntstatus:'',acpt02:'',acpt04:'',acpt05:'',search:''");
  950. dsf_setDefaultVal(ds_grd_apppatlist, "all");
  951. ds_grd_apppatlist.applyChange();
  952. }
  953. function cf_TRMRI08103(sSvcId, nErrorCode, sErrorMsg) {
  954. if(nErrorCode < 0) return;
  955. arErrorCode.push(sSvcId, nErrorCode);
  956. //sysf_trace("***** cf_TRMRI08103 *****");
  957. }
  958. function cf_TRMRI03001(sSvcId, nErrorCode, sErrorMsg) {
  959. if(nErrorCode < 0) return;
  960. arErrorCode.push(sSvcId, nErrorCode);
  961. //sysf_trace("***** cf_TRMRI03001 *****");
  962. }
  963. function cf_TRMRI08108(sSvcId, nErrorCode, sErrorMsg) {
  964. if(nErrorCode < 0) return;
  965. arErrorCode.push(sSvcId, nErrorCode);
  966. //sysf_trace("***** cf_TRMRI08108 *****");
  967. }
  968. function cf_TRMRI08106(sSvcId, nErrorCode, sErrorMsg) {
  969. if(nErrorCode < 0) return;
  970. arErrorCode.push(sSvcId, nErrorCode);
  971. //sysf_trace("***** cf_TRMRI08106 *****");
  972. }
  973. function cf_TXMRI08101(sSvcId, nErrorCode, sErrorMsg) {
  974. if(nErrorCode < 0) return;
  975. arErrorCode.push(sSvcId, nErrorCode);
  976. //sysf_trace("***** cf_TXMRI08101 *****");
  977. }
  978. function cf_TXMRI08103(sSvcId, nErrorCode, sErrorMsg) {
  979. if(nErrorCode < 0) return;
  980. arErrorCode.push(sSvcId, nErrorCode);
  981. //sysf_trace("***** cf_TXMRI08103 *****");
  982. }
  983. //=======================================================================================
  984. // Event
  985. //---------------------------------------------------------------------------------------
  986. /****************************************************************************************
  987. * Components :
  988. * Components ID : button5
  989. * Event : onlbuttonup
  990. * Argument : 01.obj : Object Event has occurred
  991. * : 02.e : Event Object
  992. * Description :
  993. ****************************************************************************************/
  994. function SMMRI08000_oninit(obj:Form, e:InitEventInfo)
  995. {
  996. frmf_initForm(obj);
  997. }
  998. function SMMRI08000_onload(obj:Form, e:LoadEventInfo)
  999. {
  1000. lf_init_grid();
  1001. fInitialize();
  1002. btn_srch.setFocus();
  1003. }
  1004. function button2_onclick(obj:Button, e:ClickEventInfo)
  1005. {
  1006. fLoadExcel();
  1007. }
  1008. function btn_readapp_onclick(obj:Button, e:ClickEventInfo)
  1009. {
  1010. swh_app.tabindex = 0;
  1011. lf_setSelectStatus("btn_readapp");
  1012. //model.toggle("readapp");
  1013. fSearchDetail();
  1014. }
  1015. function btn_readexe_onclick(obj:Button, e:ClickEventInfo)
  1016. {
  1017. swh_app.tabindex = 1;
  1018. lf_setSelectStatus("btn_readexe");
  1019. //model.toggle("readexe");
  1020. fSearchDetail();
  1021. }
  1022. function ds_grd_readapplist_onrowposchanged(obj:Dataset, e:DSRowPosChangeEventInfo)
  1023. {
  1024. fSearchDetail();
  1025. }
  1026. function grd_readapplist_oncellclick(obj:Grid, e:GridClickEventInfo)
  1027. {
  1028. fSearchDetail();
  1029. }
  1030. function swh_app_readapp_btn_pledgeprnt_onclick(obj:Button, e:ClickEventInfo)
  1031. {
  1032. var appno = ds_grd_readapplist.getColumn( ds_grd_readapplist.rowposition, "appno");
  1033. frmf_setParameter("SPMRI08100_param_appno", appno);
  1034. frmf_setParameter("SPMRI08100_param_autoprint", "Y");
  1035. frmf_modal("SPMRI08100", "SPMRI08100", null, null, null, null, null, null, null, null, null, null, "M");
  1036. frmf_setParameter("SPMRI08100_param_autoprint", "");
  1037. }
  1038. function swh_app_readapp_grp_applist_cmb_resn_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  1039. {
  1040. var apptype = ds_main_readappinfo_detail_applist.getColumn(0, "apptype");
  1041. var cmb_resn_label = swh_app.readapp.grp_applist.cmb_resn.text;
  1042. var cmb_resn_value = swh_app.readapp.grp_applist.cmb_resn.value;
  1043. //병원마다 기준이 다르고 코드가 다르므로 텍스트로 비교
  1044. if ( cmb_resn_value == "F3" || cmb_resn_label.indexOf("기타") > -1 || cmb_resn_label == "연구용" || cmb_resn_label == "Conference" || cmb_resn_label == "conference" ||cmb_resn_label == "집담회용")
  1045. swh_app.readapp.grp_applist.ipt_appdetail.enable = true;
  1046. else
  1047. swh_app.readapp.grp_applist.ipt_appdetail.enable = false;
  1048. //열람목적 변경 시 열람종료일 다시 셋팅
  1049. fSetAppReadtodd();
  1050. }
  1051. function swh_app_readapp_grp_applist_ipt_appreadfromdd_onchanged(obj:Calendar, e:ChangeEventInfo)
  1052. {
  1053. fSetAppReadtodd();
  1054. }
  1055. function swh_app_readapp_btn_excelupload_onclick(obj:Button, e:ClickEventInfo)
  1056. {
  1057. fLoadExcel();
  1058. }
  1059. function swh_app_readapp_button4_onclick(obj:Button, e:ClickEventInfo)
  1060. {
  1061. // var fileName = window.fileDialog("save", ",", false, "기록열람신청리스트", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  1062. //
  1063. // if (fileName != ""){
  1064. // grd_apppatlist.saveExcel(fileName, "sheetname:기록열람신청목록");
  1065. // }
  1066. grdf_exportExcel(grd_readprtlist, "기록열람신청리스트", "기록열람신청목록");
  1067. }
  1068. function swh_app_readapp_btn_resave_onclick(obj:Button, e:ClickEventInfo)
  1069. {
  1070. var text = swh_app.readapp.btn_resave.text;
  1071. if ( text == "연장신청" )
  1072. {
  1073. fSearchDetail();
  1074. swh_app.readapp.grup_appreadfromdd.visible = true;
  1075. }
  1076. else if ( text == "재신청" )
  1077. fSaveReadApp("R");
  1078. }
  1079. function swh_app_readapp_grp_applist2_ipt_pid_onkeydown(obj:Edit, e:KeyEventInfo)
  1080. {
  1081. if( e.keycode == 13 ){
  1082. swh_app.readapp.grp_applist2.ipt_pid.updateToDataset();
  1083. var e = new ClickEventInfo;
  1084. frmf_inputEnterKey("swh_app.readapp.grp_applist2.btn_patsrch", "onclick", e);
  1085. }
  1086. }
  1087. function swh_app_readapp_grp_applist2_btn_srchpid_onclick(obj:Button, e:ClickEventInfo)
  1088. {
  1089. fSetPatInfo();
  1090. }
  1091. function swh_app_readapp_grp_applist2_grd_orddeptlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  1092. {
  1093. fCopyPatInfo();
  1094. }
  1095. function swh_app_readapp_grp_applist2_button1_onclick(obj:Button, e:ClickEventInfo)
  1096. {
  1097. fCopyPatInfo();
  1098. }
  1099. function swh_app_readapp_grp_applist2_input1_onkeydown(obj:Edit, e:KeyEventInfo)
  1100. {
  1101. if( e.keycode == 13 ){
  1102. swh_app.readapp.grp_applist2.input1.updateToDataset();
  1103. var pid = obj.value;
  1104. if(fIsSecretPerson(pid)) return;
  1105. var e = new ClickEventInfo;
  1106. frmf_inputEnterKey("swh_app.readapp.grp_applist2.btn_reqpatnm", "onclick", e);
  1107. }
  1108. }
  1109. function swh_app_readapp_grp_applist2_btn_reqpatnm_onclick(obj:Button, e:ClickEventInfo)
  1110. {
  1111. //fPidTrim(ds_main_readappinfo_detail.getColumn(0, "pid"));
  1112. var pid = utlf_trim(ds_main_readappinfo_detail.getColumn(0, "pid"));
  1113. ds_main_readappinfo_detail.setColumn(0, "pid", pid);
  1114. if(utlf_isNull(pid)){
  1115. return;
  1116. }
  1117. if(lf_reqPatInfo(ds_init_patnm, "pid", "ptbs", pid)==true){
  1118. var hngnm = ds_init_patnm.getColumn(0, "hngnm");
  1119. ds_main_readappinfo_detail.setColumn(0, "pnm", hngnm);
  1120. fGetOrddeptList(pid);
  1121. }
  1122. }
  1123. function swh_app_readapp_grp_applist2_btn_patsrch_onclick(obj:Button, e:ClickEventInfo)
  1124. {
  1125. var pid = ds_main_readappinfo_detail.getColumn(0, "pid");
  1126. var hngnm = ds_main_readappinfo_detail.getColumn(0, "pnm");
  1127. if((utlf_isNull(pid))&&(!utlf_isNull(hngnm))){
  1128. fPatSrch(hngnm, "2");
  1129. } else if((!utlf_isNull(pid))&&(utlf_isNull(hngnm))){
  1130. fPatSrch(pid, "1");
  1131. } else {
  1132. frmf_modal("SPPMC02500", "SPPMC02500", null, null, null, null, null, null, null, null, null, null, "M");
  1133. }
  1134. ds_main_readappinfo_detail.setColumn(0, "pid", ds_patinfolist.getColumn(0, "pid"));
  1135. ds_main_readappinfo_detail.setColumn(0, "pnm", ds_patinfolist.getColumn(0, "hngnm"));
  1136. fGetOrddeptList(ds_patinfolist.getColumn(0, "pid"));
  1137. }
  1138. function swh_app_readapp_btn_save_onclick(obj:Button, e:ClickEventInfo)
  1139. {
  1140. var text = swh_app.readapp.btn_save.text;
  1141. if ( text == "신청" )
  1142. fSaveReadApp("Y");
  1143. else if ( text == "수정" ) {
  1144. fSaveReadApp("X");
  1145. }
  1146. }
  1147. function ds_grd_apppatlist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  1148. {
  1149. // grid xforms-select event
  1150. var oGrid = swh_app.readapp.grd_apppatlist;
  1151. if (e.col == oGrid.getBindCellIndex("body", "prntstatus"))
  1152. var pnrtstatus = obj.getColumn(e.row, "prntstatus")
  1153. if (pnrtstatus == "02" || pnrtstatus == "04" )
  1154. {
  1155. sysf_messageBox("변경할 수 없는 상태입니다","000");
  1156. obj.setColumn(e.row, "prntstatus", ds_temp.getColumn(0, "prntstatus"));
  1157. }
  1158. }
  1159. function ds_grd_apppatlist_onrowposchanged(obj:Dataset, e:DSRowPosChangeEventInfo)
  1160. {
  1161. // grid onclick
  1162. if (swh_app.readapp.grd_apppatlist.currentcol == swh_app.readapp.grd_apppatlist.getBindCellIndex("body", "prntstatus"))
  1163. {
  1164. var pnrtstatus = ds_grd_apppatlist.getColumn(ds_grd_apppatlist.rowposition,"prntstatus");
  1165. ds_temp.setColumn(0, "prntstatus",pnrtstatus);
  1166. }
  1167. if (swh_app.readapp.grd_apppatlist.currentcol == swh_app.readapp.grd_apppatlist.getBindCellIndex("body", "search") )
  1168. {
  1169. var wndobj = frmf_findPopup("SMMRI00400");
  1170. if(wndobj != null){
  1171. wndobj.close();
  1172. }
  1173. fOpenSMMRI00400("grd_apppatlist");
  1174. }
  1175. }
  1176. function swh_app_readapp_grd_apppatlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  1177. {
  1178. var oDs = this.objects[obj.binddataset];
  1179. if (e.col == obj.getBindCellIndex("body", "prntstatus"))
  1180. {
  1181. var pnrtstatus = oDs.getColumn(oDs.rowposition,"prntstatus");
  1182. ds_temp.setColumn(0, "prntstatus",pnrtstatus);
  1183. }
  1184. if (e.col == obj.getBindCellIndex("body", "search") )
  1185. {
  1186. var wndobj = frmf_findPopup("SMMRI00400");
  1187. if(wndobj != null){
  1188. wndobj.close();
  1189. }
  1190. fOpenSMMRI00400("grd_apppatlist");
  1191. }
  1192. }
  1193. function swh_app_readapp_btn_del_onclick(obj:Button, e:ClickEventInfo)
  1194. {
  1195. var oGrid = swh_app.readapp.grd_apppatlist;
  1196. //var selectedRows = grdf_getSelectedRows(oGrid);
  1197. var selectedRows = objExt.findRows(ds_grd_apppatlist, "chk", 1);
  1198. for (var i=selectedRows.length -1; i>=0; i-- )
  1199. {
  1200. var appseqno = ds_grd_apppatlist.getColumn(selectedRows[i], "appseqno");
  1201. if (utlf_isNull(appseqno))
  1202. {
  1203. ds_grd_apppatlist.deleteRow(selectedRows[i]);
  1204. }
  1205. else
  1206. {
  1207. // updatecontrol 속성이 false 일경우만 동작함.
  1208. var arrPostion = new Array();
  1209. arrPostion[0] = selectedRows[i];
  1210. grdf_setStatus(oGrid, "D", arrPostion);
  1211. }
  1212. }
  1213. }
  1214. function swh_app_readapp_grup_appreadfromdd_button56_onclick(obj:Button, e:ClickEventInfo)
  1215. {
  1216. swh_app.readapp.grup_appreadfromdd.visible = false;
  1217. fSaveReadApp("C"); //연장 신청 시 열람서약서를 다시 받지 않는다.
  1218. }
  1219. function swh_app_readapp_grup_appreadfromdd_button57_onclick(obj:Button, e:ClickEventInfo)
  1220. {
  1221. swh_app.readapp.grup_appreadfromdd.visible = false;
  1222. }
  1223. function swh_app_readapp_grup_appreadfromdd_input4_onchanged(obj:Calendar, e:ChangeEventInfo)
  1224. {
  1225. fSetAppReadtodd();
  1226. }
  1227. function swh_app_readapp_btn_new_onclick(obj:Button, e:ClickEventInfo)
  1228. {
  1229. fSetNewReq();
  1230. }
  1231. function ds_grd_readdpatlist_onrowposchanged(obj:Dataset, e:DSRowPosChangeEventInfo)
  1232. {
  1233. //if ( grd_readpatlist.isCell(event.target) && grd_readpatlist.col == grd_readpatlist.colRef("search") )
  1234. if( swh_app.readdetail.grd_readdpatlist.currentcol == swh_app.readdetail.grd_readdpatlist.getBindCellIndex("body", "search"))
  1235. fOpenSMMRI00400();
  1236. }
  1237. function ds_grd_readpatlist_onrowposchanged(obj:Dataset, e:DSRowPosChangeEventInfo)
  1238. {
  1239. //if ( grd_readpatlist.isCell(event.target) && grd_readpatlist.col == grd_readpatlist.colRef("search") )
  1240. if( swh_app.readexe.grd_readpatlist.currentcol == swh_app.readexe.grd_readpatlist.getBindCellIndex("body", "search"))
  1241. fOpenSMMRI00400();
  1242. }
  1243. function swh_app_readexe_grd_readpatlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  1244. {
  1245. if( e.col == obj.getBindCellIndex("body", "search"))
  1246. fOpenSMMRI00400();
  1247. }
  1248. function btn_srch_onclick(obj:Button, e:ClickEventInfo)
  1249. {
  1250. fSearch();
  1251. }
  1252. ///*********************************************************************************************************************************************/////
  1253. /*
  1254. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  1255. 열람신청 및 내역조회 ( SMMRI08000_의무기록열람신청및조회.xrw - JScript )
  1256. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  1257. */
  1258. /**
  1259. * @desc : 화면 초기화
  1260. * @
  1261. * @param :
  1262. * @return :
  1263. * @author : 2010.08.16 주희경
  1264. * @---------------------------------------------------
  1265. */
  1266. function fInitialize()
  1267. {
  1268. // 열람신청 부서 가져오기(20120204 이윤주)
  1269. var objColInfo = new Array();
  1270. objColInfo.push({col: "allwardyn", type:"string", size:256, val:""});
  1271. dsf_createDsRow("ds_send_reqdata_viewdept", objColInfo);
  1272. // TRMRI08109 inds 는 없어도 무방
  1273. var oParam = {};
  1274. oParam.id = "TRMRI08109";
  1275. oParam.service = "recmngtapp.SystView";
  1276. oParam.method = "reqGetViewDept";
  1277. oParam.inds = "req=ds_send_reqdata_viewdept";
  1278. oParam.outds = "ds_init_cmb_appdeptcd=viewdept";
  1279. oParam.async = false;
  1280. oParam.callback = "cf_TRMRI08109";
  1281. tranf_submit(oParam);
  1282. //ds_init_userlist
  1283. lf_mmbfGetUserComboList(ds_init_cmb_appid, sysf_getUserInfo("dutplcecd"));//사용자 콤보 조회
  1284. frmf_addComboItem( "cmb_appid", "전체" , "-" , "above" ); //의사콤보 전체항목 추가
  1285. fGetRsnsrch(); //열람목적, 통합기록조회 제한차트 사유 기준자료 테이블 조회
  1286. fGetPopupDeptList(); //접근 제한 부서 영문명 조회
  1287. //특정사용자만(원무팀 산재 담당, 진료행정팀 특정사용자) 출력신청기능 오픈(20120130 이윤주)
  1288. lf_getHardCDList("N", 5565, null, ds_hidden_prntuser); //mmbfGetHardCodeInfo
  1289. var userid = sysf_getUserInfo("userid");
  1290. var nodeCnt = ds_hidden_prntuser.rowcount;
  1291. var chkcnt = 0;
  1292. for( var i = 0; i < nodeCnt ; i++ ){
  1293. if( ds_hidden_prntuser.getColumn(i, "hardcd") == userid ){
  1294. chkcnt++;
  1295. }
  1296. }
  1297. if (chkcnt > 0)
  1298. swh_app.readapp.grd_apppatlist.setRealColSize(swh_app.readapp.grd_apppatlist.getBindCellIndex("body", "prntstatus"), 41, false); // colHidden false
  1299. else{
  1300. swh_app.readapp.grd_apppatlist.setRealColSize(swh_app.readapp.grd_apppatlist.getBindCellIndex("body", "prntstatus"), 0, false); // colHidden true
  1301. }
  1302. ds_send_cond.setColumn(0, "appdeptcd", sysf_getUserInfo("dutplcecd"));
  1303. ds_send_cond.setColumn(0, "appid" , sysf_getUserInfo("userid"));
  1304. //btn_readapp.dispatch("DOMActivate");
  1305. fResetData("appfromdd");
  1306. var e = new ClickEventInfo;
  1307. frmf_inputEnterKey("swh_app.readapp.btn_new", "onclick", e);
  1308. for( var i=0; i< swh_app.readapp.grd_apppatlist.getBindCellIndex("body", "orddeptnm"); i++){
  1309. swh_app.readapp.grd_apppatlist.setCellProperty("head", i, "band", "left");
  1310. }
  1311. lf_setSelectStatus("btn_readapp");
  1312. //grd_apppatlist.frozenCols = grd_apppatlist.colRef("orddeptnm");
  1313. // 20191211 금정화 추가
  1314. if(lf_ContainsHardCD("100018", "Y")){
  1315. if(sysf_getUserInfo("userid").substring(0, 3) == "CRO"){
  1316. swh_app.readapp.grp_applist.ipt_docnum.class = "input_essential";
  1317. }
  1318. }
  1319. }
  1320. /**
  1321. * @desc : //[열람목적리스트] 통합기록조회 제한차트 사유 기준자료 테이블 조회
  1322. * @
  1323. * @param :
  1324. * @return :
  1325. * @author : 2010.08.16 주희경
  1326. * @---------------------------------------------------
  1327. */
  1328. function fGetRsnsrch()
  1329. {
  1330. var sUserDeptcd = sysf_getUserInfo("dutplcecd");
  1331. var sJobkind = utlf_transNullToEmpty(sysf_getUserInfo("jobkindcd")).substring(0, 2);
  1332. var iptjobkind = "";
  1333. if (sJobkind == "03") {
  1334. iptjobkind = "03";
  1335. }
  1336. else if (sJobkind == "11") {
  1337. iptjobkind = "05";
  1338. }
  1339. else {
  1340. iptjobkind = "-";
  1341. }
  1342. ds_send_rsnsrch.setColumn(0, "jobkind", iptjobkind);
  1343. ds_send_rsnsrch.setColumn(0, "deptcd", sUserDeptcd);
  1344. var oParam = {};
  1345. oParam.id = "TRMRI03102";
  1346. oParam.service = "recmngtapp.IntegrityRec";
  1347. oParam.method = "reqGetRecAccResn";
  1348. oParam.inds = "req=ds_send_rsnsrch";
  1349. oParam.outds = "ds_init_cmb_resn=resnlist";
  1350. oParam.async = false;
  1351. oParam.callback = "cf_TRMRI03102";
  1352. tranf_submit(oParam);
  1353. }
  1354. var POPUP_DEPTENGABBR = ""; //접근제한 사유 부서 리스트 (,)로 분리
  1355. /**
  1356. * @desc : 접근제한 사유 부서 리스트 조회
  1357. * @
  1358. * @param :
  1359. * @return :
  1360. * @author : 2010.08.16 주희경
  1361. * @---------------------------------------------------
  1362. */
  1363. function fGetPopupDeptList()
  1364. {
  1365. ds_send_cond.setColumn(0, "trgtno", 1100); //접근 제한 부서 하드코드 1100번 조건 설정
  1366. ds_send_cond.setColumn(0, "exno", 1110); //사유입력 제외 부서 하드코드 1110번
  1367. // output dataset create
  1368. var objColInfo = new Array();
  1369. objColInfo.push({col: "deptengabbr", type:"string", size:256});
  1370. objColInfo.push({col: "trgtcd", type:"string", size:256});
  1371. dsf_createDs("ds_init_hardcd_trgtdept", objColInfo);
  1372. objColInfo = new Array();
  1373. objColInfo.push({col: "trgtcd", type:"string", size:256});
  1374. dsf_createDs("ds_init_hardcd_exdept", objColInfo);
  1375. var oParam = {};
  1376. oParam.id = "TRMRI08104";
  1377. oParam.service = "recmngtapp.IntegrityRec";
  1378. oParam.method = "reqGetPopUpDeptEngabbr";
  1379. oParam.inds = "req=ds_send_cond";
  1380. oParam.outds = "ds_init_hardcd_trgtdept=trgtdept ds_init_hardcd_exdept=exdept";
  1381. oParam.async = false;
  1382. oParam.callback = "cf_TRMRI08104";
  1383. tranf_submit(oParam); //접근 제한 부서 영문명 조회
  1384. }
  1385. /**
  1386. * @desc : 신청일, 열람희망일 셋팅
  1387. * @
  1388. * @param :
  1389. * @return :
  1390. * @author : 2010.08.16 주희경
  1391. * @---------------------------------------------------
  1392. */
  1393. function fResetdd( fromdd_nodename )
  1394. {
  1395. //appfromdd
  1396. var fromdd = ((utlf_getCurrentDate().toDate()).getAddDate(-3,"M")).getDateFormat(); //시작일자는 3개월 전
  1397. var curdd = utlf_getCurrentDate(); //종료일자는 현재일자
  1398. if ( fromdd_nodename == "appfromdd" )
  1399. {
  1400. ds_send_cond.setColumn(0, "appfromdd" , fromdd);
  1401. ds_send_cond.setColumn(0, "apptodd" , curdd);
  1402. ds_send_cond.setColumn(0, "appreadfromdd" , "");
  1403. ds_send_cond.setColumn(0, "appreadtodd" , "");
  1404. }
  1405. else if ( fromdd_nodename == "appreadfromdd" )
  1406. {
  1407. ds_send_cond.setColumn(0, "appfromdd" , "");
  1408. ds_send_cond.setColumn(0, "apptodd" , "");
  1409. ds_send_cond.setColumn(0, "appreadfromdd" , fromdd);
  1410. ds_send_cond.setColumn(0, "appreadtodd" , curdd);
  1411. }
  1412. }
  1413. /**
  1414. * @desc : 신규신청 버튼 클릭 시 열람신청 및 조회, 신청목록 초기화
  1415. * @
  1416. * @param :
  1417. * @return :
  1418. * @author : 2010.08.19 주희경
  1419. * @---------------------------------------------------
  1420. */
  1421. function fSetNewReq()
  1422. {
  1423. swh_app.readapp.btn_save.text = "신청";
  1424. swh_app.readapp.btn_save.enable = true; //신청 버튼 활성화
  1425. swh_app.readapp.btn_resave.enable = false; //연장/재신청 버튼 비활성화
  1426. //model.resetInstanceNode("/root/main/readappinfo/detail");
  1427. // 해당 노드 하위에 해당하는 dataset!!!
  1428. ds_main_readappinfo_detail.clearData();
  1429. ds_main_readappinfo_detail.addRow();
  1430. ds_main_readappinfo_detail_applist.clearData();
  1431. ds_main_readappinfo_detail_applist.addRow();
  1432. ds_grd_orddeptlist.clearData();
  1433. // Grid Path 동일!!
  1434. ds_grd_apppatlist.clearData();
  1435. ds_grd_readpatlist.clearData();
  1436. ds_grd_readdpatlist.clearData();
  1437. ds_main_readappinfo_detail_applist.setColumn(0, "appdd", utlf_getCurrentDate()); //신청일 셋팅
  1438. //이윤주수정(20120127)
  1439. ds_main_readappinfo_detail_applist.setColumn(0, "appreadfromdd", utlf_getCurrentDate()); //기본 희망일 세팅
  1440. fResetDetailGrid();
  1441. }
  1442. /**
  1443. * @desc : 화면의 데이터 모두 리셋
  1444. * @
  1445. * @param :
  1446. * @return :
  1447. * @author : 2010.08.19 주희경
  1448. * @---------------------------------------------------
  1449. */
  1450. function fResetData( fromdd_nodename )
  1451. {
  1452. ds_send_cond.setColumn(0, "acptstatus", "-"); //처리구분 리셋
  1453. fResetdd( fromdd_nodename ); //신청일, 열람희망일 셋팅
  1454. ds_grd_readapplist.enableevent = false;
  1455. //신청내역 그리드 리셋
  1456. ds_grd_readapplist.clearData();
  1457. ds_grd_readapplist.enableevent = true;
  1458. fResetDetailGrid();
  1459. }
  1460. /**
  1461. * @desc : 오른쪽의 상세 조회 그리드 리셋
  1462. * @
  1463. * @param :
  1464. * @return :
  1465. * @author : 2010.08.19 주희경
  1466. * @---------------------------------------------------
  1467. */
  1468. function fResetDetailGrid()
  1469. {
  1470. //환자 수진 그리드 리셋
  1471. //swh_app.readapp.grp_applist2.grd_orddeptlist
  1472. ds_grd_orddeptlist.clearData();
  1473. //신청목록 그리드 리셋
  1474. ds_grd_apppatlist.clearData();
  1475. ds_grd_readpatlist.clearData();
  1476. ds_grd_readdpatlist.clearData();
  1477. //열람신청결과 및 조회 그리드 리셋
  1478. //grd_readpatlist.rebuild();
  1479. }
  1480. /**
  1481. * @desc : 환자번호 검색 및 진료과 정보조회
  1482. * @
  1483. * @param :
  1484. * @return :
  1485. * @author : 2010.08.19 주희경
  1486. * @---------------------------------------------------
  1487. */
  1488. function fSetPatInfo()
  1489. {
  1490. //환자번호 검색
  1491. frmf_modal("SPPMC02500", "SPPMC02500", null, null, null, null, null, null, null, null, null, null, "M");
  1492. var pid = "";
  1493. var hngnm = "";
  1494. var popupendflag = frmf_getParameter("SPPMC02500_popupendflag");
  1495. if( popupendflag == "ok" ){
  1496. pid = ds_patinfolist.getColumn(0, "pid");//ds_patinfolist
  1497. hngnm = ds_patinfolist.getColumn(0, "hngnm");
  1498. }
  1499. ds_main_readappinfo_detail.setColumn(0, "pid", pid);
  1500. ds_main_readappinfo_detail.setColumn(0, "pnm", hngnm);
  1501. //grp_applist2.refresh();
  1502. if (fIsSecretPerson(pid)) return;
  1503. fGetOrddeptList(pid);
  1504. }
  1505. /**
  1506. * @desc : 해당 환자의 진료과정보를 조회 하여 수진과 목록에 추가
  1507. * @
  1508. * @param :
  1509. * @return :
  1510. * @author : 2010.08.19 주희경
  1511. * @---------------------------------------------------
  1512. */
  1513. function fGetOrddeptList(pid)
  1514. {
  1515. ds_grd_orddeptlist.clearData();
  1516. //환자의 진료과정보 조회
  1517. ds_send_cond.setColumn(0, "pid", pid);
  1518. var oParam = {};
  1519. oParam.id = "TRMRI03001";
  1520. oParam.service = "recmngtapp.IntegrityRec";
  1521. oParam.method = "reqGetIndxAndDeptList";
  1522. oParam.inds = "req=ds_send_cond";
  1523. oParam.outds = "ds_initinfo_lrgindx=lrgIndx ds_initinfo_dplist=dplist";
  1524. oParam.async = false;
  1525. oParam.callback = "cf_TRMRI03001";
  1526. tranf_submit(oParam);
  1527. if ( arErrorCode.pop("TRMRI03001") > -1 )
  1528. {
  1529. //환자의 진료과 정보를 그리드로 복사
  1530. var orddeptlistcnt = ds_initinfo_dplist.rowcount;
  1531. //종이챠트 신청용(20130124 이윤주)
  1532. if (orddeptlistcnt == 0){
  1533. var pid = ds_main_readappinfo_detail.getColumn(0, "pid");
  1534. var pnm = ds_main_readappinfo_detail.getColumn(0, "pnm");
  1535. var orddeptnm = "종이";
  1536. fAddrowAppPatList ( pid, pnm, orddeptnm);
  1537. var addrow = ds_grd_apppatlist.rowposition;
  1538. ds_grd_apppatlist.setColumn(addrow, "pappyn","Y");
  1539. return;
  1540. }
  1541. //7개컬럼에 차례로 복사
  1542. var mod = orddeptlistcnt % 7;
  1543. var value = parseInt(orddeptlistcnt / 7);
  1544. var cnt = 0;
  1545. var nRow = 0;
  1546. for (i=0; i<value+1; i++)
  1547. {
  1548. nRow = ds_grd_orddeptlist.addRow();
  1549. for ( j=0; j<7; j++ )
  1550. {
  1551. if ( i==0 && j==0 )
  1552. {
  1553. ds_grd_orddeptlist.setColumn( nRow, j, "전체");
  1554. }
  1555. else
  1556. {
  1557. var deptengabbr = ds_initinfo_dplist.getColumn(cnt, "deptengabbr");
  1558. ds_grd_orddeptlist.setColumn( nRow, j, deptengabbr);
  1559. cnt++; // cnt 위치 변경
  1560. }
  1561. if ( orddeptlistcnt == cnt )
  1562. break;
  1563. }
  1564. }
  1565. }
  1566. }
  1567. /**
  1568. * @desc : 선택한 환자의 수진과를 신청목록으로 추가
  1569. * @
  1570. * @param :
  1571. * @return :
  1572. * @author : 2010.08.19 주희경
  1573. * @---------------------------------------------------
  1574. */
  1575. function fCopyPatInfo()
  1576. {
  1577. if (fCheckEssnInput() == false) //필수 입력 체크
  1578. {
  1579. return;
  1580. }
  1581. var oGrid = swh_app.readapp.grp_applist2.grd_orddeptlist;
  1582. var selectedRows = grdf_getSelectedRows(swh_app.readapp.grp_applist2.grd_orddeptlist);
  1583. var selectedCols = grdf_getSelectedCols(swh_app.readapp.grp_applist2.grd_orddeptlist);
  1584. if ( selectedCols.length <= 0 )
  1585. {
  1586. sysf_messageBox("수진과를", "C002");
  1587. return;
  1588. }
  1589. ///////////////////
  1590. //추가하려는 수진과 중 "전체"가 포함되어 있으면 전체로 "추가" 진행
  1591. for( var i=0; i<selectedRows.length; i++){
  1592. //for(var j=0; j<selectedCols.length; j++){
  1593. var orddeptnm = ds_grd_orddeptlist.getColumn( selectedRows[i], selectedCols[i] );
  1594. if ( orddeptnm == "전체" )
  1595. {
  1596. fAllCopyPatInfo();
  1597. return;
  1598. }
  1599. //}
  1600. }
  1601. /////////////////
  1602. /////////////////
  1603. //멀티 선택한 셀들을 체크하여 신청목록으로 데이터 복사
  1604. for( var i=0; i<selectedRows.length; i++){
  1605. // for(var j=0; j<selectedCols.length; j++){
  1606. var pid = ds_main_readappinfo_detail.getColumn(0, "pid");
  1607. var pnm = ds_main_readappinfo_detail.getColumn(0, "pnm");
  1608. var orddeptnm = ds_grd_orddeptlist.getColumn( selectedRows[i], selectedCols[i] );
  1609. fAddrowAppPatList ( pid, pnm, orddeptnm );
  1610. // }
  1611. }
  1612. }
  1613. /**
  1614. * @desc : 신청목록에 환자의 신청 수진과 추가(addrow)
  1615. * @
  1616. * @param :
  1617. * @return :
  1618. * @author : 2010.08.19 주희경
  1619. * @---------------------------------------------------
  1620. */
  1621. function fAddrowAppPatList ( pid, pnm, orddeptnm)
  1622. {
  1623. //중복 신청 제거
  1624. var nodeCnt = ds_grd_apppatlist.getCaseCount("pid=='"+pid+"' && orddeptnm=='"+orddeptnm+"'");
  1625. //sysf_trace("fAddrowAppPatList nodeCnt : " + nodeCnt);
  1626. if ( nodeCnt > 0 )
  1627. {
  1628. return;
  1629. }
  1630. //행추가, 데이터 복사
  1631. var nRow = ds_grd_apppatlist.addRow();
  1632. ds_grd_apppatlist.setColumn( nRow, "pid", pid);
  1633. ds_grd_apppatlist.setColumn( nRow, "pnm", pnm);
  1634. ds_grd_apppatlist.setColumn( nRow, "orddeptnm", orddeptnm);
  1635. ds_grd_apppatlist.setColumn( nRow, "prntstatus", "-");
  1636. if ( POPUP_DEPTENGABBR.indexOf(orddeptnm) > -1 ){
  1637. ds_grd_apppatlist.setColumn( nRow, "chk", 1);
  1638. }
  1639. }
  1640. /**
  1641. * @desc : 선택한 환자의 전체 수진과를 신청목록으로 추가
  1642. * @
  1643. * @param :
  1644. * @return :
  1645. * @author : 2010.08.19 주희경
  1646. * @---------------------------------------------------
  1647. */
  1648. function fAllCopyPatInfo()
  1649. {
  1650. var breakYN = false;
  1651. var popupDeptCopyYN = true; //접근제한 차트 신청 추가 여부
  1652. var sUserDeptcd = sysf_getUserInfo("dutplcecd");
  1653. var iexNodeCnt = ds_init_hardcd_exdept.getCaseCount("trgtcd == '" + sUserDeptcd + "'"); //사유제외부서
  1654. // 원 소스 /root/hardcd/exdept 에 대한 PATH 는 존재하지 않음.
  1655. /////////////////////////////
  1656. //전체 수진과를 대상으로 접근 제한 차트과가 검색되면 안내문구 표출
  1657. var arr_deptnm = POPUP_DEPTENGABBR.split(",");
  1658. for ( i=0; i<arr_deptnm.length; i++)
  1659. {
  1660. for(j=0; j<ds_grd_orddeptlist.colcount; j++ )
  1661. {
  1662. if (ds_grd_orddeptlist.findRow(j, arr_deptnm[i]) > -1)
  1663. {
  1664. var orddeptcd = ds_initinfo_dplist.lookup("deptengabbr", arr_deptnm[i], "deptcd");
  1665. //사유 제외 부서가 아니거나 사용자부서와 환자수진부서가 다른경우
  1666. if ((iexNodeCnt <= 0) && (sUserDeptcd != orddeptcd))
  1667. {
  1668. //" 하시려면 예(Yes)\n" + pOptMsg.split("|")[0] + " 하시려면 아니오(No)\n" + pOptMsg.split("|")[1] + " 하시려면 취소를 선택하십시오"
  1669. var pOptMsg = "모두 신청|모두 취소";
  1670. var rtnval = sysf_messageBox("신청목록 중 접근제한된 수진과가 포함되어 있습니다. \n\n**접근제한과 열람시 해당과에 별도 보고됩니다. 해당 버튼을 선택하십시오. \n\n접근제한과를 제외하고 신청", "S006", pOptMsg);
  1671. //접근 제한과 제외 신청
  1672. if ( rtnval == 6 )
  1673. {
  1674. popupDeptCopyYN = false;
  1675. }
  1676. //모두 신청
  1677. else if ( rtnval == 7 )
  1678. {
  1679. popupDeptCopyYN = true;
  1680. }
  1681. else
  1682. {
  1683. return; //취소시
  1684. }
  1685. breakYN = true;
  1686. break;
  1687. }
  1688. }
  1689. }
  1690. if ( breakYN )
  1691. {
  1692. break;
  1693. }
  1694. }
  1695. ////////////////////////////
  1696. //수진과 전체를 추가
  1697. for (var i=0; i<ds_grd_orddeptlist.rowcount; i++)
  1698. {
  1699. for( j=0; j<ds_grd_orddeptlist.colcount; j++ )
  1700. {
  1701. var orddeptnm = ds_grd_orddeptlist.getColumn(i,j);
  1702. var pid = ds_main_readappinfo_detail.getColumn(0, "pid");
  1703. var pnm = ds_main_readappinfo_detail.getColumn(0, "pnm");
  1704. if ( (i== 0 && j == 0) || utlf_isNull(orddeptnm) ) //전체이면 패스
  1705. {
  1706. continue;
  1707. }
  1708. //접근제한 챠트이고 사용자가 신청 동의 안했으면 패스
  1709. if ( POPUP_DEPTENGABBR.indexOf(orddeptnm) > -1 )
  1710. {
  1711. if ( !popupDeptCopyYN )
  1712. {
  1713. continue;
  1714. }
  1715. }
  1716. //행추가 및 데이터 복사
  1717. fAddrowAppPatList ( pid, pnm, orddeptnm );
  1718. }
  1719. }
  1720. //lyj 20111213
  1721. //grd_apppatlist.rebuild();
  1722. }
  1723. /**
  1724. * @desc : 열람신청 시 신청목록의 필수 입력 체크(엑셀 로드시 필수입력체크)
  1725. * @
  1726. * @param :
  1727. * @return :
  1728. * @author : 2010.08.19 주희경
  1729. * @---------------------------------------------------
  1730. */
  1731. function fCheckExcelLoadInput()
  1732. {
  1733. for(i=0; i<ds_grd_apppatlist.rowcount; i++ )
  1734. {
  1735. var pid = ds_grd_apppatlist.getColumn( i, "pid");
  1736. var pnm = ds_grd_apppatlist.getColumn( i, "pnm");
  1737. var orddeptnm = ds_grd_apppatlist.getColumn( i, "orddeptnm");
  1738. if ( utlf_isNull(pid) )
  1739. {
  1740. sysf_messageBox("신청목록의 환자번호를","C001");
  1741. return false;
  1742. }
  1743. if ( utlf_isNull(pnm) )
  1744. {
  1745. sysf_messageBox("신청목록의 환자성명을","C001");
  1746. return false;
  1747. }
  1748. if ( utlf_isNull(orddeptnm) )
  1749. {
  1750. sysf_messageBox("신청목록의 진료과 영문명을","C001");
  1751. return false;
  1752. }
  1753. }
  1754. return true;
  1755. }
  1756. /**
  1757. * @desc : 열람신청 시 필수 입력 체크
  1758. * @
  1759. * @param :
  1760. * @return :
  1761. * @author : 2010.08.19 주희경
  1762. * @---------------------------------------------------
  1763. */
  1764. function fCheckEssnInput()
  1765. {
  1766. if (utlf_isNull(ds_main_readappinfo_detail_applist.getColumn(0, "apptel")))
  1767. {
  1768. sysf_messageBox("연락처를","C001");
  1769. return false;
  1770. }
  1771. if (utlf_isNull(ds_main_readappinfo_detail_applist.getColumn(0, "apptype")))
  1772. {
  1773. sysf_messageBox("열람목적을","C001");
  1774. return false;
  1775. }
  1776. if (utlf_isNull(ds_main_readappinfo_detail_applist.getColumn(0, "appreadfromdd")))
  1777. {
  1778. sysf_messageBox("열람희망일을","C001");
  1779. return false;
  1780. }
  1781. var appreadfromdd = ds_main_readappinfo_detail_applist.getColumn(0, "appreadfromdd");
  1782. if (appreadfromdd < utlf_getCurrentDate())
  1783. {
  1784. sysf_messageBox("열람희망일을 현재일보다 작을 날로 세팅","E001");
  1785. return false;
  1786. }
  1787. var apptype = ds_main_readappinfo_detail_applist.getColumn(0, "apptype");
  1788. var cmb_resn_label = swh_app.readapp.grp_applist.cmb_resn.text;
  1789. var cmb_resn_value = swh_app.readapp.grp_applist.cmb_resn.value;
  1790. //병원마다 기준이 다르고 코드가 다르므로 텍스트로 비교
  1791. if ( cmb_resn_value == "F3" || cmb_resn_label.indexOf("기타") > -1 || cmb_resn_label == "연구용" || cmb_resn_label == "Conference" || cmb_resn_label == "conference" ||cmb_resn_label == "집담회용")
  1792. {
  1793. if ( utlf_isNull(ds_main_readappinfo_detail_applist.getColumn(0, "appdetail")) )
  1794. {
  1795. sysf_messageBox("열람목적에 따른 주제(상세사유)를","C001");
  1796. return false;
  1797. }
  1798. }
  1799. // 20191211 금정화 추가
  1800. if(lf_ContainsHardCD("100018", "Y")){
  1801. if (utlf_isNull(ds_main_readappinfo_detail_applist.getColumn(0, "docmtno"))
  1802. && swh_app.readapp.grp_applist.ipt_docnum.class == "input_essential")
  1803. {
  1804. sysf_messageBox("의무기록팀으로 송부한 의무기록 열람/출력 신청 공문의 문서번호를 기입 후 요청하여 주시기 바랍니다.","E");
  1805. return false;
  1806. }
  1807. }
  1808. }
  1809. /**
  1810. * @desc : 열람희망일 선택 시 열람목적에 따른 열람기한으로 열람 종료일 셋팅(기준자료 의거)
  1811. * @
  1812. * @param :
  1813. * @return :
  1814. * @author : 2010.08.19 주희경
  1815. * @---------------------------------------------------
  1816. */
  1817. function fSetAppReadtodd()
  1818. {
  1819. var apptype = ds_main_readappinfo_detail_applist.getColumn(0, "apptype");
  1820. if ( utlf_isNull(apptype) )
  1821. {
  1822. sysf_messageBox("열람목적을 먼저","C002");
  1823. ds_main_readappinfo_detail_applist.setColumn(0, "appreadfromdd", "");
  1824. return;
  1825. }
  1826. //열람목적에 따른 열람 기한
  1827. var readterm = parseInt(ds_init_cmb_resn.lookup("rsncd", apptype, "readterm"))-1;
  1828. //열람희망시작일
  1829. var appreadfromdd = ds_main_readappinfo_detail_applist.getColumn(0, "appreadfromdd");
  1830. if ( utlf_isNull(appreadfromdd) )
  1831. {
  1832. return;
  1833. }
  1834. var appreadtodd = ((appreadfromdd.toDate()).getAddDate( readterm, "D")).getDateFormat();
  1835. //기준자료에 따른 열람 종료일 셋팅
  1836. ds_main_readappinfo_detail_applist.setColumn(0, "appreadtodd", appreadtodd);
  1837. }
  1838. /**
  1839. * @desc : 환자 등록번호를 통한 환자 이름 가져오기
  1840. * @
  1841. * @param :
  1842. * @return :
  1843. * @author : 김영학
  1844. * @---------------------------------------------------
  1845. */
  1846. function fPatSrch(s_val, flag){
  1847. ds_patinfolist.clearData();
  1848. var pid = flag == "1" ? s_val : "";
  1849. var hngnm = flag == "2" ? s_val : "";
  1850. var objColInfo = new Array();
  1851. objColInfo.push({col: "srchcond", type:"string", size:256, val:flag});
  1852. objColInfo.push({col: "autoflag", type:"string", size:256, val:"Y"});
  1853. objColInfo.push({col: "pid", type:"string", size:256, val:pid});
  1854. objColInfo.push({col: "hngnm", type:"string", size:256, val:hngnm});
  1855. objColInfo.push({col: "rrgstno1", type:"string", size:256, val:""});
  1856. objColInfo.push({col: "rrgstno2", type:"string", size:256, val:""});
  1857. dsf_createDsRow("ds_send_SPPMC02500", objColInfo);
  1858. var objArgs = new Object();
  1859. objArgs.arg_ds_send = ds_send_SPPMC02500;
  1860. frmf_modal("SPPMC02500", "SPPMC02500", objArgs, null, "1", "10", "10", null, null, null, null, null, "M");
  1861. }
  1862. /**
  1863. * @desc : 조회
  1864. * @id :
  1865. * @event : DOMActivate
  1866. * @return : void
  1867. * @author : 2010.08.19 주희경
  1868. */
  1869. function fSearch()
  1870. {
  1871. if(!utlf_isValidDateTime(ds_send_cond.getColumn(0, "appfromdd"),"YYYYMMDD")){
  1872. sysf_messageBox("검색 시작일자를 유효한 날짜로","C001");
  1873. return;
  1874. }
  1875. if(!utlf_isValidDateTime(ds_send_cond.getColumn(0, "apptodd"),"YYYYMMDD")){
  1876. sysf_messageBox("검색 종료일자를 유효한 날짜로","C001");
  1877. return;
  1878. }
  1879. var oParam = {};
  1880. oParam.id = "TRMRI08101";
  1881. oParam.service = "recmngtapp.SystView";
  1882. oParam.method = "reqGetReadAppList";
  1883. oParam.inds = "req=ds_send_cond";
  1884. oParam.outds = "ds_grd_readapplist=readapplist";
  1885. oParam.async = false;
  1886. oParam.callback = "cf_TRMRI08101";
  1887. tranf_submit(oParam);
  1888. //sysf_trace(ds_grd_readapplist.saveXML());
  1889. }
  1890. function fIsSecretPerson(pid) {
  1891. //var pid = ds_main_readappinfo_detail.getColumn(0,"pid");
  1892. dsf_createDsRow("ds_send_scryn", [{col:"pid", type:"string", size:256, val:pid}]);
  1893. dsf_createDs("ds_scryn", [{col:"scryn", type:"string", size:256}]);
  1894. var oParam = {};
  1895. oParam.id = "reqGetAccPatinfo_01";
  1896. oParam.service = "chrtmngtapp.CopyIssMngt";
  1897. oParam.method = "reqGetAccPatinfo";
  1898. oParam.inds = "req=ds_send_scryn";
  1899. oParam.outds = "ds_scryn=patinfo";;
  1900. oParam.async = false;
  1901. //oParam.callback = "";
  1902. tranf_submit(oParam);
  1903. ds_send_reqdata_applist.getColumn
  1904. var scryn = ds_scryn.getColumn(0,"scryn");
  1905. if (scryn == "Y") {
  1906. sysf_messageBox("진료정보 비밀보호 신청자("+pid+")이므로 진료목적 이외에는 진료정보 열람이 제한됩니다. 문의:의무기록실","I");
  1907. return true;
  1908. }
  1909. return false;
  1910. }
  1911. /**
  1912. * @desc : 열람 신청 저장
  1913. * @
  1914. * @param :
  1915. * @return :
  1916. * @author : 2010.08.19 주희경
  1917. * @---------------------------------------------------
  1918. */
  1919. function fSaveReadApp( histstat )
  1920. {
  1921. if ( ds_grd_apppatlist.rowcount == 0 )
  1922. {
  1923. sysf_messageBox("신청목록에 데이터가 존재하지","I011");
  1924. return;
  1925. }
  1926. if (fCheckEssnInput() == false) //필수 입력 체크
  1927. {
  1928. return;
  1929. }
  1930. if (fCheckExcelLoadInput() == false)//신청목록 필수 입력 체크
  1931. {
  1932. return;
  1933. }
  1934. var oGrid = swh_app.readapp.grd_apppatlist;
  1935. if (histstat == "R" )
  1936. {
  1937. //신청목록의 데이터를 모두 insert 플래그 처리
  1938. grdf_setStatus(oGrid, "I");
  1939. //model.resetInstanceNode("/root/send/reqdata");
  1940. ds_send_reqdata_applist.clearData();
  1941. ds_send_reqdata_apppatlist.clearData();
  1942. }
  1943. //신청자 정보 copy
  1944. // jw.choe 하위 addColumn 및 defaultVal 로 3개 항목 다른 부분 설정.
  1945. dsf_copyDs(ds_send_reqdata_applist, ds_main_readappinfo_detail_applist);
  1946. ds_send_reqdata_applist.setColumn(0, "appdd", utlf_getCurrentDate());
  1947. ds_send_reqdata_applist.setColumn(0, "appid", sysf_getUserInfo("userid"));
  1948. ds_send_reqdata_applist.setColumn(0, "appdeptcd", sysf_getUserInfo("dutplcecd"));
  1949. //histno 설정
  1950. var histno = ds_send_reqdata_applist.getColumn(0, "histno");
  1951. if ( histstat == "Y" ) //신청
  1952. {
  1953. histno = "1";
  1954. }
  1955. else if (histstat == "R" ) // 재신청
  1956. {
  1957. var oParam = {};
  1958. oParam.id = "TRMRI08106";
  1959. oParam.service = "recmngtapp.SystView";
  1960. oParam.method = "reqGetNextHistno";
  1961. oParam.inds = "req=ds_send_reqdata_applist";
  1962. oParam.outds = "ds_hidden_result=result";
  1963. oParam.async = false;
  1964. oParam.callback = "cf_TRMRI08106";
  1965. tranf_submit(oParam);
  1966. histno = ds_hidden_result.getColumn(0, "histno");
  1967. }
  1968. ds_send_reqdata_applist.addColumn("histno", "string");
  1969. ds_send_reqdata_applist.setColumn(0, "histno", histno);
  1970. //histstat 설정
  1971. ds_send_reqdata_applist.addColumn("histstat", "string");
  1972. ds_send_reqdata_applist.setColumn(0, "histstat", histstat);
  1973. //신청 환자 정보 copy
  1974. var oDsUpdate = grdf_getGridUpdateData(oGrid);
  1975. grdf_setStatusColumn(oDsUpdate, "status");
  1976. ds_send_reqdata_apppatlist.copyData(oDsUpdate, true);
  1977. // model.makeValue("/root/send/reqdata/apppatlist", grd_apppatlist.getUpdateData());
  1978. for( var i=0; i<ds_grd_apppatlist.rowcount; i++){
  1979. var backcolor = "";
  1980. var deptabbr = sysf_getUserInfo("deptabbr");
  1981. //접근제한 챠트의 경우 바탕에 빨간색 표시
  1982. var orddeptnm = ds_grd_apppatlist.getColumn(i, "orddeptnm");
  1983. if ( POPUP_DEPTENGABBR.indexOf(orddeptnm) > -1 && orddeptnm != deptabbr )
  1984. {
  1985. backcolor = "#ff0000";
  1986. }
  1987. var appdetail = ds_grd_apppatlist.getColumn(i, "appdetail");
  1988. var pid = ds_grd_apppatlist.getColumn(i, "pid");
  1989. //비밀보호 환자여부 판단
  1990. if(fIsSecretPerson(pid)) return;
  1991. if (backcolor == "#ff0000" && utlf_isNull(appdetail))
  1992. {
  1993. sysf_messageBox("접근제한 수진과는 사유입력이","I003");
  1994. return;
  1995. }
  1996. }
  1997. dsf_setDefaultVal(ds_send_reqdata_applist, "appno:'',pledgeflag:N,prntyn:N");
  1998. // sysf_trace(ds_send_reqdata_applist.saveXML());
  1999. // sysf_trace(ds_send_reqdata_apppatlist.saveXML());
  2000. var oParam = {};
  2001. oParam.id = "TXMRI08101";
  2002. oParam.service = "recmngtapp.SystView";
  2003. oParam.method = "reqExeReadAppList";
  2004. oParam.inds = "applist=ds_send_reqdata_applist apppatlist=ds_send_reqdata_apppatlist";
  2005. oParam.outds = "ds_main_appinfo=appinfo";
  2006. oParam.async = false;
  2007. oParam.callback = "cf_TXMRI08101";
  2008. tranf_submit(oParam);
  2009. if ( arErrorCode.pop("TXMRI08101") > -1 ){
  2010. var appno = ds_main_appinfo.getColumn(0, "appno");
  2011. if(!utlf_isNull(appno)){
  2012. fSetNewReq();
  2013. fSearch();
  2014. var todd = ds_send_reqdata_applist.getColumn(0, "appreadtodd");
  2015. var formatdd = todd.substring(0, 4) + "-" + todd.substring(4, 6) + "-" + todd.substring(6, 8)
  2016. sysf_messageBox("신청된 의무기록은 [" + formatdd + "] 내에 열람이 가능하며, 진료기록의 열람은 신청화면 [열람] 아이콘을 클릭하여 열람할 수 있습니다.","I");
  2017. //sysf_messageBox("정상","I002");
  2018. }else{
  2019. sysf_messageBox("처리에","E009");
  2020. }
  2021. }
  2022. }
  2023. /**
  2024. * @desc : 열람 서약 인증 및 서약서 출력
  2025. * @
  2026. * @param :
  2027. * @return :
  2028. * @author : 2010.08.19 주희경
  2029. * @---------------------------------------------------
  2030. */
  2031. function fSetSign( appno )
  2032. {
  2033. frmf_setParameter("SPMRI08100_param_appno", appno);
  2034. // ------------------jeongtaek Lee 서약서 부분 수정(20110330)------------
  2035. // modal("SPMRI08100");
  2036. // ------------------jeongtaek Lee 서약서 부분 수정(20110330)------------
  2037. var signeddt = frmf_getParameter("SPMRI08100_param_signeddt");
  2038. var pledgeflag = frmf_getParameter("SPMRI08100_param_pledgeflag");
  2039. /** ----------------jeongtaek Lee 서약서 부분 수정(20110330)--------------
  2040. //인증에 실패하면
  2041. if ( signeddt == "" )
  2042. {
  2043. //인증도 실패하고 서약서 출력도 안했으면
  2044. if ( pledgeflag == "N" || pledgeflag == "")
  2045. {
  2046. model.makeValue("/root/send/reqdata/applist/histstat", "X");
  2047. }
  2048. //서약서 출력했으면
  2049. else if ( pledgeflag == "P")
  2050. {
  2051. model.makeValue("/root/send/reqdata/applist/pledgeflag", "P");
  2052. model.makeValue("/root/send/reqdata/applist/histstat", "Y");
  2053. }
  2054. }
  2055. else //인증에 성공했으면
  2056. {
  2057. model.makeValue("/root/send/reqdata/applist/pledgeflag", "E");
  2058. model.makeValue("/root/send/reqdata/applist/pledgepath", signeddt);
  2059. }
  2060. */
  2061. //---------------jeongtaek Lee 서약서 부분 수정(20110330)----------------
  2062. ds_send_reqdata_applist.addColumn("appno", "string");
  2063. ds_send_reqdata_applist.addColumn("histstat", "string");
  2064. ds_send_reqdata_applist.addColumn("pledgeflag", "string");
  2065. ds_send_reqdata_applist.addColumn("pledgepath", "string");
  2066. if( ds_send_reqdata_applist.rowcount <= 0 ) ds_send_reqdata_applist.addRow();
  2067. ds_send_reqdata_applist.setColumn(0, "appno", appno);
  2068. //신청 변경 사항 업데이트
  2069. var oParam = {};
  2070. oParam.id = "TXMRI08103";
  2071. oParam.service = "recmngtapp.SystView";
  2072. oParam.method = "reqSetReadAppUdtList";
  2073. oParam.inds = "applist=ds_send_reqdata_applist";
  2074. oParam.outds = "ds_main_appudtcnt=appudtcnt";
  2075. oParam.async = false;
  2076. oParam.callback = "cf_TXMRI08103";
  2077. tranf_submit(oParam);
  2078. frmf_setParameter("SPMRI08100_param_appno", "");
  2079. frmf_setParameter("SPMRI08100_param_pledgeflag", "");
  2080. frmf_setParameter("SPMRI08100_param_signeddt", "");
  2081. if ( ds_send_reqdata_applist.getColumn(0, "histstat") == "X" )
  2082. {
  2083. return false;
  2084. }
  2085. return true;
  2086. }
  2087. /**
  2088. * @desc : 상세 기록 신청 데이터 조회
  2089. * @
  2090. * @param :
  2091. * @return :
  2092. * @author : 2010.08.19 주희경
  2093. * @---------------------------------------------------
  2094. */
  2095. function fSearchDetail()
  2096. {
  2097. //열람신청 및 내역 조회 탭인 경우 오른쪽 화면에 신청자 정보 복사
  2098. if ( btn_readapp.getSelectStatus() == true )
  2099. {
  2100. //재신청 버튼
  2101. swh_app.readapp.btn_resave.enable = false;
  2102. //이미 신청한 건 이므로 신청 버튼을 수정으로 텍스트 변경
  2103. swh_app.readapp.btn_save.text = "수정";
  2104. //처리 상태가 신청 단계이면 수정 가능
  2105. var acptstatus = ds_grd_readapplist.getColumn(ds_grd_readapplist.rowposition, "acptstatus");
  2106. if ( acptstatus == "01" )
  2107. swh_app.readapp.btn_save.enable = true;
  2108. else
  2109. swh_app.readapp.btn_save.enable = false;
  2110. //처리 상태가 불가,부분승인,승인,보류이면 재신청으로 버튼 변경
  2111. if ( acptstatus == "02" || acptstatus == "03" || acptstatus == "04" || acptstatus == "05" )
  2112. {
  2113. swh_app.readapp.btn_resave.text = "재신청";
  2114. swh_app.readapp.btn_resave.enable = true;
  2115. }
  2116. //열람희망일 체크 하여 연장/ 재신청으로 버튼변경
  2117. var curdate = utlf_getCurrentDate();
  2118. var appreadfromdd = ds_grd_readapplist.getColumn(ds_grd_readapplist.rowposition, "appreadfromdd");
  2119. var appreadtodd = ds_grd_readapplist.getColumn(ds_grd_readapplist.rowposition, "appreadtodd");
  2120. }
  2121. var appno = ds_grd_readapplist.getColumn(ds_grd_readapplist.rowposition, "appno");
  2122. var histno = ds_grd_readapplist.getColumn(ds_grd_readapplist.rowposition, "histno");
  2123. ds_send_cond.setColumn(0, "appno", appno);
  2124. ds_send_cond.setColumn(0, "histno", histno);
  2125. // //그리드 스타일 초기화
  2126. // if ( btn_readexe.selected == true ){ //의무기록열람 탭인경우
  2127. // swh_app.readexe.grd_readpatlist.formats = swh_app.readexe.grd_readpatlist.userdata;
  2128. // }else{
  2129. // swh_app.readapp.grd_apppatlist.formats = swh_app.readapp.grd_apppatlist.userdata;
  2130. // grdf_setRowTypeIcon(swh_app.readapp.grd_apppatlist, 0);
  2131. // }
  2132. ////////////////////////////////
  2133. if(btn_readexe.getSelectStatus() == true) // 의무기록 열람
  2134. {
  2135. ds_grd_readpatlist.enableevent = false;
  2136. // 화면에서 grd_readpatlist, grd_apppatlist, grd_readdpatlist 의 node는 동일하다.
  2137. var oParam = {};
  2138. oParam.id = "TRMRI08102";
  2139. oParam.service = "recmngtapp.SystView";
  2140. oParam.method = "reqGetReadAppPatList";
  2141. oParam.inds = "req=ds_send_cond";
  2142. oParam.outds = "ds_grd_readpatlist=apppatinfo";
  2143. oParam.async = false;
  2144. oParam.callback = "cf_TRMRI08102";
  2145. tranf_submit(oParam);
  2146. ds_grd_readpatlist.enableevent = true;
  2147. ds_main_readappinfo_detail_applist.copyRow(0, ds_grd_readapplist, ds_grd_readapplist.rowposition);
  2148. /*
  2149. var rows = ds_grd_readpatlist.rowcount;
  2150. for( i=0; i<rows; i++ )
  2151. {
  2152. if ( ds_grd_readpatlist.getColumn( i, "acptstatus") == "02" )
  2153. {
  2154. grd_readpatlist.cellstyle("background-image", i, grd_readpatlist.colRef("search")) = "../../../com/commonweb/images/icon_list.gif";
  2155. grd_readpatlist.cellstyle("background-position", i, grd_readpatlist.colRef("search")) = "center";
  2156. }
  2157. }
  2158. */
  2159. }
  2160. else
  2161. {
  2162. ds_grd_apppatlist.enableevent = false;
  2163. var oParam = {};
  2164. oParam.id = "TRMRI08107";
  2165. oParam.service = "recmngtapp.SystView";
  2166. oParam.method = "reqGetReadAppPatDList";
  2167. oParam.inds = "req=ds_send_cond";
  2168. oParam.outds = "ds_grd_apppatlist=apppatinfo";
  2169. oParam.async = false;
  2170. oParam.callback = "cf_TRMRI08107";
  2171. tranf_submit(oParam);
  2172. ds_grd_apppatlist.enableevent = true;
  2173. ds_main_readappinfo_detail_applist.copyRow(0, ds_grd_readapplist, ds_grd_readapplist.rowposition);
  2174. /*
  2175. var rows = model.getXpathValue("count(/root/main/readappinfo/detail/apppatlist/apppatinfo)");
  2176. //상세 신청 리스트에 조회 아이콘, 접근체한 차트 표시
  2177. for( i=1; i<=rows; i++ )
  2178. {
  2179. var orddeptnm = model.getValue("/root/main/readappinfo/detail/apppatlist/apppatinfo["+i+"]/orddeptnm");
  2180. var deptabbr = getUserInfo("deptabbr");
  2181. //접근제한 챠트의 경우 바탕에 빨간색 표시
  2182. if ( POPUP_DEPTENGABBR.indexOf(orddeptnm) > -1 && orddeptnm != deptabbr )
  2183. {
  2184. grd_apppatlist.cellStyle("background-color", i, 1, i, grd_apppatlist.cols-1) = "#ff0000";
  2185. }
  2186. if ( grd_apppatlist.valueMatrix( i, grd_apppatlist.colRef("acptstatus")) == "02" )
  2187. {
  2188. grd_apppatlist.cellstyle("background-image", i, grd_apppatlist.colRef("search")) = "../../../com/commonweb/images/icon_list.gif";
  2189. grd_apppatlist.cellstyle("background-position", i, grd_apppatlist.colRef("search")) = "center";
  2190. }
  2191. }
  2192. */
  2193. var e = new ItemChangeEventInfo;
  2194. frmf_inputEnterKey("swh_app.readapp.grp_applist.cmb_resn", "onitemchanged", e);
  2195. }
  2196. }
  2197. /**
  2198. * @desc : 통합기록조회 연결하여 승인된 기록만 열람가능하게 해줌
  2199. * @id :
  2200. * @event : DOMActivate
  2201. * @return : void
  2202. * @author : 2010.08.19 주희경
  2203. */
  2204. function fOpenSMMRI00400(datagrid)
  2205. {
  2206. var curdate = utlf_getCurrentDate();
  2207. var appreadfromdd = ds_grd_readapplist.getColumn(ds_grd_readapplist.rowposition, "appreadfromdd");
  2208. var appreadtodd= ds_grd_readapplist.getColumn(ds_grd_readapplist.rowposition, "appreadtodd");
  2209. //sysf_trace("curdate : " + curdate + " appreadfromdd : " + appreadfromdd + " appreadtodd : " + appreadtodd );
  2210. if (datagrid == "grd_apppatlist" && ds_grd_apppatlist.getColumn(ds_grd_apppatlist.rowposition, "acptstatus") != "02" ){
  2211. sysf_messageBox("승인후 열람가능합니다","");
  2212. return;
  2213. }
  2214. if ( appreadfromdd > curdate || appreadtodd < curdate )
  2215. {
  2216. //열람기간을 확인하십시오. I007
  2217. sysf_messageBox("열람기간을","I007");
  2218. return;
  2219. }
  2220. var pid;
  2221. if (datagrid == "grd_apppatlist"){
  2222. pid = ds_grd_apppatlist.getColumn(ds_grd_apppatlist.rowposition, "pid");
  2223. }
  2224. else {
  2225. pid = ds_grd_readpatlist.getColumn(ds_grd_readpatlist.rowposition, "pid");
  2226. }
  2227. var appno = ds_grd_readapplist.getColumn(ds_grd_readapplist.rowposition, "appno");
  2228. var appid = ds_grd_readapplist.getColumn(ds_grd_readapplist.rowposition, "appid");
  2229. var histstat = ds_grd_readapplist.getColumn(ds_grd_readapplist.rowposition, "histstat");
  2230. var histno = ds_grd_readapplist.getColumn(ds_grd_readapplist.rowposition, "histno");
  2231. ds_send_cond.setColumn(0, "appid", appid);
  2232. ds_send_cond.setColumn(0, "appno", appno);
  2233. ds_send_cond.setColumn(0, "pid", pid);
  2234. ds_send_cond.setColumn(0, "histstat", histstat);
  2235. ds_send_cond.setColumn(0, "histno", histno);
  2236. ds_main_deptengabbrinfo.clearData();
  2237. var oParam = {};
  2238. oParam.id = "TRMRI08103";
  2239. oParam.service = "recmngtapp.SystView";
  2240. oParam.method = "reqGetReadAcptPatDeptList";
  2241. oParam.inds = "req=ds_send_cond";
  2242. oParam.outds = "ds_main_deptengabbrinfo=deptengabbrlist";
  2243. oParam.async = false;
  2244. oParam.callback = "cf_TRMRI08103";
  2245. tranf_submit(oParam); //해당 환자의 승인된 수진과 조회
  2246. if(arErrorCode.pop("TRMRI08103") > -1){
  2247. var orddeptengabbr = "";
  2248. var prntdeptengabbr = "";
  2249. var deptCnt = ds_main_deptengabbrinfo.rowcount;
  2250. for ( i=0; i< deptCnt; i++)
  2251. {
  2252. orddeptengabbr = orddeptengabbr + ds_main_deptengabbrinfo.getColumn(i, "deptengabbr") + ",";
  2253. //출력승인된 부서
  2254. if (!utlf_isNull(ds_main_deptengabbrinfo.getColumn(i, "prntdeptengabbr"))){
  2255. prntdeptengabbr = prntdeptengabbr + ds_main_deptengabbrinfo.getColumn(i, "prntdeptengabbr") + ",";
  2256. }
  2257. }
  2258. if ( orddeptengabbr.length > 1 )
  2259. {
  2260. var openerid = "SMMRI08000";
  2261. //var orddeptengabbr = "MD,MG,ME,AH";
  2262. frmf_clearParameter("SMMRI00400_param_openerid");
  2263. frmf_clearParameter("SMMRI00400_param_pid");
  2264. frmf_clearParameter("SMMRI00400_param_orddeptengabbr");
  2265. frmf_clearParameter("SMMRI00400_param_prntdeptengabbr");
  2266. frmf_clearParameter("SMMRI00400_param_resncd");
  2267. frmf_clearParameter("SMMRI00400_param_etc");
  2268. frmf_clearParameter("SMMRI00400_param_appno");
  2269. frmf_clearParameter("SMMRI00400_param_histno");
  2270. frmf_setParameter("SMMRI00400_param_openerid", openerid); //기록승인열람 화면번호 셋팅
  2271. frmf_setParameter("SMMRI00400_param_pid", pid); //조회할 환자번호 셋팅
  2272. frmf_setParameter("SMMRI00400_param_orddeptengabbr", orddeptengabbr); //승인된 수진과 셋팅
  2273. frmf_setParameter("SMMRI00400_param_prntdeptengabbr", prntdeptengabbr); //출력승인된 수진과 셋팅
  2274. frmf_setParameter("SMMRI00400_param_resncd", ds_grd_readapplist.getColumn( ds_grd_readapplist.rowposition, "apptype")); //열람목적 코드
  2275. frmf_setParameter("SMMRI00400_param_etc", ds_grd_readapplist.getColumn( ds_grd_readapplist.rowposition, "appdetail")); //열람목적 사유
  2276. frmf_setParameter("SMMRI00400_param_appno", ds_grd_readapplist.getColumn( ds_grd_readapplist.rowposition, "appno")); //열람신청번호
  2277. frmf_setParameter("SMMRI00400_param_histno", ds_grd_readapplist.getColumn( ds_grd_readapplist.rowposition, "histno")); //열람신청 HISTNO
  2278. frmf_open("SMMRI00400", "SMMRI00400", null, null, null, null, null, null, null, null, null, null, "M");//통합기록조회 오픈
  2279. }
  2280. else
  2281. {
  2282. sysf_messageBox("열람승인내역을","I007");
  2283. return;
  2284. }
  2285. }
  2286. }
  2287. function fLoadExcel(){
  2288. ds_grd_pid.clearData();
  2289. if( grdf_ImportExcel("ds_grd_pid", 1, grd_pid) != false){
  2290. var rows = ds_grd_pid.rowcount;
  2291. if( rows <= 0 ){
  2292. sysf_messageBox("챠트번호가 없습니다","");
  2293. return;
  2294. }
  2295. fLoadfromExcel(rows);
  2296. }
  2297. }
  2298. function fLoadfromExcel(rows){
  2299. for (i = 0; i < rows; i++){
  2300. var pid = ds_grd_pid.getColumn(i, "pid");
  2301. var pnm = ds_grd_pid.getColumn(i, "pnm");
  2302. if ( utlf_isNull(pid)) {
  2303. continue;
  2304. }
  2305. if(lf_reqPatInfo(ds_init_patnm, "pid", "ptbs", pid)==true){
  2306. if(fIsSecretPerson(pid)) return;
  2307. var objColInfo = new Array();
  2308. objColInfo.push({col: "pid", type:"string", size:256, val:pid});
  2309. dsf_createDsRow("ds_temp_req", objColInfo);
  2310. var oParam = {};
  2311. oParam.id = "TRMRI08108";
  2312. oParam.service = "recmngtapp.IntegrityRec";
  2313. oParam.method = "reqGetIndxAndDeptList";
  2314. oParam.inds = "req=ds_temp_req";
  2315. oParam.outds = "ds_temp_patinfo=dplist";
  2316. oParam.async = false;
  2317. oParam.callback = "cf_TRMRI08108";
  2318. tranf_submit(oParam);
  2319. //submit("TRMRI08108");
  2320. var cnt = ds_temp_patinfo.rowcount;
  2321. if(cnt == 0) {
  2322. var orddeptnm = "종이";
  2323. fAddrowAppPatList ( pid, pnm, orddeptnm);
  2324. var addrow = ds_grd_apppatlist.rowposition;
  2325. ds_grd_apppatlist.setColumn(addrow, "pappyn","Y");
  2326. continue;
  2327. }
  2328. for ( j = 0; j < cnt ; j++)
  2329. {
  2330. var deptnm = ds_temp_patinfo.getColumn(j, "deptengabbr");
  2331. fAddrowAppPatList ( pid, pnm, deptnm);
  2332. }
  2333. }
  2334. }
  2335. }
  2336. function swh_app_readapp_btn_multiappdetail_onclick(obj:Button, e:ClickEventInfo)
  2337. {
  2338. if( ds_grd_apppatlist.getCaseCount("chk == true") > 0 ){
  2339. swh_app.readapp.grup_appdetail.visible = true;
  2340. }else{
  2341. sysf_messageBox("사유 입력할 대상을", "C002");
  2342. }
  2343. }
  2344. function swh_app_readapp_grup_appdetail_confirm_onclick(obj:Button, e:ClickEventInfo)
  2345. {
  2346. var sDetail = swh_app.readapp.grup_appdetail.txa_appdetail.value;
  2347. if( utlf_isNull(sDetail) ){
  2348. sysf_messageBox("입력할 사유가 없습니다.", "I");
  2349. return;
  2350. }
  2351. var arrChk = new Array();
  2352. arrChk = objExt.findRows(ds_grd_apppatlist, "chk", 1);
  2353. if(arrChk.length > 0)
  2354. {
  2355. for(var i = 0; i < arrChk.length; i++){
  2356. ds_grd_apppatlist.setColumn(arrChk[i], "appdetail", sDetail);
  2357. }
  2358. }
  2359. swh_app.readapp.grup_appdetail.txa_appdetail.value = "";
  2360. swh_app.readapp.grup_appdetail.visible = false;
  2361. }
  2362. function swh_app_readapp_grup_appdetail_cancel_onclick(obj:Button, e:ClickEventInfo)
  2363. {
  2364. swh_app.readapp.grup_appdetail.visible = false;
  2365. }
  2366. ]]></Script>
  2367. </Form>
  2368. </FDL>