SMPMB00700_의사진료일정기준관리.xfdl 172 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMPMB00700" position="absolute 0 0 1196 784" titletext="진료일정 등록" onload="SMPMB00700_onload" oninit="SMPMB00700_oninit">
  5. <Layouts>
  6. <Layout>
  7. <Radio id="rdo_reglsche" taborder="2" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 1040 95 1150 136" anchor="top right" columncount="-1" rowcount="-1" onitemchanged="rdo_reglsche_onitemchanged">
  8. <Dataset id="innerdataset">
  9. <ColumnInfo>
  10. <Column id="codecolumn"/>
  11. <Column id="datacolumn"/>
  12. </ColumnInfo>
  13. <Rows>
  14. <Row>
  15. <Col id="codecolumn">YY</Col>
  16. <Col id="datacolumn">정규</Col>
  17. </Row>
  18. <Row>
  19. <Col id="codecolumn">NN</Col>
  20. <Col id="datacolumn">임시</Col>
  21. </Row>
  22. <Row>
  23. <Col id="codecolumn">ZZ</Col>
  24. <Col id="datacolumn">대진</Col>
  25. </Row>
  26. <Row>
  27. <Col id="codecolumn">SS</Col>
  28. <Col id="datacolumn">특별</Col>
  29. </Row>
  30. </Rows>
  31. </Dataset>
  32. </Radio>
  33. <Static id="caption4" text="최종진료생성일" class="cell_1" position="absolute 792 93 905 116" anchor="top right" style="align:left middle;"/>
  34. <MaskEdit id="input1" taborder="56" position="absolute 908 94 1037 113" mask="####-##-##" maskchar=" " type="string" trimtype="both" style="align:left middle;" enable="false" anchor="top right"/>
  35. <Static id="caption6" text="진료일정 등록" class="tit_1" position="absolute 0 0 178 24"/>
  36. <Static id="caption22" text="전체" position="absolute 898 220 930 240" anchor="top right"/>
  37. <Radio id="rdo_etcsche" taborder="1" codecolumn="codecolumn" datacolumn="datacolumn" visible="false" position="absolute 1040 95 1180 136" anchor="top right" onclick="group3_rdo_etcsche_onclick" onitemchanged="rdo_etcsche_onitemchanged">
  38. <Dataset id="innerdataset">
  39. <ColumnInfo>
  40. <Column id="codecolumn"/>
  41. <Column id="datacolumn"/>
  42. </ColumnInfo>
  43. <Rows>
  44. <Row>
  45. <Col id="codecolumn">VV</Col>
  46. <Col id="datacolumn">기타(임시)</Col>
  47. </Row>
  48. <Row>
  49. <Col id="codecolumn">XX</Col>
  50. <Col id="datacolumn">기타(검사)</Col>
  51. </Row>
  52. </Rows>
  53. </Dataset>
  54. </Radio>
  55. <CheckBox id="bool7" taborder="3" value="N" truevalue="Y" falsevalue="N" position="absolute 880 222 897 237" anchor="top right" onclick="bool7_onclick"/>
  56. <Static id="caption25" text="명" position="absolute 644 95 658 115" anchor="top right"/>
  57. <Edit id="ipt_internetinwon" taborder="4" position="absolute 614 95 640 114" anchor="top right" style="align:right ;" autoselect="true"/>
  58. <Static id="cap_internetinwon" text="인터넷 예약 가능인원" class="cell_1" position="absolute 483 93 612 116" anchor="top right" style="padding:0 0 0 8;align:left middle;"/>
  59. <Radio id="radio2" taborder="5" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 220 95 490 115" anchor="top right" columncount="-1" rowcount="-1">
  60. <Dataset id="innerdataset">
  61. <ColumnInfo>
  62. <Column id="codecolumn"/>
  63. <Column id="datacolumn"/>
  64. </ColumnInfo>
  65. <Rows>
  66. <Row>
  67. <Col id="codecolumn">N</Col>
  68. <Col id="datacolumn">불가</Col>
  69. </Row>
  70. <Row>
  71. <Col id="codecolumn">Y</Col>
  72. <Col id="datacolumn">가능</Col>
  73. </Row>
  74. <Row>
  75. <Col id="codecolumn">F</Col>
  76. <Col id="datacolumn">초진만 가능</Col>
  77. </Row>
  78. <Row>
  79. <Col id="codecolumn">R</Col>
  80. <Col id="datacolumn">재진만 가능</Col>
  81. </Row>
  82. </Rows>
  83. </Dataset>
  84. </Radio>
  85. <Button id="button9" taborder="6" text="초진정원으로 변경" class="btn2" position="absolute 843 476 958 498" anchor="top right" onclick="button9_onclick"/>
  86. <Shape id="line16" class="line_2" position="absolute 792 117 1037 120" anchor="top right"/>
  87. <Div id="group2" anchor="left top right" taborder="7" style="align: top;" class="div_SA" position="absolute 0 24 1194 64">
  88. <Layouts>
  89. <Layout>
  90. <Static id="caption3" text="진료과 :" class="search_name" position="absolute 25 12 98 29"/>
  91. <Combo id="cmb_orddept" taborder="1" innerdataset="ds_init_orddeptcd_orddeptcdlist" codecolumn="cd" datacolumn="nm" class="combo_search" position="absolute 102 11 252 30" columncount="-1" rowcount="-1" onitemchanged="group2_cmb_orddept_onitemchanged"/>
  92. <Static id="caption23" text="이전자료삭제 시 예약환자유무체크 비활성화, 일정생성시 중복체크 비활성화" position="absolute 365 11 779 31"/>
  93. <Combo id="cmb_subdeptcd" taborder="2" innerdataset="ds_init_subdeptcd_subdeptcdlist" codecolumn="cd" datacolumn="nm" onitemchanged="group3_group2_cmb_subdeptcd_onitemchanged" class="combo_search" position="absolute 255 11 355 30" columncount="-1" rowcount="-1"/>
  94. </Layout>
  95. </Layouts>
  96. </Div>
  97. <Shape id="line5" class="line_10" position="absolute 120 241 1194 245" anchor="top right"/>
  98. <Static id="caption8" text="진료일정기준자료" class="tit_2" position="absolute 120 224 253 240" anchor="top right"/>
  99. <Shape id="line12" class="line_10" position="absolute 0 89 115 93" anchor="left top right"/>
  100. <Static id="caption5" text="진료의사" class="tit_2" position="absolute 0 72 111 89"/>
  101. <Grid id="grd_ordschecrite" taborder="8" binddataset="ds_main_ordlist_ordschecrite_ordschecritelist" autoenter="select" useinputpanel="false" selecttype="cell" cellsizingtype="col" cellclickbound="cell" position="absolute 120 245 1194 470" anchor="top right" onentercell="group3_grd_ordschecrite_onentercell" oncelldblclick="grd_ordschecrite_oncelldblclick" oncloseup="grd_ordschecrite_oncloseup">
  102. <Formats>
  103. <Format id="default">
  104. <Columns>
  105. <Column size="24" band="left"/>
  106. <Column size="24"/>
  107. <Column size="35"/>
  108. <Column size="44"/>
  109. <Column size="85"/>
  110. <Column size="71"/>
  111. <Column size="0"/>
  112. <Column size="40"/>
  113. <Column size="40"/>
  114. <Column size="0"/>
  115. <Column size="40"/>
  116. <Column size="40"/>
  117. <Column size="0"/>
  118. <Column size="40"/>
  119. <Column size="40"/>
  120. <Column size="36"/>
  121. <Column size="36"/>
  122. <Column size="36"/>
  123. <Column size="35"/>
  124. <Column size="35"/>
  125. <Column size="36"/>
  126. <Column size="35"/>
  127. <Column size="35"/>
  128. <Column size="35"/>
  129. <Column size="35"/>
  130. <Column size="35"/>
  131. <Column size="35"/>
  132. <Column size="35"/>
  133. <Column size="65"/>
  134. <Column size="140"/>
  135. <Column size="135"/>
  136. <Column size="100"/>
  137. <Column size="100"/>
  138. <Column size="120"/>
  139. <Column size="0"/>
  140. <Column size="0"/>
  141. <Column size="0"/>
  142. <Column size="0"/>
  143. <Column size="0"/>
  144. <Column size="0"/>
  145. </Columns>
  146. <Rows>
  147. <Row size="24" band="head"/>
  148. <Row size="24" band="head"/>
  149. <Row size="24"/>
  150. </Rows>
  151. <Band id="head">
  152. <Cell rowspan="2" taborder="undefined"/>
  153. <Cell col="1" rowspan="2" taborder="undefined"/>
  154. <Cell col="2" rowspan="2" text="선택" taborder="undefined"/>
  155. <Cell col="3" rowspan="2" text="요일" taborder="undefined"/>
  156. <Cell col="4" rowspan="2" text="센터" taborder="undefined"/>
  157. <Cell col="5" rowspan="2" text="하위부서" taborder="undefined"/>
  158. <Cell col="6" colspan="3" text="오전진료" taborder="undefined"/>
  159. <Cell col="9" colspan="3" text="오후진료" taborder="undefined"/>
  160. <Cell col="12" colspan="3" text="야간진료" taborder="undefined"/>
  161. <Cell col="15" rowspan="2" text="오전 &#13;&#10;Term" taborder="undefined"/>
  162. <Cell col="16" rowspan="2" text="오후 &#13;&#10;Term" taborder="undefined"/>
  163. <Cell col="17" rowspan="2" text="야간 &#13;&#10;Term" taborder="undefined"/>
  164. <Cell col="18" colspan="2" text="오전정원" taborder="undefined"/>
  165. <Cell col="20" colspan="2" text="오후정원" taborder="undefined"/>
  166. <Cell col="22" colspan="2" text="야간정원" taborder="undefined"/>
  167. <Cell col="24" colspan="3" text="총정원" taborder="undefined"/>
  168. <Cell col="27" rowspan="2" text="정원&#10;합계" taborder="undefined"/>
  169. <Cell col="28" text="생성기준"/>
  170. <Cell col="29" rowspan="2" text="특이사항(요일별클리닉)" taborder="undefined"/>
  171. <Cell col="30" rowspan="2" text="요일별 비고" taborder="undefined"/>
  172. <Cell col="31" rowspan="2" text="최초입력일" taborder="undefined"/>
  173. <Cell col="32" rowspan="2" text="최종수정자" taborder="undefined"/>
  174. <Cell col="33" rowspan="2" text="진료생성기간" taborder="undefined"/>
  175. <Cell col="34" rowspan="2" text="진료의ID" taborder="undefined"/>
  176. <Cell col="35" rowspan="2" text="진료과코드" taborder="undefined"/>
  177. <Cell col="36" rowspan="2" text="일련&#13;&#10;번호" taborder="undefined"/>
  178. <Cell col="37" rowspan="2" text="일정&#10;번호" taborder="undefined"/>
  179. <Cell col="38" rowspan="2" text="이력상태" taborder="undefined"/>
  180. <Cell col="39" rowspan="2" text="old_dwcd|" taborder="undefined"/>
  181. <Cell col="40" text="선택"/>
  182. <Cell col="41" text="요일"/>
  183. <Cell col="42" text="센터"/>
  184. <Cell col="43" text="하위부서"/>
  185. <Cell col="44" text="진료"/>
  186. <Cell col="45" text="시작"/>
  187. <Cell col="46" text="종료"/>
  188. <Cell col="47" text="진료"/>
  189. <Cell col="48" text="시작"/>
  190. <Cell col="49" text="종료"/>
  191. <Cell col="50" text="진료"/>
  192. <Cell col="51" text="시작"/>
  193. <Cell col="52" text="종료"/>
  194. <Cell col="53" text="오전 Term"/>
  195. <Cell col="54" text="오후 Term"/>
  196. <Cell col="55" text="야간 Term"/>
  197. <Cell col="56" text="초진"/>
  198. <Cell col="57" text="재진"/>
  199. <Cell col="58" text="초진"/>
  200. <Cell col="59" text="재진"/>
  201. <Cell col="60" text="초진"/>
  202. <Cell col="61" text="재진"/>
  203. <Cell col="62" text="오전"/>
  204. <Cell col="63" text="오후"/>
  205. <Cell col="64" text="야간"/>
  206. <Cell col="65" text="정원&#10;합계"/>
  207. <Cell col="66" text="섹션_구간"/>
  208. <Cell col="67" text="특이사항(요일별클리닉)"/>
  209. <Cell col="68" text="요일별 비고"/>
  210. <Cell col="69" text="최초입력일"/>
  211. <Cell col="70" text="최종수정자"/>
  212. <Cell col="71" text="진료생성기간"/>
  213. <Cell col="72" text="진료의ID"/>
  214. <Cell col="73" text="진료과코드"/>
  215. <Cell col="74" text="일련번호"/>
  216. <Cell col="75" text="일정&#10;번호"/>
  217. <Cell col="76" text="이력상태"/>
  218. <Cell col="77" text="old_dwcd"/>
  219. <Cell row="1" col="6" text="진료"/>
  220. <Cell row="1" col="7" text="시작"/>
  221. <Cell row="1" col="8" text="종료"/>
  222. <Cell row="1" col="9" text="진료"/>
  223. <Cell row="1" col="10" text="시작"/>
  224. <Cell row="1" col="11" text="종료"/>
  225. <Cell row="1" col="12" text="진료"/>
  226. <Cell row="1" col="13" text="시작"/>
  227. <Cell row="1" col="14" text="종료"/>
  228. <Cell row="1" col="18" text="초진"/>
  229. <Cell row="1" col="19" text="재진"/>
  230. <Cell row="1" col="20" text="초진"/>
  231. <Cell row="1" col="21" text="재진"/>
  232. <Cell row="1" col="22" text="초진"/>
  233. <Cell row="1" col="23" text="재진"/>
  234. <Cell row="1" col="24" text="오전"/>
  235. <Cell row="1" col="25" text="오후"/>
  236. <Cell row="1" col="26" text="야간"/>
  237. <Cell row="1" col="28" text="섹션/구간"/>
  238. <Cell row="1" col="40"/>
  239. <Cell row="1" col="41"/>
  240. <Cell row="1" col="42"/>
  241. <Cell row="1" col="43"/>
  242. <Cell row="1" col="44"/>
  243. <Cell row="1" col="45"/>
  244. <Cell row="1" col="46"/>
  245. <Cell row="1" col="47"/>
  246. <Cell row="1" col="48"/>
  247. <Cell row="1" col="49"/>
  248. <Cell row="1" col="50"/>
  249. <Cell row="1" col="51"/>
  250. <Cell row="1" col="52"/>
  251. <Cell row="1" col="53"/>
  252. <Cell row="1" col="54"/>
  253. <Cell row="1" col="55"/>
  254. <Cell row="1" col="56"/>
  255. <Cell row="1" col="57"/>
  256. <Cell row="1" col="58"/>
  257. <Cell row="1" col="59"/>
  258. <Cell row="1" col="60"/>
  259. <Cell row="1" col="61"/>
  260. <Cell row="1" col="62"/>
  261. <Cell row="1" col="63"/>
  262. <Cell row="1" col="64"/>
  263. <Cell row="1" col="65"/>
  264. <Cell row="1" col="66"/>
  265. <Cell row="1" col="67"/>
  266. <Cell row="1" col="68"/>
  267. <Cell row="1" col="69"/>
  268. <Cell row="1" col="70"/>
  269. <Cell row="1" col="71"/>
  270. <Cell row="1" col="72"/>
  271. <Cell row="1" col="73"/>
  272. <Cell row="1" col="74"/>
  273. <Cell row="1" col="75"/>
  274. <Cell row="1" col="76"/>
  275. <Cell row="1" col="77"/>
  276. </Band>
  277. <Band id="body">
  278. <Cell celltype="head" expr="currow + 1"/>
  279. <Cell col="1" text="bind:update"/>
  280. <Cell col="2" displaytype="checkbox" edittype="checkbox" text="bind:check" expr="expr:(check==&quot;Y&quot;||check==1)?1:0"/>
  281. <Cell col="3" displaytype="combo" edittype="combo" style="align:center middle;" text="bind:dwcd" combodataset="ds_init_P0033list_P0033" combocodecol="cdid" combodatacol="cdnm" combodisplayrowcount="20"/>
  282. <Cell col="4" displaytype="combo" edittype="combo" style="align:left top;padding:4 2 1 2;" text="bind:centcd" wordwrap="char" combodataset="ds_init_centcdlist" combocodecol="cd" combodatacol="nm" combodisplayrowcount="20" autosizerow="limitmin"/>
  283. <Cell col="5" displaytype="combo" edittype="combo" text="bind:subdeptcd" combodataset="ds_init_subdeptcd2_subdeptcdlist" combocodecol="cd" combodatacol="nm" combodisplayrowcount="20"/>
  284. <Cell col="6" displaytype="checkbox" edittype="checkbox" text="bind:amordyn"/>
  285. <Cell col="7" displaytype="text" edittype="expr:getRowType(currow) == '2' ? 'text' : 'none'" text="bind:amfromtm" mask="expr:utlf_isNull(amfromtm) ? '' : '##:##'" editlimit="4" editautoselect="true" editautoskip="true" taborder="1" calendardisplaynulltype="nulltext"/>
  286. <Cell col="8" displaytype="text" edittype="expr:getRowType(currow) == '2' ? 'text' : 'none'" text="bind:amtotm" mask="expr:utlf_isNull(amtotm) ? '' : '##:##'" editlimit="4" editautoselect="true" editautoskip="true" taborder="2" calendardisplaynulltype="nulltext"/>
  287. <Cell col="9" displaytype="text" edittype="expr:getRowType(currow) == '2' ? 'text' : 'none'" text="bind:pmordyn" mask="expr:utlf_isNull() ? '' : '##:##'" editlimit="4" editautoselect="true" editautoskip="true"/>
  288. <Cell col="10" displaytype="text" edittype="expr:getRowType(currow) == '2' ? 'text' : 'none'" text="bind:pmfromtm" mask="expr:utlf_isNull(pmfromtm) ? '' : '##:##'" editlimit="4" editautoselect="true" editautoskip="true" taborder="3" calendardisplaynulltype="nulltext"/>
  289. <Cell col="11" displaytype="text" edittype="expr:getRowType(currow) == '2' ? 'text' : 'none'" text="bind:pmtotm" mask="expr:utlf_isNull(pmtotm) ? '' : '##:##'" editlimit="4" editautoselect="true" editautoskip="true" taborder="4" calendardisplaynulltype="nulltext"/>
  290. <Cell col="12" displaytype="text" edittype="expr:getRowType(currow) == '2' ? 'text' : 'none'" text="bind:nigtordyn" mask="expr:utlf_isNull() ? '' : '##:##'" editlimit="4" editautoselect="true" editautoskip="true"/>
  291. <Cell col="13" displaytype="text" edittype="expr:getRowType(currow) == '2' ? 'text' : 'none'" text="bind:nigtfromtm" mask="expr:utlf_isNull(nigtfromtm) ? '' : '##:##'" editlimit="4" editautoselect="true" editautoskip="true" taborder="5" calendardisplaynulltype="nulltext"/>
  292. <Cell col="14" displaytype="text" edittype="expr:getRowType(currow) == '2' ? 'text' : 'none'" text="bind:nigttotm" mask="expr:utlf_isNull(nigttotm) ? '' : '##:##'" editlimit="4" editautoselect="true" editautoskip="true" taborder="6" calendardisplaynulltype="nulltext"/>
  293. <Cell col="15" displaytype="number" edittype="expr:getRowType(currow) == '2' ? 'masknumber' : 'none'" text="bind:amterm" mask="##0" editautoselect="true" taborder="7"/>
  294. <Cell col="16" displaytype="number" edittype="expr:getRowType(currow) == '2' ? 'masknumber' : 'none'" text="bind:pmterm" mask="##0" editautoselect="true" taborder="8"/>
  295. <Cell col="17" displaytype="number" edittype="expr:getRowType(currow) == '2' ? 'masknumber' : 'none'" text="bind:nigtterm" mask="##0" editautoselect="true" taborder="9"/>
  296. <Cell col="18" displaytype="number" edittype="expr:getRowType(currow) == '2' ? 'masknumber' : 'none'" text="bind:amfstexamcap" mask="##0" editautoselect="true" taborder="10"/>
  297. <Cell col="19" displaytype="number" edittype="expr:getRowType(currow) == '2' ? 'masknumber' : 'none'" text="bind:amreexamcap" mask="##0" editautoselect="true" taborder="11"/>
  298. <Cell col="20" displaytype="number" edittype="expr:getRowType(currow) == '2' ? 'masknumber' : 'none'" text="bind:pmfstexamcap" mask="##0" editautoselect="true" taborder="12"/>
  299. <Cell col="21" displaytype="number" edittype="expr:getRowType(currow) == '2' ? 'masknumber' : 'none'" text="bind:pmreexamcap" mask="##0" editautoselect="true" taborder="13"/>
  300. <Cell col="22" displaytype="number" edittype="expr:getRowType(currow) == '2' ? 'masknumber' : 'none'" text="bind:nigtfstexamcap" mask="##0" editautoselect="true" taborder="14"/>
  301. <Cell col="23" displaytype="number" edittype="expr:getRowType(currow) == '2' ? 'masknumber' : 'none'" text="bind:nigtreexamcap" mask="##0" editautoselect="true" taborder="15"/>
  302. <Cell col="24" displaytype="number" edittype="expr:getRowType(currow) == '2' ? 'masknumber' : 'none'" text="bind:amtotalexamcap" mask="##0" editautoselect="true" taborder="16"/>
  303. <Cell col="25" displaytype="number" edittype="expr:getRowType(currow) == '2' ? 'masknumber' : 'none'" text="bind:pmtotalexamcap" mask="##0" editautoselect="true" taborder="17"/>
  304. <Cell col="26" displaytype="number" edittype="expr:getRowType(currow) == '2' ? 'masknumber' : 'none'" text="bind:nigttotalexamcap" mask="##0" editautoselect="true" taborder="18"/>
  305. <Cell col="27" displaytype="text" text="bind:totalexamcap" editautoselect="true"/>
  306. <Cell col="28" displaytype="combo" edittype="combo" text="bind:schecretbase" combodataset="ds_init_P0356list_P0356" combocodecol="cdid" combodatacol="cdnm"/>
  307. <Cell col="29" displaytype="text" edittype="text" text="bind:clincnm" editlimit="50"/>
  308. <Cell col="30" displaytype="text" edittype="text" text="bind:remfact" editlimit="100"/>
  309. <Cell col="31" displaytype="date" text="bind:fstrgstdt" mask="yyyy-MM-dd" calendardisplaynulltype="nulltext"/>
  310. <Cell col="32" text="bind:lastupdtrid"/>
  311. <Cell col="33" text="bind:fromtodd"/>
  312. <Cell col="34" text="bind:orddrid"/>
  313. <Cell col="35" text="bind:orddeptcd"/>
  314. <Cell col="36" text="bind:seqno"/>
  315. <Cell col="37" text="bind:scheno"/>
  316. <Cell col="38" text="bind:histstat"/>
  317. <Cell col="39" text="bind:dwcd_old"/>
  318. </Band>
  319. </Format>
  320. </Formats>
  321. </Grid>
  322. <Grid id="grd_orddr" class="datagrid2" taborder="9" binddataset="ds_init_orddrid_orddridlist" useinputpanel="false" selecttype="multirow" autofittype="col" position="absolute 0 93 115 752" anchor="all" autoenter="select" oncellclick="grd_orddr_oncellclick">
  323. <Formats>
  324. <Format id="default">
  325. <Columns>
  326. <Column size="81"/>
  327. <Column size="31"/>
  328. <Column size="0"/>
  329. <Column size="0"/>
  330. </Columns>
  331. <Rows>
  332. <Row size="29" band="head"/>
  333. <Row size="25"/>
  334. </Rows>
  335. <Band id="head">
  336. <Cell text="의사명"/>
  337. <Cell col="1" text="선택&#13;&#10;진료"/>
  338. <Cell col="2" text="진료과코드"/>
  339. <Cell col="3" text="진료의ID"/>
  340. </Band>
  341. <Band id="body">
  342. <Cell style="align:left middle;padding:0 0 0 3;" text="bind:nm"/>
  343. <Cell col="1" style="align:left middle;padding:0 0 0 3;" text="bind:sp"/>
  344. <Cell col="2" text="bind:dp"/>
  345. <Cell col="3" text="bind:cd"/>
  346. </Band>
  347. </Format>
  348. </Formats>
  349. </Grid>
  350. <Static id="caption7" text="진료일정생성" class="tit_2" position="absolute 792 72 894 88" anchor="top right"/>
  351. <Static id="caption9" text="희망일정생성기간&#10;(From~To)" class="cell_1" position="absolute 792 119 905 167" anchor="top right" style="align:left middle;"/>
  352. <Shape id="line4" class="line_10" position="absolute 792 89 1194 93" anchor="top right"/>
  353. <Calendar id="ipt_fromdd" taborder="10" dateformat="yyyy-MM-dd" class="input_default" position="absolute 908 120 1037 139" anchor="top right" onchanged="ipt_fromdd_onchanged"/>
  354. <Calendar id="ipt_todd" taborder="11" dateformat="yyyy-MM-dd" class="input_default" position="absolute 908 144 1037 163" anchor="top right"/>
  355. <Shape id="line7" class="line_3" position="absolute 793 192 1194 195" anchor="top right"/>
  356. <Shape id="line2" class="line_10" position="absolute 120 89 787 93" anchor="top right"/>
  357. <Static id="caption1" text="진료의사별전문분야" class="tit_2" position="absolute 120 72 291 89" anchor="top right"/>
  358. <Button id="btn_search4" taborder="12" text="③진료일정생성" class="btn5" position="absolute 1005 66 1105 88" anchor="top right" onclick="btn_search4_onclick"/>
  359. <Button id="btn_copyrow" taborder="13" text="행복사" class="btn2" position="absolute 984 218 1037 240" anchor="top right" onclick="btn_copyrow_onclick"/>
  360. <Button id="btn_delrow" taborder="14" text="행삭제" class="btn5" position="absolute 1039 218 1092 240" anchor="top right" onclick="btn_delrow_onclick"/>
  361. <Button id="btn_save" taborder="15" text="①기준자료저장" class="btn5" position="absolute 1094 218 1194 240" anchor="top right" onclick="btn_save_onclick"/>
  362. <Radio id="radio1" taborder="16" codecolumn="codecolumn" datacolumn="datacolumn" visible="false" position="absolute 960 198 1095 215" anchor="top right" columncount="-1" rowcount="-1" onitemchanged="radio1_onitemchanged">
  363. <Dataset id="innerdataset">
  364. <ColumnInfo>
  365. <Column id="codecolumn"/>
  366. <Column id="datacolumn"/>
  367. </ColumnInfo>
  368. <Rows>
  369. <Row>
  370. <Col id="codecolumn">YA</Col>
  371. <Col id="datacolumn">오전진료</Col>
  372. </Row>
  373. <Row>
  374. <Col id="codecolumn">YP</Col>
  375. <Col id="datacolumn">오후진료</Col>
  376. </Row>
  377. </Rows>
  378. </Dataset>
  379. </Radio>
  380. <Button id="btn_update" taborder="17" text="전문분야저장" class="btn5" position="absolute 698 66 786 88" anchor="top right" onclick="btn_update_onclick"/>
  381. <Button id="btn_delete" taborder="18" text="삭제" class="btn5" position="absolute 654 66 696 88" anchor="top right" onclick="btn_delete_onclick"/>
  382. <Button id="btn_addrow" taborder="19" text="행추가" class="btn2" position="absolute 929 218 982 240" anchor="top right" onclick="btn_addrow_onclick"/>
  383. <Static id="caption2" text="요일별상세기준자료" class="tit_2" position="absolute 120 482 273 498" anchor="top right"/>
  384. <Shape id="line3" class="line_10" position="absolute 120 499 1194 503" anchor="top right"/>
  385. <Button id="button3" taborder="20" text="선택요일추가" class="btn2" position="absolute 788 218 877 240" anchor="top right" onclick="button3_onclick"/>
  386. <Button id="button4" taborder="21" text="행추가" class="btn2" position="absolute 960 476 1013 498" anchor="top right" onclick="button4_onclick"/>
  387. <Button id="button5" taborder="22" text="행삭제" class="btn5" position="absolute 1014 476 1067 498" anchor="top right" onclick="button5_onclick"/>
  388. <Button id="button6" taborder="23" text="②기준상세자료저장" class="btn5" position="absolute 1069 476 1194 498" anchor="top right" onclick="button6_onclick"/>
  389. <CheckBox id="checkbox2" taborder="25" text="이전자료삭제" value=" " truevalue="Del" falsevalue=" " visible="false" position="absolute 1098 198 1194 217" anchor="top right" innerdataset="[object Dataset]" datacolumn="datacolumn" codecolumn="codecolumn" columncount="-1" rowcount="-1" titletext="CheckBox List" scrollbars="none" cellspacing="2" vcellspacing="0" itemWidth="100" itemHeight="100">
  390. <Dataset id="innerdataset">
  391. <ColumnInfo>
  392. <Column id="codecolumn"/>
  393. <Column id="datacolumn"/>
  394. </ColumnInfo>
  395. <Rows>
  396. <Row>
  397. <Col id="codecolumn">Del</Col>
  398. <Col id="datacolumn">이전자료삭제</Col>
  399. </Row>
  400. </Rows>
  401. </Dataset>
  402. </CheckBox>
  403. <Static id="caption10" text="전문분야" class="cell_1" position="absolute 120 118 215 141" anchor="top right" style="align:left middle;" onlbuttonup="group3_caption10_onlbuttonup"/>
  404. <Static id="caption11" text="초진 특이사항" class="cell_1" position="absolute 120 143 215 166" anchor="top right" style="align:left middle;" onlbuttonup="group3_caption11_onlbuttonup"/>
  405. <Static id="caption12" text="재진 특이사항" class="cell_1" position="absolute 120 168 215 191" anchor="top right" style="align:left middle;" onlbuttonup="group3_caption12_onlbuttonup"/>
  406. <Shape id="line6" class="line_3" position="absolute 120 192 787 194" anchor="top right"/>
  407. <CheckBox id="bool1" taborder="26" value="N" truevalue="Y" falsevalue="N" position="absolute 270 205 290 225" anchor="top right"/>
  408. <cp_checkboxList id="checkbox1" anchor="top right" titletext="CheckBox List" taborder="27" text="checkbox1" scrollbars="none" position="absolute 305 205 350 240" col="1" row="1" cellspacing="2" vcellspacing="0" itemWidth="100" itemHeight="20" overflow="visible"/>
  409. <Static id="caption13" text="월" position="absolute 288 205 303 225" anchor="top right"/>
  410. <cp_checkboxList id="checkbox3" anchor="top right" titletext="CheckBox List" taborder="28" text="checkbox3" scrollbars="none" position="absolute 392 205 437 240" col="1" row="1" cellspacing="2" vcellspacing="0" itemWidth="100" itemHeight="20" overflow="visible"/>
  411. <CheckBox id="bool2" taborder="29" value="N" truevalue="Y" falsevalue="N" position="absolute 357 205 377 225" anchor="top right"/>
  412. <Static id="caption14" text="화" position="absolute 375 205 390 225" anchor="top right"/>
  413. <cp_checkboxList id="checkbox4" anchor="top right" titletext="CheckBox List" taborder="30" text="checkbox4" scrollbars="none" position="absolute 479 205 524 240" col="1" row="1" cellspacing="2" vcellspacing="0" itemWidth="100" itemHeight="20" overflow="visible"/>
  414. <CheckBox id="bool3" taborder="31" value="N" truevalue="Y" falsevalue="N" position="absolute 444 205 464 225" anchor="top right"/>
  415. <Static id="caption15" text="수" position="absolute 462 205 477 225" anchor="top right"/>
  416. <cp_checkboxList id="checkbox5" anchor="top right" titletext="CheckBox List" taborder="32" text="checkbox5" scrollbars="none" position="absolute 566 205 611 240" col="1" row="1" cellspacing="2" vcellspacing="0" itemWidth="100" itemHeight="20" overflow="visible"/>
  417. <CheckBox id="bool4" taborder="33" value="N" truevalue="Y" falsevalue="N" position="absolute 531 205 551 225" anchor="top right"/>
  418. <Static id="caption16" text="목" position="absolute 549 205 564 225" anchor="top right"/>
  419. <cp_checkboxList id="checkbox6" anchor="top right" titletext="CheckBox List" taborder="34" text="checkbox6" scrollbars="none" position="absolute 653 205 698 240" col="1" row="1" cellspacing="2" vcellspacing="0" itemWidth="100" itemHeight="20" overflow="visible"/>
  420. <CheckBox id="bool5" taborder="35" value="N" truevalue="Y" falsevalue="N" position="absolute 618 205 638 225" anchor="top right"/>
  421. <Static id="caption17" text="금" position="absolute 636 205 651 225" anchor="top right"/>
  422. <cp_checkboxList id="checkbox7" anchor="top right" titletext="CheckBox List" taborder="36" text="checkbox7" scrollbars="none" position="absolute 740 205 785 240" col="1" row="1" cellspacing="2" vcellspacing="0" itemWidth="100" itemHeight="20" overflow="visible"/>
  423. <CheckBox id="bool6" taborder="37" value="N" truevalue="Y" falsevalue="N" position="absolute 705 205 725 225" anchor="top right"/>
  424. <Static id="caption18" text="토" position="absolute 723 205 738 225" anchor="top right"/>
  425. <Static id="caption19" text="인터넷예약" class="cell_1" position="absolute 120 93 215 116" anchor="top right" style="align:left middle;" onlbuttonup="group3_caption19_onlbuttonup"/>
  426. <Button id="button1" taborder="38" text="당일진료생성" class="btn5" position="absolute 1107 66 1194 88" anchor="top right" onclick="button1_onclick"/>
  427. <Shape id="line9" class="line_3" position="absolute 1040 140 1194 143" anchor="top right"/>
  428. <Combo id="combo1" taborder="39" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 406 479 471 498" anchor="top right" columncount="-1" rowcount="-1">
  429. <Dataset id="innerdataset">
  430. <ColumnInfo>
  431. <Column id="codecolumn"/>
  432. <Column id="datacolumn"/>
  433. </ColumnInfo>
  434. <Rows>
  435. <Row>
  436. <Col id="codecolumn">A</Col>
  437. <Col id="datacolumn">오전</Col>
  438. </Row>
  439. <Row>
  440. <Col id="codecolumn">P</Col>
  441. <Col id="datacolumn">오후</Col>
  442. </Row>
  443. <Row>
  444. <Col id="codecolumn">AP</Col>
  445. <Col id="datacolumn">전일</Col>
  446. </Row>
  447. </Rows>
  448. </Dataset>
  449. </Combo>
  450. <Combo id="combo2" taborder="40" innerdataset="ds_init_P0033list_P0033" codecolumn="cdid" datacolumn="cdnm" position="absolute 328 479 403 498" anchor="top right" columncount="-1" rowcount="-1"/>
  451. <Static id="caption20" text="From :" position="absolute 290 481 335 501" anchor="top right"/>
  452. <Static id="caption21" text="to :" position="absolute 489 479 520 499" anchor="top right"/>
  453. <Combo id="combo3" taborder="41" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 590 478 655 497" anchor="top right" columncount="-1" rowcount="-1">
  454. <Dataset id="innerdataset">
  455. <ColumnInfo>
  456. <Column id="codecolumn"/>
  457. <Column id="datacolumn"/>
  458. </ColumnInfo>
  459. <Rows>
  460. <Row>
  461. <Col id="codecolumn">A</Col>
  462. <Col id="datacolumn">오전</Col>
  463. </Row>
  464. <Row>
  465. <Col id="codecolumn">P</Col>
  466. <Col id="datacolumn">오후</Col>
  467. </Row>
  468. <Row>
  469. <Col id="codecolumn">AP</Col>
  470. <Col id="datacolumn">전일</Col>
  471. </Row>
  472. </Rows>
  473. </Dataset>
  474. </Combo>
  475. <Combo id="combo4" taborder="42" innerdataset="ds_init_P0033list_P0033" codecolumn="cdid" datacolumn="cdnm" position="absolute 512 478 587 497" anchor="top right" columncount="-1" rowcount="-1"/>
  476. <Button id="button7" taborder="43" text="요일상세기준자료 복사" class="btn5" position="absolute 665 476 809 498" anchor="top right" onclick="button7_onclick"/>
  477. <Combo id="combo5" taborder="44" innerdataset="ds_init_ordschecrethist_ordschecrethistlist" codecolumn="seqno" datacolumn="weeks" class="combo_search" position="absolute 792 169 1037 190" anchor="top right" columncount="-1" rowcount="-1" onitemchanged="combo5_onitemchanged"/>
  478. <Grid id="grd_ordschecritedetail" taborder="45" binddataset="ds_main_ordlist_ordschecritedetail_ordschecritedetaillist" autoenter="select" useinputpanel="false" selecttype="cell" cellsizingtype="col" cellclickbound="cell" position="absolute 120 503 1194 753" anchor="top right bottom" onentercell="group3_grd_ordschecritedetail_onentercell" onsetfocus="grd_ordschecritedetail_onsetfocus">
  479. <Formats>
  480. <Format id="default">
  481. <Columns>
  482. <Column size="24" band="left"/>
  483. <Column size="24"/>
  484. <Column size="36"/>
  485. <Column size="50"/>
  486. <Column size="0"/>
  487. <Column size="0"/>
  488. <Column size="55"/>
  489. <Column size="55"/>
  490. <Column size="55"/>
  491. <Column size="55"/>
  492. <Column size="55"/>
  493. <Column size="55"/>
  494. <Column size="100"/>
  495. <Column size="230"/>
  496. <Column size="323"/>
  497. <Column size="100"/>
  498. <Column size="0"/>
  499. <Column size="0"/>
  500. <Column size="0"/>
  501. <Column size="0"/>
  502. <Column size="0"/>
  503. </Columns>
  504. <Rows>
  505. <Row size="24" band="head"/>
  506. <Row size="24"/>
  507. </Rows>
  508. <Band id="head">
  509. <Cell/>
  510. <Cell col="1"/>
  511. <Cell col="2" text="선택"/>
  512. <Cell col="3" text="요일"/>
  513. <Cell col="4" text="센터"/>
  514. <Cell col="5" text="하위부서"/>
  515. <Cell col="6" text="시간"/>
  516. <Cell col="7" text="시간구분"/>
  517. <Cell col="8" text="초진정원"/>
  518. <Cell col="9" text="재진정원"/>
  519. <Cell col="10" text="총정원"/>
  520. <Cell col="11" text="정원합계"/>
  521. <Cell col="12" text="예약구분"/>
  522. <Cell col="13" text="특이사항(요일별클리닉)"/>
  523. <Cell col="14" text="요일별 비고"/>
  524. <Cell col="15" text="최종수정일"/>
  525. <Cell col="16" text="진료의ID"/>
  526. <Cell col="17" text="진료과코드"/>
  527. <Cell col="18" text="일련번호"/>
  528. <Cell col="19" text="일정&#10;번호"/>
  529. <Cell col="20" text="ordtm_old"/>
  530. </Band>
  531. <Band id="body">
  532. <Cell celltype="head" expr="currow + 1"/>
  533. <Cell col="1" style="background:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');background2:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');" text="bind:update"/>
  534. <Cell col="2" displaytype="expr:utlf_isNull(getColumn(currow, 'dwcd')) ? 'none' : 'checkbox'" edittype="expr:currow == 0 ? 'none' : 'checkbox'" style="background:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');background2:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');" text="bind:check" expr="expr:check == 'Y' || check == '1' ? 1 : 0"/>
  535. <Cell col="3" displaytype="combo" edittype="expr:currow == 0 ? 'none' : 'combo'" style="align:center middle;background:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');background2:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');" text="bind:dwcd" combodataset="ds_init_P0033list_P0033" combocodecol="cdid" combodatacol="cdnm"/>
  536. <Cell col="4" displaytype="combo" edittype="combo" style="background:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');background2:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');" text="bind:centcd" combodataset="ds_init_centcdlist" combocodecol="cd" combodatacol="nm"/>
  537. <Cell col="5" displaytype="expr:subdeptcd == '합계 : ' ? 'normal' : 'combo'" edittype="expr:subdeptcd == '합계 : ' ? 'none' : 'combo'" style="background:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');background2:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');" text="bind:subdeptcd" combodataset="ds_init_subdeptcd2_subdeptcdlist" combocodecol="cd" combodatacol="nm"/>
  538. <Cell col="6" displaytype="text" edittype="expr:currow == 0 ? 'none' : 'text'" style="background:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');background2:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');" text="bind:ordtm" mask="##:##" maskchar=" " calendardisplaynulltype="nulltext"/>
  539. <Cell col="7" displaytype="combo" edittype="expr:currow == 0 ? 'none' : 'combo'" style="padding:0 0 0 3;background:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');background2:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');" text="bind:ampmflag" combodataset="ds_init_P0316list_P0316" combocodecol="cdid" combodatacol="cdnm"/>
  540. <Cell col="8" displaytype="number" edittype="expr:currow == 0 ? 'none' : 'normal'" style="align:left middle;background:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');background2:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');font:EXPR(utlf_isNull(getColumn(currow, 'dwcd')) ? 'Dotum, 9, bold' : 'Dotum, 9');" text="bind:fstexamcap" editautoselect="true"/>
  541. <Cell col="9" displaytype="number" edittype="expr:currow == 0 ? 'none' : 'normal'" style="align:left middle;background:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');background2:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');font:EXPR(utlf_isNull(getColumn(currow, 'dwcd')) ? 'Dotum, 9, bold' : 'Dotum, 9');" text="bind:reexamcap" editautoselect="true"/>
  542. <Cell col="10" displaytype="number" edittype="expr:currow == 0 ? 'none' : 'normal'" style="align:left middle;background:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');background2:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');font:EXPR(utlf_isNull(getColumn(currow, 'dwcd')) ? 'Dotum, 9, bold' : 'Dotum, 9');" text="bind:totalexamcap" editautoselect="true"/>
  543. <Cell col="11" displaytype="number" edittype="expr:currow == 0 ? 'none' : 'normal'" style="align:left middle;background:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');background2:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');font:EXPR(utlf_isNull(getColumn(currow, 'dwcd')) ? 'Dotum, 9, bold' : 'Dotum, 9');" text="bind:examcapsum" editautoselect="true"/>
  544. <Cell col="12" displaytype="combo" edittype="expr:currow == 0 ? 'none' : 'combo'" style="background:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');background2:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');" text="bind:etcrsrvflag" combodataset="ds_init_P6590list_P6590" combocodecol="cdid" combodatacol="cdnm"/>
  545. <Cell col="13" displaytype="text" edittype="expr:currow == 0 ? 'none' : 'normal'" style="background:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');background2:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');" text="bind:clincnm" editlimit="50"/>
  546. <Cell col="14" displaytype="text" edittype="expr:currow == 0 ? 'none' : 'normal'" style="background:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');background2:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');" text="bind:remfact" editlimit="100"/>
  547. <Cell col="15" displaytype="date" style="background:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');background2:EXPR(fstexamcap == '1' ? '#f3e1bf' : '');" text="bind:lastupdtdt" mask="yyyy-MM-dd" calendardisplaynulltype="nulltext"/>
  548. <Cell col="16" text="bind:orddrid"/>
  549. <Cell col="17" text="bind:orddeptcd"/>
  550. <Cell col="18" text="bind:seqno"/>
  551. <Cell col="19" text="bind:scheno"/>
  552. <Cell col="20" text="bind:ordtm_old"/>
  553. </Band>
  554. </Format>
  555. </Formats>
  556. </Grid>
  557. <Button id="button8" taborder="46" text="창축소" class="btn4" visible="false" position="absolute 1122 711 1190 733" anchor="right bottom" onclick="button8_onclick"/>
  558. <Button id="button10" taborder="47" text="진료일정삭제" class="btn5" position="absolute 1042 168 1132 190" anchor="top right" onclick="button10_onclick"/>
  559. <TextArea id="textarea1" taborder="48" scrollbars="alwayshorz" wordwrap="char" position="absolute 220 119 786 140" anchor="top right" style="padding:2 3 2 3;" autoselect="true" onsetfocus="textarea1_onsetfocus" onkillfocus="textarea1_onkillfocus"/>
  560. <TextArea id="textarea2" taborder="49" scrollbars="alwayshorz" wordwrap="char" position="absolute 220 144 786 165" anchor="top right" style="padding:2 3 2 3;" autoselect="true" onsetfocus="textarea2_onsetfocus" onkillfocus="textarea2_onkillfocus"/>
  561. <TextArea id="textarea3" taborder="50" scrollbars="alwayshorz" wordwrap="char" position="absolute 220 169 786 190" anchor="top right" style="padding:2 3 2 3;" autoselect="true" onkillfocus="textarea3_onkillfocus" onsetfocus="textarea3_onsetfocus"/>
  562. <Button id="button11" taborder="51" text="창축소" class="btn5" visible="false" position="absolute 599 66 652 88" anchor="top right" onclick="button11_onclick"/>
  563. <Static id="caption24" position="absolute 663 94 683 114" anchor="top right"/>
  564. <Button id="btn_addrow5" taborder="57" text="초기화" class="btn4" position="absolute 1127 758 1195 780" anchor="right bottom" onclick="btn_addrow5_onclick"/>
  565. <Button id="button2" taborder="58" text="의사일정복사" class="btn3" visible="false" position="absolute 319 758 423 780" anchor="left bottom" onclick="button2_onclick"/>
  566. <Button id="button20" taborder="59" text="진료일정상세조회" class="btn3" position="absolute 188 758 318 780" anchor="left bottom" onclick="button20_onclick"/>
  567. <Button id="button25" taborder="60" text="병원달력" class="btn3" position="absolute 106 758 186 780" anchor="left bottom" onclick="button25_onclick"/>
  568. <Button id="button27" taborder="61" text="휴진일정등록" class="btn3" position="absolute 0 758 104 780" anchor="left bottom" onclick="button27_onclick"/>
  569. <Shape id="line32" class="line_6" position="absolute 0 755 1194 758" anchor="left right bottom"/>
  570. </Layout>
  571. </Layouts>
  572. <Objects>
  573. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  574. <ColumnInfo>
  575. <Column id="schecretfromdd" type="STRING" size="256"/>
  576. <Column id="schecrettodd" type="STRING" size="256"/>
  577. <Column id="bfdatadel" type="STRING" size="256"/>
  578. <Column id="regltempflag" type="STRING" size="256"/>
  579. <Column id="result" type="STRING" size="256"/>
  580. <Column id="orddeptcd" type="STRING" size="256"/>
  581. <Column id="lastcretdd" type="STRING" size="256"/>
  582. <Column id="ordschecrethist" type="STRING" size="256"/>
  583. <Column id="ordschecretno" type="STRING" size="256"/>
  584. <Column id="subdeptcd" type="STRING" size="256"/>
  585. </ColumnInfo>
  586. <Rows>
  587. <Row>
  588. <Col id="schecretfromdd"/>
  589. <Col id="schecrettodd"/>
  590. <Col id="bfdatadel">Del</Col>
  591. <Col id="regltempflag"/>
  592. <Col id="result"/>
  593. <Col id="orddeptcd"/>
  594. <Col id="lastcretdd"/>
  595. <Col id="ordschecrethist"/>
  596. <Col id="ordschecretno"/>
  597. <Col id="subdeptcd"/>
  598. </Row>
  599. </Rows>
  600. </Dataset>
  601. <Dataset id="ds_init_orddeptcd_orddeptcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  602. <Dataset id="ds_init_subdeptcd_subdeptcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  603. <Dataset id="ds_main_ordlist_orddrfild_orddrfildlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  604. <ColumnInfo>
  605. <Column id="ordfild" type="STRING" size="256"/>
  606. <Column id="fstexamrem" type="STRING" size="256"/>
  607. <Column id="reexamrem" type="STRING" size="256"/>
  608. <Column id="orddrid" type="STRING" size="256"/>
  609. <Column id="orddeptcd" type="STRING" size="256"/>
  610. <Column id="seqno" type="STRING" size="256"/>
  611. <Column id="inetrsrvpossyn" type="STRING" size="256"/>
  612. <Column id="internetinwon" type="STRING" size="256"/>
  613. </ColumnInfo>
  614. <Rows>
  615. <Row>
  616. <Col id="ordfild"/>
  617. <Col id="fstexamrem"/>
  618. <Col id="reexamrem"/>
  619. <Col id="orddrid"/>
  620. <Col id="orddeptcd"/>
  621. <Col id="seqno"/>
  622. <Col id="inetrsrvpossyn"/>
  623. <Col id="internetinwon"/>
  624. </Row>
  625. </Rows>
  626. </Dataset>
  627. <Dataset id="ds_main_selectedday" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  628. <ColumnInfo>
  629. <Column id="mon" type="STRING" size="256"/>
  630. <Column id="monampm" type="STRING" size="256"/>
  631. <Column id="tue" type="STRING" size="256"/>
  632. <Column id="tueampm" type="STRING" size="256"/>
  633. <Column id="wed" type="STRING" size="256"/>
  634. <Column id="wedampm" type="STRING" size="256"/>
  635. <Column id="thu" type="STRING" size="256"/>
  636. <Column id="thuampm" type="STRING" size="256"/>
  637. <Column id="fri" type="STRING" size="256"/>
  638. <Column id="friampm" type="STRING" size="256"/>
  639. <Column id="sat" type="STRING" size="256"/>
  640. <Column id="satampm" type="STRING" size="256"/>
  641. </ColumnInfo>
  642. <Rows>
  643. <Row>
  644. <Col id="mon"/>
  645. <Col id="monampm"/>
  646. <Col id="tue"/>
  647. <Col id="tueampm"/>
  648. <Col id="wed"/>
  649. <Col id="wedampm"/>
  650. <Col id="thu"/>
  651. <Col id="thuampm"/>
  652. <Col id="fri"/>
  653. <Col id="friampm"/>
  654. <Col id="sat"/>
  655. <Col id="satampm"/>
  656. </Row>
  657. </Rows>
  658. </Dataset>
  659. <Dataset id="ds_init_ordschecrethist_ordschecrethistlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  660. <Dataset id="ds_main_ordlist_ordschecrite_ordschecritelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_ordlist_ordschecrite_ordschecritelist_oncolumnchanged">
  661. <ColumnInfo>
  662. <Column id="check" type="STRING" size="256" sumtext="선택"/>
  663. <Column id="orddrid" type="STRING" size="256" sumtext="의사코드"/>
  664. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과코드"/>
  665. <Column id="dwcd" type="STRING" size="256" sumtext="요일코드"/>
  666. <Column id="centcd" type="STRING" size="256" sumtext="센터코드"/>
  667. <Column id="subdeptcd" type="STRING" size="256" sumtext="하위부서코드"/>
  668. <Column id="seqno" type="INT" size="256" sumtext="일련번호"/>
  669. <Column id="scheno" type="INT" size="256" sumtext="일정번호"/>
  670. <Column id="instcd" type="STRING" size="256" sumtext="기관번호"/>
  671. <Column id="histstat" type="STRING" size="256" sumtext="이력상태"/>
  672. <Column id="amordyn" type="STRING" size="256" sumtext="오전진료여부"/>
  673. <Column id="pmordyn" type="STRING" size="256" sumtext="오후진료여부"/>
  674. <Column id="nigtordyn" type="STRING" size="256" sumtext="야간진료여부"/>
  675. <Column id="amfromtm" type="STRING" size="256" sumtext="오전시작시간"/>
  676. <Column id="amtotm" type="STRING" size="256" sumtext="오전종료시간"/>
  677. <Column id="pmfromtm" type="STRING" size="256" sumtext="오후시작시간"/>
  678. <Column id="pmtotm" type="STRING" size="256" sumtext="오후종료시간"/>
  679. <Column id="nigtfromtm" type="STRING" size="256" sumtext="야간시작시간"/>
  680. <Column id="nigttotm" type="STRING" size="256" sumtext="야간종료시간"/>
  681. <Column id="amterm" type="INT" size="256" sumtext="오전간격"/>
  682. <Column id="pmterm" type="INT" size="256" sumtext="오후간격"/>
  683. <Column id="nigtterm" type="INT" size="256" sumtext="야간간격"/>
  684. <Column id="schecretbase" type="STRING" size="256" sumtext="일정생성기준"/>
  685. <Column id="amfstexamcap" type="INT" size="256" sumtext="오전초진정원"/>
  686. <Column id="amreexamcap" type="INT" size="256" sumtext="오전재진정원"/>
  687. <Column id="amtotalexamcap" type="INT" size="256" sumtext="오전재진정원"/>
  688. <Column id="pmfstexamcap" type="INT" size="256" sumtext="오후초진정원"/>
  689. <Column id="pmreexamcap" type="INT" size="256" sumtext="오후재진정원"/>
  690. <Column id="pmtotalexamcap" type="INT" size="256" sumtext="오후재진정원"/>
  691. <Column id="nigtfstexamcap" type="INT" size="256" sumtext="야간초진정원"/>
  692. <Column id="nigtreexamcap" type="INT" size="256" sumtext="야간재진정원"/>
  693. <Column id="nigttotalexamcap" type="INT" size="256" sumtext="야간재진정원"/>
  694. <Column id="totalexamcap" type="INT" size="256" sumtext="정원합계"/>
  695. <Column id="clincnm" type="STRING" size="256" sumtext="클리닉명"/>
  696. <Column id="remfact" type="STRING" size="256" sumtext="참고사항"/>
  697. <Column id="fstrgstrid" type="STRING" size="256" sumtext="최초등록자ID"/>
  698. <Column id="fstrgstdt" type="STRING" size="256" sumtext="최초등록일시"/>
  699. <Column id="lastupdtrid" type="STRING" size="256" sumtext="최종수정자ID"/>
  700. <Column id="lastupdtdt" type="STRING" size="256" sumtext="최종수정일시"/>
  701. <Column id="dwcd" type="STRING" size="256" sumtext="요일코드"/>
  702. <Column id="fromtodd" type="STRING" size="256" sumtext="생성기간"/>
  703. </ColumnInfo>
  704. </Dataset>
  705. <Dataset id="ds_main_ordlist_ordschecritedetail_ordschecritedetaillist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_ordlist_ordschecritedetail_ordschecritedetaillist_oncolumnchanged">
  706. <ColumnInfo>
  707. <Column id="check" type="STRING" size="256" sumtext="선택"/>
  708. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과코드"/>
  709. <Column id="orddrid" type="STRING" size="256" sumtext="진료의ID"/>
  710. <Column id="dwcd" type="STRING" size="256" sumtext="요일코드"/>
  711. <Column id="centcd" type="STRING" size="256" sumtext="센터코드"/>
  712. <Column id="subdeptcd" type="STRING" size="256" sumtext="하위부서코드"/>
  713. <Column id="ordtm" type="STRING" size="256" sumtext="진료시간"/>
  714. <Column id="seqno" type="INT" size="256" sumtext="일련번호"/>
  715. <Column id="scheno" type="INT" size="256" sumtext="일정번호"/>
  716. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  717. <Column id="histstat" type="STRING" size="256" sumtext="이력상태"/>
  718. <Column id="ampmflag" type="STRING" size="256" sumtext="오전오후구분"/>
  719. <Column id="fstexamcap" type="INT" size="256" sumtext="초진등록정원"/>
  720. <Column id="reexamcap" type="INT" size="256" sumtext="재진등록정원"/>
  721. <Column id="totalexamcap" type="INT" size="256" sumtext="총등록정원"/>
  722. <Column id="examcapsum" type="INT" size="256" sumtext="등록정원합"/>
  723. <Column id="clincnm" type="STRING" size="256" sumtext="클리닉명"/>
  724. <Column id="remfact" type="STRING" size="256" sumtext="참고사항"/>
  725. <Column id="fstrgstrid" type="STRING" size="256" sumtext="최초등록자ID"/>
  726. <Column id="fstrgstdt" type="STRING" size="256" sumtext="최초등록일시"/>
  727. <Column id="lastupdtrid" type="STRING" size="256" sumtext="최종수정자ID"/>
  728. <Column id="lastupdtdt" type="STRING" size="256" sumtext="최종수정일시"/>
  729. <Column id="ordtm" type="STRING" size="256" sumtext="진료시간"/>
  730. <Column id="etcrsrvflag" type="STRING" size="256" sumtext="예약구분"/>
  731. </ColumnInfo>
  732. </Dataset>
  733. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  734. <ColumnInfo>
  735. <Column id="orddeptcd" type="STRING" size="256"/>
  736. <Column id="orddrid" type="STRING" size="256"/>
  737. <Column id="dwcd" type="STRING" size="256"/>
  738. <Column id="seqno" type="STRING" size="256"/>
  739. <Column id="scheno" type="STRING" size="256"/>
  740. <Column id="fromdwcd" type="STRING" size="256"/>
  741. <Column id="fromampmflag" type="STRING" size="256"/>
  742. <Column id="fromscheno" type="STRING" size="256"/>
  743. <Column id="todwcd" type="STRING" size="256"/>
  744. <Column id="toampmflag" type="STRING" size="256"/>
  745. <Column id="toscheno" type="STRING" size="256"/>
  746. <Column id="ordcretdegree" type="STRING" size="256"/>
  747. <Column id="allyn" type="STRING" size="256"/>
  748. </ColumnInfo>
  749. <Rows>
  750. <Row>
  751. <Col id="orddeptcd"/>
  752. <Col id="orddrid"/>
  753. <Col id="dwcd"/>
  754. <Col id="seqno"/>
  755. <Col id="scheno"/>
  756. <Col id="fromdwcd"/>
  757. <Col id="fromampmflag"/>
  758. <Col id="fromscheno"/>
  759. <Col id="todwcd"/>
  760. <Col id="toampmflag"/>
  761. <Col id="toscheno"/>
  762. <Col id="ordcretdegree"/>
  763. <Col id="allyn"/>
  764. </Row>
  765. </Rows>
  766. </Dataset>
  767. <Dataset id="ds_init_centcd_centcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  768. <Dataset id="ds_init_subdeptcd2_subdeptcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  769. <ColumnInfo>
  770. <Column id="nm" type="STRING" size="256"/>
  771. <Column id="cd" type="STRING" size="256"/>
  772. </ColumnInfo>
  773. <Rows>
  774. <Row>
  775. <Col id="nm"/>
  776. <Col id="cd"/>
  777. </Row>
  778. </Rows>
  779. </Dataset>
  780. <Dataset id="ds_init_P0356list_P0356" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  781. <Dataset id="ds_init_P0316list_P0316" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  782. <Dataset id="ds_init_P6590list_P6590" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  783. <Dataset id="ds_init_P0033list_P0033" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  784. <Dataset id="ds_init_AMPM" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  785. <ColumnInfo>
  786. <Column id="label" type="STRING" size="256"/>
  787. <Column id="value" type="STRING" size="256"/>
  788. </ColumnInfo>
  789. <Rows>
  790. <Row>
  791. <Col id="label">오전</Col>
  792. <Col id="value">AM</Col>
  793. </Row>
  794. <Row>
  795. <Col id="label">오후</Col>
  796. <Col id="value">PM</Col>
  797. </Row>
  798. </Rows>
  799. </Dataset>
  800. <Dataset id="ds_init_orddrid_orddridlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  801. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  802. <ColumnInfo>
  803. <Column id="drcheck" type="STRING" size="256"/>
  804. </ColumnInfo>
  805. <Rows>
  806. <Row/>
  807. </Rows>
  808. </Dataset>
  809. <Dataset id="ds_main_result_ordschecrite" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  810. <ColumnInfo>
  811. <Column id="check" type="STRING" size="256" sumtext="선택"/>
  812. <Column id="orddrid" type="STRING" size="256" sumtext="의사코드"/>
  813. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과코드"/>
  814. <Column id="dwcd" type="STRING" size="256" sumtext="요일코드"/>
  815. <Column id="centcd" type="STRING" size="256" sumtext="센터코드"/>
  816. <Column id="subdeptcd" type="STRING" size="256" sumtext="하위부서코드"/>
  817. <Column id="seqno" type="INT" size="256" sumtext="일련번호"/>
  818. <Column id="scheno" type="INT" size="256" sumtext="일정번호"/>
  819. <Column id="instcd" type="STRING" size="256" sumtext="기관번호"/>
  820. <Column id="histstat" type="STRING" size="256" sumtext="이력상태"/>
  821. <Column id="amordyn" type="STRING" size="256" sumtext="오전진료여부"/>
  822. <Column id="pmordyn" type="STRING" size="256" sumtext="오후진료여부"/>
  823. <Column id="nigtordyn" type="STRING" size="256" sumtext="야간진료여부"/>
  824. <Column id="amfromtm" type="STRING" size="256" sumtext="오전시작시간"/>
  825. <Column id="amtotm" type="STRING" size="256" sumtext="오전종료시간"/>
  826. <Column id="pmfromtm" type="STRING" size="256" sumtext="오후시작시간"/>
  827. <Column id="pmtotm" type="STRING" size="256" sumtext="오후종료시간"/>
  828. <Column id="nigtfromtm" type="STRING" size="256" sumtext="야간시작시간"/>
  829. <Column id="nigttotm" type="STRING" size="256" sumtext="야간종료시간"/>
  830. <Column id="amterm" type="INT" size="256" sumtext="오전간격"/>
  831. <Column id="pmterm" type="INT" size="256" sumtext="오후간격"/>
  832. <Column id="nigtterm" type="INT" size="256" sumtext="야간간격"/>
  833. <Column id="schecretbase" type="STRING" size="256" sumtext="일정생성기준"/>
  834. <Column id="amfstexamcap" type="INT" size="256" sumtext="오전초진정원"/>
  835. <Column id="amreexamcap" type="INT" size="256" sumtext="오전재진정원"/>
  836. <Column id="amtotalexamcap" type="INT" size="256" sumtext="오전재진정원"/>
  837. <Column id="pmfstexamcap" type="INT" size="256" sumtext="오후초진정원"/>
  838. <Column id="pmreexamcap" type="INT" size="256" sumtext="오후재진정원"/>
  839. <Column id="pmtotalexamcap" type="INT" size="256" sumtext="오후재진정원"/>
  840. <Column id="nigtfstexamcap" type="INT" size="256" sumtext="야간초진정원"/>
  841. <Column id="nigtreexamcap" type="INT" size="256" sumtext="야간재진정원"/>
  842. <Column id="nigttotalexamcap" type="INT" size="256" sumtext="야간재진정원"/>
  843. <Column id="totalexamcap" type="INT" size="256" sumtext="정원합계"/>
  844. <Column id="clincnm" type="STRING" size="256" sumtext="클리닉명"/>
  845. <Column id="remfact" type="STRING" size="256" sumtext="참고사항"/>
  846. <Column id="fstrgstrid" type="STRING" size="256" sumtext="최초등록자ID"/>
  847. <Column id="fstrgstdt" type="STRING" size="256" sumtext="최초등록일시"/>
  848. <Column id="lastupdtrid" type="STRING" size="256" sumtext="최종수정자ID"/>
  849. <Column id="lastupdtdt" type="STRING" size="256" sumtext="최종수정일시"/>
  850. <Column id="dwcd" type="STRING" size="256" sumtext="요일코드"/>
  851. <Column id="fromtodd" type="STRING" size="256" sumtext="일정생성기간"/>
  852. </ColumnInfo>
  853. </Dataset>
  854. <Dataset id="ds_main_result_orddrfild" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  855. <ColumnInfo>
  856. <Column id="orddrid" type="STRING" size="256" sumtext="의사코드"/>
  857. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과코드"/>
  858. <Column id="centcd" type="STRING" size="256" sumtext="센터코드"/>
  859. <Column id="subdeptcd" type="STRING" size="256" sumtext="세부진료과"/>
  860. <Column id="seqno" type="INT" size="256" sumtext="일련번호"/>
  861. <Column id="ordfild" type="STRING" size="256" sumtext="진료내용"/>
  862. <Column id="fstexamrem" type="STRING" size="256" sumtext="초진특이사항"/>
  863. <Column id="reexamrem" type="STRING" size="256" sumtext="재진특이사항"/>
  864. <Column id="inetrsrvpossyn" type="STRING" size="256" sumtext="인터넷예약가능"/>
  865. <Column id="internetinwon" type="STRING" size="256" sumtext="인터넷예약가능인원"/>
  866. </ColumnInfo>
  867. </Dataset>
  868. <Dataset id="ds_main_result_lastordschecret" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  869. <Dataset id="ds_send_updatedata_datalist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  870. <Dataset id="ds_send_updatedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  871. <Dataset id="ds_hidden_capacheck_capachecklist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  872. <Dataset id="ds_main_biweekcheck" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  873. <ColumnInfo>
  874. <Column id="fromdd" type="STRING" size="256"/>
  875. <Column id="todd" type="STRING" size="256"/>
  876. <Column id="orddrid" type="STRING" size="256"/>
  877. <Column id="orddeptcd" type="STRING" size="256"/>
  878. </ColumnInfo>
  879. <Rows>
  880. <Row>
  881. <Col id="fromdd"/>
  882. <Col id="todd"/>
  883. <Col id="orddrid"/>
  884. <Col id="orddeptcd"/>
  885. </Row>
  886. </Rows>
  887. </Dataset>
  888. <Dataset id="ds_main_holicheck_biweeklycheck_check" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  889. <Dataset id="ds_main_result_ordschecrethist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  890. <ColumnInfo>
  891. <Column id="weeks" type="STRING" size="256" sumtext="일정요일표시"/>
  892. <Column id="fromdd" type="STRING" size="256" sumtext="일정생성시작일"/>
  893. <Column id="todd" type="STRING" size="256" sumtext="일정생성종료일"/>
  894. <Column id="seqno" type="STRING" size="256" sumtext="일정생성구간순번"/>
  895. <Column id="ordcretdegree" type="STRING" size="256" sumtext="일정생성차수"/>
  896. <Column id="reglscheflag" type="STRING" size="256" sumtext="정규일정구분"/>
  897. </ColumnInfo>
  898. </Dataset>
  899. <Dataset id="ds_temp_source" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  900. <ColumnInfo>
  901. <Column id="orddeptcd" type="STRING" size="256"/>
  902. <Column id="orddrid" type="STRING" size="256"/>
  903. </ColumnInfo>
  904. <Rows>
  905. <Row>
  906. <Col id="orddeptcd"/>
  907. <Col id="orddrid"/>
  908. </Row>
  909. </Rows>
  910. </Dataset>
  911. </Objects>
  912. <Bind>
  913. <BindItem id="item2" compid="rdo_etcsche" propid="value" datasetid="ds_main" columnid="regltempflag"/>
  914. <BindItem id="item22" compid="rdo_reglsche" propid="value" datasetid="ds_main" columnid="regltempflag"/>
  915. <BindItem id="item32" compid="bool7" propid="value" datasetid="ds_send" columnid="allyn"/>
  916. <BindItem id="item0" compid="ipt_internetinwon" propid="value" datasetid="ds_main_ordlist_orddrfild_orddrfildlist" columnid="internetinwon"/>
  917. <BindItem id="item1" compid="radio2" propid="value" datasetid="ds_main_ordlist_orddrfild_orddrfildlist" columnid="inetrsrvpossyn"/>
  918. <BindItem id="item5" compid="ipt_fromdd" propid="value" datasetid="ds_main" columnid="schecretfromdd"/>
  919. <BindItem id="item6" compid="ipt_todd" propid="value" datasetid="ds_main" columnid="schecrettodd"/>
  920. <BindItem id="item7" compid="radio1" propid="value" datasetid="ds_main" columnid="regltempflag"/>
  921. <BindItem id="item9" compid="checkbox2" propid="value" datasetid="ds_main" columnid="bfdatadel"/>
  922. <BindItem id="item10" compid="bool1" propid="value" datasetid="ds_main_selectedday" columnid="mon"/>
  923. <BindItem id="item11" compid="checkbox1" propid="value" datasetid="ds_main_selectedday" columnid="monampm"/>
  924. <BindItem id="item12" compid="checkbox3" propid="value" datasetid="ds_main_selectedday" columnid="tueampm"/>
  925. <BindItem id="item13" compid="bool2" propid="value" datasetid="ds_main_selectedday" columnid="tue"/>
  926. <BindItem id="item14" compid="checkbox4" propid="value" datasetid="ds_main_selectedday" columnid="wedampm"/>
  927. <BindItem id="item15" compid="bool3" propid="value" datasetid="ds_main_selectedday" columnid="wed"/>
  928. <BindItem id="item16" compid="checkbox5" propid="value" datasetid="ds_main_selectedday" columnid="thuampm"/>
  929. <BindItem id="item17" compid="bool4" propid="value" datasetid="ds_main_selectedday" columnid="thu"/>
  930. <BindItem id="item18" compid="checkbox6" propid="value" datasetid="ds_main_selectedday" columnid="friampm"/>
  931. <BindItem id="item19" compid="bool5" propid="value" datasetid="ds_main_selectedday" columnid="fri"/>
  932. <BindItem id="item20" compid="checkbox7" propid="value" datasetid="ds_main_selectedday" columnid="satampm"/>
  933. <BindItem id="item21" compid="bool6" propid="value" datasetid="ds_main_selectedday" columnid="sat"/>
  934. <BindItem id="item23" compid="combo1" propid="value" datasetid="ds_send" columnid="fromampmflag"/>
  935. <BindItem id="item24" compid="combo2" propid="value" datasetid="ds_send" columnid="fromdwcd"/>
  936. <BindItem id="item25" compid="combo3" propid="value" datasetid="ds_send" columnid="toampmflag"/>
  937. <BindItem id="item26" compid="combo4" propid="value" datasetid="ds_send" columnid="todwcd"/>
  938. <BindItem id="item27" compid="combo5" propid="value" datasetid="ds_main" columnid="ordschecretno"/>
  939. <BindItem id="item28" compid="textarea1" propid="value" datasetid="ds_main_ordlist_orddrfild_orddrfildlist" columnid="ordfild"/>
  940. <BindItem id="item29" compid="textarea2" propid="value" datasetid="ds_main_ordlist_orddrfild_orddrfildlist" columnid="fstexamrem"/>
  941. <BindItem id="item30" compid="textarea3" propid="value" datasetid="ds_main_ordlist_orddrfild_orddrfildlist" columnid="reexamrem"/>
  942. <BindItem id="item3" compid="group2.cmb_orddept" propid="value" datasetid="ds_main" columnid="orddeptcd"/>
  943. <BindItem id="item4" compid="group2.cmb_subdeptcd" propid="value" datasetid="ds_main" columnid="subdeptcd"/>
  944. <BindItem id="item8" compid="input1" propid="value" datasetid="ds_main" columnid="lastcretdd"/>
  945. </Bind>
  946. <Script type="xscript4.0"><![CDATA[include "com_commonxp::comm_main.xjs";
  947. include "com_basiccodexp::ZBC001.xjs";
  948. include "pam_pamcomnxp::PAM.xjs";
  949. include "pam_pamcomnxp::PAM001.xjs";
  950. var arErrorCode = new HashArray();
  951. function cf_callback(sSvcId, nErrorCode, sErrorMsg) {
  952. arErrorCode.push(sSvcId, nErrorCode);
  953. }
  954. function SMPMB00700_oninit(obj:Form, e:InitEventInfo)
  955. {
  956. frmf_initForm(obj);
  957. }
  958. function SMPMB00700_onload(obj:Form, e:LoadEventInfo)
  959. {
  960. grdf_initGrid(grd_orddr);
  961. grdf_initGrid(grd_ordschecrite);
  962. grdf_initGrid(grd_ordschecritedetail);
  963. grdf_setRowTypeIcon(grd_ordschecrite, 1);
  964. grdf_setRowTypeIcon(grd_ordschecritedetail, 1);
  965. var arrParam1 = [{dsNm: "ds_init_P0033list_P0033", cdGrpId: "P0033"},
  966. {dsNm: "ds_init_P0316list_P0316", cdGrpId: "P0316"},
  967. {dsNm: "ds_init_P0356list_P0356", cdGrpId: "P0356"}];
  968. appf_getCodeList(arrParam1);
  969. ds_init_P0033list_P0033.keystring = "S:cdid";
  970. var arrParam2 = [ {dsNm: "ds_init_P6590list_P6590", cdGrpId: "P6590" } ];
  971. pamfGetCodeList(arrParam2 );
  972. var menu = 'S';
  973. fCapaCheck();
  974. if (menu != 'S') //팝업화면으로 사용될 때
  975. {
  976. btn_search4.enable = false;
  977. rdo_reglsche.visible = false;
  978. rdo_etcsche.visible = true;
  979. textarea1.enable = false;
  980. textarea2.enable = false;
  981. textarea3.enable = false;
  982. btn_delete.enable = false;
  983. btn_update.enable = false;
  984. button27.enable = false;
  985. //진료일정삭제버튼
  986. button10.enable = false;
  987. }
  988. else
  989. {
  990. rdo_reglsche.visible = true;
  991. rdo_etcsche.visible = false;
  992. }
  993. pamGetDeptCDDrIDList();
  994. // node 이름 맞춰줌.
  995. ds_init_orddeptcd_orddeptcdlist.copyData(ds_init_orddeptcdlist);
  996. ds_init_subdeptcd_subdeptcdlist.copyData(ds_init_subdeptcdlist);
  997. ds_init_centcd_centcdlist.copyData(ds_init_centcdlist);
  998. //ds_init_orddrid_orddridlist.copyData(ds_init_orddridlist);
  999. ds_hidden_capacheck_capachecklist.copyData(ds_init_capachecklist);
  1000. fInitialize();
  1001. //파라미터(열의 갯수, 행의 갯수, 열의 간격, 행의 간격, 아이템 넓이, 아이템 높이,
  1002. var sProp="col=1,row=2,cellspacing=20,vcellspacing=100,itemWidth=-1,itemHeight=18,overflow='visible'"
  1003. //컴포넌트명.세팅(sProp,바인딩될 데이터셋,"바인딩할 value","바인딩할 label",콜백함수)
  1004. checkbox1.setInitComp(sProp, ds_init_AMPM, "value","label","fn_setDsCheckbox1");
  1005. checkbox3.setInitComp(sProp, ds_init_AMPM, "value","label","fn_setDsCheckbox3");
  1006. checkbox4.setInitComp(sProp, ds_init_AMPM, "value","label","fn_setDsCheckbox4");
  1007. checkbox5.setInitComp(sProp, ds_init_AMPM, "value","label","fn_setDsCheckbox5");
  1008. checkbox6.setInitComp(sProp, ds_init_AMPM, "value","label","fn_setDsCheckbox6");
  1009. checkbox7.setInitComp(sProp, ds_init_AMPM, "value","label","fn_setDsCheckbox7");
  1010. fn_setCnCheckbox1();
  1011. fn_setCnCheckbox3();
  1012. fn_setCnCheckbox4();
  1013. fn_setCnCheckbox5();
  1014. fn_setCnCheckbox6();
  1015. fn_setCnCheckbox7();
  1016. }
  1017. function fn_setDsCheckbox1() {
  1018. ds_main_selectedday.setColumn(0,"monampm",String(checkbox1.getData()).replace(","," "));
  1019. }
  1020. function fn_setDsCheckbox3() {
  1021. ds_main_selectedday.setColumn(0,"tueampm",String(checkbox3.getData()).replace(","," "));
  1022. }
  1023. function fn_setDsCheckbox4() {
  1024. ds_main_selectedday.setColumn(0,"wedampm",String(checkbox4.getData()).replace(","," "));
  1025. }
  1026. function fn_setDsCheckbox5() {
  1027. ds_main_selectedday.setColumn(0,"thuampm",String(checkbox5.getData()).replace(","," "));
  1028. }
  1029. function fn_setDsCheckbox6() {
  1030. ds_main_selectedday.setColumn(0,"friampm",String(checkbox6.getData()).replace(","," "));
  1031. }
  1032. function fn_setDsCheckbox7() {
  1033. ds_main_selectedday.setColumn(0,"satampm",String(checkbox7.getData()).replace(","," "));
  1034. }
  1035. function fn_setCnCheckbox1() {
  1036. checkbox1.setCheckAll(false);
  1037. checkbox1.setData(utlf_transNullToEmpty(ds_main_selectedday.getColumn(0, "monampm")).split(" "),null,false);
  1038. }
  1039. function fn_setCnCheckbox3() {
  1040. checkbox3.setCheckAll(false);
  1041. checkbox3.setData(utlf_transNullToEmpty(ds_main_selectedday.getColumn(0, "tueampm")).split(" "),null,false);
  1042. }
  1043. function fn_setCnCheckbox4() {
  1044. checkbox4.setCheckAll(false);
  1045. checkbox4.setData(utlf_transNullToEmpty(ds_main_selectedday.getColumn(0, "wedampm")).split(" "),null,false);
  1046. }
  1047. function fn_setCnCheckbox5() {
  1048. checkbox5.setCheckAll(false);
  1049. checkbox5.setData(utlf_transNullToEmpty(ds_main_selectedday.getColumn(0, "thuampm")).split(" "),null,false);
  1050. }
  1051. function fn_setCnCheckbox6() {
  1052. checkbox6.setCheckAll(false);
  1053. checkbox6.setData(utlf_transNullToEmpty(ds_main_selectedday.getColumn(0, "friampm")).split(" "),null,false);
  1054. }
  1055. function fn_setCnCheckbox7() {
  1056. checkbox7.setCheckAll(false);
  1057. checkbox7.setData(utlf_transNullToEmpty(ds_main_selectedday.getColumn(0, "satampm")).split(" "),null,false);
  1058. }
  1059. function fInitialize()
  1060. {
  1061. ds_main_ordlist_orddrfild_orddrfildlist.clearData();
  1062. ds_main_ordlist_orddrfild_orddrfildlist.addRow();
  1063. ds_main_ordlist_ordschecrite_ordschecritelist.clearData();
  1064. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.clearData();
  1065. //선택요일추가 초기화
  1066. ds_main_selectedday.clearData();
  1067. ds_main_selectedday.addRow();
  1068. if (frmf_checkOpener())
  1069. { //팝업화면으로 사용될 때
  1070. ds_main.setColumn(0, "regltempflag", 'XX');
  1071. ds_main.setColumn(0, "bfdatadel", '-');
  1072. }
  1073. else
  1074. {
  1075. ds_main.setColumn(0, "regltempflag", 'YY');
  1076. ds_main.setColumn(0, "bfdatadel", 'Del');
  1077. }
  1078. //ds_main.setColumn(0, "selectedday", '');
  1079. ds_main.setColumn(0, "lastcretdd", '');
  1080. //날자 입력 항목에 오늘 날자 세팅
  1081. var curDate = utlf_getCurrentDate();
  1082. ds_main.setColumn(0, "schecretfromdd", curDate);
  1083. //기간별일정 생성 내역 조회
  1084. ds_init_ordschecrethist_ordschecrethistlist.clearData();
  1085. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "weeks", "string", "기간별 진료일정생성 내역");
  1086. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "fromdd", "string", "");
  1087. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "todd", "string", "");
  1088. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "seqno", "string", "0");
  1089. //dsf_copyDs 사용하기위하여 컬럼 추가 생성
  1090. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "ordcretdegree", "string", "");
  1091. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "reglscheflag", "string", "");
  1092. ds_main.setColumn(0, "ordschecrethist", "0");
  1093. ds_main.setColumn(0, "schecrettodd", "20100228");
  1094. //2007-10-10
  1095. ds_main_ordlist_orddrfild_orddrfildlist.setColumn(0, "inetrsrvpossyn", "Y");
  1096. }
  1097. function group2_cmb_orddept_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  1098. {
  1099. ds_init_orddridlist.filterstr = "dp == '"+obj.value+"'";
  1100. ds_init_orddrid_orddridlist.copyData(ds_init_orddridlist, true);
  1101. ds_init_orddridlist.filterstr = "";
  1102. ds_init_subdeptcdlist.filterstr = "dp == '"+obj.value+"'";
  1103. ds_init_subdeptcd_subdeptcdlist.copyData(ds_init_subdeptcdlist, true);
  1104. ds_init_subdeptcdlist.filterstr = "";
  1105. ds_main.setColumn(0, "subdeptcd", "-");
  1106. fInitialize();
  1107. ds_init_subdeptcd2_subdeptcdlist.clearData();
  1108. ds_init_subdeptcdlist.filterstr = "dp == '"+obj.value+"' || dp == '-'";
  1109. // null 값이 undefined 값으로 지정되어서 empty 값으로 변경함
  1110. dsf_setDefaultVal(ds_init_subdeptcdlist, "nm:''");
  1111. ds_init_subdeptcdlist.filterstr = "";
  1112. }
  1113. function grd_orddr_oncellclick(obj:Grid, e:GridClickEventInfo)
  1114. {
  1115. ds_send.clearData();
  1116. ds_send.addRow();
  1117. //진료일정기준자료 조회 함수 호출
  1118. fGetOrdShceCrite();
  1119. var cur_row = ds_init_orddrid_orddridlist.rowposition;
  1120. ds_hidden.setColumn(0, "drcheck","");
  1121. if(cur_row >= 0)
  1122. {
  1123. ds_hidden.setColumn(0, "drcheck", ds_init_orddrid_orddridlist.getColumn(cur_row, "sp"));
  1124. }
  1125. }
  1126. function fGetOrdShceCrite()
  1127. {
  1128. var cur_row = ds_init_orddrid_orddridlist.rowposition;
  1129. if( cur_row >= 0)
  1130. {
  1131. ds_send.setColumn(0, "orddrid", ds_init_orddrid_orddridlist.getColumn(cur_row, "cd"));
  1132. ds_send.setColumn(0, "orddeptcd", ds_main.getColumn(0, "orddeptcd"));
  1133. //진료일정기준자료 조회, 진료의사별전문분야 조회
  1134. var oParam = {};
  1135. oParam.id = "TRPMB00702";
  1136. oParam.service = "pambaseinfomngtapp.OrdSche";
  1137. oParam.method = "reqGetOrdScheCrite";
  1138. oParam.inds = "req=ds_send";
  1139. oParam.outds = "ds_main_result_ordschecrite=ordschecrite ds_main_result_orddrfild=orddrfild "
  1140. +"ds_main_result_lastordschecret=lastordschecret ds_main_result_ordschecrethist=ordschecrethist";
  1141. oParam.async = false;
  1142. oParam.callback = "cf_callback";
  1143. tranf_submit(oParam);
  1144. if(arErrorCode.pop("TRPMB00702") > -1)
  1145. {
  1146. //check 컬럼 추가
  1147. ds_main_result_ordschecrite.addColumn("check", "string");
  1148. for(var i = 0; i < ds_main_result_ordschecrite.rowcount; i++)
  1149. {
  1150. dsf_makeValue(ds_main_result_ordschecrite, "dwcd_old", "String", ds_main_result_ordschecrite.getColumn(i, "dwcd"), i);
  1151. }
  1152. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.clearData();
  1153. ds_main_ordlist_ordschecrite_ordschecritelist.copyData(ds_main_result_ordschecrite);
  1154. ds_main_ordlist_orddrfild_orddrfildlist.copyData(ds_main_result_orddrfild);
  1155. //기간별일정 생성 내역 조회
  1156. ds_init_ordschecrethist_ordschecrethistlist.clearData();
  1157. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "weeks", "string", "기간별 진료일정생성 내역");
  1158. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "fromdd", "string", "");
  1159. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "todd", "string", "");
  1160. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "seqno", "string", "0");
  1161. //dsf_copyDs 사용하기위하여 컬럼 추가 생성
  1162. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "ordcretdegree", "string", "");
  1163. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "reglscheflag", "string", "");
  1164. ds_main.setColumn(0, "ordschecrethist", "0");
  1165. dsf_copyDs(ds_init_ordschecrethist_ordschecrethistlist, ds_main_result_ordschecrethist, "after");
  1166. var curDate = ds_main_result_lastordschecret.getColumn(0, "lastcretdd");
  1167. ds_main.setColumn(0, "lastcretdd", curDate);
  1168. ds_main.setColumn(0, "ordschecretno", "0");
  1169. if( utlf_isNull(curDate) || curDate == ' ')
  1170. {
  1171. curDate = utlf_getCurrentDate();
  1172. }
  1173. ds_main.setColumn(0, "schecretfromdd", utlf_getCurrentDate());
  1174. if( utlf_isValidDateTime(curDate, "YYYYMMDD") )
  1175. {
  1176. ds_main.setColumn(0, "schecrettodd", curDate);
  1177. }
  1178. else
  1179. {
  1180. ds_main.setColumn(0, "schecrettodd", "20100228");
  1181. }
  1182. }
  1183. }
  1184. else return;
  1185. }
  1186. function textarea1_onsetfocus(obj:TextArea, e:SetFocusEventInfo)
  1187. {
  1188. obj.position.top = caption19.position.top;
  1189. obj.position.bottom = caption12.position.bottom;
  1190. obj.visible = true;
  1191. textarea2.visible = false;
  1192. textarea3.visible = false;
  1193. button11.visible = true;
  1194. caption10.style.font = "Dotum,9,bold";
  1195. caption11.style.font = "Dotum,9";
  1196. caption12.style.font = "Dotum,9";
  1197. }
  1198. function textarea1_onkillfocus(obj:TextArea, e:KillFocusEventInfo)
  1199. {
  1200. obj.position.top = caption10.position.top + 1;
  1201. obj.position.bottom = caption10.position.bottom - 1;
  1202. obj.visible = true;
  1203. textarea2.visible = true;
  1204. textarea3.visible = true;
  1205. button11.visible = false;
  1206. caption10.style.font.type = "";
  1207. caption11.style.font.type = "";
  1208. caption12.style.font.type = "";
  1209. }
  1210. function textarea2_onsetfocus(obj:TextArea, e:SetFocusEventInfo)
  1211. {
  1212. obj.position.top = caption19.position.top;
  1213. obj.position.bottom = caption12.position.bottom;
  1214. obj.visible = true;
  1215. textarea2.visible = true;
  1216. textarea3.visible = false;
  1217. button11.visible = true;
  1218. caption10.style.font = "Dotum,9";
  1219. caption11.style.font = "Dotum,9,bold";
  1220. caption12.style.font = "Dotum,9";
  1221. }
  1222. function textarea2_onkillfocus(obj:TextArea, e:KillFocusEventInfo)
  1223. {
  1224. obj.position.top = caption11.position.top + 1;
  1225. obj.position.bottom = caption11.position.bottom - 1;
  1226. textarea1.visible = true;
  1227. obj.visible = true;
  1228. textarea3.visible = true;
  1229. button11.visible = false;
  1230. caption10.style.font = "Dotum,9";
  1231. caption11.style.font = "Dotum,9";
  1232. caption12.style.font = "Dotum,9";
  1233. }
  1234. function textarea3_onkillfocus(obj:TextArea, e:KillFocusEventInfo)
  1235. {
  1236. obj.position.top = caption12.position.top + 1;
  1237. obj.position.bottom = caption12.position.bottom - 1;
  1238. textarea1.visible = true;
  1239. textarea2.visible = true;
  1240. obj.visible = true;
  1241. button11.visible = false;
  1242. caption10.style.font = "Dotum,9";
  1243. caption11.style.font = "Dotum,9";
  1244. caption12.style.font = "Dotum,9";
  1245. }
  1246. function textarea3_onsetfocus(obj:TextArea, e:SetFocusEventInfo)
  1247. {
  1248. obj.position.top = caption19.position.top;
  1249. obj.position.bottom = caption12.position.bottom;
  1250. textarea1.visible = false;
  1251. textarea2.visible = false;
  1252. obj.visible = true;
  1253. button11.visible = true;
  1254. caption10.style.font = "Dotum,9";
  1255. caption11.style.font = "Dotum,9";
  1256. caption12.style.font = "Dotum,9,bold";
  1257. }
  1258. function button11_onclick(obj:Button, e:ClickEventInfo)
  1259. {
  1260. textarea1.position.top = caption10.position.top + 1;
  1261. textarea1.position.bottom = caption10.position.bottom - 1;
  1262. textarea2.position.top = caption11.position.top + 1;
  1263. textarea2.position.bottom = caption11.position.bottom - 1;
  1264. textarea3.position.top = caption12.position.top + 1;
  1265. textarea3.position.bottom = caption12.position.bottom - 1;
  1266. textarea1.visible = true;
  1267. textarea2.visible = true;
  1268. textarea3.visible = true;
  1269. button11.visible = false;
  1270. caption10.style.font = "Dotum,9";
  1271. caption11.style.font = "Dotum,9";
  1272. caption12.style.font = "Dotum,9";
  1273. }
  1274. function btn_delete_onclick(obj:Button, e:ClickEventInfo)
  1275. {
  1276. if(sysf_messageBox("진료의사별 전문분야를", "Q001") != 6) return;
  1277. ds_send_updatedata_datalist.copyData(ds_main_ordlist_orddrfild_orddrfildlist);
  1278. dsf_makeValue(ds_send_updatedata_datalist, "status", "string", "d");
  1279. if(sysf_messageBox("전문분야를 삭제 하시겠습니까?", "Q999") != 6) return;
  1280. var oParam = {};
  1281. oParam.id = "TXPMB00704";
  1282. oParam.service = "pambaseinfomngtapp.OrdSche";
  1283. oParam.method = "reqExeOrdDrFild";
  1284. oParam.inds = "req=ds_send_updatedata_datalist";
  1285. oParam.async = false;
  1286. oParam.callback = "cf_callback";
  1287. tranf_submit(oParam);
  1288. if(arErrorCode.pop("TXPMB00704") > -1)
  1289. {
  1290. ds_main_ordlist_orddrfild_orddrfildlist.clearData();
  1291. ds_main_ordlist_orddrfild_orddrfildlist.addRow();
  1292. }
  1293. ds_send_updatedata_datalist.clearData();
  1294. }
  1295. function btn_update_onclick(obj:Button, e:ClickEventInfo)
  1296. {
  1297. fSaveDrFild();
  1298. }
  1299. function fSaveDrFild()
  1300. {
  1301. cur_row = ds_init_orddrid_orddridlist.rowposition;
  1302. if( cur_row >= 0 )
  1303. {
  1304. ds_send_updatedata_datalist.copyData(ds_main_ordlist_orddrfild_orddrfildlist);
  1305. if (utlf_isNull(ds_send_updatedata_datalist.getColumn(0, "inetrsrvpossyn")))
  1306. {
  1307. ds_send_updatedata_datalist.setColumn(0, "inetrsrvpossyn","N");
  1308. }
  1309. //2014/07/28
  1310. if(utlf_isNull(ipt_internetinwon.value) || ipt_internetinwon.value == "")
  1311. {
  1312. dsf_makeValue(ds_send_updatedata_datalist, "internetinwon", "string", "0");
  1313. }
  1314. else
  1315. {
  1316. dsf_makeValue(ds_send_updatedata_datalist, "internetinwon", "string", ipt_internetinwon.value);
  1317. }
  1318. //2014/07/28
  1319. ds_send_updatedata_datalist.setColumn(0, "orddrid", ds_init_orddrid_orddridlist.getColumn(cur_row, "cd"));
  1320. ds_send_updatedata_datalist.setColumn(0, "orddeptcd", ds_main.getColumn(0, "orddeptcd"));
  1321. dsf_makeValue(ds_send_updatedata_datalist, "status", "string", "u");
  1322. if( utlf_isNull(ds_send_updatedata_datalist.getColumn(0, "orddrid")) || utlf_isNull(ds_send_updatedata_datalist.getColumn(0, "orddeptcd")))
  1323. {
  1324. sysf_messageBox("진료의사/진료과 정보를 가져올 수 없습니다.","E999","");
  1325. return false;
  1326. }
  1327. if(sysf_messageBox("전문분야를 저장 하시겠습니까?", "Q999") != 6) return;
  1328. var oParam = {};
  1329. oParam.id = "TXPMB00704";
  1330. oParam.service = "pambaseinfomngtapp.OrdSche";
  1331. oParam.method = "reqExeOrdDrFild";
  1332. oParam.inds = "req=ds_send_updatedata_datalist";
  1333. oParam.async = false;
  1334. oParam.callback = "cf_callback";
  1335. tranf_submit(oParam);
  1336. ds_send_updatedata_datalist.clearData();
  1337. }
  1338. else
  1339. {
  1340. sysf_messageBox("진료의사/진료과 정보를 가져올 수 없습니다.","E999","");
  1341. }
  1342. return true;
  1343. }
  1344. function rdo_reglsche_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  1345. {
  1346. if( obj.value == 'YY' )
  1347. {
  1348. ds_main.setColumn(0, "bfdatadel", 'Del');
  1349. var curDate = utlf_getCurrentDate();
  1350. ds_main.setColumn(0, "schecretfromdd", curDate);
  1351. ds_main.setColumn(0, "schecrettodd", "20100228");
  1352. }
  1353. else
  1354. {
  1355. ds_main.setColumn(0, "bfdatadel", '');
  1356. var curDate = utlf_getCurrentDate();
  1357. ds_main.setColumn(0, "schecretfromdd", curDate);
  1358. ds_main.setColumn(0, "schecrettodd", "20100228");
  1359. }
  1360. }
  1361. function rdo_etcsche_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  1362. {
  1363. ds_main.setColumn(0, "bfdatadel", '');
  1364. var curDate = utlf_getCurrentDate();
  1365. ds_main.setColumn(0, "schecretfromdd", curDate);
  1366. ds_main.setColumn(0, "schecrettodd", "20100228");
  1367. }
  1368. function ipt_fromdd_onchanged(obj:Calendar, e:ChangeEventInfo)
  1369. {
  1370. var strDay = String(obj.value).toDate().getDayOfWeek("K");
  1371. ds_main_selectedday.clearData();
  1372. ds_main_selectedday.addRow();
  1373. if (strDay == "월")
  1374. {
  1375. ds_main_selectedday.setColumn(0, "mon","Y");
  1376. }
  1377. else if (strDay == "화")
  1378. {
  1379. ds_main_selectedday.setColumn(0, "tue","Y");
  1380. }
  1381. else if (strDay == "수")
  1382. {
  1383. ds_main_selectedday.setColumn(0, "wed","Y");
  1384. }
  1385. else if (strDay == "목")
  1386. {
  1387. ds_main_selectedday.setColumn(0, "thu","Y");
  1388. }
  1389. else if (strDay == "금")
  1390. {
  1391. ds_main_selectedday.setColumn(0, "fri","Y");
  1392. }
  1393. else if (strDay == "토")
  1394. {
  1395. ds_main_selectedday.setColumn(0, "sat","Y");
  1396. }
  1397. }
  1398. function combo5_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  1399. {
  1400. //2008-06-04 이동식 추가 - 사용자 요구사항 - fGetLastOrdScheCretDD
  1401. //진료일정생성 후 변경이 있을때 기간별진료일정생성내역을 선택시 선택에 따라 진료일정기준자료가 보여지도록
  1402. var seqno = obj.value;
  1403. if( seqno == '0' || seqno == '' || seqno == ' ')
  1404. {
  1405. //진료일정기준자료 조회 함수 호출
  1406. fGetOrdShceCrite();
  1407. }
  1408. else
  1409. {
  1410. //노드 초기화
  1411. ds_main_ordlist_ordschecrite_ordschecritelist.clearData();
  1412. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.clearData();
  1413. //선택된 일정생성차수에 해당하는 기준자료 조회
  1414. ds_send.setColumn(0, "orddrid", ds_init_orddrid_orddridlist.getColumn(ds_init_orddrid_orddridlist.rowposition, "cd"));
  1415. ds_send.setColumn(0, "orddeptcd", ds_main.getColumn(0, "orddeptcd"));
  1416. ds_send.setColumn(0, "ordcretdegree", ds_init_ordschecrethist_ordschecrethistlist.lookup("seqno", seqno, "ordcretdegree"));
  1417. var oParam = {};
  1418. oParam.id = "TRPMB00712";
  1419. oParam.service = "pambaseinfomngtapp.OrdSche";
  1420. oParam.method = "reqGetOrdScheCrite2";
  1421. oParam.inds = "req=ds_send";
  1422. oParam.outds = "ds_main_ordlist_ordschecrite_ordschecritelist=ordschecrite ds_main_ordlist_orddrfild_orddrfildlist=orddrfild";
  1423. oParam.async = false;
  1424. //oParam.callback = "cf_TRPMB00712";
  1425. tranf_submit(oParam);
  1426. // 진료의사별전문분야 비활성화 되는 문제 해결을 위하여 구현함.
  1427. if(ds_main_ordlist_orddrfild_orddrfildlist.rowcount == 0)
  1428. {
  1429. ds_main_ordlist_orddrfild_orddrfildlist.addRow();
  1430. }
  1431. }
  1432. }
  1433. function btn_search4_onclick(obj:Button, e:ClickEventInfo)
  1434. {
  1435. fOrdScheCriteList();
  1436. }
  1437. function fOrdScheCriteList()
  1438. {
  1439. var nodeList = ds_main_ordlist_ordschecrite_ordschecritelist.getCaseCount("check == 'Y'");
  1440. if( nodeList == 0)
  1441. {
  1442. sysf_messageBox("일정을 생성할 기준자료가 선택되지", "E007");
  1443. return false;
  1444. }
  1445. for( var i = 0; i < ds_main_ordlist_ordschecrite_ordschecritelist.rowcount; i++ )
  1446. {
  1447. if( ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "check") == 'Y')
  1448. {
  1449. if(ds_main_ordlist_ordschecrite_ordschecritelist.getRowType(i) == 2)
  1450. {
  1451. sysf_messageBox("선택하신 기준자료 중에 저장이 되지 않은 내역이 있습니다. [기준자료저장]을 하신 후에 [진료일정생성]하세요.", "E999", "");
  1452. return false;
  1453. }
  1454. }
  1455. }
  1456. ds_send_updatedata_datalist.clearData();
  1457. ds_main_ordlist_ordschecrite_ordschecritelist.filterstr = "check == 'Y'";
  1458. ds_send_updatedata_datalist.copyData(ds_main_ordlist_ordschecrite_ordschecritelist, true);
  1459. ds_main_ordlist_ordschecrite_ordschecritelist.filterstr = "";
  1460. ds_send_updatedata.clearData();
  1461. ds_send_updatedata.addColumn("schecretfromdd", "string");
  1462. ds_send_updatedata.addColumn("schecrettodd", "string");
  1463. ds_send_updatedata.addColumn("bfdatadel", "string");
  1464. ds_send_updatedata.addColumn("regltempflag", "string");
  1465. ds_send_updatedata.addColumn("capacheckyn", "string");
  1466. ds_send_updatedata.addColumn("capano", "string");
  1467. ds_send_updatedata.addColumn("ordschecretno", "string");
  1468. ds_send_updatedata.addRow();
  1469. ds_send_updatedata.setColumn(0, "ordschecretno", ds_main.getColumn(0, "ordschecretno"));
  1470. var fromdd = ds_main.getColumn(0, "schecretfromdd");
  1471. if( utlf_isValidDateTime(fromdd, "YYYYMMDD") )
  1472. {
  1473. ds_send_updatedata.setColumn(0, "schecretfromdd", fromdd);
  1474. }
  1475. else
  1476. {
  1477. sysf_messageBox("진료일정생성 기간 중 시작일이 유효한 날자가 아닙니다. 확인해 주세요.", "E999");
  1478. ipt_fromdd.setFocus();
  1479. return false;
  1480. }
  1481. var todd = ds_main.getColumn(0, "schecrettodd");
  1482. if( utlf_isValidDateTime(todd, "YYYYMMDD") )
  1483. {
  1484. ds_send_updatedata.setColumn(0, "schecrettodd", todd);
  1485. }
  1486. else
  1487. {
  1488. sysf_messageBox("진료일정생성 기간 중 종료일이 유효한 날자가 아닙니다. 확인해 주세요.", "E999");
  1489. ipt_todd.setFocus();
  1490. return false;
  1491. }
  1492. if( fromdd > todd)
  1493. {
  1494. sysf_messageBox("희망일정 생성 종료일자가 희망일정 생성 시작일자 보다 이전일자 입니다. 확인해 주세요.", "E999");
  1495. ipt_todd.setFocus();
  1496. return false;
  1497. }
  1498. //특별 일정외 모든 일정구분 capa수제한
  1499. var regltempflag = ds_main.getColumn(0, "regltempflag");
  1500. var capacheckyn = ds_hidden_capacheck_capachecklist.lookup("cdid", 10, "cdnm");
  1501. var capano = parseInt(ds_hidden_capacheck_capachecklist.lookup("cdid", 20, "cdnm"));
  1502. var endRow = ds_main_ordlist_ordschecrite_ordschecritelist.rowcount;
  1503. if(capacheckyn == 'Y')
  1504. {
  1505. if(regltempflag != 'SS' && regltempflag != 'YY')
  1506. {
  1507. for( var i = 0; i < endRow; i++)
  1508. {
  1509. if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "check") == 'Y' )
  1510. {
  1511. var amfstexamcap = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "amfstexamcap");
  1512. var amreexamcap = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "amreexamcap");
  1513. var pmfstexamcap = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "pmfstexamcap");
  1514. var pmreexamcap = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "pmreexamcap");
  1515. var nigtfstexamcap = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "nigtfstexamcap");
  1516. var nigtreexamcap = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "nigtreexamcap");
  1517. var amtotalexamcap = parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "amtotalexamcap"));
  1518. var pmtotalexamcap = parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "pmtotalexamcap"));
  1519. var nigttotalexamcap = parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "nigttotalexamcap"));
  1520. var amcapa = parseInt(amfstexamcap) + parseInt(amreexamcap) + parseInt(amtotalexamcap);
  1521. var pmcapa = parseInt(pmfstexamcap) + parseInt(pmreexamcap) + parseInt(pmtotalexamcap);
  1522. var nigtcapa = parseInt(nigtfstexamcap) + parseInt(nigtreexamcap) + parseInt(nigttotalexamcap);
  1523. if(amcapa > capano)
  1524. {
  1525. sysf_messageBox(parseInt(i+1)+"번째 줄의 오전 정원이 "+ capano +" 명을 초과합니다. 확인 후 다시 시도해 주세요. ","E999");
  1526. return;
  1527. }
  1528. else if(pmcapa > capano)
  1529. {
  1530. sysf_messageBox(parseInt(i+1)+"번째 줄이 오후 정원이 "+ capano +" 명을 초과합니다. 확인 후 다시 시도해 주세요. ","E999");
  1531. return;
  1532. }
  1533. else if(nigtcapa > capano)
  1534. {
  1535. sysf_messageBox(parseInt(i+1)+"번째 줄이 야간 정원이 "+ capano +" 명을 초과합니다. 확인 후 다시 시도해 주세요. ","E999");
  1536. return;
  1537. }
  1538. else if(amtotalexamcap > capano)
  1539. {
  1540. sysf_messageBox(parseInt(i+1)+"번째 줄이 오전 총정원이 "+ capano +" 명을 초과합니다. 확인 후 다시 시도해 주세요. ","E999");
  1541. return;
  1542. }
  1543. else if(pmtotalexamcap > capano)
  1544. {
  1545. sysf_messageBox(parseInt(i+1)+"번째 줄이 오후 총정원이 "+ capano +" 명을 초과합니다. 확인 후 다시 시도해 주세요. ","E999");
  1546. return;
  1547. }
  1548. else if(nigttotalexamcap > capano)
  1549. {
  1550. sysf_messageBox(parseInt(i+1)+"번째 줄이 야간 총정원이 "+ capano +" 명을 초과합니다. 확인 후 다시 시도해 주세요. ","E999");
  1551. return;
  1552. }
  1553. }
  1554. }
  1555. }
  1556. }
  1557. if(capacheckyn == 'Y')
  1558. {
  1559. ds_send_updatedata.setColumn(0, "capacheckyn", capacheckyn);
  1560. ds_send_updatedata.setColumn(0, "capano", capano);
  1561. }
  1562. //정규일정 생성시 기존 내역 삭제여부 체크
  1563. //var cnt = getNodesetCount("/root/init/ordschecrethist/ordschecrethistlist/weeks");
  1564. var cnt = ds_init_ordschecrethist_ordschecrethistlist.rowcount;
  1565. //cnt = cnt -1;
  1566. if(regltempflag == 'YY')
  1567. {
  1568. for( var i = 0; i < cnt; i ++ )
  1569. {
  1570. if( ds_init_ordschecrethist_ordschecrethistlist.getColumn(i, "reglscheflag") == 'Y' )
  1571. {
  1572. var yfromdd = ds_init_ordschecrethist_ordschecrethistlist.getColumn(i, "fromdd");
  1573. var ytodd = ds_init_ordschecrethist_ordschecrethistlist.getColumn(i, "todd");
  1574. var cfromdd = ds_main.getColumn(0, "schecretfromdd");
  1575. var ctodd = ds_main.getColumn(0, "schecrettodd");
  1576. if( yfromdd <= ctodd && ytodd >= cfromdd)
  1577. {
  1578. var rtn = sysf_messageBox("기존에 정규일정이 존재 합니다. 기존 일정을 삭제 하시겠습니까? ", "Q999")
  1579. if (rtn == 6)
  1580. { // Yes : 6 / No : 7 / Cancel : 2
  1581. ds_send_updatedata.setColumn(0, "bfdatadel", ds_main.getColumn(0, "bfdatadel"));
  1582. }
  1583. else
  1584. {
  1585. ds_send_updatedata.setColumn(0, "bfdatadel", "");
  1586. }
  1587. }
  1588. }
  1589. }
  1590. }
  1591. var strRegItempFlag = String(ds_main.getColumn(0, "regltempflag")).substring(0,1);
  1592. ds_send_updatedata.setColumn(0, "regltempflag", strRegItempFlag);
  1593. if(regltempflag == 'YY')
  1594. {
  1595. if(sysf_messageBox("정규일정을 생성 하시겠습니까?", "Q999") != 6)
  1596. {
  1597. return;
  1598. }
  1599. }
  1600. else if(regltempflag == 'NN')
  1601. {
  1602. if(sysf_messageBox("임시일정을 생성 하시겠습니까?", "Q999") != 6)
  1603. {
  1604. return;
  1605. }
  1606. }
  1607. else if(regltempflag == 'ZZ')
  1608. {
  1609. if(sysf_messageBox("대진일정을 생성 하시겠습니까?", "Q999") != 6)
  1610. {
  1611. return;
  1612. }
  1613. }
  1614. else if(regltempflag == 'SS')
  1615. {
  1616. if(sysf_messageBox("특별일정을 생성 하시겠습니까?", "Q999") != 6)
  1617. {
  1618. return;
  1619. }
  1620. }
  1621. else if(regltempflag == 'VV')
  1622. {
  1623. if(sysf_messageBox("기타(임시)일정을 생성 하시겠습니까?", "Q999") != 6)
  1624. {
  1625. return;
  1626. }
  1627. }
  1628. else if(regltempflag == 'XX')
  1629. {
  1630. if(sysf_messageBox("기타(검사)일정을 생성 하시겠습니까?", "Q999") != 6)
  1631. {
  1632. return;
  1633. }
  1634. }
  1635. var oParam = {};
  1636. oParam.id = "TXPMB00708";
  1637. oParam.service = "pambaseinfomngtapp.OrdSche";
  1638. oParam.method = "reqCreateOrdSche";
  1639. oParam.inds = "cond=ds_send_updatedata ordschecrite=ds_send_updatedata_datalist";
  1640. oParam.outds = "";
  1641. oParam.async = false;
  1642. oParam.callback = "cf_callback";
  1643. tranf_submit(oParam);
  1644. if(arErrorCode.pop("TXPMB00708") > -1)
  1645. {
  1646. sysf_messageBox("일정생성", "I002");
  1647. }
  1648. else
  1649. {
  1650. sysf_messageBox("일정생성이 비정상 종료! 최종진료생성일 확인!", "I999");
  1651. return;
  1652. }
  1653. //진료일정 생성시 격주 휴무 체크
  1654. var cur_row = ds_init_orddrid_orddridlist.rowposition;
  1655. ds_main_biweekcheck.setColumn(0, "fromdd", ds_main.getColumn(0, "schecretfromdd"));
  1656. ds_main_biweekcheck.setColumn(0, "todd", ds_main.getColumn(0, "schecrettodd"));
  1657. ds_main_biweekcheck.setColumn(0, "orddeptcd", ds_main.getColumn(0, "orddeptcd"));
  1658. ds_main_biweekcheck.setColumn(0, "orddrid", ds_init_orddrid_orddridlist.getColumn(cur_row, "cd"));
  1659. var cnt = "";
  1660. ds_main_holicheck_biweeklycheck_check.clearData();
  1661. ds_send_updatedata_datalist.clearData();
  1662. //격주 휴무 체크 후 진료일정 생성 -- 추가
  1663. var oParam = {};
  1664. oParam.id = "TRPMB00714";
  1665. oParam.service = "pambaseinfomngtapp.OrdSche";
  1666. oParam.method = "reqGetCheckOrdSche";
  1667. oParam.inds = "req=ds_main_biweekcheck";
  1668. oParam.outds = "ds_main_holicheck_biweeklycheck_check=biweeklycheck";
  1669. oParam.async = false;
  1670. oParam.callback = "cf_callback";
  1671. tranf_submit(oParam);
  1672. if(arErrorCode.pop("TRPMB00714") > -1)
  1673. {
  1674. cnt = ds_main_holicheck_biweeklycheck_check.getColumn(0, "cnt");
  1675. }
  1676. if(cnt != "0")
  1677. {
  1678. var rtn = sysf_messageBox("변경하시려는 일정에 격주휴무가 있습니다. 격주 휴무를 ", "Q001")
  1679. if (rtn == 6)
  1680. { // Yes : 6 / No : 7 / Cancel : 2
  1681. var oParam = {};
  1682. oParam.id = "TXPMB00715";
  1683. oParam.service = "pambaseinfomngtapp.OrdSche";
  1684. oParam.method = "reqDelCheckOrdSche";
  1685. oParam.inds = "req=ds_main_biweekcheck";
  1686. oParam.outds = "";
  1687. oParam.async = false;
  1688. //oParam.callback = "cf_TXPMB00715";
  1689. tranf_submit(oParam);
  1690. }
  1691. }
  1692. fGetLastOrdScheCretDD();
  1693. ds_send_updatedata_datalist.clearData();
  1694. }
  1695. //최종일정생성일을 조회합니다.
  1696. function fGetLastOrdScheCretDD()
  1697. {
  1698. var cur_row = ds_init_orddrid_orddridlist.rowposition;
  1699. if( cur_row >= 0)
  1700. {
  1701. ds_send.setColumn(0, "orddrid", ds_init_orddrid_orddridlist.getColumn(cur_row, "cd"));ds_init_orddrid_orddridlist
  1702. ds_send.setColumn(0, "orddeptcd", ds_main.getColumn(0, "orddeptcd"));
  1703. var oParam = {};
  1704. oParam.id = "TRPMB00702";
  1705. oParam.service = "pambaseinfomngtapp.OrdSche";
  1706. oParam.method = "reqGetLastCretDD";
  1707. oParam.inds = "req=ds_send";
  1708. oParam.outds = "ds_main_result_lastordschecret=lastordschecret ds_main_result_ordschecrethist=ordschecrethist";
  1709. oParam.async = false;
  1710. oParam.callback = "cf_callback";
  1711. tranf_submit(oParam);
  1712. if(arErrorCode.pop("TRPMB00702") < 0)
  1713. {
  1714. sysf_messageBox("최종일정생성일을 가져올 수 없습니다.", "E999", "");
  1715. }
  1716. else
  1717. {
  1718. //기간별일정 생성 내역 조회
  1719. ds_init_ordschecrethist_ordschecrethistlist.clearData();
  1720. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "weeks", "string", "기간별 진료일정생성 내역");
  1721. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "fromdd", "string", "");
  1722. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "todd", "string", "");
  1723. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "seqno", "string", "0");
  1724. //dsf_copyDs 사용하기위하여 컬럼 추가 생성
  1725. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "ordcretdegree", "string", "");
  1726. dsf_makeValue(ds_init_ordschecrethist_ordschecrethistlist, "reglscheflag", "string", "");
  1727. ds_main.setColumn(0, "ordschecrethist", "0");
  1728. dsf_copyDs(ds_init_ordschecrethist_ordschecrethistlist, ds_main_result_ordschecrethist, "after");
  1729. var curDate = ds_main_result_lastordschecret.getColumn(0, "lastcretdd");
  1730. ds_main.setColumn(0, "lastcretdd", curDate);
  1731. ds_main.setColumn(0, "ordschecretno", "0");
  1732. if( curDate == '' || curDate == ' ')
  1733. {
  1734. curDate = utlf_getCurrentDate();
  1735. }
  1736. ds_main.setColumn(0, "schecretfromdd", utlf_getCurrentDate());
  1737. if( utlf_isValidDateTime(curDate, "YYYYMMDD") )
  1738. {
  1739. ds_main.setColumn(0, "schecrettodd", curDate);
  1740. }
  1741. else
  1742. {
  1743. ds_main.setColumn(0, "schecrettodd", "20100228");
  1744. }
  1745. }
  1746. }
  1747. else return;
  1748. }
  1749. function button1_onclick(obj:Button, e:ClickEventInfo)
  1750. {
  1751. var strDay = String(ds_main.getColumn(0, "schecretfromdd")).toDate().getDayOfWeek("K");
  1752. var Daytoday = utlf_getDateInterval(ds_main.getColumn(0, "schecretfromdd"),ds_main.getColumn(0, "schecrettodd"));
  1753. //희망일자 생성기간과 진료일정 기준자료의 요일 비교 체크
  1754. if(Daytoday < 7)
  1755. {
  1756. var nodeList = ds_main_ordlist_ordschecrite_ordschecritelist.getCaseCount("check == 'Y'");
  1757. //var rCSV = getNodeListCSV(nodeList);
  1758. var rows = ds_main_ordlist_ordschecrite_ordschecritelist.rowcount;
  1759. if( nodeList == 0)
  1760. {
  1761. sysf_messageBox("일정을 생성할 기준자료가 선택되지", "E007");
  1762. return false;
  1763. }
  1764. else
  1765. {
  1766. //그리드 체크
  1767. for( var i = 0; i < rows; i++)
  1768. {
  1769. var cnt = "0";
  1770. var dayinterval = Daytoday;
  1771. var schecretfromdd = ds_main.getColumn(0, "schecretfromdd");
  1772. if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "dwcd") == '0' )
  1773. {
  1774. var dwcd = "일";
  1775. }
  1776. else if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "dwcd") == '1' )
  1777. {
  1778. var dwcd = "월";
  1779. }
  1780. else if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "dwcd") == '2' )
  1781. {
  1782. var dwcd = "화";
  1783. }
  1784. else if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "dwcd") == '3')
  1785. {
  1786. var dwcd = "수";
  1787. }
  1788. else if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "dwcd") == '4' )
  1789. {
  1790. var dwcd = "목";
  1791. }
  1792. else if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "dwcd") == '5' )
  1793. {
  1794. var dwcd = "금";
  1795. }
  1796. else if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "dwcd") == '6' )
  1797. {
  1798. var dwcd = "토";
  1799. }
  1800. if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "check") == 'Y' )
  1801. {
  1802. var cnt = "0";
  1803. //요일수 체크
  1804. for( var j = 0; j < dayinterval+1; j++)
  1805. {
  1806. var dd = schecretfromdd.toDate().getDayOfWeek("K");
  1807. if(dwcd == dd)
  1808. {
  1809. cnt = parseInt(cnt) + parseInt("1");
  1810. }
  1811. schecretfromdd = schecretfromdd.toDate().getAddDate(+1,"D").getDateFormat();
  1812. }
  1813. if(cnt <= "0")
  1814. {
  1815. sysf_messageBox("진료일정기준자료 "+ parseInt(i+1) + " 번째 줄의 요일과 희망일정생성기간이 상이 합니다. 확인 후 다시 시도해 주세요", "E999", "");
  1816. return;
  1817. }
  1818. }
  1819. }
  1820. }
  1821. }
  1822. //당일진료생성 버튼 선택시 기준자료저장+기준상세자료저장+진료일정생성 버튼을 누른것과 같이 동작한다.
  1823. if (ds_main.getColumn(0, "regltempflag") == "YY")
  1824. {
  1825. sysf_messageBox("정규일정 생성불가! '임시' 또는 '과임시'를 선택하신 후 '당일진료생성'하세요!", "E999", "");
  1826. return false;
  1827. }
  1828. var rows = ds_main_ordlist_ordschecrite_ordschecritelist.rowcount;
  1829. var fixedRows = 0;
  1830. var dataRows = rows - fixedRows;
  1831. // model.removenode("/root/hidden/tmp");
  1832. // model.makeNode("/root/hidden/tmp");
  1833. //선택요일추가 초기화
  1834. ds_main_selectedday.clearData();
  1835. ds_main_selectedday.addRow();
  1836. //오늘날짜 세팅
  1837. if( ds_main.getColumn(0, "regltempflag") == 'XX' )
  1838. {
  1839. //검사일정
  1840. }
  1841. else
  1842. {
  1843. ds_main.setColumn(0, "schecretfromdd", utlf_getCurrentDate());
  1844. ds_main.setColumn(0, "schecrettodd", utlf_getCurrentDate());
  1845. }
  1846. fOrdScheCriteList();
  1847. for (var i = dataRows; i > 0; i--)
  1848. {
  1849. ds_main_ordlist_ordschecrite_ordschecritelist.updatecontrol = false;
  1850. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(i, "check", "N");
  1851. ds_main_ordlist_ordschecrite_ordschecritelist.updatecontrol = true;
  1852. }
  1853. }
  1854. function button10_onclick(obj:Button, e:ClickEventInfo)
  1855. {
  1856. //2008-06-04 이동식 추가 - 사용자 요구사항 - fGetLastOrdScheCretDD
  1857. //진료일정생성 후 변경이 있을때 기간별진료일정생성내역을 선택시 선택에 따라 진료일정기준자료가 보여지도록
  1858. var seqno = ds_main.getColumn(0, "ordschecretno");
  1859. if( seqno == '0' || seqno == '' || seqno == ' ')
  1860. {
  1861. //진료일정기준자료 조회 함수 호출
  1862. sysf_messageBox("삭제할 진료일정생성내역을 선택하세요!", "E999", "");
  1863. }
  1864. else
  1865. {
  1866. if( sysf_messageBox("선택한 진료일정생성내역을 삭제하시겠습니까?", "Q999", "") != 6 ){
  1867. return false;
  1868. }
  1869. //선택된 일정생성차수에 해당하는 기준자료 조회
  1870. ds_send.setColumn(0, "orddrid", ds_init_orddrid_orddridlist.getColumn(ds_init_orddrid_orddridlist.rowposition, "cd"));
  1871. ds_send.setColumn(0, "orddeptcd", ds_main.getColumn(0, "orddeptcd"));
  1872. ds_send.setColumn(0, "ordcretdegree", ds_init_ordschecrethist_ordschecrethistlist.lookup("seqno", seqno, "ordcretdegree"));
  1873. var oParam = {};
  1874. oParam.id = "TXPMB00713";
  1875. oParam.service = "pambaseinfomngtapp.OrdSche";
  1876. oParam.method = "reqDelOrdSche";
  1877. oParam.inds = "req=ds_send";
  1878. oParam.outds = "";
  1879. oParam.async = false;
  1880. oParam.callback = "cf_callback";
  1881. tranf_submit(oParam);
  1882. if(arErrorCode.pop("TXPMB00713") > -1)
  1883. {
  1884. fGetLastOrdScheCretDD();
  1885. }
  1886. }
  1887. }
  1888. function button3_onclick(obj:Button, e:ClickEventInfo)
  1889. {
  1890. fAddOrdList();
  1891. }
  1892. function fAddOrdList()
  1893. {
  1894. if( ds_main_selectedday.getColumn(0, "sun") == 'Y' )
  1895. {
  1896. if( fAddRow( '0' ) )
  1897. {
  1898. fSetTime( ds_main_selectedday.getColumn(0, "sunampm") );
  1899. }
  1900. }
  1901. if( ds_main_selectedday.getColumn(0, "mon") == 'Y' )
  1902. {
  1903. if( fAddRow( '1' ) )
  1904. {
  1905. fSetTime( ds_main_selectedday.getColumn(0, "monampm") );
  1906. }
  1907. }
  1908. if( ds_main_selectedday.getColumn(0, "tue") == 'Y' )
  1909. {
  1910. if( fAddRow( '2' ) )
  1911. {
  1912. fSetTime( ds_main_selectedday.getColumn(0, "tueampm") );
  1913. }
  1914. }
  1915. if( ds_main_selectedday.getColumn(0, "wed") == 'Y' )
  1916. {
  1917. if( fAddRow( '3' ) )
  1918. {
  1919. fSetTime( ds_main_selectedday.getColumn(0, "wedampm") );
  1920. }
  1921. }
  1922. if( ds_main_selectedday.getColumn(0, "thu") == 'Y' )
  1923. {
  1924. if( fAddRow( '4' ) )
  1925. {
  1926. fSetTime( ds_main_selectedday.getColumn(0, "thuampm") );
  1927. }
  1928. }
  1929. if( ds_main_selectedday.getColumn(0, "fri") == 'Y' )
  1930. {
  1931. if( fAddRow( '5' ) )
  1932. {
  1933. fSetTime( ds_main_selectedday.getColumn(0, "friampm") );
  1934. }
  1935. }
  1936. if( ds_main_selectedday.getColumn(0, "sat") == 'Y' )
  1937. {
  1938. if( fAddRow( '6' ) )
  1939. {
  1940. fSetTime( ds_main_selectedday.getColumn(0, "satampm") );
  1941. }
  1942. }
  1943. //선택요일추가 초기화
  1944. ds_main_selectedday.clearData();
  1945. ds_main_selectedday.addRow();
  1946. //checkboxlist 초기화
  1947. fn_setCnCheckbox1();
  1948. fn_setCnCheckbox3();
  1949. fn_setCnCheckbox4();
  1950. fn_setCnCheckbox5();
  1951. fn_setCnCheckbox6();
  1952. fn_setCnCheckbox7();
  1953. }
  1954. function fAddRow( dayType )
  1955. {
  1956. var cur_row = ds_init_orddrid_orddridlist.rowposition;
  1957. if( cur_row >= 0 )
  1958. {
  1959. var addRow = ds_main_ordlist_ordschecrite_ordschecritelist.addRow();
  1960. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "orddrid", ds_init_orddrid_orddridlist.getColumn(cur_row, "cd"));
  1961. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "orddeptcd", ds_main.getColumn(0, "orddeptcd"));
  1962. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "centcd", "-");
  1963. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "subdeptcd", ds_main.getColumn(0, "subdeptcd"));
  1964. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "seqno", 1);
  1965. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "dwcd", dayType);
  1966. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "amfstexamcap", 0);
  1967. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "amreexamcap", 0);
  1968. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "amtotalexamcap", 0);
  1969. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "pmfstexamcap", 0);
  1970. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "pmreexamcap", 0);
  1971. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "pmtotalexamcap", 0);
  1972. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "nigtfstexamcap", 0);
  1973. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "nigtreexamcap", 0);
  1974. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "nigttotalexamcap", 0);
  1975. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "totalexamcap", 0);
  1976. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "schecretbase", "T");
  1977. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "check", "Y");
  1978. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "schecretbase", "U");
  1979. ds_main_ordlist_ordschecrite_ordschecritelist.updatecontrol = false;
  1980. ds_main_ordlist_ordschecrite_ordschecritelist.setRowType(addRow, "i");
  1981. ds_main_ordlist_ordschecrite_ordschecritelist.updatecontrol = true;
  1982. if( radio1.value == 'YA' )
  1983. {
  1984. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "amtotalexamcap", 50);
  1985. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "totalexamcap", 50);
  1986. }
  1987. if (radio1.value == 'YP' )
  1988. {
  1989. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "pmtotalexamcap", 50);
  1990. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "totalexamcap", 50);
  1991. }
  1992. grd_ordschecrite.setFocus();
  1993. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "dwcd"));
  1994. grd_ordschecrite.showEditor(true);
  1995. return true;
  1996. }
  1997. else
  1998. {
  1999. sysf_messageBox("진료과코드와 진료의사코드를 얻어 올 수", "I004");
  2000. return false;
  2001. }
  2002. }
  2003. function fSetTime( ampm )
  2004. {
  2005. var bottom = ds_main_ordlist_ordschecrite_ordschecritelist.rowcount-1;
  2006. if( String(ampm).search('AM') != -1)
  2007. {
  2008. //오전 시작/종료시간 세팅
  2009. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(bottom, "amfromtm", '0830');
  2010. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(bottom, "amtotm", '1230');//1200 -> 1230 수정 파트장님 요청사항
  2011. }
  2012. if( String(ampm).search('PM') != -1)
  2013. {
  2014. //오후 시작/종료시간 세팅
  2015. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(bottom, "pmfromtm", '1330');
  2016. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(bottom, "pmtotm", '1655');
  2017. }
  2018. }
  2019. function bool7_onclick(obj:CheckBox, e:ClickEventInfo)
  2020. {
  2021. //진료일정기준자료 조회 함수 호출 by 설승민 20181207
  2022. fGetOrdShceCrite();
  2023. var cur_row = ds_init_orddrid_orddridlist.rowposition;
  2024. ds_hidden.setColumn(0, "drcheck","");
  2025. if(cur_row >= 0)
  2026. {
  2027. ds_hidden.setColumn(0, "drcheck", ds_init_orddrid_orddridlist.getColumn(cur_row, "sp"));
  2028. }
  2029. }
  2030. function radio1_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  2031. {
  2032. //선택요일추가 초기화
  2033. ds_main_selectedday.clearData();
  2034. ds_main_selectedday.addRow();
  2035. ds_main.setColumn(0, "bfdatadel", '');
  2036. var strDay = utlf_getCurrentDate().toDate().getDayOfWeek("K");
  2037. var curDate = utlf_getCurrentDate();
  2038. ds_main.setColumn(0, "schecretfromdd", curDate);
  2039. ds_main.setColumn(0, "schecrettodd", curDate);
  2040. if (strDay == "월")
  2041. {
  2042. ds_main_selectedday.setColumn(0, "mon","Y");
  2043. }
  2044. else if (strDay == "화")
  2045. {
  2046. ds_main_selectedday.setColumn(0, "tue","Y");
  2047. }
  2048. else if (strDay == "수")
  2049. {
  2050. ds_main_selectedday.setColumn(0, "wed","Y");
  2051. }
  2052. else if (strDay == "목")
  2053. {
  2054. ds_main_selectedday.setColumn(0, "thu","Y");
  2055. }
  2056. else if (strDay == "금")
  2057. {
  2058. ds_main_selectedday.setColumn(0, "fri","Y");
  2059. }
  2060. else if (strDay == "토")
  2061. {
  2062. ds_main_selectedday.setColumn(0, "sat","Y");
  2063. }
  2064. fSetCheckDay();
  2065. ds_main.setColumn(0, "schecretfromdd", curDate);
  2066. ds_main.setColumn(0, "schecrettodd", curDate);
  2067. }
  2068. function fSetCheckDay()
  2069. {
  2070. //오전
  2071. if (radio1.value == 'NA' || radio1.value == 'YA' || radio1.value == 'ZA')
  2072. {
  2073. if( ds_main_selectedday.getColumn(0, "mon") == 'Y' )
  2074. {
  2075. ds_main_selectedday.setColumn(0, "monampm", "AM");
  2076. }
  2077. if( ds_main_selectedday.getColumn(0, "tue") == 'Y' )
  2078. {
  2079. ds_main_selectedday.setColumn(0, "tueampm", "AM");
  2080. }
  2081. if( ds_main_selectedday.getColumn(0, "wed") == 'Y' )
  2082. {
  2083. ds_main_selectedday.setColumn(0, "wedampm", "AM");
  2084. }
  2085. if( ds_main_selectedday.getColumn(0, "thu") == 'Y' )
  2086. {
  2087. ds_main_selectedday.setColumn(0, "thuampm", "AM");
  2088. }
  2089. if( ds_main_selectedday.getColumn(0, "fri") == 'Y' )
  2090. {
  2091. ds_main_selectedday.setColumn(0, "friampm", "AM");
  2092. }
  2093. if( ds_main_selectedday.getColumn(0, "sat") == 'Y' )
  2094. {
  2095. ds_main_selectedday.setColumn(0, "satampm", "AM");
  2096. }
  2097. }
  2098. if (radio1.value == 'NP' || radio1.value == 'YP' || radio1.value == 'ZP')
  2099. {
  2100. if( ds_main_selectedday.getColumn(0, "mon") == 'Y' )
  2101. {
  2102. ds_main_selectedday.setColumn(0, "monampm", "PM");
  2103. }
  2104. if( ds_main_selectedday.getColumn(0, "tue") == 'Y' )
  2105. {
  2106. ds_main_selectedday.setColumn(0, "tueampm", "PM");
  2107. }
  2108. if( ds_main_selectedday.getColumn(0, "wed") == 'Y' )
  2109. {
  2110. ds_main_selectedday.setColumn(0, "wedampm", "PM");
  2111. }
  2112. if( ds_main_selectedday.getColumn(0, "thu") == 'Y' )
  2113. {
  2114. ds_main_selectedday.setColumn(0, "thuampm", "PM");
  2115. }
  2116. if( ds_main_selectedday.getColumn(0, "fri") == 'Y' )
  2117. {
  2118. ds_main_selectedday.setColumn(0, "friampm", "PM");
  2119. }
  2120. if( ds_main_selectedday.getColumn(0, "sat") == 'Y' )
  2121. {
  2122. ds_main_selectedday.setColumn(0, "satampm", "PM");
  2123. }
  2124. }
  2125. if( ds_main_selectedday.getColumn(0, "sun") == 'Y' )
  2126. {
  2127. if( fAddRow( '0' ) )
  2128. {
  2129. fSetTime( ds_main_selectedday.getColumn(0, "sunampm") );
  2130. }
  2131. }
  2132. if( ds_main_selectedday.getColumn(0, "mon") == 'Y' )
  2133. {
  2134. if( fAddRow( '1' ) )
  2135. {
  2136. fSetTime( ds_main_selectedday.getColumn(0, "monampm") );
  2137. }
  2138. }
  2139. if( ds_main_selectedday.getColumn(0, "tue") == 'Y' )
  2140. {
  2141. if( fAddRow( '2' ) )
  2142. {
  2143. fSetTime( ds_main_selectedday.getColumn(0, "tueampm") );
  2144. }
  2145. }
  2146. if( ds_main_selectedday.getColumn(0, "wed") == 'Y' )
  2147. {
  2148. if( fAddRow( '3' ) )
  2149. {
  2150. fSetTime( ds_main_selectedday.getColumn(0, "wedampm") );
  2151. }
  2152. }
  2153. if( ds_main_selectedday.getColumn(0, "thu") == 'Y' )
  2154. {
  2155. if( fAddRow( '4' ) )
  2156. {
  2157. fSetTime( ds_main_selectedday.getColumn(0, "thuampm") );
  2158. }
  2159. }
  2160. if( ds_main_selectedday.getColumn(0, "fri") == 'Y' )
  2161. {
  2162. if( fAddRow( '5' ) )
  2163. {
  2164. fSetTime( ds_main_selectedday.getColumn(0, "friampm") );
  2165. }
  2166. }
  2167. if( ds_main_selectedday.getColumn(0, "sat") == 'Y' )
  2168. {
  2169. if( fAddRow( '6' ) )
  2170. {
  2171. fSetTime( ds_main_selectedday.getColumn(0, "satampm") );
  2172. }
  2173. }
  2174. }
  2175. function fCalculateTotalExamcap()
  2176. {
  2177. var cur_row = ds_main_ordlist_ordschecrite_ordschecritelist.rowposition;
  2178. var amfstexamcap = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "amfstexamcap");
  2179. if( utlf_isNull(amfstexamcap))
  2180. {
  2181. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(cur_row, "amfstexamcap", 0);
  2182. amfstexamcap = 0;
  2183. }
  2184. var amreexamcap = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "amreexamcap");
  2185. if( utlf_isNull(amreexamcap))
  2186. {
  2187. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(cur_row, "amreexamcap", 0);
  2188. amreexamcap = 0;
  2189. }
  2190. var amtotalexamcap = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "amtotalexamcap");
  2191. if( utlf_isNull(amtotalexamcap))
  2192. {
  2193. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(cur_row, "amtotalexamcap", 0);
  2194. amtotalexamcap = 0;
  2195. }
  2196. if( (parseInt(amfstexamcap) > 0 || parseInt(amreexamcap) > 0) && parseInt(amtotalexamcap) > 0 ){
  2197. sysf_messageBox("초/재진정원과 총정원을 동시에 입력하실 수 없습니다. 오전정원을 수정해주십시요.", "E999", "");
  2198. }
  2199. var pmfstexamcap = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "pmfstexamcap");
  2200. if( utlf_isNull(pmfstexamcap))
  2201. {
  2202. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(cur_row, "pmfstexamcap", 0);
  2203. pmfstexamcap = 0;
  2204. }
  2205. var pmreexamcap = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "pmreexamcap");
  2206. if( utlf_isNull(pmreexamcap))
  2207. {
  2208. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(cur_row, "pmreexamcap", 0);
  2209. pmreexamcap = 0;
  2210. }
  2211. var pmtotalexamcap = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "pmtotalexamcap");
  2212. if( utlf_isNull(pmtotalexamcap))
  2213. {
  2214. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(cur_row, "pmtotalexamcap", 0);
  2215. pmtotalexamcap = 0;
  2216. }
  2217. if( (parseInt(pmfstexamcap) > 0 || parseInt(pmreexamcap) > 0) && parseInt(pmtotalexamcap) > 0 )
  2218. {
  2219. sysf_messageBox("초/재진정원과 총정원을 동시에 입력하실 수 없습니다. 오후정원을 수정해주십시요.", "E999", "");
  2220. }
  2221. var nigtfstexamcap = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "nigtfstexamcap");
  2222. if( utlf_isNull(nigtfstexamcap))
  2223. {
  2224. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(cur_row, "nigtfstexamcap", 0);
  2225. nigtfstexamcap = 0;
  2226. }
  2227. var nigtreexamcap = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "nigtreexamcap");
  2228. if( utlf_isNull(nigtreexamcap))
  2229. {
  2230. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(cur_row, "nigtreexamcap", 0);
  2231. nigtreexamcap = 0;
  2232. }
  2233. var nigttotalexamcap = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "nigttotalexamcap");
  2234. if( utlf_isNull(nigttotalexamcap))
  2235. {
  2236. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(cur_row, "nigttotalexamcap", 0);
  2237. nigttotalexamcap = 0;
  2238. }
  2239. if( (parseInt(nigtfstexamcap) > 0 || parseInt(nigtreexamcap) > 0) && parseInt(nigttotalexamcap) > 0 )
  2240. {
  2241. sysf_messageBox("초/재진정원과 총정원을 동시에 입력하실 수 없습니다. 야간정원을 수정해주십시요.", "E999", "");
  2242. }
  2243. var sum = 0;
  2244. sum = sum + parseInt(amfstexamcap);
  2245. sum = sum + parseInt(amreexamcap);
  2246. sum = sum + parseInt(amtotalexamcap);
  2247. sum = sum + parseInt(pmfstexamcap);
  2248. sum = sum + parseInt(pmreexamcap);
  2249. sum = sum + parseInt(pmtotalexamcap);
  2250. sum = sum + parseInt(nigtfstexamcap);
  2251. sum = sum + parseInt(nigtreexamcap);
  2252. sum = sum + parseInt(nigttotalexamcap);
  2253. if( ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "schecretbase") == 'T' )
  2254. {
  2255. var termCount = fCheckDataForCalc(ds_main_ordlist_ordschecrite_ordschecritelist.rowposition);
  2256. if( termCount > 0 )
  2257. {
  2258. sum = sum * termCount;
  2259. }
  2260. else
  2261. {
  2262. sum = 0;
  2263. }
  2264. }
  2265. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(cur_row,"totalexamcap", sum);
  2266. }
  2267. function fCheckDataForCalc(row)
  2268. {
  2269. var TermCnt = 0;
  2270. var fromtm = "";
  2271. var totm = "";
  2272. var term = "";
  2273. var fstexam = "";
  2274. var reexam = "";
  2275. var ampmnigt = "";
  2276. //진료시간 체크 -- 오전
  2277. fromtm = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "amfromtm");
  2278. totm = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "amtotm");
  2279. term = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "amterm");
  2280. fstexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "amfstexamcap");
  2281. reexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "amreexamcap");
  2282. totalexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "amtotalexamcap");
  2283. TermCnt = TermCnt + parseInt( fGetTermCnt( fromtm, totm, term, fstexam, reexam, totalexam ) );
  2284. //진료시간 체크 -- 오후
  2285. fromtm = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "pmfromtm");
  2286. totm = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "pmtotm");
  2287. term = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "pmterm");
  2288. fstexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "pmfstexamcap");
  2289. reexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "pmreexamcap");
  2290. totalexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "pmtotalexamcap");
  2291. TermCnt = TermCnt + parseInt( fGetTermCnt( fromtm, totm, term, fstexam, reexam, totalexam ) );
  2292. //진료시간 체크 -- 야간
  2293. fromtm = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "nigtfromtm");
  2294. totm = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "nigttotm");
  2295. term = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "nigtterm");
  2296. fstexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "nigtfstexamcap");
  2297. reexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "nigtreexamcap");
  2298. totalexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "nigttotalexamcap");
  2299. TermCnt = TermCnt + parseInt( fGetTermCnt( fromtm, totm, term, fstexam, reexam, totalexam ) );
  2300. return TermCnt;
  2301. }
  2302. function fGetTermCnt( fromtm, totm, term, fstexam, reexam, totalexam )
  2303. {
  2304. var countInterval = 0;
  2305. var sumCap = 0;
  2306. var returnValue = 0;
  2307. if( utlf_isNull(fromtm) && utlf_isNull(totm))
  2308. {
  2309. return returnValue;
  2310. }
  2311. else
  2312. {
  2313. if( utlf_isValidDateTime( fromtm, "hhmm") )
  2314. {
  2315. if( utlf_isValidDateTime( totm, "hhmm") && (fromtm < totm) )
  2316. {
  2317. if( isNaN( term ) || parseInt(term) <= 0 )
  2318. {
  2319. return returnValue;
  2320. }
  2321. //정원체크 초/재진정원과 총정원 동시입력체크
  2322. if( parseInt(fstexam) > 0 && parseInt(fstexam) > 0 && parseInt(totalexam) > 0 )
  2323. {
  2324. return returnValue;
  2325. }
  2326. //총정원 체크
  2327. if( isNaN( totalexam ) || parseInt(totalexam) <= 0 )
  2328. {
  2329. //초진정원 체크
  2330. if( isNaN( fstexam ) || isNaN( reexam ) || parseInt(fstexam) + parseInt(reexam) <= 0 )
  2331. {
  2332. return returnValue;
  2333. }
  2334. }
  2335. }
  2336. else
  2337. {
  2338. return returnValue;
  2339. }
  2340. }
  2341. else
  2342. {
  2343. return returnValue;
  2344. }
  2345. //텀 갯수 계산
  2346. countInterval = getTimeInterval( fromtm, totm ) / 60; //두 시간 차를 초단위로 리턴 / 60 ==> 분단위로 변환
  2347. returnValue = Math.ceil(countInterval / parseInt(term) );
  2348. return returnValue;
  2349. }
  2350. }
  2351. function fCalculateTotalExamcapDetail()
  2352. {
  2353. var cur_row = ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.rowposition;
  2354. var fstexamcap = ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getColumn(cur_row, "fstexamcap");
  2355. if( utlf_isNull(fstexamcap))
  2356. {
  2357. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(cur_row, "fstexamcap", 0);
  2358. fstexamcap = 0;
  2359. }
  2360. var reexamcap = ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getColumn(cur_row, "reexamcap");
  2361. if( utlf_isNull(reexamcap))
  2362. {
  2363. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(cur_row, "reexamcap", 0);
  2364. reexamcap = 0;
  2365. }
  2366. var totalexamcap = ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getColumn(cur_row, "totalexamcap");
  2367. if( utlf_isNull(reexamcap))
  2368. {
  2369. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(cur_row, "totalexamcap", 0);
  2370. totalexamcap = 0;
  2371. }
  2372. if( (parseInt(fstexamcap) > 0 || parseInt(reexamcap) > 0) && parseInt(totalexamcap) > 0 )
  2373. {
  2374. sysf_messageBox("초/재진정원과 총정원을 동시에 입력하실 수 없습니다. 수정해주십시요.", "E999", "");
  2375. }
  2376. var sum = 0;
  2377. sum = sum + parseInt( fstexamcap );
  2378. sum = sum + parseInt( reexamcap );
  2379. sum = sum + parseInt( totalexamcap );
  2380. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(cur_row , "examcapsum", sum);
  2381. }
  2382. function grd_ordschecrite_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  2383. {
  2384. var cur_col = e.col;
  2385. var cur_row = e.row;
  2386. if( cur_row >= 0 && cur_col > 0)
  2387. {
  2388. if (ds_main_ordlist_ordschecrite_ordschecritelist.getRowType(cur_row) == 2)
  2389. {
  2390. return false;
  2391. }
  2392. var totalexamcap = parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "amtotalexamcap"))
  2393. + parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "pmtotalexamcap"))
  2394. + parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "nigttotalexamcap"));
  2395. //진료일정기준자료가 섹션일 때만 사용가능
  2396. if( ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "schecretbase") == 'T' )
  2397. {
  2398. //초진정원으로 변경 버튼 비활성화
  2399. button9.enable = false;
  2400. obj.setCellProperty("Body", obj.getBindCellIndex("Body", "check"), "edittype", "none");
  2401. obj.setCellProperty("Body", obj.getBindCellIndex("Body", "check"), "controlbackground", "silver");
  2402. obj.setCellProperty("Body", obj.getBindCellIndex("Body", "check"), "controlborder", "1 solid #708090cc");
  2403. }
  2404. else if( totalexamcap > 0 )
  2405. {
  2406. //초진정원으로 변경 버튼 비활성화
  2407. button9.enable = false;
  2408. obj.setCellProperty("Body", obj.getBindCellIndex("Body", "check"), "edittype", "none");
  2409. obj.setCellProperty("Body", obj.getBindCellIndex("Body", "check"), "controlbackground", "silver");
  2410. obj.setCellProperty("Body", obj.getBindCellIndex("Body", "check"), "controlborder", "1 solid #708090cc");
  2411. }
  2412. else
  2413. {
  2414. //초진정원으로 변경 버튼 활성화
  2415. button9.enable = true;
  2416. grd_ordschecritedetail.setCellProperty("Body", grd_ordschecritedetail.getBindCellIndex("Body", "check"), "edittype", "checkbox");
  2417. obj.setCellProperty("Body", obj.getBindCellIndex("Body", "check"), "controlbackground", "");
  2418. obj.setCellProperty("Body", obj.getBindCellIndex("Body", "check"), "controlborder", "");
  2419. }
  2420. fGetOrdScheCriteDetail();
  2421. }
  2422. }
  2423. function fGetOrdScheCriteDetail()
  2424. {
  2425. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.clearData();
  2426. var cur_row = ds_main_ordlist_ordschecrite_ordschecritelist.rowposition;
  2427. if( cur_row >= 0)
  2428. {
  2429. ds_send.setColumn(0, "orddeptcd", ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "orddeptcd"));
  2430. ds_send.setColumn(0, "orddrid", ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "orddrid"));
  2431. ds_send.setColumn(0, "dwcd", ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "dwcd"));
  2432. ds_send.setColumn(0, "scheno", ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "scheno"));
  2433. var oParam = {};
  2434. oParam.id = "TRPMB00701";
  2435. oParam.service = "pambaseinfomngtapp.OrdSche";
  2436. oParam.method = "reqGetOrdScheCriteDetail";
  2437. oParam.inds = "req=ds_send";
  2438. oParam.outds = "ds_main_ordlist_ordschecritedetail_ordschecritedetaillist=ordschecritedetaillist";
  2439. oParam.async = false;
  2440. oParam.callback = "cf_callback";
  2441. tranf_submit(oParam);
  2442. if(arErrorCode.pop("TRPMB00701") > -1)
  2443. {
  2444. for(var i = 0; i < ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.rowcount; i++)
  2445. {
  2446. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.updatecontrol = false;
  2447. dsf_makeValue(ds_main_ordlist_ordschecritedetail_ordschecritedetaillist, "ordtm_old", "string", ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getColumn(i, "ordtm"), i);
  2448. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.updatecontrol = true;
  2449. }
  2450. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.addColumn("check", "string");
  2451. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.updatecontrol = false;
  2452. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.enableevent = false;
  2453. var iRow = ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.insertRow(0);
  2454. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn( iRow, "subdeptcd", "합계 : ");
  2455. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn( iRow, "fstexamcap", ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getSum('fstexamcap'));
  2456. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn( iRow, "reexamcap", ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getSum('reexamcap'));
  2457. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn( iRow, "totalexamcap", ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getSum('totalexamcap'));
  2458. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn( iRow, "examcapsum", ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getSum('examcapsum'));
  2459. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setRowType(iRow, Dataset.ROWTYPE_NORMAL);
  2460. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.enableevent = true;
  2461. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.updatecontrol = true;
  2462. }
  2463. }
  2464. }
  2465. function btn_addrow_onclick(obj:Button, e:ClickEventInfo)
  2466. {
  2467. fAddRow();
  2468. }
  2469. function btn_copyrow_onclick(obj:Button, e:ClickEventInfo)
  2470. {
  2471. row = ds_main_ordlist_ordschecrite_ordschecritelist.rowposition;
  2472. if( row >= 0 )
  2473. {
  2474. var addRow = ds_main_ordlist_ordschecrite_ordschecritelist.addRow();
  2475. ds_main_ordlist_ordschecrite_ordschecritelist.copyRow(addRow, ds_main_ordlist_ordschecrite_ordschecritelist, row);
  2476. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "seqno", 1);
  2477. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(addRow, "dwcd_old", "");
  2478. }
  2479. else sysf_messageBox("복사할 행이 선택되지", "E007");
  2480. }
  2481. function btn_delrow_onclick(obj:Button, e:ClickEventInfo)
  2482. {
  2483. var startRow = 0;
  2484. var endRow = ds_main_ordlist_ordschecrite_ordschecritelist.rowcount;
  2485. var checkRow = startRow;
  2486. for( var i = startRow; i < endRow; i++)
  2487. {
  2488. if( ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "check") == 'Y' )
  2489. {
  2490. var Row = i+1;
  2491. if(!utlf_isNull(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "fromtodd")) && ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "fromtodd") != ' '
  2492. && ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "fromtodd")!= '-' && ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "fromtodd") != '~')
  2493. {
  2494. var fromtodd = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "fromtodd");
  2495. var todd = String(fromtodd).substring(9,17);
  2496. var curDate = utlf_getCurrentDate();
  2497. if(todd > curDate)
  2498. {
  2499. if(sysf_messageBox("선택하신 기준자료는 이미 일정이 생성되어 있는 자료 입니다. 삭제하시려면 해당 진료일정을 삭제 후 다시 시도해 주세요", "E999") != 6) return;
  2500. }
  2501. }
  2502. //디비에 입력되지 않은 데이터는 그리드에서만 삭제한다.
  2503. if (ds_main_ordlist_ordschecrite_ordschecritelist.getRowType(i) == 2)
  2504. {
  2505. ds_main_ordlist_ordschecrite_ordschecritelist.deleteRow(i);
  2506. continue;
  2507. }
  2508. else
  2509. {
  2510. ds_main_ordlist_ordschecrite_ordschecritelist.updatecontrol = false;
  2511. ds_main_ordlist_ordschecrite_ordschecritelist.setRowType(i, "d");
  2512. ds_main_ordlist_ordschecrite_ordschecritelist.updatecontrol = true;
  2513. checkRow++;
  2514. if(sysf_messageBox("선택된 행의 진료일정기준자료를", "Q001") != 6) return;
  2515. }
  2516. }
  2517. }
  2518. //삭제할 행의 정보를 send에 넣는다.
  2519. ds_send_updatedata_datalist.clearData();
  2520. var updategrid = grdf_getGridUpdateData(grd_ordschecrite, "d");
  2521. grdf_setStatusColumn(updategrid, "status");
  2522. ds_send_updatedata_datalist.copyData(updategrid, true);
  2523. var oParam = {};
  2524. oParam.id = "TXPMB00705";
  2525. oParam.service = "pambaseinfomngtapp.OrdSche";
  2526. oParam.method = "reqDelOrdScheCrite";
  2527. oParam.inds = "req=ds_send_updatedata_datalist";
  2528. oParam.async = false;
  2529. oParam.callback = "cf_callback";
  2530. tranf_submit(oParam);
  2531. if(arErrorCode.pop("TXPMB00705") > -1)
  2532. {
  2533. //진료일정기준자료 조회 함수 호출
  2534. startRow = 0;
  2535. endRow = ds_main_ordlist_ordschecrite_ordschecritelist.rowcount;
  2536. checkRow = startRow;
  2537. for( var i = startRow; i < endRow; i++)
  2538. {
  2539. if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(checkRow, "check") == 'Y' )
  2540. {
  2541. //디비에서 삭제한 데이터를 그리드에서 삭제한다.
  2542. ds_main_ordlist_ordschecrite_ordschecritelist.updatecontrol = false;
  2543. ds_main_ordlist_ordschecrite_ordschecritelist.setRowType(checkRow, "");
  2544. ds_main_ordlist_ordschecrite_ordschecritelist.updatecontrol = true;
  2545. ds_main_ordlist_ordschecrite_ordschecritelist.deleteRow(checkRow);
  2546. }
  2547. else
  2548. {
  2549. checkRow++;
  2550. }
  2551. }
  2552. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.clearData();
  2553. }
  2554. ds_send_updatedata_datalist.clearData();
  2555. }
  2556. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  2557. {
  2558. //전문분야저장 주석처리
  2559. fSave();
  2560. //선택요일추가 초기화
  2561. ds_main_selectedday.clearData();
  2562. ds_main_selectedday.addRow();
  2563. }
  2564. function fCheckData()
  2565. {
  2566. var cur_row = ds_main_ordlist_ordschecrite_ordschecritelist.rowcount;
  2567. var row = 0;
  2568. var fromtm = "";
  2569. var totm = "";
  2570. var term = "";
  2571. var fstexam = "";
  2572. var reexam = "";
  2573. var schecretbase = "";
  2574. var dayCD = "";
  2575. var ampmnigt = "";
  2576. for(var i = 0; i < cur_row; i++)
  2577. {
  2578. row = i;
  2579. if( ds_main_ordlist_ordschecrite_ordschecritelist.getRowType(row) != 1 )
  2580. {
  2581. //요일 데이터 체크
  2582. dayCD = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "dwcd");
  2583. if( ! (dayCD == "0" || dayCD == "1" || dayCD == "2" || dayCD == "3" || dayCD == "4" || dayCD == "5" || dayCD == "6"))
  2584. {
  2585. sysf_messageBox(parseInt(row+1) + "번째 줄의 " + "요일구분이 정확히 입력되지 않았습니다.", "E999", "");
  2586. grd_ordschecrite.setFocus();
  2587. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2588. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2589. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "dwcd"));
  2590. grd_ordschecrite.showEditor(true);
  2591. return false;
  2592. }
  2593. //생성기준 체크
  2594. schecretbase = String(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "schecretbase")).toUpperCase();
  2595. if( schecretbase != "U" && schecretbase != "T" )
  2596. {
  2597. sysf_messageBox(parseInt(row+1) + "번째 줄의 " + "생성기준 데이터를 잘못 입력하셨습니다.", "E999", "");
  2598. grd_ordschecrite.setFocus();
  2599. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2600. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2601. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "schecretbase"));
  2602. grd_ordschecrite.showEditor(true);
  2603. return false;
  2604. }
  2605. //진료시간 체크 -- 오전
  2606. fromtm = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "amfromtm");
  2607. totm = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "amtotm");
  2608. term = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "amterm");
  2609. fstexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "amfstexamcap");
  2610. reexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "amreexamcap");
  2611. totalexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "amtotalexamcap");
  2612. if( utlf_isNull(fromtm) && utlf_isNull(totm))
  2613. {
  2614. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "amordyn", "N");
  2615. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "amterm", 0);
  2616. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "amfstexamcap", 0);
  2617. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "amreexamcap", 0);
  2618. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "amtotalexamcap", 0);
  2619. }
  2620. else
  2621. {
  2622. if( utlf_isValidDateTime( fromtm, "hhmm") )
  2623. {
  2624. if( utlf_isValidDateTime( totm, "hhmm") && (fromtm < totm) )
  2625. {
  2626. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "amordyn", "Y");
  2627. //TERM 체크
  2628. if( schecretbase == "U" )
  2629. {
  2630. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "amterm", 0);
  2631. }
  2632. else
  2633. {
  2634. if( isNaN( term ) || parseInt(term) <= 0 )
  2635. {
  2636. sysf_messageBox(parseInt(row+1) + "번째 줄의 " + "오전 TERM을 잘못 입력하셨습니다.", "E999", "");
  2637. grd_ordschecrite.setFocus();
  2638. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2639. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2640. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "amterm"));
  2641. grd_ordschecrite.showEditor(true);
  2642. return false;
  2643. }
  2644. }
  2645. //오전정원체크 초/재진정원과 총정원 동시입력체크
  2646. if( parseInt(fstexam) > 0 && parseInt(fstexam) > 0 && parseInt(totalexam) > 0 )
  2647. {
  2648. sysf_messageBox(parseInt(row+1) + "번째 줄의 오전 초/재진정원과 총정원이 동시에 입력되었습니다. 수정해주십시요.", "E999", "");
  2649. grd_ordschecrite.setFocus();
  2650. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2651. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2652. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "amfstexamcap"));
  2653. grd_ordschecrite.showEditor(true);
  2654. return false;
  2655. }
  2656. //오전 총정원 체크
  2657. if( isNaN( totalexam ) || parseInt(totalexam) <= 0 )
  2658. {
  2659. //오전 초진정원 체크
  2660. if( isNaN( fstexam ) || isNaN( reexam ) || parseInt(fstexam) + parseInt(reexam) <= 0 )
  2661. {
  2662. sysf_messageBox(parseInt(row+1) + "번째 줄의 " + "오전 초진/재진 정원을 잘못 입력하셨습니다.", "E999", "");
  2663. grd_ordschecrite.setFocus();
  2664. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2665. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2666. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "amfstexamcap"));
  2667. grd_ordschecrite.showEditor(true);
  2668. return false;
  2669. }
  2670. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "amtotalexamcap", 0);
  2671. }
  2672. else
  2673. {
  2674. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "amfstexamcap", 0);
  2675. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "amreexamcap", 0);
  2676. }
  2677. }
  2678. else
  2679. {
  2680. sysf_messageBox(parseInt(row+1) + "번째 줄의 " + "오전진료 종료시간을 잘못 입력하셨습니다.", "E999", "");
  2681. grd_ordschecrite.setFocus();
  2682. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2683. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2684. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "amtotm"));
  2685. grd_ordschecrite.showEditor(true);
  2686. return false;
  2687. }
  2688. }
  2689. else
  2690. {
  2691. sysf_messageBox(parseInt(row+1) + "번째 줄의 " + "오전진료 시작시간을 잘못 입력하셨습니다.", "E999", "");
  2692. grd_ordschecrite.setFocus();
  2693. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2694. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2695. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "amfromtm"));
  2696. grd_ordschecrite.showEditor(true);
  2697. return false;
  2698. }
  2699. ampmnigt = "A";
  2700. } //오전 데이터 체크 종료
  2701. //진료시간 체크 -- 오후
  2702. fromtm = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "pmfromtm");
  2703. totm = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "pmtotm");
  2704. term = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "pmterm");
  2705. fstexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "pmfstexamcap");
  2706. reexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "pmreexamcap");
  2707. totalexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "pmtotalexamcap");
  2708. if( utlf_isNull(fromtm) && utlf_isNull(totm))
  2709. {
  2710. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "pmordyn", "N");
  2711. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "pmterm", 0);
  2712. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "pmfstexamcap", 0);
  2713. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "pmreexamcap", 0);
  2714. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "pmtotalexamcap", 0);
  2715. }
  2716. else
  2717. {
  2718. if( utlf_isValidDateTime( fromtm, "hhmm") )
  2719. {
  2720. if( utlf_isValidDateTime( totm, "hhmm") && (fromtm < totm) )
  2721. {
  2722. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "pmordyn", "Y");
  2723. //TERM 체크
  2724. if( schecretbase == "U" )
  2725. {
  2726. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "pmterm", 0);
  2727. }
  2728. else
  2729. {
  2730. if( isNaN( term ) || parseInt(term) <= 0 )
  2731. {
  2732. sysf_messageBox(parseInt(row+1) + "번째 줄의 " + "오후 TERM을 잘못 입력하셨습니다.", "E999", "");
  2733. grd_ordschecrite.setFocus();
  2734. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2735. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2736. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "pmterm"));
  2737. grd_ordschecrite.showEditor(true);
  2738. return false;
  2739. }
  2740. }
  2741. //오후정원체크 초/재진정원과 총정원 동시입력체크
  2742. if( parseInt(fstexam) > 0 && parseInt(fstexam) > 0 && parseInt(totalexam) > 0 )
  2743. {
  2744. sysf_messageBox(parseInt(row+1) + "번째 줄의 오후 초/재진정원과 총정원이 동시에 입력되었습니다. 수정해주십시요.", "E999", "");
  2745. grd_ordschecrite.setFocus();
  2746. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2747. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2748. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "pmfstexamcap"));
  2749. grd_ordschecrite.showEditor(true);
  2750. return false;
  2751. }
  2752. //오전 총정원 체크
  2753. if( isNaN( totalexam ) || parseInt(totalexam) <= 0 )
  2754. {
  2755. //오후 초진정원 체크
  2756. if( isNaN( fstexam ) || isNaN( reexam ) || parseInt(fstexam) + parseInt(reexam) <= 0 )
  2757. {
  2758. sysf_messageBox(parseInt(row+1) + "번째 줄의 " + "오후 초진/재진 정원을 잘못 입력하셨습니다.", "E999", "");
  2759. grd_ordschecrite.setFocus();
  2760. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2761. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2762. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "pmfstexamcap"));
  2763. grd_ordschecrite.showEditor(true);
  2764. return false;
  2765. }
  2766. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "pmtotalexamcap", 0);
  2767. }
  2768. else
  2769. {
  2770. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "pmfstexamcap", 0);
  2771. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "pmreexamcap", 0);
  2772. }
  2773. }
  2774. else
  2775. {
  2776. sysf_messageBox(parseInt(row+1) + "번째 줄의 " + "오후진료 종료시간을 잘못 입력하셨습니다.", "E999", "");
  2777. grd_ordschecrite.setFocus();
  2778. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2779. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2780. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "pmtotm"));
  2781. grd_ordschecrite.showEditor(true);
  2782. return false;
  2783. }
  2784. }
  2785. else
  2786. {
  2787. sysf_messageBox(parseInt(row+1) + "번째 줄의 " + "오후진료 시작시간을 잘못 입력하셨습니다.", "E999", "");
  2788. grd_ordschecrite.setFocus();
  2789. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2790. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2791. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "pmfromtm"));
  2792. grd_ordschecrite.showEditor(true);
  2793. return false;
  2794. }
  2795. ampmnigt = "P";
  2796. } //오후 데이터 체크 종료
  2797. //진료시간 체크 -- 야간
  2798. fromtm = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "nigtfromtm");
  2799. totm = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "nigttotm");
  2800. term = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "nigtterm");
  2801. fstexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "nigtfstexamcap");
  2802. reexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "nigtreexamcap");
  2803. totalexam = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "nigttotalexamcap");
  2804. if( utlf_isNull(fromtm) && utlf_isNull(totm))
  2805. {
  2806. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "nigtordyn", "N");
  2807. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "nigtterm", 0);
  2808. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "nigtfstexamcap", 0);
  2809. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "nigtreexamcap", 0);
  2810. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "nigttotalexamcap", 0);
  2811. }
  2812. else
  2813. {
  2814. if( utlf_isValidDateTime( fromtm, "hhmm") )
  2815. {
  2816. if( utlf_isValidDateTime( totm, "hhmm") && (fromtm < totm) )
  2817. {
  2818. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "nigtordyn", "Y");
  2819. //TERM 체크
  2820. if( schecretbase == "U" )
  2821. {
  2822. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "nigtterm", 0);
  2823. }
  2824. else
  2825. {
  2826. if( isNaN( term ) || parseInt(term) <= 0 )
  2827. {
  2828. sysf_messageBox(parseInt(row+1) + "번째 줄의 " + "야간 TERM을 잘못 입력하셨습니다.", "E999", "");
  2829. grd_ordschecrite.setFocus();
  2830. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2831. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2832. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "nigtterm"));
  2833. grd_ordschecrite.showEditor(true);
  2834. return false;
  2835. }
  2836. }
  2837. //야간정원체크 초/재진정원과 총정원 동시입력체크
  2838. if( parseInt(fstexam) > 0 && parseInt(fstexam) > 0 && parseInt(totalexam) > 0 )
  2839. {
  2840. sysf_messageBox(parseInt(row+1) + "번째 줄의 야간 초/재진정원과 총정원이 동시에 입력되었습니다. 수정해주십시요.", "E999", "");
  2841. grd_ordschecrite.setFocus();
  2842. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2843. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2844. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "nigtfstexamcap"));
  2845. grd_ordschecrite.showEditor(true);
  2846. return false;
  2847. }
  2848. //오전 총정원 체크
  2849. if( isNaN( totalexam ) || parseInt(totalexam) <= 0 )
  2850. {
  2851. //야간 초진정원 체크
  2852. if( isNaN( fstexam ) || isNaN( reexam ) || parseInt(fstexam) + parseInt(reexam) <= 0 )
  2853. {
  2854. sysf_messageBox(parseInt(row+1) + "번째 줄의 " + "야간 초진/재진 정원을 잘못 입력하셨습니다.", "E999", "");
  2855. grd_ordschecrite.setFocus();
  2856. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2857. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2858. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "nigtfstexamcap"));
  2859. grd_ordschecrite.showEditor(true);
  2860. return false;
  2861. }
  2862. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "nigttotalexamcap", 0);
  2863. }
  2864. else
  2865. {
  2866. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "nigtfstexamcap", 0);
  2867. ds_main_ordlist_ordschecrite_ordschecritelist.setColumn(row, "nigtreexamcap", 0);
  2868. }
  2869. }
  2870. else
  2871. {
  2872. sysf_messageBox(parseInt(row+1) + "번째 줄의 " + "야간진료 종료시간을 잘못 입력하셨습니다.", "E999", "");
  2873. grd_ordschecrite.setFocus();
  2874. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2875. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2876. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "nigttotm"));
  2877. grd_ordschecrite.showEditor(true);
  2878. return false;
  2879. }
  2880. }
  2881. else
  2882. {
  2883. sysf_messageBox(parseInt(row+1) + "번째 줄의 " + "야간진료 시작시간을 잘못 입력하셨습니다.", "E999", "");
  2884. grd_ordschecrite.setFocus();
  2885. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2886. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2887. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "nigtfromtm"));
  2888. grd_ordschecrite.showEditor(true);
  2889. return false;
  2890. }
  2891. ampmnigt = "N";
  2892. } //야간 데이터 체크 종료
  2893. //진료시간이 오전/오후/야간 모두 안들어가 있을 경우
  2894. if( utlf_isNull(ampmnigt))
  2895. {
  2896. sysf_messageBox(parseInt(row+1) + "번째 줄의 " + "진료시간이 입력되지 않았습니다.", "E999", "");
  2897. grd_ordschecrite.setFocus();
  2898. ds_main_ordlist_ordschecrite_ordschecritelist.clearSelect();
  2899. ds_main_ordlist_ordschecrite_ordschecritelist.rowposition = row;
  2900. grd_ordschecrite.setCellPos(grd_ordschecrite.getBindCellIndex("body", "amfromtm"));
  2901. grd_ordschecrite.showEditor(true);
  2902. return false;
  2903. }
  2904. ampmnigt = "";
  2905. } //수정이나 추가가 되었는지를 체크한다.
  2906. } //for 루프를 닫는다.
  2907. return true;
  2908. }
  2909. function fSave()
  2910. {
  2911. if( fCheckData() )
  2912. {
  2913. var cur_row = ds_main_ordlist_ordschecrite_ordschecritelist.rowcount;
  2914. if( cur_row > 0 )
  2915. {
  2916. if(sysf_messageBox("진료일정기준자료를 저장 하시겠습니까?", "Q999") != 6) return;
  2917. var updategrid = grdf_getGridUpdateData(grd_ordschecrite);
  2918. grdf_setStatusColumn(updategrid, "status");
  2919. ds_send_updatedata_datalist.copyData(updategrid, true);
  2920. var oParam = {};
  2921. oParam.id = "TXPMB00706";
  2922. oParam.service = "pambaseinfomngtapp.OrdSche";
  2923. oParam.method = "reqSaveOrdScheCrite";
  2924. oParam.inds = "req=ds_send_updatedata_datalist";
  2925. oParam.outds = "";
  2926. oParam.async = false;
  2927. oParam.callback = "cf_callback";
  2928. tranf_submit(oParam);
  2929. if(arErrorCode.pop("TXPMB00706") > -1)
  2930. {
  2931. //진료일정기준자료를 재 조회한다.
  2932. fGetOrdShceCrite();
  2933. ds_main_ordlist_ordschecrite_ordschecritelist.applyChange();
  2934. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.clearData();
  2935. }
  2936. ds_send_updatedata_datalist.clearData();
  2937. }
  2938. }
  2939. else
  2940. {
  2941. return false;
  2942. }
  2943. return true;
  2944. }
  2945. function button7_onclick(obj:Button, e:ClickEventInfo)
  2946. {
  2947. var fromdwcd = ds_send.getColumn(0, "fromdwcd");
  2948. var todwcd = ds_send.getColumn(0, "todwcd");
  2949. var fromampmflag = ds_send.getColumn(0, "fromampmflag");
  2950. var toampmflag = ds_send.getColumn(0, "toampmflag");
  2951. var fromscheno = "";
  2952. var toscheno = "";
  2953. var rows = ds_main_ordlist_ordschecrite_ordschecritelist.rowcount;
  2954. var fixedRows = 0;
  2955. var dataRows = parseInt(rows-1);
  2956. var check = 0;
  2957. var check2 = 0;
  2958. var flagcheck = 0;
  2959. var flagcheck2 = 0;
  2960. var checkfrom = 0;
  2961. var checkto = 0;
  2962. for (var i = dataRows ; i >= 0; i--)
  2963. {
  2964. if (fromdwcd == ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "dwcd"))
  2965. {
  2966. if(fromampmflag == 'A')
  2967. {
  2968. if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "amordyn") == 'Y')
  2969. {
  2970. check = check +1
  2971. checkfrom = 1;
  2972. fromscheno = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "scheno");
  2973. }
  2974. }
  2975. else if(fromampmflag == 'P')
  2976. {
  2977. if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "pmordyn") == 'Y')
  2978. {
  2979. check = check +1
  2980. checkfrom = 1;
  2981. fromscheno = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "scheno");
  2982. }
  2983. }
  2984. else if(fromampmflag == 'AP')
  2985. {
  2986. if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "amordyn") == 'Y' && ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "pmordyn") == 'Y')
  2987. {
  2988. check = check +1
  2989. checkfrom = 1;
  2990. fromscheno = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "scheno");
  2991. }
  2992. }
  2993. if (check > 1 )
  2994. {
  2995. sysf_messageBox("복사기능은 From, To 에 해당하는 요일이 진료일정 기준자료에 하나만 존재할때만 가능합니다. 중복요일을 삭제처리하신 ", "E012");
  2996. return false;
  2997. }
  2998. }
  2999. if (todwcd == ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "dwcd") )
  3000. {
  3001. if(toampmflag == 'A')
  3002. {
  3003. if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "amordyn") == 'Y')
  3004. {
  3005. check2 = check2 +1
  3006. checkto = 1;
  3007. toscheno = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "scheno");
  3008. }
  3009. }
  3010. else if(toampmflag == 'P')
  3011. {
  3012. if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "pmordyn") == 'Y')
  3013. {
  3014. check2 = check2 +1
  3015. checkto = 1;
  3016. toscheno = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "scheno");
  3017. }
  3018. }
  3019. else if(toampmflag == 'AP')
  3020. {
  3021. if(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "amordyn") == 'Y' && ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "pmordyn") == 'Y')
  3022. {
  3023. check2 = check2 +1
  3024. checkto = 1;
  3025. toscheno = ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(i, "scheno");
  3026. }
  3027. }
  3028. if (check2 > 1 )
  3029. {
  3030. sysf_messageBox("복사기능은 From, To 에 해당하는 요일이 진료일정 기준자료에 하나만 존재할때만 가능합니다. 중복요일을 삭제처리하신 ", "E012");
  3031. return false;
  3032. }
  3033. }
  3034. }
  3035. if (checkfrom == 0 || checkto == 0)
  3036. {
  3037. sysf_messageBox("복사기능은 From, To 에 해당하는 요일이 진료일정 기준자료에 존재하지 않습니다. 요일을 선택하신 ", "E012");
  3038. return false;
  3039. }
  3040. var cur_row = ds_init_orddrid_orddridlist.rowposition;
  3041. if(cur_row >= 0)
  3042. {
  3043. ds_send.setColumn(0, "orddeptcd", ds_main.getColumn(0, "orddeptcd"));
  3044. ds_send.setColumn(0, "orddrid", ds_init_orddrid_orddridlist.getColumn(cur_row, "cd"));
  3045. }
  3046. else
  3047. {
  3048. sysf_messageBox("진료과/진료의사 정보를 가져올 수 없습니다. 진료과/진료의사를 선택해 주세요.", "E999", "");
  3049. return false;
  3050. }
  3051. ds_send.setColumn(0, "fromscheno", fromscheno);
  3052. ds_send.setColumn(0, "toscheno", toscheno);
  3053. //2007-10-10 이동식 추가
  3054. if( ds_send.getColumn(0, "fromampmflag") != ds_send.getColumn(0, "toampmflag") )
  3055. {
  3056. sysf_messageBox("복사할 요일별 오전오후구분이 같이야합니다.", "E999", "");
  3057. return false;
  3058. }
  3059. //END..
  3060. //return;
  3061. var oParam = {};
  3062. oParam.id = "TXPMB00711";
  3063. oParam.service = "pambaseinfomngtapp.OrdSche";
  3064. oParam.method = "reqSaveDrDwcdScheDetail";
  3065. oParam.inds = "req=ds_send";
  3066. oParam.outds = "";
  3067. oParam.async = false;
  3068. oParam.callback = "cf_callback";
  3069. tranf_submit(oParam);
  3070. if(arErrorCode.pop("TXPMB00711") > -1)
  3071. {
  3072. sysf_messageBox("복사처리가 정상적으로", "I002");
  3073. ds_send.setColumn(0, "fromdwcd", "");
  3074. ds_send.setColumn(0, "fromampmflag", "");
  3075. ds_send.setColumn(0, "todwcd", "");
  3076. ds_send.setColumn(0, "toampmflag", "");
  3077. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.clearData();
  3078. }
  3079. }
  3080. function button9_onclick(obj:Button, e:ClickEventInfo)
  3081. {
  3082. var row = ds_main_ordlist_ordschecrite_ordschecritelist.rowposition;
  3083. var totalexamcap = parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "amtotalexamcap"))
  3084. + parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "pmtotalexamcap"))
  3085. + parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "nigttotalexamcap"));
  3086. //진료일정기준자료가 섹션일 때만 사용가능
  3087. if( ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "schecretbase")== 'T' )
  3088. {
  3089. sysf_messageBox("진료일정 생성기준이 [섹션]일 때만 선택한 상세기준자료를 초진정원으로 변경할 수 있습니다.", "E999", "");
  3090. return false;
  3091. }
  3092. else if( totalexamcap > 0 )
  3093. {
  3094. sysf_messageBox("기준자료가 [총정원]을 갖을 때는 초진정원으로 변경할 수 없습니다.", "E999", "");
  3095. return false;
  3096. }
  3097. //변경할 상세기준자료가 선택되지 않았을 때
  3098. var checkCnt = ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getCaseCount("check == 'Y'");
  3099. if( checkCnt < 1 )
  3100. {
  3101. sysf_messageBox("상세기준자료가 선택되지 않았습니다.", "E999", "");
  3102. return false;
  3103. }
  3104. //선택된 초진 내역 정원 체크
  3105. var fstexamcap = parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "amfstexamcap"))
  3106. + parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "pmfstexamcap"))
  3107. + parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(row, "nigtfstexamcap"));
  3108. if( checkCnt != fstexamcap )
  3109. {
  3110. sysf_messageBox("기준자료의 초진정원과 선택된 상세기준내역의 수가 다릅니다.( [초진정원 : " + fstexamcap + "], [선택내역 : " + checkCnt + " ] )" , "E999", "");
  3111. return false;
  3112. }
  3113. var cnt = ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.rowcount;
  3114. for( var i = 1; i < cnt; i ++ )
  3115. {
  3116. if( ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getColumn(i, "check") == 'Y' )
  3117. {
  3118. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.updatecontrol = false;
  3119. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setRowType(i, "u");
  3120. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(i, "fstexamcap", 1); //초진정원세팅
  3121. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(i, "reexamcap", 0); //재진정원세팅
  3122. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(i, "totalexamcap", 0); //총정원세팅
  3123. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.updatecontrol = true;
  3124. }
  3125. else
  3126. {
  3127. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.updatecontrol = false;
  3128. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setRowType(i, "u");
  3129. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(i, "fstexamcap", 0); //초진정원세팅
  3130. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(i, "reexamcap", 1); //재진정원세팅
  3131. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(i, "totalexamcap", 0); //총정원세팅
  3132. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.updatecontrol = true;
  3133. }
  3134. }
  3135. }
  3136. function button4_onclick(obj:Button, e:ClickEventInfo)
  3137. {
  3138. fAddRowDetail();
  3139. }
  3140. function fAddRowDetail()
  3141. {
  3142. var cur_row = ds_main_ordlist_ordschecrite_ordschecritelist.rowposition;
  3143. if( cur_row > 0 )
  3144. {
  3145. var bottom = ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.addRow();
  3146. if( ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getColumn(0, "subdeptcd") != '합계 : ' )
  3147. {
  3148. sysf_messageBox("기준자료를 더블클릭하여 수정할 상세기준자료를 조회하신 후 작업하세요!!", "E999", "");
  3149. return false;
  3150. }
  3151. //숨겨진 컬럼값 세팅
  3152. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(bottom, "orddrid", ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "orddrid"));
  3153. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(bottom, "orddeptcd", ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "orddeptcd"));
  3154. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(bottom, "centcd", ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "centcd"));
  3155. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(bottom, "subdeptcd", ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "subdeptcd"));
  3156. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(bottom, "seqno", 1);
  3157. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(bottom, "scheno", ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "scheno"));
  3158. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(bottom, "dwcd", ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(cur_row, "dwcd"));
  3159. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(bottom, "fstexamcap", 0);
  3160. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(bottom, "reexamcap", 0);
  3161. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(bottom, "totalexamcap", 0);
  3162. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(bottom, "examcapsum", 0);
  3163. grd_ordschecritedetail.setFocus();
  3164. grd_ordschecritedetail.setCellPos(grd_ordschecritedetail.getBindCellIndex("body", "ordtm"));
  3165. grd_ordschecritedetail.showEditor(true);
  3166. }
  3167. else sysf_messageBox("진료일정기준 정보를 얻어 올 수", "I004");
  3168. }
  3169. function button5_onclick(obj:Button, e:ClickEventInfo)
  3170. {
  3171. if(sysf_messageBox("선택된 행을", "Q001") != 6) return;
  3172. var cur_row = ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.rowposition;
  3173. if( cur_row >= 0 )
  3174. {
  3175. //디비에 입력되지 않은 데이터는 그리드에서만 삭제한다.
  3176. if (ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getRowType(cur_row) == 2)
  3177. {
  3178. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.deleteRow(cur_row);
  3179. return;
  3180. }
  3181. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.updatecontrol = false;
  3182. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setRowType(cur_row, "d");
  3183. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.updatecontrol = true;
  3184. //삭제할 행의 정보를 send에 넣는다.
  3185. var updategrid = grdf_getGridUpdateData(grd_ordschecritedetail, "d");
  3186. grdf_setStatusColumn(updategrid, "status");
  3187. ds_send_updatedata_datalist.copyData(updategrid, true);
  3188. var oParam = {};
  3189. oParam.id = "TXPMB00705";
  3190. oParam.service = "pambaseinfomngtapp.OrdSche";
  3191. oParam.method = "reqDelOrdScheCriteDetail";
  3192. oParam.inds = "req=ds_send_updatedata_datalist";
  3193. oParam.async = false;
  3194. oParam.callback = "cf_callback";
  3195. tranf_submit(oParam);
  3196. if(arErrorCode.pop("TXPMB00705") > -1)
  3197. {
  3198. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.updatecontrol = false;
  3199. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setRowType(cur_row, "");
  3200. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.updatecontrol = true;
  3201. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.deleteRow(cur_row);
  3202. }
  3203. }
  3204. }
  3205. function button6_onclick(obj:Button, e:ClickEventInfo)
  3206. {
  3207. fSaveDetail();
  3208. }
  3209. function fSaveDetail()
  3210. {
  3211. if( fCheckDetailData() )
  3212. {
  3213. var cur_row = ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.rowcount;
  3214. if( cur_row > 0 )
  3215. {
  3216. var updategrid = grdf_getGridUpdateData(grd_ordschecritedetail);
  3217. grdf_setStatusColumn(updategrid, "status");
  3218. ds_send_updatedata_datalist.copyData(updategrid, true);
  3219. var findRow = ds_send_updatedata_datalist.findRow("subdeptcd", "합계 : ");
  3220. if(findRow > -1)
  3221. {
  3222. ds_send_updatedata_datalist.deleteRow(findRow);
  3223. }
  3224. var oParam = {};
  3225. oParam.id = "TXPMB00710";
  3226. oParam.service = "pambaseinfomngtapp.OrdSche";
  3227. oParam.method = "reqSaveOrdScheCriteDetail";
  3228. oParam.inds = "req=ds_send_updatedata_datalist";
  3229. oParam.outds = "";
  3230. oParam.async = false;
  3231. oParam.callback = "cf_callback";
  3232. tranf_submit(oParam);
  3233. if(arErrorCode.pop("TXPMB00710") > -1)
  3234. {
  3235. //진료일정기준자료를 재 조회한다.
  3236. fGetOrdScheCriteDetail();
  3237. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.applyChange();
  3238. }
  3239. ds_send_updatedata_datalist.clearData();
  3240. }
  3241. }
  3242. else
  3243. {
  3244. return false;
  3245. }
  3246. return true;
  3247. }
  3248. //기준상세자료 에러 체크
  3249. function fCheckDetailData()
  3250. {
  3251. var cur_row = ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.rowcount;
  3252. var selected_row = ds_main_ordlist_ordschecrite_ordschecritelist.rowposition;
  3253. var row = 0;
  3254. var ordtm = "";
  3255. var ampmflag = "";
  3256. var fstexamcap = "";
  3257. var reexamcap = "";
  3258. var totalexamcap = "";
  3259. var checkFstExamCap = 0;
  3260. var checkReExamCap = 0;
  3261. var checkTotalExamCap = 0;
  3262. var checkSumExamCap = 0;
  3263. for(var i = 0; i < cur_row; i++)
  3264. {
  3265. if( ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getColumn(i, "subdeptcd") != '합계 : ' )
  3266. {
  3267. //진료시간 체크
  3268. ordtm = ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getColumn(i, "ordtm");
  3269. if( !utlf_isValidDateTime(ordtm, 'hhmm') )
  3270. {
  3271. sysf_messageBox( parseInt(i+1) + "번째 줄의 " + "진료시간이 잘못 입력되었습니다.", "E999", "");
  3272. grd_ordschecritedetail.setFocus();
  3273. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.clearSelect();
  3274. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.rowposition = i;
  3275. grd_ordschecritedetail.setCellPos(grd_ordschecritedetail.getBindCellIndex("body", "ordtm"));
  3276. grd_ordschecritedetail.showEditor(true);
  3277. return false;
  3278. }
  3279. //시간구분 체크
  3280. ampmflag = String(ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getColumn(i, "ampmflag")).toUpperCase();
  3281. if( ampmflag != 'A' && ampmflag != 'P' && ampmflag != 'N' )
  3282. {
  3283. sysf_messageBox( parseInt(i+1) + "번째 줄의 " + "시간구분이 잘못 입력되었습니다.", "E999", "");
  3284. grd_ordschecritedetail.setFocus();
  3285. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.clearSelect();
  3286. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.rowposition = i;
  3287. grd_ordschecritedetail.setCellPos(grd_ordschecritedetail.getBindCellIndex("body", "ampmflag"));
  3288. grd_ordschecritedetail.showEditor(true);
  3289. return false;
  3290. }
  3291. //초진/재진/총정원 체크
  3292. fstexamcap = ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getColumn(i, "fstexamcap");
  3293. reexamcap = ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getColumn(i, "reexamcap");
  3294. totalexamcap = ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.getColumn(i, "totalexamcap");
  3295. checkFstExamCap = parseInt(checkFstExamCap) + parseInt(fstexamcap);
  3296. checkReExamCap = parseInt(checkReExamCap) + parseInt(reexamcap);
  3297. checkTotalExamCap = parseInt(checkTotalExamCap) + parseInt(totalexamcap);
  3298. if( isNaN( totalexamcap ) || parseInt(totalexamcap) <= 0 )
  3299. {
  3300. //초진정원 체크
  3301. if( isNaN( fstexamcap ) || isNaN( reexamcap) || parseInt(fstexamcap) + parseInt(reexamcap) <= 0 )
  3302. {
  3303. sysf_messageBox(parseInt(i+1) + "번째 줄의 " + "초/재진 정원을 잘못 입력하셨습니다.", "E999", "");
  3304. grd_ordschecritedetail.setFocus();
  3305. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.clearSelect();
  3306. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.rowposition = i;
  3307. grd_ordschecritedetail.setCellPos(grd_ordschecritedetail.getBindCellIndex("body", "fstexamcap"));
  3308. grd_ordschecritedetail.showEditor(true);
  3309. return false;
  3310. }
  3311. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(i, "totalexamcap", 0);
  3312. }
  3313. else
  3314. {
  3315. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(i, "fstexamcap", 0);
  3316. ds_main_ordlist_ordschecritedetail_ordschecritedetaillist.setColumn(i, "reexamcap", 0);
  3317. }
  3318. }
  3319. }//for 루프를 닫는다.
  3320. //정원 변경사항 체크
  3321. //정원합계 계산
  3322. checkSumExamCap = parseInt(checkFstExamCap) + parseInt(checkReExamCap) + parseInt(checkTotalExamCap);
  3323. //기준자료가 구간일 경우에는 정원합계만 체크한다.
  3324. if( ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(ds_main_ordlist_ordschecrite_ordschecritelist.rowposition, "schecretbase") == 'T' )
  3325. {
  3326. if( ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(ds_main_ordlist_ordschecrite_ordschecritelist.rowposition, "totalexamcap") != checkSumExamCap )
  3327. {
  3328. sysf_messageBox("변경하신 상세기준자료의 정원합계와 기준자료의 정원합계가 다릅니다. 기준자료와 상세기준자료는 정원이 서로 같아야 합니다.", "E999", "");
  3329. return false;
  3330. }
  3331. //기준자료가 섹션일 때에는 초진/재진/총정원으로 구분해서 비교한다.
  3332. }
  3333. else
  3334. {
  3335. if( checkFstExamCap != parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(ds_main_ordlist_ordschecrite_ordschecritelist.rowposition, "amfstexamcap"))
  3336. + parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(ds_main_ordlist_ordschecrite_ordschecritelist.rowposition, "pmfstexamcap"))
  3337. + parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(ds_main_ordlist_ordschecrite_ordschecritelist.rowposition, "nigtfstexamcap")))
  3338. {
  3339. sysf_messageBox("변경하신 상세기준자료의 초진정원합계와 기준자료의 초진정원합계가 다릅니다. 기준자료와 상세기준자료는 정원이 서로 같아야 합니다.", "E999", "");
  3340. return false;
  3341. }
  3342. else if( checkReExamCap != parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(ds_main_ordlist_ordschecrite_ordschecritelist.rowposition, "amreexamcap"))
  3343. + parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(ds_main_ordlist_ordschecrite_ordschecritelist.rowposition, "pmreexamcap"))
  3344. + parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(ds_main_ordlist_ordschecrite_ordschecritelist.rowposition, "nigtreexamcap")))
  3345. {
  3346. sysf_messageBox("변경하신 상세기준자료의 재진정원합계와 기준자료의 재진정원합계가 다릅니다. 기준자료와 상세기준자료는 정원이 서로 같아야 합니다.", "E999", "");
  3347. return false;
  3348. }
  3349. else if( checkTotalExamCap != parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(ds_main_ordlist_ordschecrite_ordschecritelist.rowposition, "amtotalexamcap"))
  3350. + parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(ds_main_ordlist_ordschecrite_ordschecritelist.rowposition, "pmtotalexamcap"))
  3351. + parseInt(ds_main_ordlist_ordschecrite_ordschecritelist.getColumn(ds_main_ordlist_ordschecrite_ordschecritelist.rowposition, "nigttotalexamcap")))
  3352. {
  3353. sysf_messageBox("변경하신 상세기준자료의 총정원합계와 기준자료의 총정원합계가 다릅니다. 기준자료와 상세기준자료는 정원이 서로 같아야 합니다.", "E999", "");
  3354. return false;
  3355. }
  3356. }
  3357. return true;
  3358. }
  3359. function ds_main_ordlist_ordschecritedetail_ordschecritedetaillist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  3360. {
  3361. var row = e.row;
  3362. if(e.columnid == "check")
  3363. {
  3364. obj.updatecontrol = false;
  3365. obj.setColumn(e.row, "check", (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  3366. obj.setRowType(e.row, "");
  3367. obj.updatecontrol = true;
  3368. return false;
  3369. }
  3370. if(row > 0)
  3371. {
  3372. fCalculateTotalExamcapDetail();
  3373. }
  3374. }
  3375. function grd_ordschecritedetail_onsetfocus(obj:Grid, e:SetFocusEventInfo)
  3376. {
  3377. obj.position.top = line6.position.bottom;
  3378. button8.visible = true;
  3379. }
  3380. function button8_onclick(obj:Button, e:ClickEventInfo)
  3381. {
  3382. grd_ordschecritedetail.position.top = line3.position.bottom;
  3383. button8.visible = false;
  3384. }
  3385. function btn_addrow5_onclick(obj:Button, e:ClickEventInfo)
  3386. {
  3387. fInitialize();
  3388. }
  3389. function button27_onclick(obj:Button, e:ClickEventInfo)
  3390. {
  3391. frmf_open("SMPMB02500", "SMPMB02500", "", "", "1", "50", "50", "", "", "", "", "", "M");
  3392. }
  3393. function button25_onclick(obj:Button, e:ClickEventInfo)
  3394. {
  3395. frmf_open("SPPMB01003", "SPPMB01003", "", "", "1", "150", "150", "", "", "", "", "", "M");
  3396. }
  3397. function button20_onclick(obj:Button, e:ClickEventInfo)
  3398. {
  3399. var cur_row = ds_init_orddrid_orddridlist.rowposition;
  3400. if(cur_row >= 0)
  3401. {
  3402. frmf_setParameter("SMPMB00800_ORDDEPTCD", ds_main.getColumn(0, "orddeptcd"));
  3403. frmf_setParameter("SMPMB00800_ORDDRID", ds_init_orddrid_orddridlist.getColumn( cur_row, "cd"));
  3404. }
  3405. frmf_open("SMPMB00800", "SMPMB00800", "", "", "1", "50", "50", "", "", "", "", "", "M");
  3406. }
  3407. function button2_onclick(obj:Button, e:ClickEventInfo)
  3408. {
  3409. var cur_row = ds_init_orddrid_orddridlist.rowposition;
  3410. if(cur_row >= 0)
  3411. {
  3412. ds_temp_source.setColumn(0, "orddeptcd", ds_main.getColumn(0, "orddeptcd"));
  3413. ds_temp_source.setColumn(0, "orddrid", ds_init_orddrid_orddridlist.getColumn( cur_row, "cd"));
  3414. }
  3415. frmf_open("SMPMB00800", "SMPMB00800", "", "", "1", "50", "50", "", "", "", "", "", "M");
  3416. }
  3417. function grd_ordschecrite_oncloseup(obj:Grid, e:GridEditEventInfo)
  3418. {
  3419. var row = ds_main_ordlist_ordschecrite_ordschecritelist.rowposition;
  3420. grd_ordschecrite.setCellPos(4);
  3421. grd_ordschecrite.showEditor(true);
  3422. }
  3423. function ds_main_ordlist_ordschecrite_ordschecritelist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  3424. {
  3425. if(e.columnid == "check")
  3426. {
  3427. obj.updatecontrol = false;
  3428. obj.setColumn(e.row, "check", (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  3429. obj.setRowType(e.row, "");
  3430. obj.updatecontrol = true;
  3431. return false;
  3432. }
  3433. if( e.columnid == "dwcd")
  3434. {
  3435. var old = e.oldvalue;
  3436. if( !utlf_isNull(old) && obj.getRowType(e.row) < 2)
  3437. {
  3438. obj.setColumn(e.row, "dwcd", e.oldvalue);
  3439. sysf_messageBox("진료일정 기준자료에서 요일 정보는 수정할 수 없습니다. 변경하시려는 기준자료를 삭제 후 새로 등록하세요.", "E999", "");
  3440. return false;
  3441. }
  3442. }
  3443. fCalculateTotalExamcap();
  3444. }
  3445. ]]></Script>
  3446. </Form>
  3447. </FDL>