SPMRI06000_정정기록관리.xfdl 127 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMRI06000" position="absolute 0 0 1195 800" titletext="의무기록 정정 신청관리" oninit="SPMRI06000_oninit" onload="SPMRI06000_onload" ontimer="SPMRI06000_ontimer">
  5. <Layouts>
  6. <Layout>
  7. <Div id="div_app02" taborder="30" class="div_LoginNoticeBody_bg" position="absolute 582 520 1195 800" anchor="top right bottom"/>
  8. <Static id="cap_app2" class="sta_LoginNoticetit_bg" position="absolute 584 522 1193 557" anchor="top right"/>
  9. <Div id="div_app01" taborder="24" class="div_LoginNoticeBody_bg" position="absolute 890 400 1195 517" anchor="top right"/>
  10. <Static id="tit_acpt" class="sta_LoginNoticetit_bg" position="absolute 892 402 1193 437" anchor="top right"/>
  11. <Div id="div_app00" taborder="21" class="div_LoginNoticeBody_bg" position="absolute 582 400 887 517" anchor="top right"/>
  12. <Div id="div_app" taborder="13" position="absolute 582 93 1195 396" class="div_LoginNoticeBody_bg" anchor="top right"/>
  13. <Static id="cap_appinfo" class="sta_LoginNoticetit_bg" position="absolute 584 95 1193 130" anchor="top right"/>
  14. <Static id="tit_appinfo" text="의무기록 정정 신청 정보" position="absolute 589 100 761 120" class="sta_LoginNotice_tit" anchor="top right"/>
  15. <Static id="tit_acptmedispcl" class="sta_LoginNoticetit_bg" position="absolute 584 402 885 437" anchor="top right"/>
  16. <Static text="의무기록 정정 신청관리" position="absolute 0 0 175 25" id="caption6" class="tit_1"/>
  17. <Div position="absolute 0 25 1195 87" id="roundrect3" class="div_SA" type="roundrectangle" anchor="left top right" taborder="0">
  18. <Layouts>
  19. <Layout>
  20. <Combo id="cmb_deptkind" taborder="0" text="Combo00" position="absolute 362 11 453 31" codecolumn="codecolumn" datacolumn="datacolumn">
  21. <Dataset id="innerdataset">
  22. <ColumnInfo>
  23. <Column id="codecolumn" size="256"/>
  24. <Column id="datacolumn" size="256"/>
  25. </ColumnInfo>
  26. <Rows>
  27. <Row>
  28. <Col id="codecolumn">A</Col>
  29. <Col id="datacolumn">신청과</Col>
  30. </Row>
  31. <Row>
  32. <Col id="codecolumn">B</Col>
  33. <Col id="datacolumn">진료과</Col>
  34. </Row>
  35. </Rows>
  36. </Dataset>
  37. </Combo>
  38. <CheckBox id="chk_totalprd" taborder="1" text="전체기간" position="absolute 279 11 355 30" onchanged="roundrect3_chk_totalprd_onchanged"/>
  39. </Layout>
  40. </Layouts>
  41. </Div>
  42. <Button position="absolute 1114 46 1170 68" taborder="3" id="btn_srch" class="btn1" text="조회" onclick="btn_srch_onclick" anchor="top right"/>
  43. <Static text="처리구분 :" position="absolute 288 62 360 79" id="caption1" class="search_name"/>
  44. <Static text="신청자 :" position="absolute 568 38 629 55" id="caption3" class="search_name"/>
  45. <Combo position="absolute 634 36 729 55" id="cmb_appdrid" enable="true" taborder="4" innerdataset="ds_init_appdrid" datacolumn="usernm" codecolumn="userid"/>
  46. <Combo position="absolute 458 36 560 55" id="cmb_appdeptcd" taborder="2" innerdataset="ds_init_appdeptcd" datacolumn="depthngnm" codecolumn="deptcd"/>
  47. <Shape position="absolute 1091 38 1097 76" linetype="vertical" id="line18" class="line_4" anchor="top right"/>
  48. <Static id="caption32" text="조회기간 :" class="search_name" position="absolute 10 38 83 55"/>
  49. <Calendar id="ipt_srchstartdd" taborder="6" autoselect="true" dateformat="yyyy-MM-dd" class="input_search" position="absolute 85 36 170 55"/>
  50. <Static id="caption17" text="~" position="absolute 174 37 189 55"/>
  51. <Calendar id="ipt_srchenddd" taborder="7" autoselect="true" dateformat="yyyy-MM-dd" class="input_search" position="absolute 188 36 274 55"/>
  52. <Static id="caption00" text="정정사유" class="cell_1" position="absolute 587 211 667 306" anchor="top right"/>
  53. <Static id="caption34" text="담당교수" class="cell_1" position="absolute 911 159 975 182" anchor="top right"/>
  54. <Static id="caption35" text="등록번호" class="cell_1" position="absolute 587 133 667 156" anchor="top right"/>
  55. <Static id="caption36" text="환자명" class="cell_1" position="absolute 748 133 828 156" anchor="top right"/>
  56. <Edit id="ipt_pid" taborder="8" autoselect="true" class="edt_transbg" position="absolute 670 135 745 154" readonly="true" anchor="top right"/>
  57. <Edit id="ipt_hngnm" taborder="9" readonly="true" autoselect="true" class="edt_transbg" position="absolute 832 135 907 154" anchor="top right"/>
  58. <Shape id="line10" class="line_2" position="absolute 588 305 1186 311" anchor="top right"/>
  59. <Shape id="line5" class="line_2" position="absolute 588 207 1187 213" anchor="top right"/>
  60. <Shape id="line6" class="line_2" visible="false" position="absolute 588 155 1186 161" anchor="top right"/>
  61. <Static id="caption02" text="정정기록지" class="cell_1" position="absolute 587 185 667 208" anchor="top right"/>
  62. <Edit id="ipt_patinfo" taborder="10" autoselect="true" class="edt_transbg" position="absolute 670 161 917 180" readonly="true" anchor="top right"/>
  63. <Edit id="ipt_formnm" taborder="11" autoselect="true" class="edt_transbg" position="absolute 670 187 909 206" readonly="true" anchor="top right"/>
  64. <Button id="btn_appcncl" taborder="12" text="삭제" class="btn5" position="absolute 1058 101 1100 120" anchor="top right" onclick="comn_acptsave" addInfo="신청의" acptstatus="A" compare="appcncl"/>
  65. <Static id="caption2" text="수진이력" class="cell_1" position="absolute 587 159 667 182" anchor="top right"/>
  66. <Shape id="line00" class="line_2" visible="false" position="absolute 588 181 1186 187" anchor="top right"/>
  67. <Static id="caption04" text="생년월일" class="cell_1" position="absolute 911 133 975 156" anchor="top right"/>
  68. <MaskEdit id="ipt_brthdd" taborder="14" readonly="true" autoselect="true" class="edt_transbg" position="absolute 979 135 1053 154" anchor="top right" mask="####-##-##" displaynulltext=" " type="string"/>
  69. <Static id="caption05" text="성별/나이" class="cell_1" position="absolute 1057 133 1121 156" style="padding:0 0 0 5;" anchor="top right"/>
  70. <Edit id="ipt_sa" taborder="15" readonly="true" autoselect="true" class="edt_transbg" position="absolute 1125 135 1189 154" anchor="top right"/>
  71. <Edit id="ipt_medispclnm" taborder="17" readonly="true" autoselect="true" class="edt_transbg" position="absolute 979 161 1053 180" anchor="top right"/>
  72. <Static id="caption07" text="신청의" class="cell_1" position="absolute 1057 159 1121 182" anchor="top right"/>
  73. <Edit id="ipt_appdrnm" taborder="18" readonly="true" autoselect="true" class="edt_transbg" position="absolute 1125 161 1189 180" anchor="top right"/>
  74. <Static id="caption08" text="정정항목&#13;&#10;및 내용" class="cell_1" position="absolute 587 309 667 392" anchor="top right"/>
  75. <TextArea id="txt_appdetail" taborder="20" position="absolute 670 310 1189 388" anchor="top right" tooltiptype="hover" readonly="true"/>
  76. <Static id="caption09" text="승인자" class="cell_1" position="absolute 587 440 643 463" anchor="top right"/>
  77. <Edit id="ipt_acptmedispclnm" taborder="22" readonly="true" autoselect="true" class="edt_transbg" position="absolute 646 442 711 461" anchor="top right"/>
  78. <Static id="caption10" text="반려자" class="cell_1" position="absolute 587 465 643 488" anchor="top right"/>
  79. <Edit id="ipt_acptcnclmedispclnm" taborder="23" readonly="true" autoselect="true" class="edt_transbg" position="absolute 646 467 711 486" anchor="top right"/>
  80. <Button id="btn_acptcnclmedispcl" taborder="25" text="반려" onclick="comn_acptsave" class="btn5" position="absolute 789 409 831 428" anchor="top right" addInfo="담당교수" acptstatus="DC" compare="acptmedispcl"/>
  81. <Button id="btn_acptmedispcl" taborder="26" text="승인" onclick="comn_acptsave" class="btn5" position="absolute 833 409 875 428" anchor="top right" addInfo="담당교수" acptstatus="D" compare="acptcnclmedispcl"/>
  82. <Button id="btn_acptcncl" taborder="27" text="반려" onclick="comn_acptsave" class="btn5" position="absolute 1101 409 1143 428" anchor="top right" acptstatus="MC" compare="acpt" addInfo="의무기록"/>
  83. <Button id="btn_acpt" taborder="28" text="승인" onclick="comn_acptsave" class="btn5" position="absolute 1145 409 1187 428" anchor="top right" acptstatus="M" compare="acptcncl" addInfo="의무기록"/>
  84. <Static id="cap_acptmedispcl" text="정정 승인 정보 (담당교수)" class="sta_LoginNotice_tit" position="absolute 589 410 766 426" anchor="top right"/>
  85. <Static id="caption20" text="정정 승인 정보 (의무기록)" class="sta_LoginNotice_tit" position="absolute 896 410 1079 426" anchor="top right"/>
  86. <Radio id="rdo_appresn" taborder="31" columncount="1" rowcount="-1" innerdataset="@ds_M0803" codecolumn="cdid" datacolumn="cdnm" position="absolute 672 212 1060 301" anchor="top right" readonly="true" onitemchanged="rdo_appresn_onitemchanged"/>
  87. <Div id="ivw_reccnts" anchor="top right bottom" taborder="29" url="emr_medirecxp::SSMMR01200_기록내역조회.xfdl" scrollbars="none" position="absolute 588 559 1190 796"/>
  88. <Static id="caption22" text="기록 내용" class="sta_LoginNotice_tit" position="absolute 589 530 678 546" anchor="top right"/>
  89. <Static id="caption23" text="승인일시" class="cell_1" position="absolute 714 440 778 463" anchor="top right"/>
  90. <MaskEdit id="ipt_acptmedispcldt" taborder="32" readonly="true" autoselect="true" class="edt_transbg" position="absolute 780 442 881 461" anchor="top right" mask="####-##-## ##:##" displaynulltext=" " type="string"/>
  91. <Static id="caption24" text="반려일시" class="cell_1" position="absolute 714 465 778 488" anchor="top right"/>
  92. <MaskEdit id="ipt_acptcnclmedispcldt" taborder="33" readonly="true" autoselect="true" class="edt_transbg" position="absolute 780 467 881 486" anchor="top right" mask="####-##-## ##:##" displaynulltext=" " type="string"/>
  93. <Static id="caption11" text="승인자" class="cell_1" position="absolute 895 440 951 463" anchor="top right"/>
  94. <Edit id="ipt_acptnm" taborder="34" readonly="true" autoselect="true" class="edt_transbg" position="absolute 954 442 1019 461" anchor="top right"/>
  95. <Static id="caption12" text="반려자" class="cell_1" position="absolute 895 465 951 488" anchor="top right"/>
  96. <Edit id="ipt_acptcnclnm" taborder="35" readonly="true" autoselect="true" class="edt_transbg" position="absolute 954 467 1019 486" anchor="top right"/>
  97. <Static id="caption25" text="승인일시" class="cell_1" position="absolute 1022 440 1086 463" anchor="top right"/>
  98. <MaskEdit id="ipt_acptdt" taborder="36" readonly="true" autoselect="true" class="edt_transbg" position="absolute 1088 442 1189 461" anchor="top right" mask="####-##-## ##:##" displaynulltext=" " type="string"/>
  99. <Static id="caption26" text="반려일시" class="cell_1" position="absolute 1022 465 1086 488" anchor="top right"/>
  100. <MaskEdit id="ipt_acptcncldt" taborder="37" readonly="true" autoselect="true" class="edt_transbg" position="absolute 1088 467 1189 486" anchor="top right" mask="####-##-## ##:##" displaynulltext=" " type="string"/>
  101. <Static id="caption28" text="사유" class="cell_1" position="absolute 587 490 643 513" anchor="top right"/>
  102. <Edit id="ipt_acptcnclmedispclresn" taborder="38" readonly="true" autoselect="true" class="edt_transbg" position="absolute 782 492 882 511" anchor="top right"/>
  103. <Static id="caption29" text="사유" class="cell_1" position="absolute 895 490 951 513" anchor="top right"/>
  104. <Edit id="ipt_acptcnclresn" taborder="39" readonly="true" autoselect="true" class="edt_transbg" position="absolute 1090 492 1190 511" anchor="top right"/>
  105. <Static id="caption30" text="정정기록 리스트" class="tit_2" position="absolute 1 96 124 112"/>
  106. <Button id="btn_excel" taborder="40" text="Excel" class="btn7" position="absolute 517 93 580 112" onclick="btn_excel_onclick" anchor="top right"/>
  107. <Button id="btn_expand" taborder="41" text="상세" class="btn2" position="absolute 475 93 515 112" onclick="btn_expand_onclick" nExpand="N" anchor="top right" visible="false"/>
  108. <MaskEdit id="ipt_appcncldt" taborder="42" readonly="true" autoselect="true" class="edt_transbg" position="absolute 760 104 880 123" anchor="top right" mask="####-##-## ##:##" type="string" displaynulltext=" " visible="false"/>
  109. <Edit id="ipt_appcnclresn" taborder="43" readonly="true" autoselect="true" class="edt_transbg" position="absolute 878 104 978 123" anchor="top right" visible="false"/>
  110. <Combo id="cmb_acptcnclmedispcltype" taborder="44" readonly="true" innerdataset="@ds_M0805" codecolumn="cdid" datacolumn="cdnm" position="absolute 646 492 778 512" style="background:transparent;" anchor="top right"/>
  111. <Combo id="cmb_acptcncltype" taborder="45" readonly="true" innerdataset="@ds_M0805" codecolumn="cdid" datacolumn="cdnm" position="absolute 954 492 1086 512" style="background:transparent;" anchor="top right"/>
  112. <Button id="btn_appsave" taborder="46" text="저장" onclick="comn_acptsave" class="btn5" position="absolute 1144 101 1186 120" anchor="top right" addInfo="신청의" acptstatus="A" compare=""/>
  113. <Button id="btn_appmdf" taborder="47" text="수정" onclick="comn_acptsave" class="btn5" position="absolute 1101 101 1143 120" anchor="top right" addInfo="신청의" acptstatus="A" compare=""/>
  114. <Edit id="ipt_appresnetc" taborder="19" readonly="true" autoselect="true" class="edt_transbg" position="absolute 750 283 1021 302" anchor="top right"/>
  115. <Button id="btn_rec" taborder="48" text="기록작성" position="absolute 1107 528 1186 548" class="btn4" onclick="btn_rec_onclick" anchor="top right"/>
  116. <Static id="stt_forminfo" class="edt_transbg" position="absolute 680 530 916 549" anchor="top right" style="color:deeppink;font:Dotum,9,bold;"/>
  117. <Static id="caption13" text="신청구분 :" class="search_name" position="absolute 10 62 82 79"/>
  118. <Radio id="rdo_appflag" taborder="49" innerdataset="@ds_M0801" codecolumn="cdid" datacolumn="cdnm" position="absolute 89 60 232 80" style="textpadding:0 3 0 3;" rowcount="-1" columncount="-1" onitemchanged="rdo_appflag_onitemchanged" onitemclick="rdo_appflag_onitemclick"/>
  119. <cp_checkboxList id="cp_acptstatus" titletext="CheckBox List" taborder="50" scrollbars="none" position="absolute 363 59 885 79" style="background:transparent; " col="1" row="1" cellspacing="2" vcellspacing="0" itemWidth="100" itemHeight="20" overflow="visible"/>
  120. <Button id="btn_reapp" taborder="51" text="재신청" class="btn4" position="absolute 985 101 1051 121" anchor="top right" onclick="btn_reapp_onclick" acptstatus="R" visible="false"/>
  121. <Combo id="cmb_appmedispclid" taborder="16" innerdataset="ds_init_appmedispclid" codecolumn="userid" datacolumn="usernm" position="absolute 978 160 1054 180" readonly="true"/>
  122. <Static id="caption14" text="담당교수 :" class="search_name" position="absolute 744 38 821 55"/>
  123. <Combo id="cmb_appmedispclid2" taborder="52" innerdataset="@ds_init_appmedispclid2" codecolumn="userid" datacolumn="usernm" position="absolute 818 36 913 55"/>
  124. <Grid id="grd_mdfrecdetail" taborder="53" useinputpanel="false" position="absolute 670 309 1189 392" binddataset="ds_data_mdfrecdetail" autofittype="col" cellsizingtype="col" autoenter="select">
  125. <Formats>
  126. <Format id="default">
  127. <Columns>
  128. <Column size="25"/>
  129. <Column size="0"/>
  130. <Column size="0"/>
  131. <Column size="0"/>
  132. <Column size="120"/>
  133. <Column size="0"/>
  134. <Column size="370"/>
  135. <Column size="0"/>
  136. <Column size="0"/>
  137. <Column size="0"/>
  138. <Column size="0"/>
  139. </Columns>
  140. <Rows>
  141. <Row size="20" band="head"/>
  142. <Row size="20"/>
  143. </Rows>
  144. <Band id="head">
  145. <Cell/>
  146. <Cell col="1" displaytype="normal" text="instcd"/>
  147. <Cell col="2" displaytype="normal" text="appno"/>
  148. <Cell col="3" displaytype="normal" text="seqno"/>
  149. <Cell col="4" displaytype="normal" text="정정항목"/>
  150. <Cell col="5" displaytype="normal" text="itemnm"/>
  151. <Cell col="6" displaytype="normal" text="정정내용"/>
  152. <Cell col="7" displaytype="normal" text="fstrgstrid"/>
  153. <Cell col="8" displaytype="normal" text="fstrgstdt"/>
  154. <Cell col="9" displaytype="normal" text="lastupdtrid"/>
  155. <Cell col="10" displaytype="normal" text="lastupdtdt"/>
  156. </Band>
  157. <Band id="body">
  158. <Cell celltype="head"/>
  159. <Cell col="1" displaytype="normal" text="bind:instcd"/>
  160. <Cell col="2" displaytype="normal" text="bind:appno"/>
  161. <Cell col="3" displaytype="normal" text="bind:seqno"/>
  162. <Cell col="4" displaytype="combo" edittype="combo" text="bind:itemcd" combodataset="ds_init_unprepitem" combocodecol="unprepitemcd" combodatacol="unprepitemnm"/>
  163. <Cell col="5" displaytype="normal" text="bind:itemnm"/>
  164. <Cell col="6" displaytype="text" edittype="text" text="bind:itemdetail"/>
  165. <Cell col="7" displaytype="normal" text="bind:fstrgstrid"/>
  166. <Cell col="8" displaytype="normal" text="bind:fstrgstdt"/>
  167. <Cell col="9" displaytype="normal" text="bind:lastupdtrid"/>
  168. <Cell col="10" displaytype="normal" text="bind:lastupdtdt"/>
  169. </Band>
  170. </Format>
  171. </Formats>
  172. </Grid>
  173. <Button id="btn_delrow" taborder="54" text="행삭제" class="btn2" position="absolute 1115 311 1170 328" anchor="top right" acptstatus="A" compare="" addInfo="" onclick="btn_delrow_onclick"/>
  174. <Button id="btn_addrow" taborder="55" text="행추가" class="btn2" position="absolute 1059 311 1114 328" anchor="top right" acptstatus="A" compare="" addInfo="" onclick="btn_addrow_onclick"/>
  175. <Div id="grp_cnclresn" taborder="5" visible="false" position="absolute 1202 68 1465 256" class="div_callNumber">
  176. <Layouts>
  177. <Layout>
  178. <Static id="caption24" text="반려사유 입력" class="tit_3" position="absolute 9 10 125 24" anchor="default"/>
  179. <Button id="confirm" taborder="4" text="확 인" class="btn2" position="absolute 142 154 195 174" anchor="default" onclick="grp_cnclresn_confirm_onclick"/>
  180. <Button id="cancel" taborder="5" text="취 소" class="btn2" position="absolute 197 154 250 174" anchor="default" onclick="grp_cnclresn_cancel_onclick"/>
  181. <Radio id="rdo_acptcncltype" taborder="7" columncount="1" rowcount="-1" position="absolute 20 36 160 144" innerdataset="@ds_M0805" datacolumn="cdnm" codecolumn="cdid" anchor="default" onitemchanged="grp_cnclresn_rdo_acptcncltype_onitemchanged"/>
  182. <Edit id="edt_acptcnclresn" taborder="6" autoselect="true" position="absolute 75 122 252 145" anchor="default" enable="false"/>
  183. </Layout>
  184. </Layouts>
  185. </Div>
  186. <Static id="caption15" text="정정구분" class="cell_1" position="absolute 911 185 975 208" anchor="top right" visible="false"/>
  187. <Div id="grp_autoconfirm" taborder="56" position="absolute 610 0 1195 25" visible="false" anchor="top right">
  188. <Layouts>
  189. <Layout>
  190. <Static id="caption24" text="자동승인 시간설정" class="tit_3" position="absolute 9 6 141 20" anchor="default"/>
  191. <Button id="confirm" taborder="8" text="저장" class="btn5" position="absolute 390 3 432 23" anchor="default" onclick="grp_autoconfirm_confirm_onclick"/>
  192. <MaskEdit id="ipt_autovalifromdt" taborder="10" displaynulltext=" " type="string" mask="####-##-## ##:##" autoselect="true" position="absolute 144 3 256 23" anchor="top right" clipmode="excludespace" ontextchange="utlf_validMaskEditDateTime"/>
  193. <Static id="stt_forminfo" class="edt_transbg" position="absolute 259 4 269 23" anchor="top right" text="~"/>
  194. <MaskEdit id="ipt_autovalitodt" taborder="11" displaynulltext=" " type="string" mask="####-##-## ##:##" clipmode="excludespace" autoselect="true" position="absolute 272 3 384 23" anchor="top right" ontextchange="utlf_validMaskEditDateTime"/>
  195. <Edit id="ipt_timer" taborder="12" autoselect="true" class="input_search" position="absolute 438 3 466 23" tooltiptype="inplace,mouseleave" tooltiptext="단위 : 초" inputtype="number" maxlength="3" inputfilter="dot,comma,sign,symbol,space"/>
  196. <Button id="btn_subtime" taborder="13" text="▼" position="absolute 468 0 483 13" onclick="grp_autoconfirm_btn_subtime_onclick"/>
  197. <Button id="btn_addtime" taborder="14" text="▲" position="absolute 468 12 483 25" onclick="grp_autoconfirm_btn_addtime_onclick"/>
  198. <Edit id="opt_interval" taborder="15" readonly="true" autoselect="true" position="absolute 485 3 513 23"/>
  199. <Button id="btn_interval" taborder="16" text="자동조회" class="btn2" position="absolute 520 4 585 23" onclick="grp_autoconfirm_btn_interval_onclick"/>
  200. </Layout>
  201. </Layouts>
  202. </Div>
  203. <Grid position="absolute 0 117 580 800" id="grd_mdfreclist" binddataset="ds_data_mdfreclist" cellsizingtype="col" anchor="all" oncelldblclick="grd_mdfreclist_oncelldblclick" taborder="1" selecttype="row" onrbuttondown="grd_mdfreclist_onrbuttondown">
  204. <Formats>
  205. <Format id="default">
  206. <Columns>
  207. <Column size="25" band="left"/>
  208. <Column size="0" band="left"/>
  209. <Column size="0"/>
  210. <Column size="70"/>
  211. <Column size="75"/>
  212. <Column size="30"/>
  213. <Column size="0"/>
  214. <Column size="0"/>
  215. <Column size="40"/>
  216. <Column size="30"/>
  217. <Column size="0"/>
  218. <Column size="60"/>
  219. <Column size="50"/>
  220. <Column size="60"/>
  221. <Column size="30"/>
  222. <Column size="40"/>
  223. <Column size="70"/>
  224. <Column size="70"/>
  225. <Column size="0"/>
  226. <Column size="0"/>
  227. <Column size="0"/>
  228. <Column size="0"/>
  229. <Column size="80"/>
  230. <Column size="130"/>
  231. <Column size="70"/>
  232. <Column size="40"/>
  233. <Column size="40"/>
  234. <Column size="120"/>
  235. <Column size="120"/>
  236. <Column size="0"/>
  237. <Column size="0"/>
  238. <Column size="0"/>
  239. <Column size="0"/>
  240. <Column size="0"/>
  241. <Column size="80"/>
  242. <Column size="100"/>
  243. <Column size="80"/>
  244. <Column size="100"/>
  245. <Column size="120"/>
  246. <Column size="80"/>
  247. <Column size="0"/>
  248. <Column size="0"/>
  249. <Column size="80"/>
  250. <Column size="100"/>
  251. <Column size="80"/>
  252. <Column size="100"/>
  253. <Column size="120"/>
  254. <Column size="80"/>
  255. <Column size="0"/>
  256. <Column size="100"/>
  257. <Column size="0"/>
  258. <Column size="0"/>
  259. <Column size="100"/>
  260. <Column size="103"/>
  261. <Column size="80"/>
  262. <Column size="100"/>
  263. <Column size="100"/>
  264. <Column size="100"/>
  265. <Column size="40"/>
  266. </Columns>
  267. <Rows>
  268. <Row size="20" band="head"/>
  269. <Row size="20" band="head"/>
  270. <Row size="24"/>
  271. </Rows>
  272. <Band id="head">
  273. <Cell rowspan="2" taborder="undefined"/>
  274. <Cell col="1" rowspan="2" taborder="undefined"/>
  275. <Cell col="2" rowspan="2" displaytype="normal" text="기관코드" taborder="undefined"/>
  276. <Cell col="3" rowspan="2" displaytype="normal" text="신청일" taborder="undefined"/>
  277. <Cell col="4" rowspan="2" displaytype="normal" text="상태" taborder="undefined"/>
  278. <Cell col="5" rowspan="2" text="구분" taborder="undefined"/>
  279. <Cell col="6" rowspan="2" displaytype="normal" text="jobkindnm" taborder="undefined"/>
  280. <Cell col="7" rowspan="2" displaytype="normal" text="jobkindcd" taborder="undefined"/>
  281. <Cell col="8" rowspan="2" text="신청과" taborder="undefined"/>
  282. <Cell col="9" rowspan="2" displaytype="normal" text="직종" taborder="undefined"/>
  283. <Cell col="10" rowspan="2" displaytype="normal" text="appdrid" taborder="undefined"/>
  284. <Cell col="11" rowspan="2" displaytype="normal" text="신청의사" taborder="undefined"/>
  285. <Cell col="12" rowspan="2" displaytype="normal" text="등록번호" taborder="undefined"/>
  286. <Cell col="13" rowspan="2" text="환자명" taborder="undefined"/>
  287. <Cell col="14" rowspan="2" text="내원" taborder="undefined"/>
  288. <Cell col="15" rowspan="2" displaytype="normal" text="진료과" taborder="undefined"/>
  289. <Cell col="16" rowspan="2" text="퇴(내)원일" taborder="undefined"/>
  290. <Cell col="17" rowspan="2" displaytype="normal" text="입원일" taborder="undefined"/>
  291. <Cell col="18" rowspan="2" displaytype="normal" text="cretno" taborder="undefined"/>
  292. <Cell col="19" rowspan="2" displaytype="normal" text="수진이력" taborder="undefined"/>
  293. <Cell col="20" rowspan="2" displaytype="normal" text="histno" taborder="undefined"/>
  294. <Cell col="21" rowspan="2" displaytype="normal" text="appmedispclid" taborder="undefined"/>
  295. <Cell col="22" rowspan="2" displaytype="normal" text="담당교수" taborder="undefined"/>
  296. <Cell col="23" rowspan="2" displaytype="normal" text="기록명" taborder="undefined"/>
  297. <Cell col="24" rowspan="2" text="기록일자" taborder="undefined"/>
  298. <Cell col="25" rowspan="2" text="스캔" taborder="undefined"/>
  299. <Cell col="26" rowspan="2" text="정정&#13;&#10;구분" taborder="undefined"/>
  300. <Cell col="27" colspan="2" displaytype="normal" text="정정사유" taborder="undefined"/>
  301. <Cell col="29" rowspan="2" displaytype="normal" text="정정내용" taborder="undefined"/>
  302. <Cell col="30" rowspan="2" displaytype="normal" text="반려일자" taborder="undefined"/>
  303. <Cell col="31" rowspan="2" displaytype="normal" text="반려사유" taborder="undefined"/>
  304. <Cell col="32" displaytype="normal" text="담당교수" taborder="undefined"/>
  305. <Cell col="33" displaytype="normal" text="담당교수" taborder="undefined"/>
  306. <Cell col="34" colspan="6" displaytype="normal" text="담당교수" taborder="undefined"/>
  307. <Cell col="40" displaytype="normal" text="의무기록" taborder="undefined"/>
  308. <Cell col="41" displaytype="normal" text="의무기록" taborder="undefined"/>
  309. <Cell col="42" colspan="6" displaytype="normal" text="의무기록" taborder="undefined"/>
  310. <Cell col="48" rowspan="2" displaytype="normal" text="fstrgstrid" taborder="undefined"/>
  311. <Cell col="49" rowspan="2" displaytype="normal" text="최초등록일시" taborder="undefined"/>
  312. <Cell col="50" rowspan="2" displaytype="normal" text="lastupdtrid" taborder="undefined"/>
  313. <Cell col="51" rowspan="2" displaytype="normal" text="lastupdtdt" taborder="undefined"/>
  314. <Cell col="52" rowspan="2" text="정정완료일시" taborder="undefined"/>
  315. <Cell col="53" rowspan="2" text="삭제일자" taborder="undefined"/>
  316. <Cell col="54" rowspan="2" displaytype="normal" text="신청번호" taborder="undefined"/>
  317. <Cell col="55" rowspan="2" displaytype="normal" text="formcd" taborder="undefined"/>
  318. <Cell col="56" rowspan="2" displaytype="normal" text="formrecseq" taborder="undefined"/>
  319. <Cell col="57" rowspan="2" text="ocrtag" taborder="undefined"/>
  320. <Cell col="58"/>
  321. <Cell row="1" col="27" displaytype="normal" text="정정사유" taborder="undefined"/>
  322. <Cell row="1" col="28" displaytype="normal" text="기타" taborder="undefined"/>
  323. <Cell row="1" col="32" displaytype="normal" text="acptmedispclid" taborder="undefined"/>
  324. <Cell row="1" col="33" text="acptcnclmedispclid"/>
  325. <Cell row="1" col="34" text="승인자"/>
  326. <Cell row="1" col="35" text="승인일시"/>
  327. <Cell row="1" col="36" text="반려자"/>
  328. <Cell row="1" col="37" text="반려일시"/>
  329. <Cell row="1" col="38" colspan="2" text="반려사유" taborder="undefined"/>
  330. <Cell row="1" col="40" text="acptid"/>
  331. <Cell row="1" col="41" text="acptcnclid"/>
  332. <Cell row="1" col="42" text="승인자"/>
  333. <Cell row="1" col="43" text="승인일시"/>
  334. <Cell row="1" col="44" text="반려자"/>
  335. <Cell row="1" col="45" text="반려일시"/>
  336. <Cell row="1" col="46" colspan="2" text="반려사유" taborder="undefined"/>
  337. <Cell row="1" col="58"/>
  338. </Band>
  339. <Band id="body">
  340. <Cell celltype="head" text="expr:currow + 1"/>
  341. <Cell col="1" style="background:EXPR(lf_setStyle(appflag, appdeptcd, appdrid, acptstatus));background2:EXPR(lf_setStyle(appflag, appdeptcd, appdrid, acptstatus));selectbackground:EXPR(lf_setStyle(appflag, appdeptcd, appdrid, acptstatus));"/>
  342. <Cell col="2" displaytype="normal" text="bind:instcd"/>
  343. <Cell col="3" displaytype="date" text="bind:appdd" maskchar="_" calendardisplaynulltype="none"/>
  344. <Cell col="4" displaytype="combo" text="bind:acptstatus" combodataset="ds_M0800" combocodecol="cdid" combodatacol="cdnm"/>
  345. <Cell col="5" displaytype="combo" style="align:center middle;" text="bind:appflag" combodataset="ds_M0801" combocodecol="cdid" combodatacol="cdnm"/>
  346. <Cell col="6" displaytype="normal" text="bind:jobkindnm"/>
  347. <Cell col="7" displaytype="normal" text="bind:jobkindcd"/>
  348. <Cell col="8" displaytype="combo" style="align:center middle;" text="bind:appdeptcd" combodataset="ds_init_appdeptcd" combocodecol="deptcd" combodatacol="deptengabbr"/>
  349. <Cell col="9" displaytype="normal" text="bind:doctkindflag"/>
  350. <Cell col="10" displaytype="normal" text="bind:appdrid"/>
  351. <Cell col="11" displaytype="normal" text="bind:appdrnm"/>
  352. <Cell col="12" displaytype="normal" text="bind:pid"/>
  353. <Cell col="13" displaytype="normal" text="bind:hngnm"/>
  354. <Cell col="14" displaytype="combo" text="bind:ordtype" combodataset="ds_P0001" combocodecol="cdid" combodatacol="cdnm"/>
  355. <Cell col="15" displaytype="combo" style="align:center middle;" text="bind:orddeptcd" combodataset="ds_init_appdeptcd" combocodecol="deptcd" combodatacol="deptengabbr"/>
  356. <Cell col="16" displaytype="date" text="bind:dschdd" calendardisplaynulltype="none"/>
  357. <Cell col="17" displaytype="date" text="bind:orddd" expr="expr:ordtype == 'O' ? '' : orddd" calendardisplaynulltype="none"/>
  358. <Cell col="18" displaytype="normal" text="bind:cretno"/>
  359. <Cell col="19" displaytype="text" text="bind:disppatinfo"/>
  360. <Cell col="20" displaytype="normal" text="bind:histno"/>
  361. <Cell col="21" displaytype="normal" text="bind:appmedispclid"/>
  362. <Cell col="22" displaytype="normal" text="bind:appmedispclnm"/>
  363. <Cell col="23" displaytype="text" text="bind:formnm"/>
  364. <Cell col="24" displaytype="date" text="bind:formrecdd" calendardisplaynulltype="none"/>
  365. <Cell col="25" text="bind:scanyn"/>
  366. <Cell col="26" displaytype="combo" style="align:center middle;" text="bind:apptype" combodataset="ds_M0802" combocodecol="cdid" combodatacol="cdnm"/>
  367. <Cell col="27" displaytype="text" text="bind:appresnnm"/>
  368. <Cell col="28" displaytype="normal" text="bind:appresnetc"/>
  369. <Cell col="29" displaytype="text" style="align:left top;padding:3 2 1 2;" text="bind:appdetail"/>
  370. <Cell col="30" displaytype="normal" text="bind:appcncldt"/>
  371. <Cell col="31" displaytype="normal" text="bind:appcnclresn"/>
  372. <Cell col="32" displaytype="normal" text="bind:acptmedispclid"/>
  373. <Cell col="33" displaytype="normal" text="bind:acptcnclmedispclid"/>
  374. <Cell col="34" displaytype="normal" text="bind:acptmedispclnm"/>
  375. <Cell col="35" displaytype="normal" text="bind:acptmedispcldt" mask="expr:grdf_setCellMask(acptmedispcldt, '####-##-## ##:##')"/>
  376. <Cell col="36" displaytype="normal" text="bind:acptcnclmedispclnm"/>
  377. <Cell col="37" displaytype="normal" text="bind:acptcnclmedispcldt" mask="expr:grdf_setCellMask(acptcnclmedispcldt, '####-##-## ##:##')"/>
  378. <Cell col="38" displaytype="combo" text="bind:acptcnclmedispcltype" combodataset="ds_M0805" combocodecol="cdid" combodatacol="cdnm"/>
  379. <Cell col="39" displaytype="text" text="bind:acptcnclmedispclresn"/>
  380. <Cell col="40" displaytype="normal" text="bind:acptid"/>
  381. <Cell col="41" displaytype="normal" text="bind:acptcnclid"/>
  382. <Cell col="42" displaytype="normal" text="bind:acptnm"/>
  383. <Cell col="43" displaytype="normal" text="bind:acptdt" mask="expr:grdf_setCellMask(acptdt, '####-##-## ##:##')"/>
  384. <Cell col="44" displaytype="normal" text="bind:acptcnclnm"/>
  385. <Cell col="45" displaytype="normal" text="bind:acptcncldt" mask="expr:grdf_setCellMask(acptcncldt, '####-##-## ##:##')"/>
  386. <Cell col="46" displaytype="combo" text="bind:acptcncltype" combodataset="ds_M0805" combocodecol="cdid" combodatacol="cdnm"/>
  387. <Cell col="47" displaytype="text" text="bind:acptcnclresn"/>
  388. <Cell col="48" displaytype="normal" text="bind:fstrgstrid"/>
  389. <Cell col="49" text="bind:fstrgstdt" mask="expr:grdf_setCellMask(fstrgstdt, '####-##-## ##:##')" calendardisplaynulltype="none"/>
  390. <Cell col="50" displaytype="normal" text="bind:lastupdtrid"/>
  391. <Cell col="51" displaytype="normal" text="bind:lastupdtdt"/>
  392. <Cell col="52" text="bind:enddt" mask="expr:grdf_setCellMask(enddt, '####-##-## ##:##')"/>
  393. <Cell col="53" text="bind:appcncldt"/>
  394. <Cell col="54" displaytype="normal" text="bind:appno"/>
  395. <Cell col="55" displaytype="text" edittype="readonly" text="bind:formcd" editautoselect="true"/>
  396. <Cell col="56" displaytype="text" edittype="readonly" text="bind:formrecseq" editautoselect="true"/>
  397. <Cell col="57" text="bind:ocrtag"/>
  398. <Cell col="58"/>
  399. </Band>
  400. </Format>
  401. </Formats>
  402. </Grid>
  403. <Shape position="absolute 0 112 580 118" linetype="horizontal" id="line1" class="line_10" anchor="left top right"/>
  404. <PopupMenu id="comn_menu" innerdataset="ds_ocrmsrght" idcolumn="hardcd" captioncolumn="hardcdnm" levelcolumn="level" onmenuclick="comn_menu_onmenuclick" position="absolute 1232 0 1333 22"/>
  405. </Layout>
  406. </Layouts>
  407. <Objects>
  408. <Dataset id="ds_init_appdeptcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  409. <ColumnInfo>
  410. <Column id="deptcd" type="STRING" size="256"/>
  411. <Column id="depthngnm" type="STRING" size="256"/>
  412. </ColumnInfo>
  413. </Dataset>
  414. <Dataset id="ds_init_appdrid" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  415. <ColumnInfo>
  416. <Column id="userid" type="STRING" size="256"/>
  417. <Column id="usernm" type="STRING" size="256"/>
  418. </ColumnInfo>
  419. </Dataset>
  420. <Dataset id="ds_init_appmedispclid" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  421. <ColumnInfo>
  422. <Column id="userid" type="STRING" size="256"/>
  423. <Column id="usernm" type="STRING" size="256"/>
  424. </ColumnInfo>
  425. </Dataset>
  426. <Dataset id="ds_init_appmedispclid2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  427. <ColumnInfo>
  428. <Column id="userid" type="STRING" size="256"/>
  429. <Column id="usernm" type="STRING" size="256"/>
  430. </ColumnInfo>
  431. </Dataset>
  432. <Dataset id="ds_M0800" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  433. <ColumnInfo>
  434. <Column id="cdid" type="STRING" size="256"/>
  435. <Column id="cdnm" type="STRING" size="256"/>
  436. </ColumnInfo>
  437. <Rows>
  438. <!--
  439. <Row>
  440. <Col id="hardcdnm">전체</Col>
  441. <Col id="hardcd">-</Col>
  442. </Row>
  443. <Row>
  444. <Col id="hardcdnm">승인대기</Col>
  445. <Col id="hardcd">A</Col>
  446. </Row>
  447. <Row>
  448. <Col id="hardcdnm">담당교수승인</Col>
  449. <Col id="hardcd">D</Col>
  450. </Row>
  451. <Row>
  452. <Col id="hardcdnm">의무기록승인</Col>
  453. <Col id="hardcd">M</Col>
  454. </Row>
  455. <Row>
  456. <Col id="hardcdnm">완료</Col>
  457. <Col id="hardcd">E</Col>
  458. </Row>
  459. <Row>
  460. <Col id="hardcdnm">담당교수반려</Col>
  461. <Col id="hardcd">DC</Col>
  462. </Row>
  463. <Row>
  464. <Col id="hardcd">MC</Col>
  465. <Col id="hardcdnm">의무기록반려</Col>
  466. </Row>
  467. -->
  468. </Rows>
  469. </Dataset>
  470. <Dataset id="ds_M0801" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  471. <ColumnInfo>
  472. <Column id="cdid" type="STRING" size="256"/>
  473. <Column id="cdnm" type="STRING" size="256"/>
  474. </ColumnInfo>
  475. <Rows/>
  476. </Dataset>
  477. <Dataset id="ds_M0802" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  478. <ColumnInfo>
  479. <Column id="cdid" type="STRING" size="256"/>
  480. <Column id="cdnm" type="STRING" size="256"/>
  481. </ColumnInfo>
  482. <Rows/>
  483. </Dataset>
  484. <Dataset id="ds_M0803" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  485. <ColumnInfo>
  486. <Column id="cdid" type="STRING" size="256"/>
  487. <Column id="cdnm" type="STRING" size="256"/>
  488. </ColumnInfo>
  489. <Rows>
  490. <!--
  491. <Row>
  492. <Col id="hardcd">R1</Col>
  493. <Col id="hardcdnm">기록 보완</Col>
  494. </Row>
  495. <Row>
  496. <Col id="hardcd">R2</Col>
  497. <Col id="hardcdnm">기록 삭제</Col>
  498. </Row>
  499. <Row>
  500. <Col id="hardcd">R3</Col>
  501. <Col id="hardcdnm">적정성 평가</Col>
  502. </Row>
  503. <Row>
  504. <Col id="hardcd">R4</Col>
  505. <Col id="hardcdnm">이의 신청</Col>
  506. </Row>
  507. <Row>
  508. <Col id="hardcd">R5</Col>
  509. <Col id="hardcdnm">환자 요청</Col>
  510. </Row>
  511. <Row>
  512. <Col id="hardcd">R6</Col>
  513. <Col id="hardcdnm">기타</Col>
  514. </Row>
  515. -->
  516. </Rows>
  517. </Dataset>
  518. <Dataset id="ds_M0804" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  519. <ColumnInfo>
  520. <Column id="cdid" type="STRING" size="256"/>
  521. <Column id="cdnm" type="STRING" size="256"/>
  522. </ColumnInfo>
  523. <Rows/>
  524. </Dataset>
  525. <Dataset id="ds_M0805" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  526. <ColumnInfo>
  527. <Column id="cdid" type="STRING" size="256"/>
  528. <Column id="cdnm" type="STRING" size="256"/>
  529. </ColumnInfo>
  530. <Rows>
  531. <!--
  532. <Row>
  533. <Col id="hardcd">C1</Col>
  534. <Col id="hardcdnm">정정사유 부정확</Col>
  535. </Row>
  536. <Row>
  537. <Col id="hardcd">C2</Col>
  538. <Col id="hardcdnm">정정내용 부적절</Col>
  539. </Row>
  540. <Row>
  541. <Col id="hardcd">C3</Col>
  542. <Col id="hardcdnm">환자용 신청서 미제출</Col>
  543. </Row>
  544. <Row>
  545. <Col id="hardcd">C4</Col>
  546. <Col id="hardcdnm">위원회 심의 필요</Col>
  547. </Row>
  548. <Row>
  549. <Col id="hardcd">C5</Col>
  550. <Col id="hardcdnm">기타</Col>
  551. </Row>
  552. -->
  553. </Rows>
  554. </Dataset>
  555. <Dataset id="ds_M0807" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  556. <ColumnInfo>
  557. <Column id="cdid" type="STRING" size="256"/>
  558. <Column id="cdnm" type="STRING" size="256"/>
  559. </ColumnInfo>
  560. <Rows/>
  561. </Dataset>
  562. <Dataset id="ds_P0001" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  563. <ColumnInfo>
  564. <Column id="cdid" type="STRING" size="256"/>
  565. <Column id="cdnm" type="STRING" size="256"/>
  566. </ColumnInfo>
  567. <Rows/>
  568. </Dataset>
  569. <Dataset id="ds_cond_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_cond_reqdata_oncolumnchanged">
  570. <ColumnInfo>
  571. <Column id="fromdd" type="STRING" size="256"/>
  572. <Column id="todd" type="STRING" size="256"/>
  573. <Column id="appdeptcd" type="STRING" size="256"/>
  574. <Column id="appdrid" type="STRING" size="256"/>
  575. <Column id="appmedispclid" type="STRING" size="256"/>
  576. <Column id="acptstatus" type="STRING" size="256"/>
  577. <Column id="acptstatuslist" type="STRING" size="256"/>
  578. <Column id="pid" type="STRING" size="256"/>
  579. <Column id="appflag" type="STRING" size="256"/>
  580. <Column id="deptkind" type="STRING" size="256"/>
  581. <Column id="appcnclflag" type="STRING" size="256"/>
  582. <Column id="periodflag" type="STRING" size="256"/>
  583. </ColumnInfo>
  584. <Rows>
  585. <Row>
  586. <Col id="fromdd"/>
  587. <Col id="todd"/>
  588. <Col id="appdeptcd"/>
  589. <Col id="appdrid"/>
  590. <Col id="acptstatus">-</Col>
  591. <Col id="pid"/>
  592. <Col id="appflag">A</Col>
  593. <Col id="acptstatuslist"/>
  594. <Col id="appmedispclid"/>
  595. </Row>
  596. </Rows>
  597. </Dataset>
  598. <Dataset id="ds_data_mdfreclist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  599. <ColumnInfo>
  600. <Column id="instcd" type="STRING" size="256"/>
  601. <Column id="appdd" type="STRING" size="256"/>
  602. <Column id="appno" type="STRING" size="256"/>
  603. <Column id="acptstatus" type="STRING" size="256"/>
  604. <Column id="formcd" type="STRING" size="256"/>
  605. <Column id="formnm" type="STRING" size="256"/>
  606. <Column id="formrecseq" type="STRING" size="256"/>
  607. <Column id="oprsrvno" type="STRING" size="256"/>
  608. <Column id="ocrtag" type="STRING" size="256"/>
  609. <Column id="appflag" type="STRING" size="256"/>
  610. <Column id="apptype" type="STRING" size="256"/>
  611. <Column id="pid" type="STRING" size="256"/>
  612. <Column id="orddd" type="STRING" size="256"/>
  613. <Column id="cretno" type="STRING" size="256"/>
  614. <Column id="ordtype" type="STRING" size="256"/>
  615. <Column id="appdeptcd" type="STRING" size="256"/>
  616. <Column id="drid" type="STRING" size="256"/>
  617. <Column id="drnm" type="STRING" size="256"/>
  618. <Column id="jobkindnm" type="STRING" size="256"/>
  619. <Column id="jobkindcd" type="STRING" size="256"/>
  620. <Column id="doctkindflag" type="STRING" size="256"/>
  621. <Column id="appresn" type="STRING" size="256"/>
  622. <Column id="appresnnm" type="STRING" size="256"/>
  623. <Column id="appresnetc" type="STRING" size="256"/>
  624. <Column id="appdetail" type="STRING" size="256"/>
  625. <Column id="appcncldt" type="STRING" size="256"/>
  626. <Column id="appcnclresn" type="STRING" size="256"/>
  627. <Column id="appmedispclid" type="STRING" size="256"/>
  628. <Column id="appmedispclnm" type="STRING" size="256"/>
  629. <Column id="medispclid" type="STRING" size="256"/>
  630. <Column id="medispclnm" type="STRING" size="256"/>
  631. <Column id="acptmedispclid" type="STRING" size="256"/>
  632. <Column id="acptmedispclnm" type="STRING" size="256"/>
  633. <Column id="acptmedispcldt" type="STRING" size="256"/>
  634. <Column id="acptcnclmedispclid" type="STRING" size="256"/>
  635. <Column id="acptcnclmedispclnm" type="STRING" size="256"/>
  636. <Column id="acptcnclmedispcldt" type="STRING" size="256"/>
  637. <Column id="acptcnclmedispcltype" type="STRING" size="256"/>
  638. <Column id="acptcnclmedispclresn" type="STRING" size="256"/>
  639. <Column id="acptid" type="STRING" size="256"/>
  640. <Column id="acptnm" type="STRING" size="256"/>
  641. <Column id="acptdt" type="STRING" size="256"/>
  642. <Column id="acptcnclid" type="STRING" size="256"/>
  643. <Column id="acptcnclnm" type="STRING" size="256"/>
  644. <Column id="acptcncldt" type="STRING" size="256"/>
  645. <Column id="acptcncltype" type="STRING" size="256"/>
  646. <Column id="acptcnclresn" type="STRING" size="256"/>
  647. <Column id="fstrgstrid" type="STRING" size="256"/>
  648. <Column id="fstrgstdt" type="STRING" size="256"/>
  649. <Column id="lastupdtrid" type="STRING" size="256"/>
  650. <Column id="lastupdtdt" type="STRING" size="256"/>
  651. <Column id="disppatinfo" type="STRING" size="256"/>
  652. <Column id="dschdd" type="STRING" size="256"/>
  653. <Column id="opcnfmdd" type="STRING" size="256"/>
  654. <Column id="delyn" type="STRING" size="256"/>
  655. <Column id="valiyn" type="STRING" size="256"/>
  656. <Column id="hngnm" type="STRING" size="256"/>
  657. <Column id="brthdd" type="STRING" size="256"/>
  658. <Column id="sa" type="STRING" size="256"/>
  659. <Column id="srcformcd" type="STRING" size="256"/>
  660. <Column id="orddeptcd" type="STRING" size="256"/>
  661. <Column id="formrecdd" type="STRING" size="256"/>
  662. <Column id="enddt" type="STRING" size="256"/>
  663. <Column id="scanyn" type="STRING" size="256"/>
  664. </ColumnInfo>
  665. </Dataset>
  666. <Dataset id="ds_data_mdfrecinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  667. <ColumnInfo>
  668. <Column id="instcd" type="STRING" size="256"/>
  669. <Column id="appdd" type="STRING" size="256"/>
  670. <Column id="appno" type="STRING" size="256"/>
  671. <Column id="acptstatus" type="STRING" size="256"/>
  672. <Column id="formcd" type="STRING" size="256"/>
  673. <Column id="formnm" type="STRING" size="256"/>
  674. <Column id="formrecseq" type="STRING" size="256"/>
  675. <Column id="oprsrvno" type="STRING" size="256"/>
  676. <Column id="ocrtag" type="STRING" size="256"/>
  677. <Column id="appflag" type="STRING" size="256"/>
  678. <Column id="apptype" type="STRING" size="256"/>
  679. <Column id="pid" type="STRING" size="256"/>
  680. <Column id="orddd" type="STRING" size="256"/>
  681. <Column id="cretno" type="STRING" size="256"/>
  682. <Column id="ordtype" type="STRING" size="256"/>
  683. <Column id="appdeptcd" type="STRING" size="256"/>
  684. <Column id="appdrid" type="STRING" size="256"/>
  685. <Column id="appdrnm" type="STRING" size="256"/>
  686. <Column id="jobkindnm" type="STRING" size="256"/>
  687. <Column id="jobkindcd" type="STRING" size="256"/>
  688. <Column id="doctkindflag" type="STRING" size="256"/>
  689. <Column id="appresn" type="STRING" size="256"/>
  690. <Column id="appresnetc" type="STRING" size="256"/>
  691. <Column id="appdetail" type="STRING" size="256"/>
  692. <Column id="appcncldt" type="STRING" size="256"/>
  693. <Column id="appcnclresn" type="STRING" size="256"/>
  694. <Column id="appmedispclid" type="STRING" size="256"/>
  695. <Column id="appmedispclnm" type="STRING" size="256"/>
  696. <Column id="medispclid" type="STRING" size="256"/>
  697. <Column id="medispclnm" type="STRING" size="256"/>
  698. <Column id="acptmedispclid" type="STRING" size="256"/>
  699. <Column id="acptmedispclnm" type="STRING" size="256"/>
  700. <Column id="acptmedispcldt" type="STRING" size="256"/>
  701. <Column id="acptcnclmedispclid" type="STRING" size="256"/>
  702. <Column id="acptcnclmedispclnm" type="STRING" size="256"/>
  703. <Column id="acptcnclmedispcldt" type="STRING" size="256"/>
  704. <Column id="acptcnclmedispcltype" type="STRING" size="256"/>
  705. <Column id="acptcnclmedispclresn" type="STRING" size="256"/>
  706. <Column id="acptid" type="STRING" size="256"/>
  707. <Column id="acptnm" type="STRING" size="256"/>
  708. <Column id="acptdt" type="STRING" size="256"/>
  709. <Column id="acptcnclid" type="STRING" size="256"/>
  710. <Column id="acptcnclnm" type="STRING" size="256"/>
  711. <Column id="acptcncldt" type="STRING" size="256"/>
  712. <Column id="acptcncltype" type="STRING" size="256"/>
  713. <Column id="acptcnclresn" type="STRING" size="256"/>
  714. <Column id="fstrgstrid" type="STRING" size="256"/>
  715. <Column id="fstrgstdt" type="STRING" size="256"/>
  716. <Column id="lastupdtrid" type="STRING" size="256"/>
  717. <Column id="lastupdtdt" type="STRING" size="256"/>
  718. <Column id="disppatinfo" type="STRING" size="256"/>
  719. <Column id="dschdd" type="STRING" size="256"/>
  720. <Column id="opcnfmdd" type="STRING" size="256"/>
  721. <Column id="delyn" type="STRING" size="256"/>
  722. <Column id="valiyn" type="STRING" size="256"/>
  723. <Column id="hngnm" type="STRING" size="256"/>
  724. <Column id="brthdd" type="STRING" size="256"/>
  725. <Column id="sa" type="STRING" size="256"/>
  726. <Column id="comnresn" type="STRING" size="256"/>
  727. <Column id="comntype" type="STRING" size="256"/>
  728. <Column id="srcformcd" type="STRING" size="256"/>
  729. <Column id="orddeptcd" type="STRING" size="256"/>
  730. <Column id="formrecdd" type="STRING" size="256"/>
  731. <Column id="enddt" type="STRING" size="256"/>
  732. </ColumnInfo>
  733. </Dataset>
  734. <Dataset id="ds_data_mdfrecdetail" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  735. <ColumnInfo>
  736. <Column id="instcd" type="STRING" size="256"/>
  737. <Column id="appno" type="STRING" size="256"/>
  738. <Column id="seqno" type="STRING" size="256"/>
  739. <Column id="itemcd" type="STRING" size="256"/>
  740. <Column id="itemnm" type="STRING" size="256"/>
  741. <Column id="itemdetail" type="STRING" size="256"/>
  742. <Column id="fstrgstrid" type="STRING" size="256"/>
  743. <Column id="fstrgstdt" type="STRING" size="256"/>
  744. <Column id="lastupdtrid" type="STRING" size="256"/>
  745. <Column id="lastupdtdt" type="STRING" size="256"/>
  746. <Column id="orddeptcd" type="STRING" size="256"/>
  747. </ColumnInfo>
  748. </Dataset>
  749. <Dataset id="ds_auth_deptcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  750. <Dataset id="ds_cond_formdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  751. <ColumnInfo>
  752. <Column id="formcd" type="STRING" size="256"/>
  753. <Column id="formkind" type="STRING" size="256"/>
  754. <Column id="pid" type="STRING" size="256"/>
  755. <Column id="orddd" type="STRING" size="256"/>
  756. <Column id="cretno" type="STRING" size="256"/>
  757. <Column id="btnvisible" type="STRING" size="256"/>
  758. <Column id="btnenable" type="STRING" size="256"/>
  759. <Column id="unpreprec" type="STRING" size="256"/>
  760. <Column id="modalyn" type="STRING" size="256"/>
  761. <Column id="orddeptcd" type="STRING" size="256"/>
  762. <Column id="ioflag" type="STRING" size="256"/>
  763. <Column id="topyn" type="STRING" size="256"/>
  764. <Column id="scrnidx" type="STRING" size="256"/>
  765. </ColumnInfo>
  766. <Rows>
  767. <Row>
  768. <Col id="formkind"/>
  769. <Col id="formcd"/>
  770. <Col id="pid"/>
  771. <Col id="orddd"/>
  772. <Col id="cretno"/>
  773. <Col id="btnvisible"/>
  774. <Col id="orddeptcd"/>
  775. <Col id="modalyn"/>
  776. <Col id="unpreprec"/>
  777. <Col id="btnenable"/>
  778. <Col id="ioflag"/>
  779. <Col id="topyn"/>
  780. </Row>
  781. </Rows>
  782. </Dataset>
  783. <Dataset id="ds_init_unprepitem" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  784. <ColumnInfo>
  785. <Column id="unprepitemcd" type="STRING" size="256"/>
  786. <Column id="unprepitemnm" type="STRING" size="256"/>
  787. </ColumnInfo>
  788. <Rows>
  789. <!--
  790. <Row>
  791. <Col id="hardcd">C1</Col>
  792. <Col id="hardcdnm">정정사유 부정확</Col>
  793. </Row>
  794. <Row>
  795. <Col id="hardcd">C2</Col>
  796. <Col id="hardcdnm">정정내용 부적절</Col>
  797. </Row>
  798. <Row>
  799. <Col id="hardcd">C3</Col>
  800. <Col id="hardcdnm">환자용 신청서 미제출</Col>
  801. </Row>
  802. <Row>
  803. <Col id="hardcd">C4</Col>
  804. <Col id="hardcdnm">위원회 심의 필요</Col>
  805. </Row>
  806. <Row>
  807. <Col id="hardcd">C5</Col>
  808. <Col id="hardcdnm">기타</Col>
  809. </Row>
  810. -->
  811. </Rows>
  812. </Dataset>
  813. <Dataset id="ds_data_autoconfirm" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  814. <ColumnInfo>
  815. <Column id="trgtcd" type="STRING" size="256"/>
  816. <Column id="valifromdt" type="STRING" size="256"/>
  817. <Column id="valitodt" type="STRING" size="256"/>
  818. </ColumnInfo>
  819. </Dataset>
  820. <Dataset id="ds_cond_autotimer" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  821. <ColumnInfo>
  822. <Column id="timer" type="STRING" size="256"/>
  823. <Column id="interval" type="STRING" size="256"/>
  824. </ColumnInfo>
  825. <Rows>
  826. <Row>
  827. <Col id="timer">60</Col>
  828. <Col id="interval"/>
  829. </Row>
  830. </Rows>
  831. </Dataset>
  832. <Dataset id="ds_send_iemr" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  833. <ColumnInfo>
  834. <Column id="pid" type="STRING" size="256" sumtext="환자번호"/>
  835. <Column id="indd" type="STRING" size="256" sumtext="입원일"/>
  836. <Column id="docucd" type="STRING" size="256" sumtext="서식코드"/>
  837. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과코드"/>
  838. <Column id="ioflag" type="STRING" size="256" sumtext="입원/외래구분"/>
  839. <Column id="treatno" type="STRING" size="256" sumtext="TREAT번호"/>
  840. <Column id="cmc_cretno" type="STRING" size="256" sumtext="EMR연동_원무순번"/>
  841. <Column id="cmc_spcid" type="STRING" size="256" sumtext="CDIS연동_기관코드"/>
  842. <Column id="cmc_orddate" type="STRING" size="256" sumtext="CDIS연동_검사일"/>
  843. <Column id="cmc_orderseqno" type="STRING" size="256" sumtext="CDIS연동_처방번호"/>
  844. <Column id="ocmnum" type="STRING" size="256" sumtext="진단서키값"/>
  845. <Column id="pageno" type="STRING" size="256" sumtext="진단서키값"/>
  846. <Column id="instcd" type="STRING" size="256" sumtext="병원구분"/>
  847. <Column id="ocrcode" type="STRING" size="256" sumtext="ocrtag"/>
  848. <Column id="screenid" type="STRING" size="256" sumtext="openerscreenid"/>
  849. <Column id="itemindxseq" type="STRING" size="256" sumtext="itemindxseq"/>
  850. <Column id="hardcdno" type="STRING" size="256" sumtext="hardcdno"/>
  851. <Column id="ocrcodes" type="STRING" size="256"/>
  852. </ColumnInfo>
  853. </Dataset>
  854. <Dataset id="ds_ocrmsrght" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  855. <ColumnInfo>
  856. <Column id="hardcd" type="STRING" size="256"/>
  857. <Column id="hardcdnm" type="STRING" size="256"/>
  858. <Column id="level" type="STRING" size="256"/>
  859. </ColumnInfo>
  860. <Rows>
  861. <Row>
  862. <Col id="hardcd">lf_RecViewPrint</Col>
  863. <Col id="hardcdnm">OCR 기록보기</Col>
  864. <Col id="level">0</Col>
  865. </Row>
  866. </Rows>
  867. </Dataset>
  868. </Objects>
  869. <Bind>
  870. <BindItem id="item1" compid="cmb_appdrid" propid="value" datasetid="ds_cond_reqdata" columnid="appdrid"/>
  871. <BindItem id="item2" compid="cmb_appdeptcd" propid="value" datasetid="ds_cond_reqdata" columnid="appdeptcd"/>
  872. <BindItem id="item32" compid="ipt_srchstartdd" propid="value" datasetid="ds_cond_reqdata" columnid="fromdd"/>
  873. <BindItem id="item33" compid="ipt_srchenddd" propid="value" datasetid="ds_cond_reqdata" columnid="todd"/>
  874. <BindItem id="item37" compid="ipt_pid" propid="value" datasetid="ds_data_mdfrecinfo" columnid="pid"/>
  875. <BindItem id="item38" compid="ipt_hngnm" propid="value" datasetid="ds_data_mdfrecinfo" columnid="hngnm"/>
  876. <BindItem id="item45" compid="ipt_patinfo" propid="value" datasetid="ds_data_mdfrecinfo" columnid="disppatinfo"/>
  877. <BindItem id="item46" compid="ipt_formnm" propid="value" datasetid="ds_data_mdfrecinfo" columnid="formnm"/>
  878. <BindItem id="item3" compid="ipt_brthdd" propid="value" datasetid="ds_data_mdfrecinfo" columnid="brthdd"/>
  879. <BindItem id="item7" compid="ipt_sa" propid="value" datasetid="ds_data_mdfrecinfo" columnid="sa"/>
  880. <BindItem id="item9" compid="ipt_medispclnm" propid="value" datasetid="ds_data_mdfrecinfo" columnid="medispclnm"/>
  881. <BindItem id="item15" compid="ipt_appdrnm" propid="value" datasetid="ds_data_mdfrecinfo" columnid="appdrnm"/>
  882. <BindItem id="item14" compid="ipt_appresnetc" propid="value" datasetid="ds_data_mdfrecinfo" columnid="appresnetc"/>
  883. <BindItem id="item17" compid="ipt_acptmedispclnm" propid="value" datasetid="ds_data_mdfrecinfo" columnid="acptmedispclnm"/>
  884. <BindItem id="item21" compid="ipt_acptcnclmedispclnm" propid="value" datasetid="ds_data_mdfrecinfo" columnid="acptcnclmedispclnm"/>
  885. <BindItem id="item27" compid="ipt_acptmedispcldt" propid="value" datasetid="ds_data_mdfrecinfo" columnid="acptmedispcldt"/>
  886. <BindItem id="item29" compid="ipt_acptcnclmedispcldt" propid="value" datasetid="ds_data_mdfrecinfo" columnid="acptcnclmedispcldt"/>
  887. <BindItem id="item23" compid="ipt_acptnm" propid="value" datasetid="ds_data_mdfrecinfo" columnid="acptnm"/>
  888. <BindItem id="item25" compid="ipt_acptcnclnm" propid="value" datasetid="ds_data_mdfrecinfo" columnid="acptcnclnm"/>
  889. <BindItem id="item31" compid="ipt_acptdt" propid="value" datasetid="ds_data_mdfrecinfo" columnid="acptdt"/>
  890. <BindItem id="item35" compid="ipt_acptcncldt" propid="value" datasetid="ds_data_mdfrecinfo" columnid="acptcncldt"/>
  891. <BindItem id="item39" compid="ipt_acptcnclmedispclresn" propid="value" datasetid="ds_data_mdfrecinfo" columnid="acptcnclmedispclresn"/>
  892. <BindItem id="item41" compid="ipt_acptcnclresn" propid="value" datasetid="ds_data_mdfrecinfo" columnid="acptcnclresn"/>
  893. <BindItem id="item48" compid="ipt_appcncldt" propid="value" datasetid="ds_data_mdfrecinfo" columnid="appcncldt"/>
  894. <BindItem id="item44" compid="ipt_appcnclresn" propid="value" datasetid="ds_data_mdfrecinfo" columnid="appcnclresn"/>
  895. <BindItem id="item49" compid="rdo_appresn" propid="value" datasetid="ds_data_mdfrecinfo" columnid="appresn"/>
  896. <BindItem id="item50" compid="txt_appdetail" propid="value" datasetid="ds_data_mdfrecinfo" columnid="appdetail"/>
  897. <BindItem id="item0" compid="txt_appdetail" propid="tooltiptext" datasetid="ds_data_mdfrecinfo" columnid="appdetail"/>
  898. <BindItem id="item4" compid="grp_cnclresn.edt_acptcnclresn" propid="value" datasetid="ds_data_mdfrecinfo" columnid="comnresn"/>
  899. <BindItem id="item6" compid="grp_cnclresn.rdo_acptcncltype" propid="value" datasetid="ds_data_mdfrecinfo" columnid="comntype"/>
  900. <BindItem id="item8" compid="cmb_acptcnclmedispcltype" propid="value" datasetid="ds_data_mdfrecinfo" columnid="acptcnclmedispcltype"/>
  901. <BindItem id="item5" compid="cmb_acptcncltype" propid="value" datasetid="ds_data_mdfrecinfo" columnid="acptcncltype"/>
  902. <BindItem id="item10" compid="rdo_appflag" propid="value" datasetid="ds_cond_reqdata" columnid="appflag"/>
  903. <BindItem id="item11" compid="cmb_appmedispclid" propid="value" datasetid="ds_data_mdfrecinfo" columnid="appmedispclid"/>
  904. <BindItem id="item12" compid="cmb_appmedispclid2" propid="value" datasetid="ds_cond_reqdata" columnid="appmedispclid"/>
  905. <BindItem id="item13" compid="roundrect3.cmb_deptkind" propid="value" datasetid="ds_cond_reqdata" columnid="deptkind"/>
  906. <BindItem id="item16" compid="grp_autoconfirm.ipt_autovalifromdt" propid="value" datasetid="ds_data_autoconfirm" columnid="valifromdt"/>
  907. <BindItem id="item18" compid="grp_autoconfirm.ipt_autovalitodt" propid="value" datasetid="ds_data_autoconfirm" columnid="valitodt"/>
  908. <BindItem id="item19" compid="grp_autoconfirm.ipt_timer" propid="value" datasetid="ds_cond_autotimer" columnid="timer"/>
  909. <BindItem id="item20" compid="grp_autoconfirm.opt_interval" propid="value" datasetid="ds_cond_autotimer" columnid="interval"/>
  910. </Bind>
  911. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  912. * System Name :
  913. * Job Name :
  914. * Creator :
  915. * Make Date : 2014-10-30
  916. * Description :
  917. *---------------------------------------------------------------------------------------
  918. * Modify Date Modifier Modify Description
  919. *---------------------------------------------------------------------------------------
  920. * 2014-10-30 Live Converter TF->XP
  921. *
  922. *---------------------------------------------------------------------------------------
  923. ****************************************************************************************/
  924. //=======================================================================================
  925. // Lib Include
  926. //---------------------------------------------------------------------------------------
  927. include "com_commonxp::comm_main.xjs";
  928. include "emr_prcpmngtxp::MMO001.xjs"; // lf_mmbfGetUserComboList, lf_reqPatInfo
  929. include "emr_medirecxp::MMR01100.xjs";
  930. //=======================================================================================
  931. // Global Form Variable
  932. //---------------------------------------------------------------------------------------
  933. var arErrorCode = new HashArray();
  934. var objExt = new ExtCommon();
  935. var lgv_old_detail = "";
  936. var gCount = 60;
  937. var posAcptcnclmedispcl_left = 0;
  938. var posAcptmedispcl_left = 0;
  939. var posAcptcncl_left = 0;
  940. var posAcpt_left = 0;
  941. var defaultWidth = 0;
  942. var widthGap = 22; // 반려-승인 -> 반려취소-승인취소 버튼사이즈 조절을 위한 값
  943. var pre_fromdd = ""; // 전체기간 클릭 시 직전 fromdd 저장
  944. var pre_todd = ""; // 전체기간 클릭 시 직전 todd 저장
  945. //=======================================================================================
  946. // Function
  947. //---------------------------------------------------------------------------------------
  948. /****************************************************************************************
  949. * Argument : N/A
  950. * Description : 그리드 초기화
  951. ****************************************************************************************/
  952. function lf_init_grid(){
  953. grdf_setToolTipBind(grd_mdfreclist);
  954. grdf_setGridSort(grd_mdfreclist);
  955. grdf_setRowTypeIcon(grd_mdfrecdetail, 0);
  956. grdf_setToolTipBind(grd_mdfrecdetail);
  957. }
  958. /****************************************************************************************
  959. * Argument : N/A
  960. * Description : 화면 초기화
  961. ****************************************************************************************/
  962. function fInitialize()
  963. {
  964. dsf_createDsRow("ds_cond_TRMRI06004", [{col:"hardcdno", type:"STRING", size:256, val:"10010"}]);
  965. var oParam = {};
  966. oParam.id = "TRMRI06004";
  967. oParam.service = "recmngtapp.MdfRecMngt";
  968. oParam.method = "reqGetHrcdinfo";
  969. oParam.inds = "req=ds_cond_TRMRI06004";
  970. oParam.outds = "ds_data_autoconfirm=hrcdinfo";
  971. oParam.async = false;
  972. tranf_submit(oParam);
  973. /* 정정사유, 조회구분 공통코드 조회
  974. var arrParam = [
  975. {dsNm: "ds_paminit_P0068list", cdGrpId: "P0068"}
  976. ,{dsNm: "ds_paminit_PK018list", cdGrpId: "PK018"}
  977. ];
  978. appf_getCodeList(arrParam);
  979. */
  980. // 의무기록 부서코드
  981. lf_getHardCDList("N", 5501, null, ds_auth_deptcd);
  982. var arrParam = [ {dsNm: "ds_M0800", cdGrpId: "M0800"} // 승인상태코드
  983. , {dsNm: "ds_M0801", cdGrpId: "M0801"} // 정정구분(대분류)
  984. , {dsNm: "ds_M0802", cdGrpId: "M0802"} // 정정구분(소분류)
  985. , {dsNm: "ds_M0803", cdGrpId: "M0803"} // 정정사유(신청)
  986. , {dsNm: "ds_M0804", cdGrpId: "M0804"} // 정정사유(사유)
  987. , {dsNm: "ds_M0805", cdGrpId: "M0805"} // 정정반려사유
  988. , {dsNm: "ds_M0807", cdGrpId: "M0807"} // 정정신청서(환자용)
  989. , {dsNm: "ds_P0001", cdGrpId: "P0001"} // 수진
  990. ]
  991. appf_getCodeListSubmit(arrParam);
  992. //lf_getHardCDList("N", 10005, null, ds_M0800);
  993. dsf_addDsItem( ds_M0800, "cdid", "cdnm");
  994. dsf_addDsItem( ds_M0801, "cdid", "cdnm");
  995. //lf_getHardCDList("N", 10006, null, ds_M0803);
  996. //lf_getHardCDList("N", 10007, null, ds_M0805);
  997. // 구분 설정
  998. var sProp = "col=8,row=1,cellspacing=5,vcellspacing=0,itemWidth=-1,itemHeight=20,overflow='visible'";
  999. cp_acptstatus.setInitComp(sProp, ds_M0800, "cdid", "cdnm", "fn_acptstatus");
  1000. // 신청과 조회
  1001. lf_mmbfGetDeptCodeComboList(ds_init_appdeptcd, "D");
  1002. frmf_addComboItem("cmb_appdeptcd");
  1003. //cmb_appdeptcd.value = sysf_getUserInfo("dutplcecd");
  1004. // 신청의
  1005. lf_mmbfGetUserComboList(ds_init_appdrid , sysf_getUserInfo("dutplcecd"), "0330");
  1006. frmf_addComboItem("cmb_appdrid");
  1007. // 담당교수
  1008. lf_mmbfGetUserComboList(ds_init_appmedispclid2 , sysf_getUserInfo("dutplcecd"), "0330", "", "M");
  1009. frmf_addComboItem("cmb_appmedispclid2");
  1010. var nAcptMedispclid = "-";
  1011. // 상태구분 디폴트 처리
  1012. var nDutplcecd = sysf_getUserInfo("dutplcecd");
  1013. var nUserid = sysf_getUserInfo("userid");
  1014. var nJobposcd = sysf_getUserInfo("jobposcd"); // 1799(인턴) 1800(레지) 1782(교수)
  1015. var nAcptstatus = "";
  1016. var aAcptstatus = new Array();
  1017. var nPeriodFlag = "";
  1018. //부서구분 설정
  1019. if (nJobposcd != "1799" && nJobposcd != "1800") {
  1020. ds_cond_reqdata.setColumn(0,"deptkind","B");
  1021. }
  1022. else {
  1023. ds_cond_reqdata.setColumn(0,"deptkind","A");
  1024. }
  1025. // 의무기록팀
  1026. if( ds_auth_deptcd.findRow("hardcd", nDutplcecd) > -1 ){
  1027. aAcptstatus[0] = "D";
  1028. nAcptstatus = "D";
  1029. nDutplcecd = "-";
  1030. nUserid = "-";
  1031. grp_autoconfirm.visible = true;
  1032. btn_expand.visible = true;
  1033. cp_acptstatus.components[8].visible = true; // 2019-08-12 금정화 추가
  1034. }else{
  1035. cp_acptstatus.components[8].visible = false; // 2019-08-12 금정화 추가
  1036. var pGubun = !utlf_isNull(opener) ? opener.frmf_getParameter("SPMRI06000_param_gubun") : "";
  1037. if( !utlf_isNull(pGubun) ){
  1038. if( pGubun == "app" ){
  1039. aAcptstatus[0] = "A";
  1040. nAcptstatus = "A";
  1041. nAcptMedispclid = nUserid;
  1042. nUserid = "-";
  1043. nPeriodFlag = "Y";
  1044. }else if( pGubun == "acpt" ){
  1045. aAcptstatus[0] = "M";
  1046. nAcptstatus = "M";
  1047. //nAcptMedispclid = nUserid;
  1048. //nUserid = "-";
  1049. nPeriodFlag = "Y";
  1050. }else if( pGubun == "appDup" ){ // 정정신청 중복확인용
  1051. aAcptstatus[0] = "A";
  1052. aAcptstatus[1] = "D";
  1053. aAcptstatus[2] = "M";
  1054. nAcptstatus = "A,D,M";
  1055. //nAcptMedispclid = nUserid;
  1056. //nUserid = "-";
  1057. }
  1058. }else{
  1059. if( !utlf_isNull(nJobposcd) && nJobposcd != "1799" && nJobposcd != "1800" ){
  1060. aAcptstatus[0] = "A";
  1061. aAcptstatus[1] = "M";
  1062. nAcptstatus = "A,M";
  1063. }else{
  1064. aAcptstatus[0] = "M";
  1065. nAcptstatus = "M";
  1066. }
  1067. }
  1068. }
  1069. ds_cond_reqdata.enableevent = false;
  1070. ds_cond_reqdata.setColumn(0, "appdeptcd", nDutplcecd);
  1071. ds_cond_reqdata.enableevent = true;
  1072. ds_cond_reqdata.setColumn(0, "appdrid" , nUserid);
  1073. ds_cond_reqdata.setColumn(0, "appmedispclid", nAcptMedispclid);
  1074. ds_cond_reqdata.setColumn(0, "acptstatus", nAcptstatus);
  1075. cp_acptstatus.setData(aAcptstatus, null, false);
  1076. // 조회일자
  1077. var fromdd = ((utlf_getCurrentDate().toDate()).getAddDate(-2,"D")).getDateFormat();
  1078. var todd = utlf_getCurrentDate();
  1079. ds_cond_reqdata.setColumn(0, "fromdd" , fromdd);
  1080. ds_cond_reqdata.setColumn(0, "todd" , todd);
  1081. if(nPeriodFlag == "Y"){
  1082. roundrect3.chk_totalprd.value = true;
  1083. }
  1084. posAcptcnclmedispcl_left = btn_acptcnclmedispcl.position.left;
  1085. posAcptmedispcl_left = btn_acptmedispcl.position.left;
  1086. posAcptcncl_left = btn_acptcncl.position.left;
  1087. posAcpt_left = btn_acpt.position.left;
  1088. defaultWidth = btn_acptcnclmedispcl.position.width;
  1089. btn_srch.click();
  1090. lf_btnEnable();
  1091. }
  1092. function fn_acptstatus(aa){
  1093. var nFlag = true;
  1094. var obj = eval(aa);
  1095. var i = 0;
  1096. if(obj != cp_acptstatus.components[8]) {
  1097. // 삭제 외
  1098. if(!cp_acptstatus.components[8].isChecked()) {
  1099. if(obj.text == "전체" && obj.value == "-"){
  1100. cp_acptstatus.setCheckAll(false);
  1101. nFlag = false;
  1102. var aAcptstatus = new Array();
  1103. aAcptstatus[0] = "-";
  1104. cp_acptstatus.setData(aAcptstatus, null, false);
  1105. }else{
  1106. nFlag = true;
  1107. }
  1108. for(i = 0; i<cp_acptstatus.components.length; i++){
  1109. if( cp_acptstatus.components[i] instanceof CheckBox
  1110. && cp_acptstatus.components[i].text != "전체"){
  1111. cp_acptstatus.components[i].enable = nFlag;
  1112. }
  1113. }
  1114. cp_acptstatus.components[8].enable = nFlag;
  1115. var getData = String(cp_acptstatus.getData());
  1116. ds_cond_reqdata.setColumn(0, "acptstatus", getData);
  1117. }
  1118. } else {
  1119. // 삭제
  1120. if(cp_acptstatus.components[8].isChecked()) {
  1121. nFlag = false;
  1122. } else {
  1123. nFlag = true;
  1124. }
  1125. for(i = 1; i < cp_acptstatus.components.length && cp_acptstatus.components[i].text != "삭제"; i++) {
  1126. cp_acptstatus.components[i].enable = nFlag;
  1127. cp_acptstatus.components[i].value = false;
  1128. }
  1129. }
  1130. var getData = String(cp_acptstatus.getData());
  1131. ds_cond_reqdata.setColumn(0, "acptstatus", getData);
  1132. /*
  1133. if(!chk_appcncl.isChecked()) {
  1134. if(obj.text == "전체" && obj.value == "-"){
  1135. cp_acptstatus.setCheckAll(false);
  1136. nFlag = false;
  1137. var aAcptstatus = new Array();
  1138. aAcptstatus[0] = "-";
  1139. cp_acptstatus.setData(aAcptstatus, null, false);
  1140. }else{
  1141. nFlag = true;
  1142. }
  1143. for( var i=0; i<cp_acptstatus.components.length; i++){
  1144. if( cp_acptstatus.components[i] instanceof CheckBox
  1145. && cp_acptstatus.components[i].text != "전체"){
  1146. cp_acptstatus.components[i].enable = nFlag;
  1147. }
  1148. }
  1149. chk_appcncl.enable = nFlag;
  1150. var getData = String(cp_acptstatus.getData());
  1151. ds_cond_reqdata.setColumn(0, "acptstatus", getData);
  1152. }
  1153. */
  1154. }
  1155. /****************************************************************************************
  1156. * Argument : N/A
  1157. * Description : 권한에 따른 버튼 Enable 처리 (사용자요청)
  1158. ****************************************************************************************/
  1159. function lf_btnEnable(){
  1160. var nDutplcecd = sysf_getUserInfo("dutplcecd");
  1161. var nUserid = sysf_getUserInfo("userid");
  1162. var nJobposcd = sysf_getUserInfo("jobposcd"); // 1799(인턴) 1800(레지) 1782(교수)
  1163. var nRow = ds_data_mdfrecinfo.rowposition;
  1164. var nAcptstatus = utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(nRow, "acptstatus")); // 신청건 상태(단계)
  1165. var nAppdrid = utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(nRow, "appdrid")); // 신청의사
  1166. var nAppdeptcd = utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(nRow, "appdeptcd"));
  1167. var nOrddeptcd = utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(nRow, "orddeptcd"));
  1168. var nAppflag = utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(nRow, "appflag"));
  1169. var nAppmedispclid = utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(nRow, "appmedispclid")); // 담당교수
  1170. try{
  1171. // 반려/승인 버튼 스타일 초기화
  1172. btn_acptcnclmedispcl.position.left = posAcptcnclmedispcl_left;
  1173. btn_acptcnclmedispcl.position.width = defaultWidth;
  1174. btn_acptmedispcl.position.left = posAcptmedispcl_left;
  1175. btn_acptmedispcl.position.width = defaultWidth;
  1176. btn_acptcnclmedispcl.text = "반려";
  1177. btn_acptmedispcl.text = "승인";
  1178. btn_acptcncl.position.left = posAcptcncl_left;
  1179. btn_acptcncl.position.width = defaultWidth;
  1180. btn_acpt.position.left = posAcpt_left;
  1181. btn_acpt.position.width = defaultWidth;
  1182. btn_acptcncl.text = "반려";
  1183. btn_acpt.text = "승인";
  1184. var childrenObj = this.components;
  1185. for(i=0; i< childrenObj.length; i++)
  1186. {
  1187. childObj = childrenObj[i];
  1188. if(!utlf_isNull(childObj.name)
  1189. && childObj instanceof Button
  1190. && (childObj.class == "btn5" || childObj.class == "btn4")
  1191. ){
  1192. // 초기화
  1193. childObj.enable = false;
  1194. // For test
  1195. /*
  1196. if(nUserid == "EMR001"){
  1197. childObj.enable = true;
  1198. }
  1199. */
  1200. // 화면 로딩시 권한체크
  1201. if( nRow < 0 ) continue;
  1202. var oAcptstatus = utlf_transNullToEmpty(childObj.acptstatus); // 버튼속성
  1203. utlf_addLog("oAcptstatus : " + oAcptstatus + " nAppdrid : " + nAppdrid + " nUserid : " + nUserid + " nAcptstatus : " + nAcptstatus + " nJobposcd : " + nJobposcd);
  1204. if(oAcptstatus == "A"){
  1205. if(childObj.name.indexOf("appsave") > -1){ // 저장버튼 -> 승인대기 상태 + 신청의만 가능
  1206. if(nAppdrid == nUserid && nAcptstatus == "A") childObj.enable = true;
  1207. }else if(childObj.name.indexOf("appmdf") > -1){ // 수정버튼 -> 승인대기 상태 + 신청의 및 의무기록팀만 가능
  1208. if((nAppdrid == nUserid || nDutplcecd == "3230000000") && nAcptstatus == "A") childObj.enable = true;
  1209. }else if(childObj.name.indexOf("appcncl") > -1){ // 삭제버튼 -> 완료/삭제 상태가 아니고 신청의 및 의무기록팀만 가능
  1210. if((nAppdrid == nUserid || nDutplcecd == "3230000000") && nAcptstatus != "E" && nAcptstatus != "C") childObj.enable = true;
  1211. }
  1212. }
  1213. if( oAcptstatus != "R" && childObj.class == "btn4" && nAppflag == "A" && nDutplcecd == nDutplcecd && nAppdrid == nUserid && nAcptstatus == "M" ){
  1214. childObj.enable = true;
  1215. }
  1216. if( oAcptstatus == "R" && childObj.class == "btn4" && nAppflag == "A" && nDutplcecd == nDutplcecd && nAppdrid == nUserid && nAcptstatus.indexOf("C") > -1 ){
  1217. childObj.enable = true;
  1218. }
  1219. if( oAcptstatus.indexOf("D") > -1 && nJobposcd != "1799" && nJobposcd != "1800" && nUserid == nAppmedispclid && nAcptstatus == "A"){
  1220. // 20190819 금정화 수정; 의무기록팀 요청으로 조건 변경 : nDutplcecd == nOrddeptcd => nUserid == nAppmedispclid
  1221. childObj.enable = true;
  1222. }
  1223. if( oAcptstatus.indexOf("M") > -1 && ds_auth_deptcd.findRow("hardcd", nDutplcecd) > -1 && nAcptstatus == "D" ){
  1224. childObj.enable = true;
  1225. }
  1226. // 2019-08-13 금정화 추가; 정정 승인 정보(의무기록/담당교수) 반려취소 및 승인취소 기능 구현
  1227. if(oAcptstatus.indexOf("D") > -1 && nUserid == nAppmedispclid){
  1228. childObj.enable = true;
  1229. if(oAcptstatus == "D" && utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(nRow, "acptmedispcldt")) != ""){
  1230. childObj.text = "승인취소";
  1231. }
  1232. if(oAcptstatus == "DC" && utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(nRow, "acptcnclmedispcldt")) != ""){
  1233. childObj.text = "반려취소";
  1234. }
  1235. // 버튼 위치/너비 조정
  1236. // 담당교수 반려/승인
  1237. if(btn_acptcnclmedispcl.text == "반려취소") { // 반려취소 - 승인
  1238. btn_acptcnclmedispcl.position.left = posAcptcnclmedispcl_left - widthGap;
  1239. btn_acptcnclmedispcl.position.width = defaultWidth + widthGap;
  1240. btn_acptmedispcl.position.left = posAcptmedispcl_left;
  1241. btn_acptmedispcl.position.width = defaultWidth;
  1242. }else if(btn_acptmedispcl.text == "승인취소"){ // 반려 - 승인취소
  1243. btn_acptcnclmedispcl.position.left = posAcptcnclmedispcl_left - widthGap;
  1244. btn_acptcnclmedispcl.position.width = defaultWidth;
  1245. btn_acptmedispcl.position.left = posAcptmedispcl_left - widthGap;
  1246. btn_acptmedispcl.position.width = defaultWidth + widthGap;
  1247. }else{ // 반려 - 승인
  1248. btn_acptcnclmedispcl.position.left = posAcptcnclmedispcl_left;
  1249. btn_acptcnclmedispcl.position.width = defaultWidth;
  1250. btn_acptmedispcl.position.left = posAcptmedispcl_left;
  1251. btn_acptmedispcl.position.width = defaultWidth;
  1252. }
  1253. }
  1254. if(oAcptstatus.indexOf("M") > -1 && nDutplcecd == "3230000000"){
  1255. childObj.enable = true;
  1256. if(oAcptstatus == "M" && utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(nRow, "acptdt")) != ""){
  1257. childObj.text = "승인취소";
  1258. }
  1259. if(oAcptstatus == "MC" && utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(nRow, "acptcncldt")) != ""){
  1260. childObj.text = "반려취소";
  1261. }
  1262. // 버튼 위치/너비 조정
  1263. // 의무기록 반려/승인
  1264. if(btn_acptcncl.text == "반려취소") { // 반려취소 - 승인
  1265. btn_acptcncl.position.left = posAcptcncl_left - widthGap;
  1266. btn_acptcncl.position.width = defaultWidth + widthGap;
  1267. btn_acpt.position.left = posAcpt_left;
  1268. btn_acpt.position.width = defaultWidth;
  1269. }else if(btn_acpt.text == "승인취소"){ // 반려 - 승인취소
  1270. btn_acptcncl.position.left = posAcptcncl_left - widthGap;
  1271. btn_acptcncl.position.width = defaultWidth;
  1272. btn_acpt.position.left = posAcpt_left - widthGap;
  1273. btn_acpt.position.width = defaultWidth + widthGap;
  1274. }else{ // 반려 - 승인
  1275. btn_acptcncl.position.left = posAcptcncl_left;
  1276. btn_acptcncl.position.width = defaultWidth;
  1277. btn_acpt.position.left = posAcpt_left;
  1278. btn_acpt.position.width = defaultWidth;
  1279. }
  1280. }
  1281. }
  1282. } // for
  1283. }catch(e){
  1284. sysf_catchTrace(e);
  1285. }
  1286. }
  1287. /****************************************************************************************
  1288. * Argument : N/A
  1289. * Description : 상세정보 초기화(저장 후 처리)
  1290. ****************************************************************************************/
  1291. function lf_InitRecInfo(){
  1292. ds_data_mdfrecinfo.clearData();
  1293. ds_data_mdfrecdetail.clearData();
  1294. lgv_old_detail = "";
  1295. lf_btnEnable();
  1296. ds_data_mdfrecinfo.addRow();
  1297. stt_forminfo.text = "";
  1298. ivw_reccnts.visible = false;
  1299. btn_srch.click();
  1300. }
  1301. //=======================================================================================
  1302. // Event
  1303. //---------------------------------------------------------------------------------------
  1304. /****************************************************************************************
  1305. * Components : Form
  1306. * Components ID : SPMRI06000
  1307. * Event : oninit
  1308. * Argument : 01.obj : Object Event has occurred
  1309. * : 02.e : Event Object
  1310. * Description : 화면 초기화
  1311. ****************************************************************************************/
  1312. function SPMRI06000_oninit(obj:Form, e:InitEventInfo)
  1313. {
  1314. frmf_initForm(obj);
  1315. }
  1316. /****************************************************************************************
  1317. * Components : Form
  1318. * Components ID : SPMRI06000
  1319. * Event : oninit
  1320. * Argument : 01.obj : Object Event has occurred
  1321. * : 02.e : Event Object
  1322. * Description : 화면 초기화
  1323. ****************************************************************************************/
  1324. function SPMRI06000_onload(obj:Form, e:LoadEventInfo)
  1325. {
  1326. lf_init_grid();
  1327. fInitialize();
  1328. }
  1329. /****************************************************************************************
  1330. * Components : Dataset
  1331. * Components ID : ds_cond_reqdata
  1332. * Event : oncolumnchanged
  1333. * Argument : 01.obj : Object Event has occurred
  1334. * : 02.e : Event Object
  1335. * Description : 신청과 이벤트(사용자요청시 활성화)
  1336. ****************************************************************************************/
  1337. function ds_cond_reqdata_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  1338. {
  1339. if( e.columnid == "appdeptcd" ){
  1340. ds_init_appdrid.clearData();
  1341. lf_mmbfGetUserComboList(ds_init_appdrid, cmb_appdeptcd.value, "0330");
  1342. var deptcd = ds_cond_reqdata.getColumn(0, "appdeptcd");
  1343. frmf_addComboItem("cmb_appdrid");
  1344. ds_cond_reqdata.setColumn(0, "appdrid", "-");
  1345. // 담당교수
  1346. ds_init_appmedispclid2.clearData();
  1347. lf_mmbfGetUserComboList(ds_init_appmedispclid2 , cmb_appdeptcd.value, "0330", "", "M");
  1348. frmf_addComboItem("cmb_appmedispclid2");
  1349. ds_cond_reqdata.setColumn(0, "appmedispclid", "-");
  1350. }
  1351. }
  1352. /****************************************************************************************
  1353. * Components : Button
  1354. * Components ID : btn_srch
  1355. * Event : onclick
  1356. * Argument : 01.obj : Object Event has occurred
  1357. * : 02.e : Event Object
  1358. * Description : 정정신청내역 조회
  1359. ****************************************************************************************/
  1360. function btn_srch_onclick(obj:Button, e:ClickEventInfo)
  1361. {
  1362. var nGubun = !utlf_isNull(opener) ? opener.frmf_getParameter("SPMRI06000_param_gubun") : "";
  1363. var nPeriodflag = ds_cond_reqdata.getColumn(0, "periodflag");
  1364. var nAppdeptcd = ds_cond_reqdata.getColumn(0, "appdeptcd");
  1365. var nAppdrid = ds_cond_reqdata.getColumn(0, "appdrid");
  1366. var nAppmedispclid = ds_cond_reqdata.getColumn(0, "appmedispclid");
  1367. var nAppflag = ds_cond_reqdata.getColumn(0, "appflag");
  1368. var nAcptstatus = ds_cond_reqdata.getColumn(0, "acptstatus");
  1369. // 20191008 금정화 추가. (진료현황판에서 정정신청관리 화면 들어온 경우 전체기간으로 조회하는데,
  1370. // 로딩 시간이 너무 길어지므로 신청자와 담당교수 모두 전체이면 알림 메시지 띄움.)
  1371. if(nPeriodflag == "Y"){
  1372. if(nAppdeptcd == "-" || (nAppdrid == "-" && nAppmedispclid == "-")){
  1373. sysf_messageBox("전체기간 조회 시, 신청자 또는 담당교수를 반드시 선택하여야 합니다.","E");
  1374. return;
  1375. }
  1376. }else{
  1377. if(!utlf_isValidDateTime(ds_cond_reqdata.getColumn(0, "fromdd"),"YYYYMMDD")){
  1378. sysf_messageBox("검색 시작일자를 유효한 날짜로","C001");
  1379. return;
  1380. }
  1381. if(!utlf_isValidDateTime(ds_cond_reqdata.getColumn(0, "todd"),"YYYYMMDD")){
  1382. sysf_messageBox("검색 종료일자를 유효한 날짜로","C001");
  1383. return;
  1384. }
  1385. }
  1386. if( utlf_isNull(ds_cond_reqdata.getColCount(0, "acptstatus")) ){
  1387. sysf_messageBox("처리 구분을 선택하세요.", "E");
  1388. return;
  1389. }
  1390. if( utlf_isNull(ds_cond_reqdata.getColCount(0, "appflag")) ){
  1391. sysf_messageBox("신청 구분을 선택하세요.", "E");
  1392. return;
  1393. }
  1394. // 신청 삭제내역 조회여부 설정
  1395. if(cp_acptstatus.components[8].isChecked()){
  1396. ds_cond_reqdata.setColumn(0, "appcnclflag", "C");
  1397. } else {
  1398. ds_cond_reqdata.setColumn(0, "appcnclflag", "");
  1399. }
  1400. // 구분 상태값 설정
  1401. var condStr = "";
  1402. var nAcptstatus = String(cp_acptstatus.getData());
  1403. //var nAcptstatus = utlf_transNullToEmpty(ds_cond_reqdata.getColumn(0, "acptstatus"));
  1404. ds_cond_reqdata.setColumn(0, "acptstatus", nAcptstatus);
  1405. ds_cond_reqdata.setColumn(0, "acptstatuslist", "");
  1406. if(nAcptstatus != "-"){
  1407. // 전체 선택이 아닐 경우 (삭제건 포함/미포함이든 선택된 상태값의 데이터만 가져옴)
  1408. var aAcptstatus = nAcptstatus.split(',');
  1409. var cond = "";
  1410. for(var i = 0; i < aAcptstatus.length; i++){
  1411. cond += aAcptstatus[i] + '\',\'';
  1412. }
  1413. condStr = utlf_transNullToEmpty(cond).substr(0, utlf_transNullToEmpty(cond).length - 3);
  1414. if(cp_acptstatus.components[8].isChecked()) {
  1415. if(condStr != ""){
  1416. condStr += "\',\'C";
  1417. } else {
  1418. condStr = "C";
  1419. }
  1420. }
  1421. ds_cond_reqdata.setColumn(0, "acptstatuslist", condStr);
  1422. }
  1423. ds_data_mdfreclist.clearData();
  1424. var oParam = {};
  1425. oParam.id = "TRMRI06001";
  1426. oParam.service = "recmngtapp.MdfRecMngt";
  1427. oParam.method = "reqGetMdfRecList";
  1428. oParam.inds = "req=ds_cond_reqdata";
  1429. oParam.outds = "ds_data_mdfreclist=mdfreclist";
  1430. oParam.async = true;
  1431. oParam.callback = "cf_TRMRI06001";
  1432. tranf_submit(oParam);
  1433. if( btn_expand.nExpand == "Y" ){
  1434. btn_expand.click();
  1435. }
  1436. }
  1437. function cf_TRMRI06001(sSvcId, nErrorCode, sErrorMsg) {
  1438. arErrorCode.push(sSvcId, nErrorCode);
  1439. var nDutplcecd = sysf_getUserInfo("dutplcecd");
  1440. if( ds_auth_deptcd.findRow("hardcd", nDutplcecd) > -1 && grp_autoconfirm.btn_interval.text == "수동조회"){
  1441. var nCnt = ds_data_mdfreclist.rowcount;
  1442. if( nCnt > 0 ){
  1443. application.flashWindow("timernofg");
  1444. }
  1445. }
  1446. }
  1447. /****************************************************************************************
  1448. * Components : Button
  1449. * Components ID : btn_expand
  1450. * Event : onclick
  1451. * Argument : 01.obj : Object Event has occurred
  1452. * : 02.e : Event Object
  1453. * Description : 정정신청내역 조회
  1454. ****************************************************************************************/
  1455. function btn_expand_onclick(obj:Button, e:ClickEventInfo)
  1456. {
  1457. if( obj.nExpand == "N" ){
  1458. obj.nExpand = "Y";
  1459. obj.text = "기본";
  1460. //grd_mdfreclist.setFormat("expand");
  1461. grd_mdfreclist.orgright = grd_mdfreclist.position.right;
  1462. grd_mdfreclist.position.right = div_app.position.right;
  1463. line1.position.right = div_app.position.right;
  1464. div_app.visible = false;
  1465. cap_appinfo.visible = false;
  1466. tit_appinfo.visible = false;
  1467. btn_appcncl.visible = false;
  1468. btn_appmdf.visible = false;
  1469. btn_appsave.visible = false;
  1470. }else{
  1471. obj.nExpand = "N";
  1472. obj.text = "상세";
  1473. //grd_mdfreclist.setFormat("default");
  1474. grd_mdfreclist.position.right = div_app.position.left - 2;
  1475. line1.position.right = div_app.position.left - 2;
  1476. div_app.visible = true;
  1477. cap_appinfo.visible = true;
  1478. tit_appinfo.visible = true;
  1479. btn_appcncl.visible = true;
  1480. btn_appmdf.visible = true;
  1481. btn_appsave.visible = true;
  1482. }
  1483. }
  1484. /****************************************************************************************
  1485. * Components : Button
  1486. * Components ID : btn_excel
  1487. * Event : onclick
  1488. * Argument : 01.obj : Object Event has occurred
  1489. * : 02.e : Event Object
  1490. * Description : 정정신청내역 엑셀저장
  1491. ****************************************************************************************/
  1492. function btn_excel_onclick(obj:Button, e:ClickEventInfo)
  1493. {
  1494. if(ds_data_mdfreclist.rowcount > 0) {
  1495. var rtn = grdf_exportExcel(grd_mdfreclist,"정정기록관리","sheet1", false, "", "", false);
  1496. sysf_messageBox("저장이 ", "I002");
  1497. } else {
  1498. sysf_messageBox("조회된 데이터가 ", "I004");
  1499. }
  1500. }
  1501. /****************************************************************************************
  1502. * Components : Grid
  1503. * Components ID : grd_mdfreclist
  1504. * Event : oncelldblclick
  1505. * Argument : 01.obj : Object Event has occurred
  1506. * : 02.e : Event Object
  1507. * Description : 정정신청내역 확인
  1508. ****************************************************************************************/
  1509. function grd_mdfreclist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  1510. {
  1511. if( e.row < 0 || e.col < 0) return;
  1512. var formrecseq = ds_data_mdfreclist.getColumn(e.row, "formrecseq");
  1513. var delyn = ds_data_mdfreclist.getColumn(e.row, "delyn");
  1514. var valiyn = ds_data_mdfreclist.getColumn(e.row, "valiyn");
  1515. if( delyn == "N" && valiyn == "Y" && (!utlf_isNull(formrecseq) && formrecseq != 0 )){
  1516. stt_forminfo.text = "";
  1517. //lf_ShowMediRecCnt(formrecseq);
  1518. //ivw_reccnts.fRefRecView("keyval", null, null, null, null, null, null, null, formrecseq);
  1519. ivw_reccnts.fRefMediRecCntsByFormRecSeq(formrecseq);
  1520. ivw_reccnts.visible = true;
  1521. }else{
  1522. if( delyn == "Y" ){
  1523. stt_forminfo.text = "- 삭제된 기록입니다.";
  1524. }else{
  1525. stt_forminfo.text = "- 기록이 존재하지 않습니다.";
  1526. }
  1527. ivw_reccnts.visible = false;
  1528. }
  1529. lf_setReadonly(true);
  1530. // 담당교수 조회
  1531. var appdeptcd = ds_data_mdfreclist.getColumn(e.row, "orddeptcd");
  1532. if( !utlf_isNull(appdeptcd) ){
  1533. ds_init_appmedispclid.clearData();
  1534. lf_mmbfGetUserComboList(ds_init_appmedispclid, appdeptcd, "0330", "", "M");
  1535. }
  1536. ds_data_mdfrecinfo.clearData();
  1537. var nRow = ds_data_mdfrecinfo.addRow();
  1538. ds_data_mdfrecinfo.copyRow(nRow, ds_data_mdfreclist, e.row);
  1539. ds_data_mdfrecinfo.applyChange();
  1540. // 정정항목 및 내용 조회
  1541. // 정정사유 조회
  1542. ds_data_mdfrecdetail.clearData(); // Dataset Clear
  1543. var nAppflag = ds_data_mdfrecinfo.getColumn(0, "appflag");
  1544. var nAppno = ds_data_mdfrecinfo.getColumn(0, "appno");
  1545. var nSrcformcd = ds_data_mdfrecinfo.getColumn(0, "srcformcd");
  1546. var nAppdd = ds_data_mdfrecinfo.getColumn(0, "appdd");
  1547. if( nAppflag == "A" && !utlf_isNull(nAppno) ){
  1548. dsf_createDsRow("ds_cond_TRMRI06003", [ {col:"instcd", type:"STRING", size:256, val:sysf_getUserInfo("dutplceinstcd")}
  1549. , {col:"appno", type:"STRING", size:256, val:nAppno}
  1550. , {col:"srcformcd", type:"STRING", size:256, val:nSrcformcd}
  1551. ]);
  1552. var oParam = {};
  1553. oParam.id = "TRMRI06003";
  1554. oParam.service = "recmngtapp.MdfRecMngt";
  1555. oParam.method = "reqGetMdfRecDetail";
  1556. oParam.inds = "req=ds_cond_TRMRI06003";
  1557. oParam.outds = "ds_data_mdfrecdetail=mdfrecdetail ds_init_unprepitem=unprepitem";
  1558. oParam.async = true;
  1559. oParam.callback = "cf_TRMRI06003"
  1560. tranf_submit(oParam);
  1561. var arrParam = [ {dsNm: "ds_M0803", cdGrpId: "M0803", baseDd: nAppdd}] // 정정사유(신청)
  1562. appf_getCodeListSubmit(arrParam);
  1563. rdo_appresn.innerdataset = "ds_M0803";
  1564. }else{
  1565. var arrParam = [{dsNm: "ds_M0804", cdGrpId: "M0804", baseDd: nAppdd}] // 정정사유(사유)
  1566. appf_getCodeListSubmit(arrParam);
  1567. rdo_appresn.innerdataset = "ds_M0804";
  1568. }
  1569. lf_btnEnable();
  1570. if( btn_expand.nExpand == "Y" ){
  1571. btn_expand.click();
  1572. }
  1573. }
  1574. function cf_TRMRI06003(sSvcId, nErrorCode, sErrorMsg) {
  1575. arErrorCode.push(sSvcId, nErrorCode);
  1576. dsf_addDsItem(ds_init_unprepitem, "unprepitemcd", "unprepitemnm", "선택", "-", "above");
  1577. lgv_old_detail = ds_data_mdfrecdetail.saveXML();
  1578. }
  1579. /****************************************************************************************
  1580. * Components : Button
  1581. * Components ID : comn_acptsave
  1582. * Event : onclick
  1583. * Argument : 01.obj : Object Event has occurred
  1584. * : 02.e : Event Object
  1585. * Description : 저장(승인,반려)
  1586. ****************************************************************************************/
  1587. function comn_acptsave(obj:Button, e:ClickEventInfo)
  1588. {
  1589. var nFlag = utlf_transNullToEmpty(obj.name).split("_")[1];
  1590. if( utlf_isNull(nFlag) ) return;
  1591. var nUserid = sysf_getUserInfo("userid"); // 로그인 사번
  1592. var nRow = ds_data_mdfrecinfo.rowposition;
  1593. var appno = ds_data_mdfrecinfo.getColumn(nRow, "appno");
  1594. var appmedispclid = ds_data_mdfrecinfo.getColumn(nRow, "appmedispclid"); // 담당교수
  1595. var sStatus = ds_data_mdfrecinfo.getColumn(nRow, "acptstatus");
  1596. var aStatus = obj.acptstatus;
  1597. if( utlf_isNull(appno) || utlf_isNull(sStatus)){
  1598. return;
  1599. }
  1600. grp_cnclresn.selBtn = "";
  1601. var dutplcecd = sysf_getUserInfo("dutplcecd");
  1602. var nRoot = "N";
  1603. // 01. 권한 체크
  1604. if( aStatus == "A"){ // (삭제, 수정, 저장)
  1605. var appdrid = ds_data_mdfrecinfo.getColumn(nRow, "appdrid");
  1606. if(nFlag == "appcncl") {
  1607. // (삭제) 정정완료 이전에 신청의사 및 의무기록팀에서만 삭제 가능 (2019-08-12 금정화 추가)
  1608. if(appdrid != nUserid && dutplcecd != "3230000000") {
  1609. sysf_messageBox(obj.text, "E002"); // 권한이 없습니다.
  1610. return;
  1611. } else if(sStatus == "E") {
  1612. sysf_messageBox("이미 정정완료된 신청내역은 " + obj.text, "E001"); // 삭제할 수 없습니다.
  1613. return;
  1614. }
  1615. } else {
  1616. if(dutplcecd == "3230000000" && sStatus == "A"){
  1617. // 20190819 금정화 수정; 의무기록팀은 담당교수만 수정가능 (nRoot가 Y이면 담당교수만 수정 가능. N이면신 정정내용 수정 가능.)
  1618. nRoot = "Y";
  1619. }else if( appdrid != nUserid || sStatus != "A"){
  1620. //sysf_messageBox("신청의만 "+ obj.text + " 가능합니다.", "E");
  1621. sysf_messageBox("", "E002");
  1622. return;
  1623. }
  1624. }
  1625. }else if( aStatus == "D" || aStatus == "DC"){
  1626. var appdeptcd = ds_data_mdfrecinfo.getColumn(nRow, "orddeptcd");
  1627. var jobkindcd = sysf_getUserInfo("jobkindcd");
  1628. var jobposcd = sysf_getUserInfo("jobposcd"); // 1799(인턴) 1800(레지) 1782(교수)
  1629. if((aStatus == "D" && obj.text == "승인") || (aStatus == "DC" && obj.text == "반려")){
  1630. if( jobposcd == "1799" || jobposcd == "1800" || nUserid != appmedispclid || sStatus != "A"){
  1631. // 20190819 금정화 수정; 의무기록팀 요청으로 조건 변경: dutplcecd != appdeptcd =>
  1632. sysf_messageBox("", "E002");
  1633. return;
  1634. }
  1635. }else if(aStatus == "D" && obj.text == "승인취소"){
  1636. // (담당교수) 승인취소 조건 체크 (본인이 아니거나, 현재 담당교수승인 상태가 아니면 종료)
  1637. if(nUserid != appmedispclid || sStatus != "D"){
  1638. sysf_messageBox("", "E002");
  1639. return;
  1640. }
  1641. }else if(aStatus == "DC" && obj.text == "반려취소"){
  1642. // (담당교수) 반려취소 조건 체크 (본인이 아니거나, 현재 담당교수반려 상태가 아니면 종료)
  1643. if(nUserid != appmedispclid || sStatus != "DC"){
  1644. sysf_messageBox("", "E002");
  1645. return;
  1646. }
  1647. }
  1648. }else if( aStatus == "M" || aStatus == "MC"){
  1649. if((aStatus == "M" && obj.text == "승인") || (aStatus == "MC" && obj.text == "반려")){
  1650. if( ds_auth_deptcd.findRow("hardcd", dutplcecd) < 0 || sStatus != "D"){
  1651. sysf_messageBox("", "E002");
  1652. return;
  1653. }
  1654. }else if(aStatus == "M" && obj.text == "승인취소"){
  1655. // (의무기록팀) 승인취소 조건 체크 (의무기록팀이 아니거나 현재 의무기록승인 상태가 아니면 종료)
  1656. if(dutplcecd != "3230000000" || sStatus != "M"){
  1657. sysf_messageBox("", "E002");
  1658. return;
  1659. }
  1660. }else if(aStatus == "MC" && obj.text == "반려취소"){
  1661. // (의무기록팀) 반려취소 조건 체크 (의무기록팀이 아니거나 현재 의무기록반려 상태가 아니면 종료)
  1662. if(dutplcecd != "3230000000" || sStatus != "MC"){
  1663. sysf_messageBox("", "E002");
  1664. return;
  1665. }
  1666. }
  1667. }
  1668. /* 2019-08-13 금정화 주석처리 (사용 안 함)
  1669. // 02. 수행여부 체크 ->반려 후 반려/승인하거나 승인 후 승인/반려하려고 할 때 이미 처리되었음 알림.
  1670. if( !utlf_isNull(obj.compare) ){
  1671. var aNm = nFlag + "dt";
  1672. var bNm = obj.compare + "dt";
  1673. var aDate = ds_data_mdfrecinfo.getColumn(nRow, aNm);
  1674. var bDate = ds_data_mdfrecinfo.getColumn(nRow, bNm);
  1675. if( !utlf_isNull(aDate) ){
  1676. sysf_messageBox(obj.text + " 상태입니다.", "E");
  1677. return;
  1678. }
  1679. if( !utlf_isNull(bDate) ){
  1680. var oCprBtn = this.components["btn_"+obj.compare];
  1681. sysf_messageBox(oCprBtn.text + " 상태입니다.", "E");
  1682. return;
  1683. }
  1684. }
  1685. */
  1686. // 02. 반려취소/승인취소 로직 추가
  1687. if(nFlag.indexOf("acpt") > -1 && obj.text.indexOf("취소") > -1){
  1688. var rtn = sysf_messageBox(obj.text + " 하시겠습니까 ?", "Q");
  1689. if( rtn == 6 ){
  1690. dsf_createDsRow("ds_cond_cnfmcncl", [{col:"status", type:"STRING", size:256, val:aStatus}
  1691. , {col:"instcd", type:"STRING", size:256, val:sysf_getUserInfo("dutplceinstcd")}
  1692. , {col:"appno", type:"STRING", size:256, val:appno}
  1693. , {col:"userid", type:"STRING", size:256, val:nUserid}
  1694. ]);
  1695. dsf_createDsRow("ds_data_cnfmcncl", [{col:"setcnt", type:"STRING", size:256, val:''}]);
  1696. var oParam = {};
  1697. oParam.id = "reqSetCancelConfirmInfo_01";
  1698. oParam.service = "recmngtapp.MdfRecMngt";
  1699. oParam.method = "reqSetCancelConfirmInfo";
  1700. oParam.inds = "req=ds_cond_cnfmcncl";
  1701. oParam.outds = "ds_data_cnfmcncl=ret";
  1702. oParam.async = false;
  1703. oParam.callback = "cf_reqSetCancelConfirmInfo_01";
  1704. tranf_submit(oParam);
  1705. if( arErrorCode.pop("reqSetCancelConfirmInfo_01") > -1 ){
  1706. sysf_messageBox( obj.text + " 되었습니다. (" + ds_data_cnfmcncl.getColumn(nRow, "setcnt") + "건)", "I");
  1707. lf_setReadonly(true);
  1708. lf_InitRecInfo();
  1709. }else{
  1710. sysf_messageBox(obj.text, "E009");
  1711. return;
  1712. }
  1713. }
  1714. return;
  1715. }
  1716. // 03. 신청의 저장로직 추가
  1717. if( nFlag.indexOf("mdf") > -1 ){
  1718. lf_setReadonly(false, nRoot);
  1719. return;
  1720. }else if( nFlag.indexOf("save") > -1 ){
  1721. var orgAppresn = ds_data_mdfrecinfo.getOrgColumn(nRow, "appresn");
  1722. var Appresn = ds_data_mdfrecinfo.getColumn(nRow, "appresn");
  1723. var orgAppresnetc = utlf_transNullToEmpty(ds_data_mdfrecinfo.getOrgColumn(nRow, "appresnetc"));
  1724. var Appresnetc = utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(nRow, "appresnetc"));
  1725. //var orgAppdetail = ds_data_mdfrecinfo.getOrgColumn(nRow, "appdetail");
  1726. //var Appdetail = ds_data_mdfrecinfo.getColumn(nRow, "appdetail");
  1727. var orgAppmedispclid = ds_data_mdfrecinfo.getOrgColumn(nRow, "appmedispclid");
  1728. var Appmedispclid = ds_data_mdfrecinfo.getColumn(nRow, "appmedispclid");
  1729. // 정정항목 및 내용 데이터 취합
  1730. var nRowCnt = ds_data_mdfrecdetail.rowcount;
  1731. if( nRowCnt > 0 ){
  1732. for(var i=nRowCnt-1; i>=0; i--){
  1733. var nItemcd = ds_data_mdfrecdetail.getColumn(i, "itemcd");
  1734. var nItemnm = ds_data_mdfrecdetail.getColumn(i, "itemnm");
  1735. var nItemdetail = ds_data_mdfrecdetail.getColumn(i, "itemdetail");
  1736. var nRowType = ds_data_mdfrecdetail.getRowType(i);
  1737. if( nItemcd == "-" && !utlf_isNull(nItemdetail)){
  1738. sysf_messageBox((i+1) + "행 정정항목을 선택", "I008"); //하십시오.
  1739. return false;
  1740. }
  1741. if( nItemcd != "-" && utlf_isNull(nItemdetail)){
  1742. sysf_messageBox((i+1) + "행 정정내용을 입력", "I008");
  1743. return false;
  1744. }
  1745. // 불필요행 삭제
  1746. if( nItemcd == "-" && utlf_isNull(nItemdetail)){
  1747. if( nRowType == 2 ){
  1748. ds_data_mdfrecdetail.deleteRow(i);
  1749. }else{
  1750. grdf_setStatus(grd_mdfrecdetail, "D", [i]);
  1751. }
  1752. }
  1753. if( nItemcd != "-" && utlf_isNull(nItemnm)){
  1754. var tmpItemnm = ds_init_unprepitem.lookup("unprepitemcd", nItemcd, "unprepitemnm");
  1755. if( !utlf_isNull(tmpItemnm) ){
  1756. ds_data_mdfrecdetail.setColumn(i, "itemnm", tmpItemnm);
  1757. }
  1758. }
  1759. }// for
  1760. }
  1761. var iCnt = grdf_getUpdateRows("grd_mdfrecdetail", "insert");
  1762. var uCnt = grdf_getUpdateRows("grd_mdfrecdetail", "update");
  1763. var dCnt = grdf_getUpdateRows("grd_mdfrecdetail", "delete");
  1764. var tCnt = (iCnt.length+uCnt.length);
  1765. if( (ds_data_mdfrecdetail.rowcount - dCnt) == 0 && tCnt == 0){
  1766. sysf_messageBox("정정항목 및 내용은 하나이상 입력", "I008");
  1767. return false;
  1768. }
  1769. var new_detail = ds_data_mdfrecdetail.saveXML();
  1770. if( orgAppresn == Appresn && orgAppresnetc == Appresnetc && orgAppmedispclid == Appmedispclid && lgv_old_detail == new_detail){//&& orgAppdetail == Appdetail
  1771. sysf_messageBox("수정사항이 없습니다.", "E");
  1772. return;
  1773. }
  1774. if (Appresn == "R5"){
  1775. var tmpEtc = Appresnetc.replace(/\s/g, "");
  1776. if (utlf_isNull(tmpEtc))
  1777. {
  1778. sysf_messageBox("정정사유를", "C001");
  1779. ds_data_mdfrecinfo.setColumn(0,"appresnetc", tmpEtc);
  1780. ipt_appresnetc.setFocus();
  1781. return;
  1782. }else{
  1783. if (Appresnetc.length < 6){
  1784. sysf_messageBox("한글5자, 영문10자 이상 기록", "I008");
  1785. ipt_appresnetc.setFocus();
  1786. return;
  1787. }
  1788. }
  1789. }
  1790. /*
  1791. var tmpEtc = Appdetail.replace(/\s/g, "");
  1792. if (utlf_isNull(tmpEtc)) //기타사유 입력여부 검사
  1793. {
  1794. sysf_messageBox("정정내용을", "C001");
  1795. ds_data_mdfrecinfo.setColumn(0,"appdetail", tmpEtc);
  1796. txt_appdetail.setFocus();
  1797. return;
  1798. }else{
  1799. if (Appdetail.length < 6){
  1800. sysf_messageBox("한글5자, 영문10자 이상 기록", "I008");
  1801. txt_appdetail.setFocus();
  1802. return;
  1803. }
  1804. }
  1805. */
  1806. }
  1807. // 04. 반려사유 입력
  1808. var comntype = "";
  1809. var comnresn = "";
  1810. if( nFlag.indexOf("cncl") > -1 && nFlag.indexOf("app") == -1 ){
  1811. comntype = utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(nRow, "comntype"));
  1812. comnresn = utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(nRow, "comnresn"));
  1813. if( utlf_isNull(comntype) ){
  1814. grp_cnclresn.position.x = (obj.position.x + obj.position.width) - grp_cnclresn.position.width;
  1815. grp_cnclresn.position.y = obj.position.y;
  1816. grp_cnclresn.selBtn = obj.name;
  1817. lf_setEnable(false);
  1818. return;
  1819. }
  1820. }
  1821. // 05. 저장 수행
  1822. var rtn = sysf_messageBox(obj.text + " 하시겠습니까 ?", "Q");
  1823. if( rtn == 6 ){
  1824. dsf_createDsRow("ds_cond_TXMRI06001", [{col:"status", type:"STRING", size:256, val:"U"}
  1825. , {col:"instcd", type:"STRING", size:256, val:sysf_getUserInfo("dutplceinstcd")}
  1826. , {col:"appno", type:"STRING", size:256, val:appno}
  1827. , {col:"flag", type:"STRING", size:256, val:nFlag}
  1828. , {col:"comntype", type:"STRING", size:256, val:comntype}
  1829. , {col:"comnresn", type:"STRING", size:256, val:comnresn}
  1830. , {col:"appresn", type:"STRING", size:256, val:ds_data_mdfrecinfo.getColumn(nRow, "appresn")}
  1831. , {col:"appresnetc", type:"STRING", size:256, val:ds_data_mdfrecinfo.getColumn(nRow, "appresnetc")}
  1832. , {col:"appdetail", type:"STRING", size:256, val:ds_data_mdfrecinfo.getColumn(nRow, "appdetail")}
  1833. , {col:"appmedispclid", type:"STRING", size:256, val:ds_data_mdfrecinfo.getColumn(nRow, "appmedispclid")}
  1834. ]);
  1835. dsf_createDs("ds_data_TXMRI06001");
  1836. var oParam = {};
  1837. oParam.id = "TXMRI06000";
  1838. oParam.service = "recmngtapp.MdfRecMngt";
  1839. oParam.method = "reqExeSaveMdfRecInfo";
  1840. oParam.inds = "req=ds_cond_TXMRI06001 detail=ds_data_mdfrecdetail:U";
  1841. oParam.outds = "ds_data_TXMRI06001=mdfreclist";
  1842. oParam.async = false;
  1843. oParam.callback = "cf_TXMRI06000";
  1844. tranf_submit(oParam);
  1845. if( arErrorCode.pop("TXMRI06000") > -1 ){
  1846. var btnName = obj.text;
  1847. var addInfo = utlf_transNullToEmpty(obj.addInfo);
  1848. if( !utlf_isNull(addInfo) ){
  1849. btnName = btnName + "(" + addInfo + ")";
  1850. }
  1851. // 2018.11.19 개선 요청사항 3
  1852. sysf_messageBox( btnName + " 되었습니다.", "I");
  1853. //ds_data_mdfrecinfo.setColumn(0, "comnresn", "");
  1854. lf_setReadonly(true);
  1855. lf_InitRecInfo();
  1856. }else{
  1857. sysf_messageBox("저장에 ", "E009");
  1858. return;
  1859. }
  1860. }
  1861. }
  1862. function cf_reqSetCancelConfirmInfo_01(sSvcId, nErrorCode, sErrorMsg) {
  1863. arErrorCode.push(sSvcId, nErrorCode);
  1864. }
  1865. function cf_TXMRI06000(sSvcId, nErrorCode, sErrorMsg) {
  1866. arErrorCode.push(sSvcId, nErrorCode);
  1867. }
  1868. function lf_setEnable(nFlag){
  1869. try{
  1870. var childrenObj = this.components;
  1871. for(i=0; i< childrenObj.length; i++)
  1872. {
  1873. childObj = childrenObj[i];
  1874. if(!utlf_isNull(childObj.name) && ( childObj instanceof Grid || childObj instanceof Button )){
  1875. childObj.enable = nFlag;
  1876. }
  1877. }
  1878. }catch(e){}
  1879. grp_cnclresn.visible = !nFlag;
  1880. }
  1881. function lf_setReadonly(nFlag, nRoot){
  1882. if( !utlf_isNull(nRoot ) && nRoot == "Y" ){
  1883. cmb_appmedispclid.readonly = nFlag;
  1884. }else{
  1885. cmb_appmedispclid.readonly = nFlag;
  1886. rdo_appresn.readonly = nFlag;
  1887. txt_appdetail.readonly = nFlag;
  1888. ipt_appresnetc.readonly = true;
  1889. if( nFlag == false && rdo_appresn.value == "R5" ){
  1890. ipt_appresnetc.readonly = nFlag;
  1891. }
  1892. btn_delrow.enable = !nFlag;
  1893. btn_addrow.enable = !nFlag;
  1894. grd_mdfrecdetail.readonly = nFlag;
  1895. }
  1896. }
  1897. /****************************************************************************************
  1898. * Components : Button
  1899. * Components ID : grp_cnclresn.confirm
  1900. * Event : onclick
  1901. * Argument : 01.obj : Object Event has occurred
  1902. * : 02.e : Event Object
  1903. * Description : 반려사유 입력
  1904. ****************************************************************************************/
  1905. function grp_cnclresn_confirm_onclick(obj:Button, e:ClickEventInfo)
  1906. {
  1907. var comntype = utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(0, "comntype"));
  1908. var comnresn = utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(0, "comnresn"));
  1909. if (utlf_isNull(comntype)){
  1910. sysf_messageBox("반려사유가", "I004");
  1911. grp_cnclresn.rdo_acptcncltype.setFocus();
  1912. return;
  1913. }else if (comntype == "C5"){
  1914. var sEtc = utlf_transNullToEmpty(ds_data_mdfrecinfo.getColumn(0, "comnresn"));
  1915. var tmpEtc = sEtc.replace(/\s/g, "");
  1916. if (utlf_isNull(tmpEtc))
  1917. {
  1918. sysf_messageBox("반려사유를", "C001");
  1919. ds_data_mdfrecinfo.setColumn(0,"comnresn", tmpEtc);
  1920. grp_cnclresn.edt_acptcnclresn.setFocus();
  1921. return;
  1922. }else{
  1923. if (sEtc.length < 6){
  1924. sysf_messageBox("한글5자, 영문10자 이상 기록", "I008");
  1925. grp_cnclresn.edt_acptcnclresn.setFocus();
  1926. return;
  1927. }
  1928. }
  1929. }
  1930. lf_setEnable(true);
  1931. lf_btnEnable();
  1932. var btnNm = grp_cnclresn.selBtn;
  1933. var oBtn = this.components[btnNm];
  1934. oBtn.click();
  1935. }
  1936. /****************************************************************************************
  1937. * Components : Button
  1938. * Components ID : grp_cnclresn.cancel
  1939. * Event : onclick
  1940. * Argument : 01.obj : Object Event has occurred
  1941. * : 02.e : Event Object
  1942. * Description : 반려사유 닫기
  1943. ****************************************************************************************/
  1944. function grp_cnclresn_cancel_onclick(obj:Button, e:ClickEventInfo)
  1945. {
  1946. ds_data_mdfrecinfo.setColumn(0, "comntype", "");
  1947. ds_data_mdfrecinfo.setColumn(0, "comnresn", "");
  1948. lf_setEnable(true);
  1949. lf_btnEnable();
  1950. }
  1951. /****************************************************************************************
  1952. * Components :Radio
  1953. * Components ID : rdo_appresn
  1954. * Event : onitemchanged
  1955. * Argument : 01.obj : Object Event has occurred
  1956. * : 02.e : Event Object
  1957. * Description : 사유항목 선택 이벤트
  1958. ****************************************************************************************/
  1959. function rdo_appresn_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  1960. {
  1961. if( e.postvalue == "R5" ){
  1962. ipt_appresnetc.readonly = false;
  1963. ipt_appresnetc.setFocus();
  1964. }else{
  1965. ipt_appresnetc.value = "";
  1966. ipt_appresnetc.readonly = true;
  1967. }
  1968. }
  1969. /****************************************************************************************
  1970. * Components : Button
  1971. * Components ID : btn_rec
  1972. * Event : onclick
  1973. * Argument : 01.obj : Object Event has occurred
  1974. * : 02.e : Event Object
  1975. * Description : 기록작성(신청자, 의무기록승인 후)
  1976. ****************************************************************************************/
  1977. function btn_rec_onclick(obj:Button, e:ClickEventInfo)
  1978. {
  1979. var nRow = ds_data_mdfrecinfo.rowposition;
  1980. var nAppno = ds_data_mdfrecinfo.getColumn(0, "appno");
  1981. var nPid = ds_data_mdfrecinfo.getColumn(0, "pid");
  1982. var nOrddd = ds_data_mdfrecinfo.getColumn(0, "orddd");
  1983. var nCretno = ds_data_mdfrecinfo.getColumn(0, "cretno");
  1984. var nOrdtype = ds_data_mdfrecinfo.getColumn(0, "ordtype");
  1985. var nDeptcd = ds_data_mdfrecinfo.getColumn(0, "appdeptcd");
  1986. var nDrid = ds_data_mdfrecinfo.getColumn(0, "appdrid");
  1987. var nAppflag = ds_data_mdfrecinfo.getColumn(0, "appflag");
  1988. var nApptype = ds_data_mdfrecinfo.getColumn(0, "apptype");
  1989. var nAppresn = ds_data_mdfrecinfo.getColumn(0, "appresn");
  1990. var nAppresnNm = ds_M0803.lookup("cdid", nAppresn, "cdnm");
  1991. var nAppresnetc = ds_data_mdfrecinfo.getColumn(0, "appresnetc");
  1992. var nAcptstatus = ds_data_mdfrecinfo.getColumn(0, "acptstatus");
  1993. var nFormcd = ds_data_mdfrecinfo.getColumn(0, "formcd");
  1994. var nFormrecseq = ds_data_mdfrecinfo.getColumn(0, "formrecseq");
  1995. var nOprsrvno = ds_data_mdfrecinfo.getColumn(0, "oprsrvno");
  1996. var nOpcnfmdd = ds_data_mdfrecinfo.getColumn(0, "opcnfmdd");
  1997. var nDschdd = ds_data_mdfrecinfo.getColumn(0, "dschdd");
  1998. var cInstcd = sysf_getUserInfo("dutplceinstcd");
  1999. var cDutplcecd = sysf_getUserInfo("dutplcecd");
  2000. var cUserid = sysf_getUserInfo("userid")
  2001. if( nRow < 0 || utlf_isNull(nAppno) ) return;
  2002. // For test
  2003. /*
  2004. if(cUserid == "EMR001"){
  2005. }else
  2006. */
  2007. if( nAppflag != "A" || nDeptcd != cDutplcecd || nDrid != cUserid ){
  2008. sysf_messageBox("", "E002");
  2009. return;
  2010. }else if( nAcptstatus != "M" ){
  2011. sysf_messageBox("의무기록승인 상태가 아닙니다.", "E");
  2012. return;
  2013. }
  2014. if (!utlf_isNull(nAppresnetc))
  2015. {
  2016. nAppresnNm += " -Comments : " + nAppresnetc;
  2017. }
  2018. var sID = "SSMMR01100";
  2019. var nScrnIdx = "";
  2020. var popup = application.popupframes[sID];
  2021. if (!utlf_isNull(popup)) {
  2022. for(var k = 0; k < application.popupframes.length; k++) {
  2023. if(utlf_isNull(application.popupframes[sID + "_" + k])) {
  2024. nScrnIdx = k;
  2025. break;
  2026. }
  2027. }
  2028. }
  2029. var sParam = "";
  2030. if( !utlf_isNull(nOprsrvno) ){
  2031. sParam = "T" + "▦" + // ioflag
  2032. nPid + "▦" + // pid
  2033. nOpcnfmdd + "▦" + // opcnfmdd
  2034. nCretno + "▦" + // cretno
  2035. cInstcd + "▦" + // instcd
  2036. "" + "▦" + // perfdeptcd
  2037. "" + "▦" + // perfdrid
  2038. "I" + "▦" + // patflag
  2039. "F" + "▦" + // procflag
  2040. nOprsrvno + "▦" + // oprsrvno
  2041. "" + "▦" + // ophistno
  2042. nDschdd; // srchdd
  2043. }else{
  2044. var ordtype = nOrdtype;
  2045. if(nOrdtype != "O" && nOrdtype!="E"){
  2046. ordtype = "I";
  2047. }
  2048. sParam = ordtype + "▦" +
  2049. nPid + "▦" +
  2050. nOrddd + "▦" +
  2051. nCretno + "▦" +
  2052. cInstcd + "▦" +
  2053. nDschdd;
  2054. }
  2055. var vFormcd = "";
  2056. var vFormKind = "";
  2057. if(nFormrecseq == "0" || utlf_isNull(nFormrecseq)){
  2058. vFormcd = nFormcd;
  2059. vFormKind = "new";
  2060. }else{
  2061. vFormcd = nFormrecseq;
  2062. vFormKind = "rec";
  2063. }
  2064. var objArg = new Object();
  2065. dsf_createDsRow("ds_cond_formdata", [{col:"formcd", type:"STRING", size:"256", val:vFormcd}
  2066. , {col:"formkind", type:"STRING", size:"256", val:vFormKind}
  2067. , {col:"btnvisible", type:"STRING", size:"256", val:true}
  2068. , {col:"pid", type:"STRING", size:"256", val:nPid}
  2069. , {col:"orddd", type:"STRING", size:"256", val:nOrddd}
  2070. , {col:"cretno", type:"STRING", size:"256", val:nCretno}
  2071. , {col:"modalyn", type:"STRING", size:"256", val:"Y"}
  2072. , {col:"topyn", type:"STRING", size:"256", val:"N"}
  2073. , {col:"orddeptcd", type:"STRING", size:"256", val:nDeptcd}
  2074. , {col:"ioflag", type:"STRING", size:"256", val:nOrdtype}
  2075. , {col:"orddrid", type:"STRING", size:"256", val:nDrid}
  2076. , {col:"scrnidx", type:"STRING", size:"256", val:nScrnIdx}
  2077. , {col:"btnenable", type:"STRING", size:"256", val:true}
  2078. , {col:"paminfo", type:"STRING", size:"256", val:sParam}
  2079. , {col:"mdfrecno", type:"STRING", size:"256", val:nAppno}
  2080. , {col:"mdfrecapptype", type:"STRING", size:"256", val:nApptype + "|" + nAppresnNm}
  2081. ]);
  2082. //objArg.ds_cond_formdata = removeChild("ds_cond_formdata");
  2083. objArg.ds_cond_formdata = ds_cond_formdata;
  2084. lf_loadSMMMR01100(true, objArg);
  2085. var rtnFormrecseq = frmf_clearParameter("SSMMR01100_formrecseq");
  2086. if( rtnFormrecseq != null ){
  2087. lf_InitRecInfo();
  2088. }
  2089. }
  2090. /****************************************************************************************
  2091. * Components : Radio
  2092. * Components ID : grp_cnclresn.rdo_acptcncltype
  2093. * Event : onitemchanged
  2094. * Argument : 01.obj : Object Event has occurred
  2095. * : 02.e : Event Object
  2096. * Description : 사유입력
  2097. ****************************************************************************************/
  2098. function grp_cnclresn_rdo_acptcncltype_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  2099. {
  2100. if( e.postvalue == "C5" ){
  2101. grp_cnclresn.edt_acptcnclresn.enable = true;
  2102. grp_cnclresn.edt_acptcnclresn.setFocus();
  2103. }else{
  2104. grp_cnclresn.edt_acptcnclresn.value = "";
  2105. grp_cnclresn.edt_acptcnclresn.enable = false;
  2106. }
  2107. }
  2108. /****************************************************************************************
  2109. * Components : Button
  2110. * Components ID : btn_reapp
  2111. * Event : onclick
  2112. * Argument : 01.obj : Object Event has occurred
  2113. * : 02.e : Event Object
  2114. * Description : 재신청
  2115. ****************************************************************************************/
  2116. function btn_reapp_onclick(obj:Button, e:ClickEventInfo)
  2117. {
  2118. var nRow = ds_data_mdfrecinfo.rowposition;
  2119. var nAppno = ds_data_mdfrecinfo.getColumn(0, "appno");
  2120. var nPid = ds_data_mdfrecinfo.getColumn(0, "pid");
  2121. var nOrddd = ds_data_mdfrecinfo.getColumn(0, "orddd");
  2122. var nCretno = ds_data_mdfrecinfo.getColumn(0, "cretno");
  2123. var nOrdtype = ds_data_mdfrecinfo.getColumn(0, "ordtype");
  2124. var nDeptcd = ds_data_mdfrecinfo.getColumn(0, "appdeptcd");
  2125. var nDrid = ds_data_mdfrecinfo.getColumn(0, "appdrid");
  2126. var nAppflag = ds_data_mdfrecinfo.getColumn(0, "appflag");
  2127. var nAcptstatus = ds_data_mdfrecinfo.getColumn(0, "acptstatus");
  2128. var nAppresn = ds_data_mdfrecinfo.getColumn(0, "appresn");
  2129. var nFormcd = ds_data_mdfrecinfo.getColumn(0, "formcd");
  2130. var cInstcd = sysf_getUserInfo("dutplceinstcd");
  2131. var cDutplcecd = sysf_getUserInfo("dutplcecd");
  2132. var cUserid = sysf_getUserInfo("userid")
  2133. if( nRow < 0 || utlf_isNull(nAppno) ) return;
  2134. if( nAppflag != "A" || nDeptcd != cDutplcecd || nDrid != cUserid ){
  2135. sysf_messageBox("", "E002");
  2136. return;
  2137. }else if( utlf_isNull(nAcptstatus) || nAcptstatus.indexOf("C") < 0 ){
  2138. sysf_messageBox("반려 상태가 아닙니다.", "E");
  2139. return;
  2140. }
  2141. /*
  2142. dsf_createDsRow("ds_cond_TRMRI06002", [{col:"formcd", type:"STRING", size:"256", val:nFormcd}
  2143. , {col:"appdd", type:"STRING", size:"256", val:utlf_getCurrentDate()}
  2144. , {col:"pid", type:"STRING", size:"256", val:nPid}
  2145. , {col:"orddd", type:"STRING", size:"256", val:nOrddd}
  2146. , {col:"cretno", type:"STRING", size:"256", val:nCretno}
  2147. , {col:"ordtype", type:"STRING", size:"256", val:nOrdtype}
  2148. , {col:"appdeptcd", type:"STRING", size:"256", val:cDutplcecd}
  2149. , {col:"appdrid", type:"STRING", size:"256", val:cUserid}
  2150. ]);
  2151. dsf_createDs("ds_data_TRMRI06002");
  2152. var oParam = {};
  2153. oParam.id = "TRMRI06002";
  2154. oParam.service = "recmngtapp.MdfRecMngt";
  2155. oParam.method = "reqGetMdfRecCnt";
  2156. oParam.inds = "req=ds_cond_TRMRI06002";
  2157. oParam.outds = "ds_data_TRMRI06002=mdfreccnt";
  2158. oParam.async = false;
  2159. tranf_submit(oParam);
  2160. var nCnt = ds_data_TRMRI06002.getColumn(0, "cnt");
  2161. dsf_deleteDs("ds_cond_TRMRI06002");
  2162. dsf_deleteDs("ds_data_TRMRI06002");
  2163. if( nCnt > 0 ){
  2164. sysf_messageBox("신청한 이력이 존재합니다.", "I");
  2165. return;
  2166. }
  2167. */
  2168. var objArg = new Object();
  2169. objArg.arg_ds_data_mdfrecinfo = ds_data_mdfrecinfo;
  2170. objArg.arg_ds_data_mdfrecdetail = ds_data_mdfrecdetail;
  2171. //objArg.arg_nFlag = nAppresn == "R2" ? "D" : "Y";
  2172. objArg.arg_pid = nPid;
  2173. objArg.arg_activeyn = "M";
  2174. var rtnDs = frmf_modal("SPMRI06100_1", "SPMRI06100", objArg, null, null, null, null, null, null, null, null, null, "P");
  2175. if( rtnDs.getColumn(0, "saveyn") == "N" ) {
  2176. sysf_messageBox("정정신청이 처리되지 않았습니다. ", "E");
  2177. return false;
  2178. }else{
  2179. lf_InitRecInfo();
  2180. }
  2181. }
  2182. var lgv_Dutplcecd = sysf_getUserInfo("dutplcecd");
  2183. var lgv_Userid = sysf_getUserInfo("userid");
  2184. function lf_setStyle(nAppflag, nAppdeptcd, nAppdrid, nAcptstatus){
  2185. var nColor = "";
  2186. if( nAppflag == "A" && nAppdeptcd == lgv_Dutplcecd && nAppdrid == lgv_Userid && nAcptstatus == "M" ){
  2187. nColor = "royalblue";
  2188. }
  2189. return nColor;
  2190. }
  2191. /****************************************************************************************
  2192. * Components : Radio
  2193. * Components ID : rdo_appflag
  2194. * Event : onitemchanged
  2195. * Argument : 01.obj : Object Event has occurred
  2196. * : 02.e : Event Object
  2197. * Description : 구분
  2198. ****************************************************************************************/
  2199. function rdo_appflag_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  2200. {
  2201. if(e.postvalue == "R"){
  2202. if( ds_cond_reqdata.getColumn(0, "acptstatus") != "-" && ds_cond_reqdata.getColumn(0, "acptstatus") != "C"){
  2203. var aAcptstatus = new Array();
  2204. aAcptstatus[0] = "E";
  2205. var nAcptstatus = "E";
  2206. //cp_acptstatus.setCheckAll(false);
  2207. cp_acptstatus.setData(aAcptstatus, null, false);
  2208. ds_cond_reqdata.setColumn(0, "acptstatus", nAcptstatus);
  2209. }
  2210. }
  2211. //btn_srch.click();
  2212. }
  2213. /****************************************************************************************
  2214. * Components : Button
  2215. * Components ID : btn_addrow
  2216. * Event : onclick
  2217. * Argument : 01.obj : Object Event has occurred
  2218. * : 02.e : Event Object
  2219. * Description : 행추가
  2220. ****************************************************************************************/
  2221. function btn_addrow_onclick(obj:Button, e:ClickEventInfo)
  2222. {
  2223. var nAppno = ds_data_mdfrecinfo.getColumn(0, "appno");
  2224. // 정정기록관리 화면에서는 appno 가 존재함
  2225. if( utlf_isNull(nAppno) ){
  2226. return;
  2227. }
  2228. var nRow = ds_data_mdfrecdetail.addRow();
  2229. //var nMaxNo = ds_data_mdfrecdetail.getMax("parseInt(seqno)");
  2230. //if( utlf_isNull(nMaxNo) ) nMaxNo = 0;
  2231. ds_data_mdfrecdetail.setColumn(nRow, "appno", nAppno);
  2232. //ds_data_mdfrecdetail.setColumn(nRow, "seqno", nMaxNo);
  2233. ds_data_mdfrecdetail.setColumn(nRow, "itemcd", "-");
  2234. }
  2235. /****************************************************************************************
  2236. * Components : Button
  2237. * Components ID : btn_delrow
  2238. * Event : onclick
  2239. * Argument : 01.obj : Object Event has occurred
  2240. * : 02.e : Event Object
  2241. * Description : 행삭제
  2242. ****************************************************************************************/
  2243. function btn_delrow_onclick(obj:Button, e:ClickEventInfo)
  2244. {
  2245. var nRow = ds_data_mdfrecdetail.rowposition;
  2246. if( nRow < 0 ){
  2247. sysf_messageBox("삭제할 행을 선택하세요.", "I");
  2248. return;
  2249. }
  2250. var nRowType = ds_data_mdfrecdetail.getRowType(nRow);
  2251. if( nRowType == 2 ){
  2252. ds_data_mdfrecdetail.deleteRow(nRow);
  2253. }else{
  2254. grdf_setStatus(grd_mdfrecdetail, "D", [nRow]);
  2255. }
  2256. }
  2257. /****************************************************************************************
  2258. * Components : Button
  2259. * Components ID : grp_autoconfirm.confirm_onclick
  2260. * Event : onclick
  2261. * Argument : 01.obj : Object Event has occurred
  2262. * : 02.e : Event Object
  2263. * Description : 자동인증 일시 저장
  2264. ****************************************************************************************/
  2265. function grp_autoconfirm_confirm_onclick(obj:Button, e:ClickEventInfo)
  2266. {
  2267. var nDutplcecd = sysf_getUserInfo("dutplcecd");
  2268. if( ds_auth_deptcd.findRow("hardcd", nDutplcecd) == -1 ){
  2269. sysf_messageBox("권한이 없습니다.", "I");
  2270. return;
  2271. }
  2272. var valifromdt = ds_data_autoconfirm.getColumn(0, "valifromdt");
  2273. var valitodt = ds_data_autoconfirm.getColumn(0, "valitodt");
  2274. //trace("valifromdt : " + valifromdt + " || valitodt : " + valitodt );
  2275. if( utlf_isNull(valifromdt) ){
  2276. sysf_messageBox("자동승인 시작일시가 존재하지 않습니다.", "I");
  2277. grp_autoconfirm.ipt_autovalifromdt.setFocus();
  2278. return;
  2279. }else if( utlf_isNull(valitodt) ){
  2280. sysf_messageBox("자동승인 종료일시가 존재하지 않습니다.", "I");
  2281. grp_autoconfirm.ipt_autovalifromdt.setFocus();
  2282. return;
  2283. }else if( valifromdt.length < 12 ){
  2284. sysf_messageBox("자동승인 시작일시를 년월일시분 형식으로 입력하세요.", "I");
  2285. grp_autoconfirm.ipt_autovalifromdt.setFocus();
  2286. return;
  2287. }else if( valitodt.length < 12 ){
  2288. sysf_messageBox("자동승인 종료일시를 년월일시분 형식으로 입력하세요.", "I");
  2289. grp_autoconfirm.ipt_autovalifromdt.setFocus();
  2290. return;
  2291. }
  2292. if( valifromdt.length == 12 )
  2293. ds_data_autoconfirm.setColumn(0, "valifromdt", valifromdt + "00");
  2294. if( valitodt.length == 12 )
  2295. ds_data_autoconfirm.setColumn(0, "valitodt", valitodt + "00");
  2296. var rtn = sysf_messageBox("", "Q002");
  2297. if( rtn == 6 ){
  2298. var oParam = {};
  2299. oParam.id = "TXMRI06002";
  2300. oParam.service = "recmngtapp.MdfRecMngt";
  2301. oParam.method = "reqExeSaveHrcdinfo";
  2302. oParam.inds = "req=ds_data_autoconfirm";
  2303. oParam.outds = "ds_data_autoconfirm=hrcdinfo";
  2304. oParam.async = false;
  2305. oParam.callback = "cf_TXMRI06002";
  2306. tranf_submit(oParam);
  2307. }
  2308. }
  2309. function cf_TXMRI06002(sSvcId, nErrorCode, sErrorMsg) {
  2310. if(nErrorCode < 0){
  2311. sysf_messageBox("저장", "E009");
  2312. return;
  2313. }
  2314. sysf_messageBox("저장", "I001");
  2315. }
  2316. /****************************************************************************************
  2317. * Components : Button
  2318. * Components ID : grp_autoconfirm.btn_interval
  2319. * Event : onclick
  2320. * Argument : 01.obj : Object Event has occurred
  2321. * : 02.e : Event Object
  2322. * Description : 자동조회 버튼
  2323. ****************************************************************************************/
  2324. function grp_autoconfirm_btn_interval_onclick(obj:Button, e:ClickEventInfo)
  2325. {
  2326. var interval = ds_cond_autotimer.getColumn(0, "timer");
  2327. if(interval <= 0)
  2328. {
  2329. sysf_messageBox("Time이 0초인 상태로는 시작","E001");
  2330. return;
  2331. }
  2332. if (grp_autoconfirm.btn_interval.text == "자동조회")
  2333. {
  2334. grp_autoconfirm.btn_interval.text = "수동조회";
  2335. gCount = interval;
  2336. this.setTimer(0, 1000);
  2337. }
  2338. else
  2339. {
  2340. this.killTimer(0);
  2341. grp_autoconfirm.btn_interval.text ="자동조회";
  2342. }
  2343. }
  2344. /****************************************************************************************
  2345. * Components : Form
  2346. * Components ID : SPMRI06000
  2347. * Event : ontimer
  2348. * Argument : 01.obj : Object Event has occurred
  2349. * : 02.e : Event Object
  2350. * Description : 타이머 이벤트 관리
  2351. ****************************************************************************************/
  2352. function SPMRI06000_ontimer(obj:Form, e:TimerEventInfo)
  2353. {
  2354. if( e.timerid == 0 ){
  2355. if(gCount <= 0)
  2356. {
  2357. this.killTimer(e.timerid);
  2358. btn_srch.click();
  2359. gCount = ds_cond_autotimer.getColumn(0, "timer");
  2360. this.setTimer(0, 1000);
  2361. }
  2362. else
  2363. {
  2364. gCount--;
  2365. ds_cond_autotimer.setColumn(0, "interval", gCount);
  2366. }
  2367. }
  2368. }
  2369. /****************************************************************************************
  2370. * Components : Button
  2371. * Components ID : grp_autoconfirm.btn_subtime
  2372. * Event : onclick
  2373. * Argument : 01.obj : Object Event has occurred
  2374. * : 02.e : Event Object
  2375. * Description : 타이머 시간 관리
  2376. ****************************************************************************************/
  2377. function grp_autoconfirm_btn_subtime_onclick(obj:Button, e:ClickEventInfo)
  2378. {
  2379. var nVal = parseInt(grp_autoconfirm.ipt_timer.value) -1;
  2380. if(nVal >= 1)
  2381. {
  2382. grp_autoconfirm.ipt_timer.value = parseInt(ds_cond_autotimer.getColumn(0, "timer")) - 1;
  2383. }
  2384. else if(nVal == 0 && grp_autoconfirm.btn_interval.text == "수동조회")
  2385. {
  2386. grp_autoconfirm.ipt_timer.value = nVal;
  2387. this.killTimer(0);
  2388. grp_autoconfirm.btn_interval.text = "자동조회";
  2389. }
  2390. }
  2391. /****************************************************************************************
  2392. * Components : Button
  2393. * Components ID : grp_autoconfirm.btn_addtime
  2394. * Event : onclick
  2395. * Argument : 01.obj : Object Event has occurred
  2396. * : 02.e : Event Object
  2397. * Description : 타이머 시간 관리
  2398. ****************************************************************************************/
  2399. function grp_autoconfirm_btn_addtime_onclick(obj:Button, e:ClickEventInfo)
  2400. {
  2401. ds_cond_autotimer.setColumn(0, "timer", parseInt(ds_cond_autotimer.getColumn(0, "timer")) + 1);
  2402. }
  2403. /****************************************************************************************
  2404. * Components : Grid
  2405. * Components ID : grd_mdfreclist
  2406. * Event : onrbuttondown
  2407. * Argument : 01.obj : Object Event has occurred
  2408. * : 02.e : Event Object
  2409. * Description : 그리드 우클릭 이벤트
  2410. ****************************************************************************************/
  2411. function grd_mdfreclist_onrbuttondown(obj:Grid, e:GridMouseEventInfo)
  2412. {
  2413. grdf_setSelectedCell(obj, e);
  2414. if(e.col > -1 && e.row > -1)
  2415. {
  2416. comn_menu.trackPopup(e.screenX,e.screenY);
  2417. }
  2418. }
  2419. /****************************************************************************************
  2420. * Argument : N/A
  2421. * Description : OCR 기록 조회
  2422. ****************************************************************************************/
  2423. function lf_RecViewPrint(){
  2424. /*
  2425. var aSelRows = grdf_getSelectedRows(grd_mdfreclist);
  2426. if( aSelRows.length < 1 ){
  2427. return;
  2428. }
  2429. ds_send_iemr.clearData();
  2430. var ocrcodes = null;
  2431. for(var i = 0; i < aSelRows.length; i++){
  2432. var scanyn = ds_data_mdfreclist.getColumn(aSelRows[i], "scanyn");
  2433. var ocrcode = ds_data_mdfreclist.getColumn(aSelRows[i], "ocrtag");
  2434. if( !utlf_isNull(scanyn) && scanyn == "Y" && !utlf_isNull(ocrcode) ){
  2435. if( ocrcodes == null ){
  2436. ocrcodes = ocrcode;
  2437. }else{
  2438. ocrcodes = ocrcodes + "|" + ocrcode;
  2439. }
  2440. }
  2441. }
  2442. if( ocrcodes != null ){
  2443. var nRow = ds_send_iemr.addRow();
  2444. ds_send_iemr.setColumn(nRow, "ocrcodes", ocrcodes);
  2445. }else{
  2446. return;
  2447. }
  2448. */
  2449. ds_send_iemr.clearData();
  2450. var nSelRow = ds_data_mdfreclist.rowposition;
  2451. var nPid = ds_data_mdfreclist.getColumn(nSelRow, "pid");
  2452. var nInstcd = sysf_getUserInfo("dutplceinstcd");
  2453. var nFormcd = ds_M0807.lookupAs("cdid", nInstcd, "cdnm");
  2454. if( utlf_isNull(nPid) || utlf_isNull(nFormcd) ){
  2455. sysf_messageBox("정정신청서(환자용) OCR 코드가 정상적이지 않습니다.", "E");
  2456. return;
  2457. }
  2458. var nRow = ds_send_iemr.addRow();
  2459. ds_send_iemr.setColumn(nRow, "docucd", nFormcd);
  2460. ds_send_iemr.setColumn(nRow, "pid", nPid);
  2461. var objArg = new Object();
  2462. objArg.arg_ds_hidden_temp = ds_send_iemr;
  2463. frmf_modal("SSMRC03130", "SSMRC03130", objArg, null, null, null, null, null, null, null, null, null, "M");
  2464. }
  2465. /****************************************************************************************
  2466. * Components : PopupMenu
  2467. * Components ID : comn_menu
  2468. * Event : onmenuclick
  2469. * Argument : 01.obj : Object Event has occurred
  2470. * : 02.e : Event Object
  2471. * Description : 그리드 팝업메뉴 실행
  2472. ****************************************************************************************/
  2473. function comn_menu_onmenuclick(obj:PopupMenu, e:MenuClickEventInfo)
  2474. {
  2475. eval(e.id + "()");
  2476. }
  2477. function roundrect3_chk_totalprd_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  2478. {
  2479. if(obj.value){
  2480. // 전체보기 체크 시 조회기간 컨트롤의 값을 지움
  2481. pre_fromdd = ipt_srchstartdd.value;
  2482. pre_todd = ipt_srchenddd.value;
  2483. ds_cond_reqdata.setColumn(0, "fromdd", "");
  2484. ds_cond_reqdata.setColumn(0, "todd", "");
  2485. ds_cond_reqdata.setColumn(0, "periodflag", "Y");
  2486. ipt_srchstartdd.readonly = true;
  2487. ipt_srchenddd.readonly = true;
  2488. }else{
  2489. // 전체보기 체크 해제 시 직전 조회기간의 값을 다시 세팅해줌.
  2490. ipt_srchstartdd.readonly = false;
  2491. ipt_srchenddd.readonly = false;
  2492. ds_cond_reqdata.setColumn(0, "fromdd", pre_fromdd);
  2493. ds_cond_reqdata.setColumn(0, "todd", pre_todd);
  2494. ds_cond_reqdata.setColumn(0, "periodflag", "");
  2495. }
  2496. }
  2497. ]]></Script>
  2498. </Form>
  2499. </FDL>