AHA.xjs 171 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[
  3. include "com_zipcodexp::ZBP001.xjs";
  4. /************************************************************************************************
  5. @(#)AHA001.js
  6. @author : 손주연
  7. @version : 2007-04-18
  8. @desc : 건진업무에서 사용하는 공용함수 관리
  9. *************************************************************************************************/
  10. /************************************************************************************************
  11. **fMoveFocus
  12. @author : 손주연
  13. @version : 2007-04-18
  14. @desc : enter key입력시 특정 control로 focus 이동
  15. *************************************************************************************************/
  16. function fMoveFocus(vCtrlID){
  17. if( e.keycode == 13 ) {
  18. if( !utlf_isNull(vCtrlID) ) eval(vCtrlID).setFocus();
  19. }
  20. }
  21. /************************************************************************************************
  22. **fExcelUpload
  23. @author : 손주연
  24. @version : 2007-04-18
  25. @desc :Excel File을 grid로 load한다.
  26. @param : grid control id
  27. *************************************************************************************************/
  28. function fExcelToGrid(grdObj){
  29. /* if(grdObj == "xforms:datagrid"){*/
  30. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  31. vId.loadExcel(fileName, 1, true);
  32. var cnt = grdObj.rows;
  33. var i = 0;
  34. for( i = 1; i < cnt +1 ; i++)
  35. {
  36. grdObj.addStatus(i, "insert");
  37. }
  38. grdObj.deleteRow(1);
  39. grdObj.refresh();
  40. }
  41. /**
  42. *====================================================================================================================================.
  43. @author : 손주연
  44. @version : 2007-04-20
  45. @desc : 건진구분 설정 => 추후 로그인 시 건진구분 세션관리가 되지 않을 경우를 대비.
  46. @param : grid control id
  47. @return : C: 종건/ G :일건
  48. ====================================================================================================================================*/
  49. function fGetHealExamFlag(){
  50. var sFlag = frmf_getMenuParam() ;
  51. var sFlagLen = parseInt(sFlag.length);
  52. // 한자리 이하 인경우 ==> 건진구분(C,G)로 구분
  53. if(sFlagLen <= 1) {
  54. if( utlf_isNull(sFlag) ) sFlag = "G";
  55. }else { // 한자리 초과인경우 => 건진상세구분 (CXX ,GXX)로 구분
  56. sFlag = sFlag.substr(0,1);
  57. }
  58. return sFlag ;
  59. }
  60. /**
  61. * 기관코드 및 사업체코드가져오기======================================================================================================================
  62. @author : 손주연
  63. @version : 2007-04-30
  64. @desc : 기관코드 및 사업체코드가져오기
  65. @param :
  66. *vOpenerID : 현재화면ID
  67. *vFlag : 코드구분 공통코드 A0114참조
  68. ** 01 판정의
  69. ** 02 건강보험공단
  70. ** 03 관할군병원
  71. ** 04 산업안전공단
  72. ** 05 보건소
  73. ** 06 노동청
  74. ** 07 지도원
  75. ** 08 사업체
  76. * vCond : 검색구분(cd/nm)
  77. * vCdnm : 검색조건(코드/명칭)
  78. * vDesXPathCd: code값을 setting할 목적노드
  79. * vDesXPathNm: name값을 setting할 목적노드
  80. * SPAHA00500_PARAM1 : 코드구분 공통코드 A0114참조
  81. * SPAHA00500_PARAM2 : 검색구분(cd/nm)
  82. * SPAHA00500_PARAM3 : 검색조건(코드/명칭)
  83. * SPAHA00500_PARAM4 : 기관코드
  84. * SPAHA00500_PARAM5 : 코드구분 공통코드 A0114참조
  85. * SPAHA00500_PARAM6 : code값을 setting할 목적노드
  86. * SPAHA00500_PARAM7 : name값을 setting할 목적노드
  87. */
  88. function fGetComnCd(vOpenerID, vFlag , vCond, vCdnm , vDesXPathCd , vDesXPathNm ){
  89. frmf_clearParameter("SPAHA00500_PARAM1");
  90. frmf_clearParameter("SPAHA00500_PARAM2");
  91. frmf_clearParameter("SPAHA00500_PARAM3");
  92. frmf_clearParameter("SPAHA00500_PARAM4");
  93. frmf_clearParameter("SPAHA00500_PARAM5");
  94. frmf_clearParameter("SPAHA00500_PARAM6");
  95. frmf_clearParameter("SPAHA00500_PARAM7");
  96. frmf_setParameter ("SPAHA00500_PARAM1", vFlag);
  97. frmf_setParameter ("SPAHA00500_PARAM2", vCond);
  98. frmf_setParameter ("SPAHA00500_PARAM3", vCdnm);
  99. frmf_setParameter ("SPAHA00500_PARAM4", sysf_getUserInfo("dutplceinstcd"));
  100. frmf_setParameter ("SPAHA00500_PARAM5", vOpenerID);
  101. frmf_setParameter ("SPAHA00500_PARAM6", vDesXPathCd);
  102. frmf_setParameter ("SPAHA00500_PARAM7", vDesXPathNm);
  103. frmf_modal("SPAHA00500","SPAHA00500",null,"","","","","","","","","","M");
  104. }
  105. /**********************************************************************************
  106. * 함수명 : fCheckNodeExist
  107. * 설 명 : 해당 데이터 셋에 컬럼 존재 체크
  108. * argument : * xPath : node XPath
  109. * xColumn : node Column //2.0 추가
  110. * bMake : make 여부
  111. * return Type : true/false (node 존재 여부 )
  112. * 작성자 :
  113. **********************************************************************************/
  114. function fCheckNodeExist(xPath, xColumn, bMake)
  115. {
  116. var node = this.objects[xPath];
  117. if(utlf_isNull(node))
  118. {
  119. dsf_createDs(xPath);
  120. }
  121. if(!utlf_isNull(xColumn))
  122. {
  123. if(bMake == true)
  124. {
  125. dsf_makeValue(eval(xPath), xColumn, "string", "");
  126. return true;
  127. }
  128. else
  129. {
  130. return false;
  131. }
  132. }
  133. return true;
  134. }
  135. /**
  136. * 환자검색창 open=====================================================================================================================================
  137. @author : 손주연
  138. @version : 2007-04-30
  139. @desc : 환자검색창 open
  140. @param :
  141. * SPAHA00400_PARAM1 : 현재화면ID
  142. * SPAHA00400_PARAM2 : 검색조건 pnm/pid/rgstno
  143. * SPAHA00400_PARAM3 : 검색어
  144. * SPAHA00400_PARAM4 : nodeset전체 copy여부 (N일경우 원무등록번호와 환자 한글명만 copy)
  145. * SPAHA00400_PARAM5 : nodeset전체 copy여부 Y 일경우 대상노드
  146. * SPAHA00400_PARAM6 : nodeset전체 copy여부 N 일경우 원무등록번호 대상노드
  147. * SPAHA00400_PARAM7 : nodeset전체 copy여부 N 일경우 환자 한글명 대상노드
  148. * =====================================================================================================================================================
  149. */
  150. function fSearchPatInfo(vOpenerID, vCond, vCdnm, vSetYN, vDestXPath, vDestPid, vDestPnm, vRgstNo1, vRgstNo2 ){
  151. frmf_clearParameter("SPAHA00400_PARAM1");
  152. frmf_clearParameter("SPAHA00400_PARAM2");
  153. frmf_clearParameter("SPAHA00400_PARAM3");
  154. frmf_clearParameter("SPAHA00400_PARAM4");
  155. frmf_clearParameter("SPAHA00400_PARAM5");
  156. frmf_clearParameter("SPAHA00400_PARAM6");
  157. frmf_clearParameter("SPAHA00400_PARAM7");
  158. frmf_clearParameter("SPAHA00400_PARAM8");
  159. frmf_clearParameter("SPAHA00400_PARAM9");
  160. frmf_setParameter ("SPAHA00400_PARAM1", utlf_transNullToEmpty(vOpenerID));
  161. frmf_setParameter ("SPAHA00400_PARAM2", utlf_transNullToEmpty(vCond));
  162. frmf_setParameter ("SPAHA00400_PARAM3", utlf_transNullToEmpty(vCdnm));
  163. frmf_setParameter ("SPAHA00400_PARAM4", utlf_transNullToEmpty(vSetYN));
  164. frmf_setParameter ("SPAHA00400_PARAM5", utlf_transNullToEmpty(vDestXPath));
  165. frmf_setParameter ("SPAHA00400_PARAM6", utlf_transNullToEmpty(vDestPid));
  166. frmf_setParameter ("SPAHA00400_PARAM7", utlf_transNullToEmpty(vDestPnm));
  167. frmf_setParameter ("SPAHA00400_PARAM8", utlf_transNullToEmpty(vRgstNo1));
  168. frmf_setParameter ("SPAHA00400_PARAM9", utlf_transNullToEmpty(vRgstNo2));
  169. frmf_modal("SPAHA00400","SPAHA00400",null,"","","","","","","","","","M");
  170. }
  171. /*-**************************************************************************************
  172. @author : 손주연
  173. @version : 2007-04-30
  174. @desc : 환자인적사항저장
  175. @param : vPidYN : 등록번호생성여부
  176. ****************************************************************************************/
  177. function fSavePatInfo(vPidYN){
  178. if( fCheckPatInfo() == false ) return ;
  179. fCheckNodeExist("ds_main_info_patinfo_item", "pidcretfg", true);
  180. dsf_createDs("ds_send_save");
  181. ds_main_info_patinfo_item.setColumn( 0, "pidcretfg", vPidYN);
  182. ds_send_save.copyData(ds_main_info_patinfo_item);
  183. fCheckNodeExist("ds_send_save", "userid", true);
  184. fCheckNodeExist("ds_send_save", "instcd", true);
  185. ds_send_save.setColumn( 0, "userid", sysf_getUserId() );
  186. ds_send_save.setColumn( 0, "instcd", sysf_getUserInfo("dutplceinstcd") );
  187. dsf_makeValue( ds_send_save, "healexamflag", "string", ds_send.getColumn(0, "srchhealexamflag") )
  188. dsf_makeValue( ds_send_save, "healexamdetlflag", "string", ds_send.getColumn(0, "srchhealexamdetlflag") );
  189. frmf_openLoadingBar("건진자 인적사항 저장 중입니다..") ;//처리중 화면을 오픈한다.
  190. dsf_makeValue(ds_send_save, "rrgstno1", "string", ds_send_save.getColumn(0, "rgstno1"));
  191. dsf_makeValue(ds_send_save, "rrgstno2", "string", ds_send_save.getColumn(0, "rgstno2"));
  192. dsf_makeValue(ds_send_save, "srchrgstno1", "string", ds_send_save.getColumn(0, "rgstno1"));
  193. dsf_makeValue(ds_send_save, "srchrgstno2", "string", ds_send_save.getColumn(0, "rgstno2"));
  194. dsf_makeValue(ds_send_save, "srchinstcd", "string", ds_send_save.getColumn(0, "instcd"));
  195. dsf_makeValue(ds_send_save, "forgeryn", "string", ds_send_save.getColumn(0, "forgneryn"));
  196. var oParam = {};
  197. oParam.id = "TXAHA00101";
  198. oParam.service = "healexamrsrvacptapp.RsrvAcpt";
  199. oParam.method = "reqExePatInfo";
  200. oParam.inds = "save=ds_send_save";
  201. //oParam.outds = "ds_hidden=save";
  202. oParam.async = false;
  203. //oParam.callback = "cf_TXAHA00101";
  204. tranf_submit(oParam);
  205. frmf_closeLoadingBar() ;//처리중 화면을 close한다.
  206. }
  207. /**********************************************************************************
  208. * 함수명 : fCheckPatInfo
  209. * 설 명 : 건진자인적사항 내용 check
  210. * argument :
  211. * return Type :
  212. * 작성자 :
  213. **********************************************************************************/
  214. function fCheckPatInfo(vFrom)
  215. {
  216. if (vFrom=="1")
  217. {
  218. var vTmp = frmf_getComponents("ipt_pnm").value;
  219. if( utlf_isNull(vTmp) )
  220. {
  221. sysf_messageBox("성명을 ", "C001");
  222. ipt_pnm.setFocus();
  223. return false;
  224. }
  225. vTmp = frmf_getComponents("ipt_rgstno1").value;
  226. if( utlf_isNull(vTmp) )
  227. {
  228. sysf_messageBox("주민번호를 ", "C001");
  229. ipt_rgstno1.setFocus();
  230. return false;
  231. }
  232. vTmp = frmf_getComponents("ipt_rgstno2").value;
  233. if( utlf_isNull(vTmp) )
  234. {
  235. sysf_messageBox("주민번호를 ", "C001");
  236. ipt_rgstno2.setFocus();
  237. return false;
  238. }
  239. return true;
  240. }
  241. else
  242. {
  243. return true;
  244. }
  245. }
  246. /** ==========================================================================================================
  247. * fCheckRgstNo
  248. @author : 손주연
  249. @version : 2007-04-30
  250. @desc : 주민번호 유효여부 check
  251. @param :
  252. ==========================================================================================================================*/
  253. function fCheckRgstNo(){
  254. var vTmp = utlf_transNullToEmpty(ipt_rgstno1.value + ipt_rgstno2.value)+"" ;
  255. if( isResidentNo(vTmp) == false ){
  256. if( sysf_messageBox("유효하지 않은 주민번호 입니다. ", "Q003") == 6 ) {
  257. return true;
  258. }
  259. ipt_rgstno1.setFocus();
  260. return false;
  261. }
  262. if( isResidentNo(vTmp) == true && vTmp.substr(7, 6)=='000000'){
  263. if( sysf_messageBox("외국인 입니다. ", "Q003") == 6 ) {
  264. return true;
  265. }
  266. ipt_rgstno1.setFocus();
  267. return false;
  268. }
  269. return true ;
  270. }
  271. /** ==========================================================================================================
  272. @author : 손주연
  273. @version : 2007-04-30
  274. @desc : 주민번호로 생년월일/성별/나이 기본 setting
  275. @param :
  276. * ==========================================================================================================*/
  277. function fSetBrthDD(){
  278. var objRgstno1 = frmf_getComponents("ipt_rgstno1", this);
  279. var objRgstno2 = frmf_getComponents("ipt_rgstno2", this);
  280. var objBrthdd = frmf_getComponents("ipt_brthdd", this);
  281. var objSex = frmf_getComponents("opt_sex", this);
  282. var objAge = frmf_getComponents("opt_age", this);
  283. var vrgstno1 = objRgstno1.value;
  284. var vrgstno2 = utlf_transNullToEmpty(objRgstno2.value+"");
  285. var vSex = vrgstno2.substr( 0, 1) ;
  286. var vBrthdd = "";
  287. if(( vSex == 3 ) || (vSex == 4)){
  288. vBrthdd = "20" + vrgstno1;
  289. }else{
  290. vBrthdd = "19" + vrgstno1;
  291. }
  292. objBrthdd.value = vBrthdd;
  293. objSex.value = utlf_getSex(vrgstno1+ vrgstno2);
  294. objAge.value = utlf_getFullAge(vrgstno1+ vrgstno2);
  295. }
  296. function isResidentNo(pResidnetNo)
  297. {
  298. if(isNaN(pResidnetNo)) return false;
  299. if(pResidnetNo.length != 13) return false;
  300. var c = pResidnetNo.substr(6,1);
  301. if(c == '5' || c == '6') return true;
  302. var c2 = pResidnetNo.substr(7,6);
  303. if(c2 == '000000') return true;
  304. last = pResidnetNo.substr(12,1);
  305. regNo = new Array(12); regNo[12] = 0;
  306. for(var i = 0; i < (regNo.length - 1); i++) {
  307. regNo[i] = eval(pResidnetNo.substr(i, 1)) * ((i % 8) + 2);
  308. }
  309. for(var i = 0; i < (regNo.length - 1); i++) {
  310. regNo[12] += regNo[i];
  311. }
  312. var result = ((11 - (regNo[12] % 11)) % 10);
  313. if(result == eval(last)) {
  314. return true;
  315. } else {
  316. return false;
  317. }
  318. }
  319. /** ==========================================================================================================
  320. @author : 손주연
  321. @version : 2007-04-30
  322. @desc : 수진자 인적사항만 조회, 외국인일 경우 별도의 구분 없이 주민번호 뒷번호가 남/여, 5/6으로 처리.
  323. @param :
  324. * 조회조건 : vMode (0 -pnm:환자명, 1-rgstno: 주민번호, 2-pid:등록번호, 3-hpid:건진임시환자번호)
  325. * vPidXPath : pid node
  326. * vPnmXPath : pnm node
  327. * ==========================================================================================================*/
  328. function fGetPatInfo(vMode, vSrcNode){
  329. if(utlf_isNull(vSrcNode)) vSrcNode = ds_send;
  330. var vCond = "";
  331. var vChoiFlag = "";
  332. vChoiFlag = ds_main_info_rsrvacptinfo_item.getColumn(0, "choiflag");
  333. switch(vMode){
  334. case 0 : vCond = "pnm";
  335. break;
  336. case 1 : vCond = "rgstno";
  337. if(fCheckRgstNo() == false){
  338. ipt_rgstno1.value = "";
  339. ipt_rgstno2.value = "";
  340. return false;
  341. }
  342. break;
  343. case 2 : vCond = "pid";
  344. break;
  345. default : vCond = "hid";
  346. break;
  347. }
  348. dsf_makeValue(vSrcNode, "srchcond", "string", vCond);
  349. dsf_makeValue(vSrcNode, "srchinstcd", "string", sysf_getUserInfo("dutplceinstcd"));
  350. if(vCond == "pnm")
  351. {
  352. vSrcNode.setColumn(0, "srchpnm" , frmf_getComponents("ipt_pnm").value);
  353. }
  354. else if(vCond == "pid")
  355. {
  356. vSrcNode.setColumn(0, "srchpid" , frmf_getComponents("ipt_pid").value);
  357. }
  358. else if(vCond == "rgstno")
  359. {
  360. vSrcNode.setColumn(0, "srchrgstno1" , frmf_getComponents("ipt_rgstno1").value);
  361. vSrcNode.setColumn(0, "srchrgstno2" , frmf_getComponents("ipt_rgstno2").value);
  362. }
  363. else
  364. {
  365. vSrcNode.setColumn(0, "srchhealexampid" , ds_main_info_patinfo_item.getColumn(0, "healexampid"));
  366. }
  367. //fCheckNodeExist("/root/temp/patinfo/item", true);
  368. ds_temp_patinfo_item.clearData();
  369. var oParam = {};
  370. oParam.id = "TRAHA00101";
  371. oParam.service = "healthexamrsrvacptapp.PamMngt";
  372. oParam.method = "reqGetPatInfo";
  373. oParam.inds = "req="+vSrcNode.name;
  374. oParam.outds = "ds_temp_patinfo_item=item";
  375. oParam.async = false;
  376. //oParam.callback = "cf_TRAHA00101";
  377. tranf_submit(oParam);
  378. if( !utlf_isNull(ds_temp_patinfo_item.getColumnInfo("rrgstno1")) ){
  379. ds_temp_patinfo_item.updateColID("rrgstno1", "rgstno1");
  380. }else{
  381. ds_temp_patinfo_item.addColumn("rgstno1", "string");
  382. }
  383. if( !utlf_isNull(ds_temp_patinfo_item.getColumnInfo("rrgstno2")) ){
  384. ds_temp_patinfo_item.updateColID("rrgstno2", "rgstno2");
  385. }else{
  386. ds_temp_patinfo_item.addColumn("rgstno2", "string");
  387. }
  388. if( !utlf_isNull(ds_temp_patinfo_item.getColumnInfo("instcd")) ){
  389. ds_temp_patinfo_item.updateColID("instcd", "patm_insucd");
  390. }else{
  391. ds_temp_patinfo_item.addColumn("patm_insucd", "string");
  392. }
  393. if( !utlf_isNull(ds_temp_patinfo_item.getColumnInfo("insuid")) ){
  394. ds_temp_patinfo_item.updateColID("insuid", "patm_insuid");
  395. }else{
  396. ds_temp_patinfo_item.addColumn("patm_insuid", "string");
  397. }
  398. if( !utlf_isNull(ds_temp_patinfo_item.getColumnInfo("insukind")) ){
  399. ds_temp_patinfo_item.updateColID("insukind", "patm_insukind");
  400. }else{
  401. ds_temp_patinfo_item.addColumn("patm_insukind", "string");
  402. }
  403. //node clear현상때문임...
  404. var tmpnode = ds_temp_patinfo_item.getColumn(0, "pid");
  405. if(!utlf_isNull(tmpnode)){
  406. ds_main_info_patinfo_item.copyData(ds_temp_patinfo_item);
  407. var detladdr2 = ds_temp_patinfo_item.getColumn(0, "detladdr2");
  408. //공단건진의 경우 발송주소가 없다면 기존 주소값을 발송주소에 넣는다 .2009-07-18 심승욱
  409. if(utlf_isNull(detladdr2) && ds_send.getColumn(0, "srchhealexamdetlflag") == 'G01'){
  410. ds_main_info_patinfo_item.enableevent = false;
  411. ds_main_info_patinfo_item.setColumn(0, "zipcd21" , ds_temp_patinfo_item.getColumn(0, "zipcd11"));
  412. ds_main_info_patinfo_item.setColumn(0, "zipcd22" , ds_temp_patinfo_item.getColumn(0, "zipcd12"));
  413. ds_main_info_patinfo_item.setColumn(0, "zipcdseq2" , ds_temp_patinfo_item.getColumn(0, "zipcdseq1"));
  414. ds_main_info_patinfo_item.setColumn(0, "addr2" , ds_temp_patinfo_item.getColumn(0, "addr1"));
  415. ds_main_info_patinfo_item.setColumn(0, "detladdr2" , ds_temp_patinfo_item.getColumn(0, "detladdr1"));
  416. ds_main_info_patinfo_item.enableevent = true;
  417. }
  418. ds_main_info_rsrvacptinfo_item.setColumn(0, "choiflag", vChoiFlag);
  419. }else{
  420. ds_main_info_rsrvacptinfo_item.setColumn(0, "choiflag", vChoiFlag);
  421. }
  422. }
  423. function fGetPatInfo2(vMode ){
  424. var vCond = "";
  425. switch( vMode ){
  426. case 0: vCond = "pnm";
  427. break;
  428. case 1: vCond = "rgstno";
  429. if( fCheckRgstNo() == false ){
  430. ipt_rgstno1.value = "";
  431. ipt_rgstno2.value = "";
  432. return ;
  433. }
  434. break;
  435. case 2: vCond = "pid";
  436. break;
  437. default : vCond = "hid";
  438. break;
  439. }
  440. model.removeNodeSet("/root/send/save");
  441. model.makeNode("/root/send/save");
  442. fCheckNodeExist("/root/send/srchcond" , true );
  443. fCheckNodeExist("/root/send/srchpnm" , true );
  444. fCheckNodeExist("/root/send/srchpid" , true );
  445. fCheckNodeExist("/root/send/srchrgstno1" , true );
  446. fCheckNodeExist("/root/send/srchrgstno2" , true );
  447. fCheckNodeExist("/root/send/srchhealexampid", true );
  448. fCheckNodeExist("/root/send/srchinstcd" , true );
  449. model.setValue("/root/send/srchcond" , vCond);
  450. if( vCond == "pnm") {
  451. model.setValue("/root/send/srchpnm" , ipt_pnm.currentText );
  452. }
  453. else
  454. if( vCond == "pid") {
  455. model.setValue("/root/send/srchpid" , model.getValue("/root/send/healexampid"));
  456. }
  457. else
  458. if( vCond == "rgstno") {
  459. model.setValue("/root/send/srchrgstno1" , ipt_rgstno1.currentText );
  460. model.setValue("/root/send/srchrgstno2" , ipt_rgstno2.currentText );
  461. }
  462. else {
  463. model.setValue("/root/send/srchhealexampid" , model.getValue("/root/main/info/patinfo/item/healexampid"));
  464. }
  465. model.setValue("/root/send/srchinstcd" , getUserInfo("dutplceinstcd"));
  466. fCheckNodeExist("/root/temp/patinfo/item", true);
  467. model.resetInstanceNode("/root/temp/patinfo/item");
  468. submit("TRAHA04011") ;
  469. //node clear현상때문임...
  470. var tmpnode = model.instance1.selectSingleNode("/root/temp/patinfo/item/pid");
  471. if( tmpnode != null ){
  472. model.copyNode("/root/main/info/patinfo/item", "/root/temp/patinfo/item");
  473. }
  474. else {
  475. //model.resetInstanceNode("/root/main/info/patinfo/item");
  476. }
  477. model.refresh();
  478. }
  479. function setPkgInfo(){
  480. }
  481. /**********************************************************************************
  482. * 함수명 : ahafGetPatInfo
  483. * 설 명 : 수진자 인적사항만 조회, 외국인일 경우 별도의 구분 없이 주민번호 뒷번호가 남/여, 5/6으로 처리.
  484. * argument : * 조회조건: vMode (0 -pnm:환자명, 1-rgstno: 주민번호, 2-pid:등록번호, 3-hpid:건진임시환자번호)
  485. * vCond1 : 검색어1
  486. * vCond2 : 검색어2 (주민번호일경우 ...)
  487. * vDestXPath : 대상 노드
  488. * return Type :
  489. * 작성자 :
  490. **********************************************************************************/
  491. function ahafGetPatInfo(vMode, vCond1, vCond2, vDestXPath)
  492. {
  493. var vCond = "";
  494. switch( vMode )
  495. {
  496. case 0 : vCond = "pnm";
  497. break;
  498. case 1 : vCond = "rgstno";
  499. if(fCheckRgstNo() == false )
  500. {
  501. frmf_getComponents("ipt_rgstno1").value = "";
  502. frmf_getComponents("ipt_rgstno2").value = "";
  503. return;
  504. }
  505. break;
  506. case 2 : vCond = "pid";
  507. break;
  508. default : vCond = "hid";
  509. break;
  510. }
  511. fCheckNodeExist(vDestXPath,"", true );
  512. fCheckNodeExist("ds_send", "srchcond", true);
  513. fCheckNodeExist("ds_send", "srchpnm", true);
  514. fCheckNodeExist("ds_send", "srchpid", true);
  515. fCheckNodeExist("ds_send", "srchrgstno1", true);
  516. fCheckNodeExist("ds_send", "srchrgstno2", true);
  517. fCheckNodeExist("ds_send", "srchhealexampid", true);
  518. fCheckNodeExist("ds_send", "srchinstcd", true);
  519. ds_send.setColumn(0, "srchcond", vCond);
  520. if( vCond == "pnm")
  521. {
  522. ds_send.setColumn(0, "srchpnm", vCond1);
  523. }
  524. else if( vCond == "pid")
  525. {
  526. ds_send.setColumn(0, "srchpid", vCond1);
  527. }
  528. else if( vCond == "rgstno")
  529. {
  530. ds_send.setColumn(0, "srchrgstno1", vCond1);
  531. ds_send.setColumn(0, "srchrgstno2", vCond2);
  532. }
  533. else
  534. {
  535. ds_send.setColumn(0, "srchhealexampid", vCond1);
  536. }
  537. ds_send.setColumn(0, "srchinstcd", sysf_getUserInfo("dutplceinstcd"));
  538. dsf_deleteDs("ds_temp_patinfo_item");
  539. dsf_createDs("ds_temp_patinfo_item");
  540. fCheckNodeExist("ds_temp_patinfo_item","", true);
  541. var oParam = {};
  542. oParam.id = "TRAHA00101";
  543. oParam.service = "healthexamrsrvacptapp.PamMngt";
  544. oParam.method = "reqGetPatInfo";
  545. oParam.inds = "req=ds_send";
  546. oParam.outds = "ds_temp_patinfo_item=item";
  547. oParam.async = false;
  548. oParam.callback = "cf_TRAHA00101";
  549. tranf_submit(oParam);
  550. if(arErrorCode.pop("TRAHA00101") > -1)
  551. {
  552. ret = true;
  553. }
  554. else
  555. {
  556. ret = false;
  557. }
  558. if(ret == false) return false;
  559. var tmpnode = ds_temp_patinfo_item.getColumn(0, "pid");
  560. if(!utlf_isNull(tmpnode))
  561. {
  562. eval(vDestXPath).copyData(ds_temp_patinfo_item);
  563. return true ;
  564. }
  565. return false;
  566. }
  567. function cf_TRAHA00101(sSvcId, nErrorCode, sErrorMsg)
  568. {
  569. arErrorCode.push(sSvcId, nErrorCode);
  570. if(nErrorCode < 0) return;
  571. }
  572. /** ==========================================================================================================
  573. @author : 손주연
  574. @version : 2007-04-30
  575. @desc : 예약/접수정보를 저장
  576. @param :
  577. * Mode : 공통코드A0107참조
  578. **A 예약
  579. **B 예약보류
  580. **C 예약확인
  581. **D 예약취소
  582. **E 접수
  583. **F 접수취소
  584. **G 결과
  585. **H 판정
  586. * ==========================================================================================================*/
  587. function fSaveRsrvAcpt(vMode,vFrom){
  588. }
  589. /**********************************************************************************
  590. * 함수명 : ahafGetHistList
  591. * 설 명 : 건진자별 건진이력조회
  592. * argument : * vPid : 등록번호
  593. * return Type :
  594. * 작성자 :
  595. **********************************************************************************/
  596. function ahafGetHistList(vPid)
  597. {
  598. ds_main_info_histlst_item.clearData();
  599. if(utlf_isNull(vPid)) return ;
  600. var vhf = "";
  601. if(utlf_isNull(ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag")))
  602. {
  603. vhf = fGetHealExamFlag();
  604. }
  605. else
  606. {
  607. vhf = ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag");
  608. }
  609. ds_send.setColumn(0, "srchhealexamflag", vhf);
  610. ds_send.setColumn(0, "srchhealexamdetlflag", frmf_getComponents("cmb_healexamdetlflag").value);
  611. ds_send.setColumn(0, "srchinstcd", sysf_getUserInfo("dutplceinstcd"));
  612. ds_send.setColumn(0, "srchpid", vPid);
  613. var oParam = {};
  614. oParam.id = "TRAHA00101";
  615. oParam.service = "healexamrsrvacptapp.RsrvAcpt";
  616. oParam.method = "reqGetHealExamHistList";
  617. oParam.inds = "req=ds_send";
  618. oParam.outds = "ds_main_info_histlst_item=item";
  619. oParam.async = false;
  620. ///oParam.callback = "cf_TRAHA00101";
  621. tranf_submit(oParam);
  622. }
  623. /**********************************************************************************
  624. * 함수명 : ahafGetPkgDetlList
  625. * 설 명 : 검진패키지 상세조회(예약/접수)
  626. * argument : * vPkgCd : 패키지 코드
  627. * return Type :
  628. * 작성자 :
  629. **********************************************************************************/
  630. function ahafGetPkgDetlList(vPkgCd)
  631. {
  632. if(utlf_isNull(vPkgCd))
  633. {
  634. sysf_messageBox("선택된 패키지가 없습니다.", "E999");
  635. return ;
  636. }
  637. dsf_makeValue(ds_send, "PkgCd", "string", vPkgCd);
  638. dsf_makeValue(ds_send, "cmpycd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "cmpycd"));
  639. dsf_makeValue(ds_send, "conseq", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "conseq"));
  640. dsf_makeValue(ds_send, "conhistseq", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "conhistseq"));
  641. var oParam = {};
  642. oParam.id = "TRAHA00113";
  643. oParam.service = "healexamrsrvacptapp.RsrvAcpt";
  644. oParam.method = "reqGetHealExamPkgDetlList";
  645. oParam.inds = "req=ds_send";
  646. oParam.outds = "ds_main_info_pkgdetl_item=item";
  647. oParam.async = false;
  648. //oParam.callback = "cf_TRAHA00113";
  649. tranf_submit(oParam);
  650. }
  651. function fSetInstance(svalue){
  652. model.makeValue("/root/tmp/reqacpt/divflag", svalue);
  653. model.makeValue("/root/tmp/reqadd/divflag", svalue);
  654. model.makeValue("/root/tmp/reqpkg/divflag", svalue);
  655. model.makeValue("/root/tmp/reqacptold/divflag",svalue);
  656. model.makeValue("/root/tmp/reqaddold/divflag", svalue);
  657. model.makeValue("/root/tmp/opatvo/divflag", svalue);
  658. model.makeValue("/root/tmp/getvo/divflag", svalue);
  659. model.makeValue("/root/tmp/getsflag/divflag", svalue);
  660. model.makeValue("/root/tmp/reqords/divflag", svalue);
  661. model.makeValue("/root/tmp/retvo/divflag", svalue);
  662. model.makeValue("/root/tmp/retstd/divflag", svalue);
  663. model.makeValue("/root/tmp/reqpat/divflag", svalue);
  664. }
  665. /**********************************************************************************
  666. * 함수명 : ahafGetHistList2
  667. * 설 명 : 건진자별 건진이력조회
  668. * argument : * vPid : 등록번호
  669. * return Type :
  670. * 작성자 :
  671. **********************************************************************************/
  672. function ahafGetHistList2(vPid, vHealExamDetlFlag , vStatFlag)
  673. {
  674. dsf_deleteDs("ds_main_info_histlst_item");
  675. dsf_createDs("ds_main_info_histlst_item");
  676. if( utlf_isNull(vPid) ) return ;
  677. ds_send.setColumn(0, "srchhealexamflag", String(vHealExamDetlFlag).substr(0,1));
  678. ds_send.setColumn(0, "srchhealexamdetlflag", vHealExamDetlFlag);
  679. ds_send.setColumn(0, "srchinstcd", sysf_getUserInfo("dutplceinstcd"));
  680. ds_send.setColumn(0, "srchpid", vPid);
  681. ds_send.setColumn(0, "srchstatflag", vStatFlag);
  682. var oParam = {};
  683. oParam.id = "TRAHA00101";
  684. oParam.service = "healexamrsrvacptapp.RsrvAcpt";
  685. oParam.method = "reqGetHealExamHistList";
  686. oParam.inds = "req=ds_send";
  687. oParam.outds = "ds_main_info_histlst_item=item";
  688. oParam.async = false;
  689. //oParam.callback = "cf_TRAHA00101";
  690. tranf_submit(oParam);
  691. }
  692. /**********************************************************************************
  693. * 함수명 : fGetConAddList
  694. * 설 명 : 패키지 상세내역조회
  695. * argument : * sPkgcd : 패키지코드
  696. * sPkgnm : 패키지명
  697. * sSex : 건진자 성별
  698. * sCmpycd : 단체코드
  699. * iConseq : 계약번호
  700. * iConHistseq : 계약이력번호
  701. * return Type :
  702. * 작성자 :
  703. **********************************************************************************/
  704. function fGetConAddList(sPkgcd, sPkgnm, sSex, sCmpycd, iConseq,iConHistseq )
  705. {
  706. ds_temp_pkgtestcdlst_addlst.clearData()
  707. if((utlf_isNull(sCmpycd) || utlf_isNull(iConseq) || utlf_isNull(iConHistseq)|| iConseq == "0" || iConHistseq == "0")&& (utlf_isNull(sPkgcd) || utlf_isNull(sPkgnm))) return ;
  708. ds_send.setColumn(0, "srchinstcd", sysf_getUserInfo("dutplceinstcd") );
  709. ds_send.setColumn(0, "srchpkgcd", sPkgcd);
  710. var vhf = "";
  711. if (utlf_isNull(ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag")))
  712. {
  713. vhf = fGetHealExamFlag();
  714. }
  715. else
  716. {
  717. vhf = ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag");
  718. }
  719. ds_send.setColumn(0, "srchhealexamflag", vhf);
  720. ds_send.setColumn(0, "srchcmpycd", sCmpycd);
  721. ds_send.setColumn(0, "srchconseq", iConseq);
  722. dsf_makeValue(ds_send, "srchconhistseq", "int", iConHistseq);
  723. ds_send.setColumn(0, "srchsex", sSex);
  724. dsf_makeValue(ds_send, "srchage", "string", ageCalc(ds_main_info_patinfo_item.getColumn(0, "rgstno1"),ds_main_info_patinfo_item.getColumn(0, "rgstno2")));
  725. var oParam = {};
  726. oParam.id = "TRAHA00107";
  727. oParam.service = "healexambaseapp.ComCode";
  728. oParam.method = "reqGetPkgAddInfo";
  729. oParam.inds = "req=ds_send";
  730. oParam.outds = "ds_temp_pkgtestcdlst_addlst=addlst";
  731. oParam.async = false;
  732. //oParam.callback = "cf_TRAHA00107";
  733. tranf_submit(oParam);
  734. dsf_createDs("ds_temp2_addlst");
  735. ds_temp2_addlst.copyData(ds_main_info_rsrvacptinfo_addlst);
  736. var node = ds_temp_pkgtestcdlst_addlst;
  737. if( node.rowcount != 0)
  738. {
  739. var i = ds_main_info_rsrvacptinfo_addlst.rowcount;
  740. ds_main_info_rsrvacptinfo_addlst.clearData();
  741. ds_main_info_rsrvacptinfo_addlst.copyData(ds_temp_pkgtestcdlst_addlst);
  742. if(!utlf_isNull(ds_temp2_addlst.getColumn(0, "testcd")))
  743. {
  744. ds_main_info_rsrvacptinfo_addlst.copyData(ds_temp2_addlst);
  745. }
  746. var cnt = ds_temp_pkgtestcdlst_addlst.rowcount;
  747. for(var i = 0 ; i < cnt ; i++)
  748. {
  749. ds_main_info_rsrvacptinfo_addlst.updatecontrol = false;
  750. ds_main_info_rsrvacptinfo_addlst.setRowType(i, "i");
  751. ds_main_info_rsrvacptinfo_addlst.updatecontrol = true;
  752. }
  753. }
  754. else
  755. {
  756. ds_main_info_rsrvacptinfo_addlst.clearData();
  757. if(!utlf_isNull(ds_temp2_addlst.getColumn(0, "testcd")))
  758. {
  759. ds_main_info_rsrvacptinfo_addlst.copyData(ds_temp2_addlst);
  760. }
  761. }
  762. }
  763. /** ==========================================================================================================
  764. @author : 손주연
  765. @version : 2007-04-30
  766. @desc : 예약접수 상세내역조회
  767. @param :
  768. * vMode : 리스트 구분
  769. * ==========================================================================================================*/
  770. function ahafGetRsrvAcptDetl(vMode){
  771. fInitInfo(); // 오른쪽 정보들 초기화 및 기본 값 셋팅
  772. var vXpath = "";
  773. var idx = -1;
  774. switch (vMode) {
  775. case 1:
  776. vXpath = "/root/main/list/rsrvlst[";
  777. idx = grd_rsrvlst.row;
  778. break;
  779. case 2:
  780. vXpath = "/root/main/list/rsrvlst[";
  781. idx = grd_rsrventlst.row;
  782. break;
  783. case 3:
  784. vXpath = "/root/main/list/acptlst[";
  785. idx = grd_acptlst.row;
  786. break;
  787. case 4:
  788. vXpath = "/root/main/list/cncllst[";
  789. idx = grd_cncllst.row;
  790. break;
  791. case 5: //일반건진 2차대상자 리스트
  792. vXpath = "/root/main/list/sndlst[";
  793. idx = grd_sndlst.row;
  794. break;
  795. case 6 : //건진이력
  796. vXpath = "/root/main/info/histlst/item[";
  797. // idx = grd_sndlst.row;
  798. idx = grd_hist.row;
  799. break;
  800. default:
  801. messageBox("인자가 잘못되었습니다", "E999");
  802. return ;
  803. break;
  804. }
  805. if( idx < 1) {
  806. messageBox("건진내역을 ", "C002");
  807. return ;
  808. }
  809. var vRsrvdd = model.getValue(vXpath + idx + "]/rsrvdd");
  810. var vRsrvno = model.getValue(vXpath + idx + "]/rsrvno");
  811. /*
  812. *가예약 일경우 환자정보 patm의 정보만으로 조회
  813. * pid가 0일 경우 ptbs에 정보가 없을 수 있음
  814. */
  815. var vStatFlag = model.getValue(vXpath + idx + "]/statflag");
  816. var vPid = model.getValue(vXpath + idx + "]/pid");
  817. ahafGetRsrvAcpDetltInfo(vRsrvdd, vRsrvno , vStatFlag , vPid);// 바로 아래 함수
  818. }
  819. /** ==========================================================================================================
  820. @author : 손주연
  821. @version : 2007-04-30
  822. @desc : 예약/접수 상세내역 조회
  823. @param :
  824. * vRsrvdd : 예약등록일자
  825. * vRsrvno : 예약번호
  826. @return : 건진상세내역
  827. * ==========================================================================================================*/
  828. function ahafGetRsrvAcpDetltInfo( vRsrvdd, vRsrvno , vStatFlag , vPid)
  829. {
  830. if( utlf_isNull(vRsrvdd) || utlf_isNull(vRsrvno) ) return ;
  831. var vhf = "";
  832. if (utlf_isNull(ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag")))
  833. {
  834. vhf = fGetHealExamFlag();
  835. }
  836. else
  837. {
  838. vhf = ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag");
  839. }
  840. ds_send.setColumn(0, "srchhealexamflag", vhf);
  841. ds_send.setColumn(0, "srchrsrvdd" , vRsrvdd);
  842. ds_send.setColumn(0, "srchrsrvno" , vRsrvno);
  843. ds_send.setColumn(0, "srchinstcd" , sysf_getUserInfo("dutplceinstcd") );
  844. ds_send.setColumn(0, "scrnnm" , vStatFlag == "A"&& vPid== "0" ? "internet":"" );
  845. ds_main_info_patinfo_item.clearData();
  846. ds_main_info_patinfo_item.addRow();
  847. ds_main_info_rsrvacptinfo_item.clearData();
  848. ds_main_info_rsrvacptinfo_item.addRow();
  849. ds_temp_info_rsrvacptinfo.clearData();
  850. ds_temp_info_patinfo.clearData();
  851. var oParam = {};
  852. oParam.id = "TRAHA04033";
  853. oParam.service = "healthexamrsrvacptapp.RsrvAcpt";
  854. oParam.method = "reqGetRsrvAcptInfo";
  855. oParam.inds = "req=ds_send";
  856. oParam.outds = "ds_temp_info_patinfo=patinfo ds_temp_info_rsrvacptinfo=rsrvacptinfo ds_temp_info_addlst=addlst ds_temp_info_pkglst=pkglst ds_temp_info_judgone=judgone ds_temp_info_taginfo=taginfo ds_temp_info_cnst=cnst ds_temp_info_opmi_out=opmi_out";
  857. oParam.async = false;
  858. oParam.callback = "cf_TRAHA04033";
  859. tranf_submit(oParam);
  860. if( !utlf_isNull(ds_temp_info_patinfo.getColumnInfo("rgstno1")) ){
  861. ds_temp_info_patinfo.updateColID("rgstno1", "srchrgstno1");
  862. }else{
  863. ds_temp_info_patinfo.addColumn("srchrgstno1", "string");
  864. }
  865. if( !utlf_isNull(ds_temp_info_patinfo.getColumnInfo("rgstno2")) ){
  866. ds_temp_info_patinfo.updateColID("rgstno2", "srchrgstno1");
  867. }else{
  868. ds_temp_info_patinfo.addColumn("srchrgstno1", "string");
  869. }
  870. ds_temp_info_patinfo.updateColID("rrgstno1", "rgstno1");
  871. ds_temp_info_patinfo.updateColID("rrgstno2", "rgstno2");
  872. ds_temp_info_patinfo.updateColID("insucd", "patm_insucd");
  873. ds_temp_info_patinfo.updateColID("insuid", "patm_insuid");
  874. if( !utlf_isNull(ds_temp_info_patinfo.getColumnInfo("insukind")) ){
  875. ds_temp_info_patinfo.updateColID("insukind", "patm_insukind");
  876. }else{
  877. ds_temp_info_patinfo.addColumn("patm_insukind", "string");
  878. }
  879. if( utlf_isNull(ds_temp_info_patinfo.getColumnInfo("instcd")) ){
  880. ds_temp_info_patinfo.addColumn("instcd", "string");
  881. }
  882. ds_temp_info_patinfo.addColumn("srchinstcd", "string");
  883. ds_temp_info_patinfo.enableevent = false;
  884. ds_temp_info_patinfo.updatecontrol = false;
  885. for( var i=0 ; i<ds_temp_info_patinfo.rowcount ; i++ ){
  886. ds_temp_info_patinfo.setColumn(i, "srchinstcd", ds_temp_info_patinfo.getColumn(i, "instcd"));
  887. }
  888. ds_temp_info_patinfo.updatecontrol = true;
  889. ds_temp_info_patinfo.enableevent = true;
  890. if( !utlf_isNull(ds_temp_info_rsrvacptinfo.getColumnInfo("relacd")) ){
  891. ds_temp_info_rsrvacptinfo.updateColID("relacd", "emprelacd");
  892. }else{
  893. ds_temp_info_rsrvacptinfo.addColumn("emprelacd", "string");
  894. }
  895. ds_temp_info_rsrvacptinfo.updateColID("uncocd", "pkguncocd");
  896. ds_temp_info_addlst.updateColID("pkgflag", "testflag");
  897. for( var i=0 ; i<ds_temp_info_opmi_out.getColCount() ; i++ ){
  898. if( ds_temp_info_opmi_out.getColID(i) != "pid" ){
  899. ds_temp_info_opmi_out.updateColID(ds_temp_info_opmi_out.getColID(i), "opmi_"+ds_temp_info_opmi_out.getColID(i));
  900. }
  901. }
  902. if( arErrorCode.pop("TRAHA04033") < 0 )
  903. {
  904. return ;
  905. }
  906. var i = 0;
  907. var tmpnode = ds_temp_info_rsrvacptinfo;
  908. if( !utlf_isNull(tmpnode) && ds_temp_info_rsrvacptinfo.rowcount > 0){
  909. ds_main_info_rsrvacptinfo_item.copyData(ds_temp_info_rsrvacptinfo);
  910. }
  911. if( utlf_isNull(ds_main_info_rsrvacptinfo_item.getColumnInfo("brthareacnts")) ){
  912. ds_main_info_rsrvacptinfo_item.addColumn("brthareacnts", "string");
  913. }
  914. if( utlf_isNull(ds_main_info_rsrvacptinfo_item.getColumnInfo("conhistseq")) ){
  915. ds_main_info_rsrvacptinfo_item.addColumn("conhistseq", "string");
  916. }
  917. ds_main_info_rsrvacptinfo_addlst.clearData();
  918. var nodelst = ds_temp_info_addlst;
  919. ds_main_info_rsrvacptinfo_addlst.copyData(ds_temp_info_addlst);
  920. var nodelst = ds_temp_info_judgone.rowcount;
  921. ds_main_info_judgone.copyData(ds_temp_info_judgone);
  922. nodelst = ds_temp_info_pkglst;
  923. ds_main_info_rsrvacptinfo_pkglst.clearData();
  924. ds_main_info_rsrvacptinfo_pkglst.copyData(ds_temp_info_pkglst);
  925. ds_send_selpkgexam.copyData(ds_main_info_rsrvacptinfo_addlst);
  926. var tagNode = ds_temp_info_taginfo;
  927. frmf_getComponents("btn_tag").text ="태그지급";
  928. if(tagNode.rowcount != 0)
  929. {
  930. ds_main_info_taginfo.copyData(ds_temp_info_taginfo);
  931. var suppStat = ds_main_info_taginfo.getColumn(0, "suppstat");
  932. if("0" == suppStat)
  933. {
  934. frmf_getComponents("btn_tag").text = "태그반납";
  935. frmf_getComponents("ipt_tagno").enable = false;
  936. }
  937. }
  938. tmpnode = ds_temp_info_patinfo;
  939. if( tmpnode.rowcount != 0)
  940. {
  941. ds_main_info_patinfo_item.copyData(ds_temp_info_patinfo);
  942. }
  943. if(ds_main_info_rsrvacptinfo_item.getColumn(0, "disccd")!="-")
  944. {
  945. var nname = ds_main_info_rsrvacptinfo_item.getColumn(0, "disccd");
  946. var ncount = ds_init_baseinfo_pamcdlst_disccdlst.rowcount;
  947. for (var i = 0; i < ncount; i++)
  948. {
  949. if (nname == ds_init_baseinfo_pamcdlst_disccdlst.getColumn(i, "cd"))
  950. {
  951. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "dcamt", "string", ds_init_baseinfo_pamcdlst_disccdlst.getColumn(i, "dcamt"));
  952. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "adddcamt", "string", ds_init_baseinfo_pamcdlst_disccdlst.getColumn(i, "adddcamt"));
  953. }
  954. }
  955. }
  956. tmpnode = ds_temp_info_opmi_out;
  957. if( tmpnode.rowcount != 0)
  958. {
  959. ds_main_info_rcptinfo.addColumn("pkgamt", "string");
  960. ds_main_info_rcptinfo.addColumn("addamt", "string");
  961. ds_main_info_rcptinfo.addColumn("subtotamt", "string");
  962. ds_main_info_rcptinfo.addColumn("preamt", "string");
  963. ds_main_info_rcptinfo.addColumn("discamt", "string");
  964. ds_main_info_rcptinfo.addColumn("uncoamt", "string");
  965. ds_main_info_rcptinfo.addColumn("realamt", "string");
  966. tmpnode = ds_temp_info_opmi_out.getColumnInfo("opmi_discamt");
  967. if (!utlf_isNull(tmpnode))
  968. {
  969. ds_main_info_rcptinfo.setColumn(0, "pkgamt", ds_temp_info_opmi_out.getColumn(0, "opmi_baseexamamt"));
  970. ds_main_info_rcptinfo.setColumn(0, "addamt", ds_temp_info_opmi_out.getColumn(0, "opmi_addexamamt"));
  971. ds_main_info_rcptinfo.setColumn(0, "subtotamt", ds_temp_info_opmi_out.getColumn(0, "opmi_totamt"));
  972. ds_main_info_rcptinfo.setColumn(0, "preamt", ds_temp_info_opmi_out.getColumn(0, "opmi_mdlrcptamt"));
  973. ds_main_info_rcptinfo.setColumn(0, "discamt", ds_temp_info_opmi_out.getColumn(0, "opmi_discamt"));
  974. dsf_makeValue(ds_temp, "discamt", "string", ds_temp_info_opmi_out.getColumn(0, "opmi_discamt"));
  975. dsf_makeValue(ds_main_info_rcptinfo, "uncoamt", "string", ds_temp_info_opmi_out.getColumn(0, "opmi_restamt"));
  976. dsf_makeValue(ds_main_info_rcptinfo, "realamt", "string", ds_temp_info_opmi_out.getColumn(0, "opmi_rcptamt"));
  977. }
  978. dsf_makeValue(ds_temp, "rcptCheck", "string", "true");
  979. }
  980. else
  981. {
  982. dsf_makeValue(ds_send, "cmpycd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "cmpycd"));
  983. dsf_makeValue(ds_send, "conseq", "int", ds_main_info_rsrvacptinfo_item.getColumn(0, "conseq"));
  984. dsf_makeValue(ds_send, "conhistseq", "int", ds_main_info_rsrvacptinfo_item.getColumn(0, "conhistseq"));
  985. dsf_makeValue(ds_send, "sex", "string", ds_main_info_patinfo_item.getColumn(0, "sex"));
  986. dsf_makeValue(ds_send, "pkgcd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "pkgcd"));
  987. dsf_makeValue(ds_send, "pid", "string", ds_main_info_patinfo_item.getColumn(0, "pid"));
  988. dsf_makeValue(ds_send, "age", "string", ageCalc(ds_main_info_patinfo_item.getColumn(0, "rgstno1"),ds_main_info_patinfo_item.getColumn(0, "rgstno2")));
  989. var oParam = {};
  990. oParam.id = "TXAHA00903";
  991. oParam.service = "healexamrcptapp.HealExamRcpt";
  992. oParam.method = "reqExeHealExamAmtRsrvCalc";
  993. oParam.inds = "req=ds_send";
  994. oParam.outds = "ds_main_info_rcptinfo_rcptinfo=rcptinfo";
  995. oParam.async = false;
  996. //oParam.callback = "cf_TXAHA00903";
  997. tranf_submit(oParam);
  998. dsf_makeValue(ds_main_info_rcptinfo, "pkgamt" , "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "pkgamt"));
  999. dsf_makeValue(ds_main_info_rcptinfo, "discamt" , "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "discamt"));
  1000. dsf_makeValue(ds_main_info_rcptinfo, "pkgamt" , "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "pkgamt"));
  1001. dsf_makeValue(ds_main_info_rcptinfo, "discamt" , "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "discamt"));
  1002. dsf_makeValue(ds_temp, "discamt" , "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "discamt"));
  1003. dsf_makeValue(ds_main_info_rcptinfo, "subtotamt" , "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "subtotamt"));
  1004. if(utlf_isNull(ds_main_info_rcptinfo.getColumn(0, "preamt"))|| ds_main_info_rcptinfo.getColumn(0, "preamt")=="0")
  1005. {
  1006. dsf_makeValue(ds_main_info_rcptinfo, "preamt", "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "cashamt"));
  1007. }
  1008. if(utlf_isNull(ds_main_info_rcptinfo.getColumnInfo("addamt")))
  1009. {
  1010. dsf_makeValue(ds_main_info_rcptinfo_rcptinfo, "addamt", "string","0");
  1011. }
  1012. dsf_makeValue(ds_main_info_rcptinfo, "addamt" , "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "addamt"));
  1013. if (ds_main_info_rsrvacptinfo_item.getColumn(0, "cmpyflag")=="Y")
  1014. {
  1015. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "pkguncocd", "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "pkguncocd"));
  1016. }
  1017. else
  1018. {
  1019. dsf_makeValue(ds_main_info_rsrvacptinfo, "realamt", "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "subtotamt"));
  1020. }
  1021. dsf_makeValue(ds_temp, "rcptCheck" , "string", "false");
  1022. }
  1023. var sPid = ds_main_info_rsrvacptinfo_item.getColumn(0, "pid" );
  1024. var sOrddd = ds_main_info_rsrvacptinfo_item.getColumn(0, "orddd" );
  1025. var iCretno = ds_main_info_rsrvacptinfo_item.getColumn(0, "cretno" );
  1026. if(!utlf_isNull(sPid) && !utlf_isNull(sOrddd) && !utlf_isNull(iCretno) && (iCretno != "0" ))
  1027. {
  1028. ahafSetScreenTopPatInfo( sPid, sOrddd, iCretno );
  1029. }
  1030. fDcAmtCalc();
  1031. fSetBtnStat(); // 권한에 따른 버튼 설정
  1032. if(ds_main_info_rsrvacptinfo_item.getColumn(0, "cmpyflag")=="Y")
  1033. {
  1034. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "pkguncocd", "string","V02");
  1035. }
  1036. }
  1037. /** ==========================================================================================================
  1038. @author : 손주연
  1039. @version : 2007-04-30
  1040. @desc : 예약접수 상세내역조회
  1041. @param :
  1042. * vMode : 리스트 구분
  1043. * ==========================================================================================================*/
  1044. function ahafGetGnrlRsrvAcptDetl(vMode){
  1045. fInitInfo(); // 오른쪽 정보들 초기화 및 기본 값 셋팅 //호출화면
  1046. var vXpath = "";
  1047. var idx = -1;
  1048. switch (vMode) {
  1049. case 1:
  1050. vXpath = "ds_main_list_rsrvlst";
  1051. idx = ds_main_list_rsrvlst.rowposition;
  1052. break;
  1053. case 2:
  1054. vXpath = "ds_main_list_rsrvlst";
  1055. idx = ds_main_list_rsrvlst.rowposition;
  1056. break;
  1057. case 3:
  1058. vXpath = "ds_main_list_acptlst";
  1059. idx = ds_main_list_acptlst.rowposition;
  1060. break;
  1061. case 4:
  1062. vXpath = "ds_main_list_cncllst";
  1063. idx = ds_main_list_cncllst.rowposition
  1064. break;
  1065. case 5: //일반건진 2차대상자 리스트
  1066. vXpath = "ds_main_list_sndlst";
  1067. idx = ds_main_list_sndlst.rowposition
  1068. break;
  1069. case 6 : //건진이력
  1070. vXpath = "ds_main_info_histlst_item";
  1071. idx = ds_main_info_histlst_item.rowposition;
  1072. break;
  1073. default:
  1074. sysf_messageBox("인자가 잘못되었습니다", "E999");
  1075. return ;
  1076. break;
  1077. }
  1078. if( idx < 0 ) {
  1079. sysf_messageBox("건진내역을 ", "C002");
  1080. return ;
  1081. }
  1082. var vRsrvdd = this.objects[vXpath].getColumn(idx, "rsrvdd");
  1083. var vRsrvno = this.objects[vXpath].getColumn(idx, "rsrvno");
  1084. /*
  1085. *가예약 일경우 환자정보 patm의 정보만으로 조회
  1086. * pid가 0일 경우 ptbs에 정보가 없을 수 있음
  1087. */
  1088. var vStatFlag = this.objects[vXpath].getColumn(idx, "statflag");
  1089. var vPid = this.objects[vXpath].getColumn(idx, "pid");
  1090. ahafGetGnrlRsrvAcpDetltInfo(vRsrvdd, vRsrvno , vStatFlag , vPid);// 바로 아래 함수
  1091. ds_send_selpkgexam.clear();
  1092. for(var i = 0; i < ds_main_info_rsrvacptinfo_addlst.rowcount; i++)
  1093. {
  1094. ds_send_selpkgexam.copyRow(ds_send_selpkgexam.addRow(), ds_main_info_rsrvacptinfo_addlst, i);
  1095. if(utlf_isNull(ds_send_selpkgexam.getColumn(i, "uncocd")))
  1096. {
  1097. setAmt(i); //호출화면
  1098. }
  1099. }
  1100. }
  1101. /*-**************************************************************************************
  1102. * Argument : vRsrvdd : 예약등록일자
  1103. * : vRsrvno : 예약번호
  1104. * Description : 예약/접수 상세내역 조회
  1105. ****************************************************************************************/
  1106. function ahafGetGnrlRsrvAcpDetltInfo(vRsrvdd, vRsrvno , vStatFlag , vPid) {
  1107. if(utlf_isNull(vRsrvdd) || utlf_isNull(vRsrvno)) return ;
  1108. if(utlf_isNull(this.objects["ds_send"])) dsf_createDs("ds_send");
  1109. var vhf = "";
  1110. if (utlf_isNull(ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag")))
  1111. {
  1112. vhf = fGetHealExamFlag();
  1113. } else {
  1114. vhf = ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag");
  1115. }
  1116. dsf_makeValue(ds_send, "srchhealexamflag", vhf);
  1117. dsf_makeValue(ds_send, "srchrsrvdd", vRsrvdd);
  1118. dsf_makeValue(ds_send, "srchrsrvno", vRsrvno);
  1119. dsf_makeValue(ds_send, "srchinstcd", sysf_getUserInfo("dutplceinstcd"));
  1120. dsf_makeValue(ds_send, "scrnnm", (vStatFlag == "A" && vPid == "0") ? "internet" : "");
  1121. dsf_createDs("ds_main_info_patinfo_item");
  1122. dsf_createDs("ds_main_info_rsrvacptinfo_item");
  1123. dsf_createDs("ds_temp_info_rsrvacptinfo");
  1124. dsf_createDs("ds_temp_info_patinfo");
  1125. dsf_createDs("ds_temp_info_addlst");
  1126. dsf_createDs("ds_temp_info_judgone");
  1127. dsf_createDs("ds_temp_info_taginfo");
  1128. dsf_createDs("ds_temp_info_cnst");
  1129. dsf_createDs("ds_temp_info_opmi_out");
  1130. //TRAHA04012 -> 접수정보/ 메모/ 최근 건진 내역/ 개인정보(접수정보랑 겹치지 않나 생각됨)// 검사코드 리스트// 추가검사내역? // 태그 넘버// 수납 내역
  1131. // 상태 값을 넘겨서 조회를 해야할것와 하지 않아도 될것을 구분하면 좋을꺼 같음.
  1132. var oParam = {};
  1133. oParam.id = "TRAHA04033";
  1134. oParam.service = "healthexamrsrvacptapp.RsrvAcpt";
  1135. oParam.method = "reqGetRsrvAcptInfo";
  1136. oParam.inds = "req=ds_send";
  1137. oParam.outds = "ds_temp_info_patinfo=patinfo ds_temp_info_rsrvacptinfo=rsrvacptinfo ds_temp_info_addlst=addlst ds_temp_info_pkglst=pkglst "
  1138. +"ds_temp_info_judgone=judgone ds_temp_info_taginfo=taginfo ds_temp_info_cnst=cnst ds_temp_info_opmi_out=opmi_out";
  1139. oParam.async = false;
  1140. oParam.callback = "cf_TRAHA04033";
  1141. tranf_submit(oParam);
  1142. if( arErrorCode.pop("TRAHA04033") < 0 ) {
  1143. return ;
  1144. }
  1145. var i = 0;
  1146. //node clear현상때문임..
  1147. // 건진정보
  1148. var tmpnode = ds_temp_info_rsrvacptinfo;
  1149. if( tmpnode.rowcount > 0 ){
  1150. ds_main_info_rsrvacptinfo_item.copyData(ds_temp_info_rsrvacptinfo);
  1151. }
  1152. //추가검사내역
  1153. dsf_createDs("ds_main_info_rsrvacptinfo_addlst");
  1154. var nodelst = ds_temp_info_addlst;
  1155. if( nodelst.rowcount > 0 ){
  1156. dsf_copyDs(ds_main_info_rsrvacptinfo_addlst, ds_temp_info_addlst, "after");
  1157. }
  1158. //1차판정내역
  1159. dsf_createDs("ds_main_info_judgone");
  1160. ds_main_info_judgone.copyData(ds_temp_info_judgone);
  1161. //추가패키지내역
  1162. nodelst = ds_temp_info_pkglst;
  1163. dsf_createDs("ds_main_info_rsrvacptinfo_pkglst");
  1164. if( nodelst.rowcount > 0 ){
  1165. dsf_copyDs(ds_main_info_rsrvacptinfo_pkglst, nodelst, "after");
  1166. }
  1167. ds_send_selpkgexam.copyData(ds_main_info_rsrvacptinfo_addlst); //일반검진 추가검사
  1168. // 태그정보
  1169. var tagNode = ds_temp_info_taginfo;
  1170. btn_tag.text = "태그지급";
  1171. if(tagNode.rowcount > 0) {
  1172. ds_main_info_taginfo.copyData(ds_temp_info_taginfo);
  1173. var suppStat = ds_main_info_taginfo.getColumn(0, "suppstat");
  1174. if("0" == suppStat) {
  1175. btn_tag.text = "태그반납";
  1176. ipt_tagno.enable = false;
  1177. }
  1178. }
  1179. // 결과상담 예약리스트
  1180. ds_main_info_rsltcnstinfo_choicnst.cleareData(); ds_main_info_rsltcnstinfo_choicnst.addRow(); dsf_setDefaultVal(ds_main_info_rsltcnstinfo_choicnst, "all");
  1181. ds_main_info_rsltcnstinfo_cnstlst_cnst.copyData(ds_temp_info_cnst);
  1182. ds_main_info_rsltcnstinfo_choicnst.setColumn(0, "outexamyn", "N");
  1183. //환자정보
  1184. tmpnode = ds_temp_info_patinfo;
  1185. if( tmpnode.rowcount > 0 ){
  1186. ds_main_info_patinfo_item.copyData(ds_temp_info_patinfo);
  1187. }
  1188. //할인액 정보
  1189. if(ds_main_info_rsrvacptinfo_item.getColumn(0, "disccd") != "-"){
  1190. var nname = ds_main_info_rsrvacptinfo_item.getColumn(0, "disccd");
  1191. var ncount = ds_init_baseinfo_pamcdlst_disccdlst.rowcount;
  1192. for (var i = 0; i < ncount; i++){
  1193. if (nname == ds_init_baseinfo_pamcdlst_disccdlst.getColumn(i, "cd")) {
  1194. dsf_makeValue( ds_main_info_rsrvacptinfo_item, "dcamt", "string", ds_init_baseinfo_pamcdlst_disccdlst.getColumn(i, "dcamt"));
  1195. dsf_makeValue( ds_main_info_rsrvacptinfo_item, "adddcamt", "string", ds_init_baseinfo_pamcdlst_disccdlst.getColumn(i, "adddcamt"));
  1196. }
  1197. }
  1198. }
  1199. //수납정보
  1200. tmpnode = ds_temp_info_opmi_out;
  1201. if( tmpnode.rowcount > 0 ){
  1202. //ds_main_info_rcptinfo.addColumn(
  1203. ds_main_info_rcptinfo.addColumn( "pkgamt", "string");
  1204. ds_main_info_rcptinfo.addColumn( "addamt", "string");
  1205. ds_main_info_rcptinfo.addColumn( "subtotamt", "string");
  1206. ds_main_info_rcptinfo.addColumn( "preamt", "string");
  1207. ds_main_info_rcptinfo.addColumn( "discamt", "string");
  1208. ds_main_info_rcptinfo.addColumn( "uncoamt", "string");
  1209. ds_main_info_rcptinfo.addColumn( "realamt", "string");
  1210. tmpnode = ds_temp_info_opmi_out.getColumn(0, "opmi_discamt");
  1211. if (!utlf_isNull(tmpnode)){
  1212. ds_main_info_rcptinfo.setColumn( 0, "pkgamt" , ds_temp_info_opmi_out.getColumn(0, "opmi_baseexamamt"));
  1213. ds_main_info_rcptinfo.setColumn( 0, "addamt" , ds_temp_info_opmi_out.getColumn(0, "opmi_addexamamt"));
  1214. ds_main_info_rcptinfo.setColumn( 0, "subtotamt" , ds_temp_info_opmi_out.getColumn(0, "opmi_totamt"));
  1215. ds_main_info_rcptinfo.setColumn( 0, "preamt" , ds_temp_info_opmi_out.getColumn(0, "opmi_mdlrcptamt"));
  1216. ds_main_info_rcptinfo.setColumn( 0, "discamt" , ds_temp_info_opmi_out.getColumn(0, "opmi_discamt"));
  1217. dsf_makeValue( ds_temp, "discamt", "string", ds_temp_info_opmi_out.getColumn(0, "opmi_discamt"));
  1218. dsf_makeValue( ds_main_info_rcptinfo, "uncoamt", "string", ds_temp_info_opmi_out.getColumn(0, "opmi_restamt"));
  1219. dsf_makeValue( ds_main_info_rcptinfo, "realamt", "string", ds_temp_info_opmi_out.getColumn(0, "opmi_rcptamt"));
  1220. }
  1221. dsf_makeValue( ds_temp, "rcptCheck", "string", "true"); //수납된 내역 체크
  1222. } else{
  1223. dsf_makeValue( ds_send, "srchcmpycd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "cmpycd"));
  1224. dsf_makeValue( ds_send, "srchconseq", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "conseq"));
  1225. dsf_makeValue( ds_send, "srchconhistseq", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "conhistseq"));
  1226. dsf_makeValue( ds_send, "srchsex", "string", ds_main_info_patinfo_item.getColumn(0, "sex"));
  1227. dsf_makeValue( ds_send, "srchpkgcd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "pkgcd"));
  1228. dsf_makeValue( ds_send, "srchpid", "string", ds_main_info_patinfo_item.getColumn(0, "pid"));
  1229. dsf_makeValue( ds_send, "srchage", "string", ageCalc(ds_main_info_patinfo_item.getColumn(0, "rgstno1"),ds_main_info_patinfo_item.getColumn(0, "rgstno2")));
  1230. //선수금(RCPTFLAG - P, R / 패키지 금액(할인 포함)/ 수납 내역 조회
  1231. dsf_createDs("ds_req");
  1232. ds_req.copyData(ds_send);
  1233. for(var j = 0 ; j < ds_req.colcount ; j++) {
  1234. ds_req.updateColID(ds_req.getColID(j), ds_req.getColID(j).replace("srch",""));
  1235. }
  1236. dsf_createDs("ds_main_info_rcptinfo_rcptinfo");
  1237. var oParam = {};
  1238. oParam.id = "TXAHA00903";
  1239. oParam.service = "healexamrcptapp.HealExamRcpt";
  1240. oParam.method = "reqExeHealExamAmtRsrvCalc";
  1241. oParam.inds = "req=ds_req";
  1242. oParam.outds = "ds_main_info_rcptinfo_rcptinfo=rcptinfo";
  1243. oParam.async = false;
  1244. //oParam.callback = "cf_TXAHA00903";
  1245. tranf_submit(oParam);
  1246. dsf_makeValue( ds_main_info_rcptinfo, "pkgamt", "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "pkgamt"));
  1247. dsf_makeValue( ds_main_info_rcptinfo, "discamt", "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "discamt"));
  1248. dsf_makeValue( ds_temp, "discamt", "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "discamt"));
  1249. dsf_makeValue( ds_main_info_rcptinfo, "subtotamt", "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "subtotamt"));
  1250. if(utlf_isNull(ds_main_info_rcptinfo.getColumn(0, "preamt")) || ds_main_info_rcptinfo.getColumn(0, "preamt")=="0"){
  1251. dsf_makeValue( ds_main_info_rcptinfo, "preamt", "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "cashamt"));
  1252. }
  1253. if(utlf_isNull(ds_main_info_rcptinfo.getColumn(0, "addamt")))
  1254. dsf_makeValue( ds_main_info_rcptinfo_rcptinfo, "addamt", "string", "0");
  1255. dsf_makeValue( ds_main_info_rcptinfo, "addamt", "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "addamt"));
  1256. if (ds_main_info_rsrvacptinfo_item.getColumn(0, "cmpyflag")=="Y"){
  1257. dsf_makeValue( ds_main_info_rsrvacptinfo_item, "pkguncocd", "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "pkguncocd"));
  1258. } else{
  1259. dsf_makeValue( ds_main_info_rcptinfo, "realamt", "string", ds_main_info_rcptinfo_rcptinfo.getColumn(0, "subtotamt"));
  1260. }
  1261. dsf_makeValue( ds_temp, "rcptCheck", "string", "false"); //수납된 내역 체크
  1262. }
  1263. //화면상단정보 설정
  1264. var sPid = ds_main_info_rsrvacptinfo_item.getColumn(0, "pid");
  1265. var sOrddd = ds_main_info_rsrvacptinfo_item.getColumn(0, "orddd");
  1266. var iCretno = ds_main_info_rsrvacptinfo_item.getColumn(0, "cretno");
  1267. if( utlf_isNull(sPid) &&
  1268. utlf_isNull(sOrddd) &&
  1269. utlf_isNull(iCretno) &&
  1270. iCretno != "0" ) {
  1271. ahafSetScreenTopPatInfo( sPid, sOrddd, iCretno );
  1272. }
  1273. fDcAmtCalc();
  1274. fSetBtnStat(); // 권한에 따른 버튼 설정
  1275. if(ds_main_info_rsrvacptinfo_item.getColumn(0, "cmpyflag") == "Y"){
  1276. dsf_makeValue( ds_main_info_rsrvacptinfo_item, "pkguncocd", "string", "V02");
  1277. }
  1278. }
  1279. function cf_TRAHA04033(sSvcId, nErrorCode, sErrorMsg) {
  1280. arErrorCode.push(sSvcId, nErrorCode);
  1281. ds_temp_info_patinfo.updateColID("rgstno2", "srchrgstno1");
  1282. ds_temp_info_patinfo.deleteColumn("rgstno1");
  1283. ds_temp_info_patinfo.updateColID("rrgstno1", "rgstno1");
  1284. ds_temp_info_patinfo.updateColID("rrgstno2", "rgstno2");
  1285. ds_temp_info_patinfo.updateColID("insucd", "patm_insucd");
  1286. ds_temp_info_patinfo.updateColID("insuid", "patm_insuid");
  1287. ds_temp_info_patinfo.updateColID("insukind", "patm_insukind");
  1288. fMakeCopyColumn(ds_temp_info_patinfo,"instcd","srchinstcd");
  1289. ds_temp_info_rsrvacptinfo.updateColID("relacd", "emprelacd");
  1290. ds_temp_info_rsrvacptinfo.updateColID("uncocd", "pkguncocd");
  1291. for( var i = 0 ; i < ds_temp_info_opmi_out.colcount ; i++ ) {
  1292. if(ds_temp_info_opmi_out.getColID(i) == "pid") continue;
  1293. ds_temp_info_opmi_out.updateColID(ds_temp_info_opmi_out.getColID(i), "opmi_"+ds_temp_info_opmi_out.getColID(i));
  1294. }
  1295. }
  1296. /****************************************************************************************
  1297. * Argument : objDs - Dataset ID
  1298. * : sColSrc - 원본 컬럼
  1299. * : sColTgt - 생성할 컬럼
  1300. * Description : 데이터셋 특정컬럼 카피하여 새컬럼 생성
  1301. ****************************************************************************************/
  1302. function fMakeCopyColumn(objDs,sColSrc,sColTgt) {
  1303. if(utlf_isNull(objDs.getColumnInfo(sColTgt))) objDs.addColumn(sColTgt,"string");
  1304. for(var i = 0 ; i < objDs.rowcount ; i++) {
  1305. objDs.setColumn(i,sColTgt,objDs.getColumn(i,sColSrc));
  1306. }
  1307. }
  1308. /** ==========================================================================================================
  1309. @author : 손주연
  1310. @version : 2007-04-30
  1311. @desc : 예약/접수 상세내역 조회
  1312. @param :
  1313. * vHealExamDetlFg : 건진상세구분
  1314. * vPid : 환자등록번호
  1315. @return : 건진상세내역
  1316. * ==========================================================================================================*/
  1317. function ahafGetRsrvAcpDetltInfoWithPid( vHealExamDetlFg, vPid ){
  1318. if( utlf_isNull(vHealExamDetlFg) || utlf_isNull(vPid) ) return ;
  1319. var vhf = "";
  1320. if (utlf_isNull(ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag"))) {
  1321. vhf = fGetHealExamFlag();
  1322. } else {
  1323. vhf = ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag");
  1324. }
  1325. dsf_makeValue(ds_send, "srchhealexamflag" ,"string", vhf);
  1326. dsf_makeValue(ds_send, "srchhealexamdetlflag" ,"string", vHealExamDetlFg);
  1327. dsf_makeValue(ds_send, "srchhealexampid" ,"string", vPid);
  1328. dsf_makeValue(ds_send, "srchinstcd" ,"string", sysf_getUserInfo("dutplceinstcd") );
  1329. dsf_makeValue(ds_send, "srchrsrvdd" ,"string", "" );
  1330. dsf_makeValue(ds_send, "srchrsrvno" ,"string", "" );
  1331. //해당 건진자의 년도 건진예약 내역 존재유무
  1332. dsf_createDs("ds_temp_rsrvacptkey_item");
  1333. dsf_createDs("ds_temp_rsrvacptkey_item1");
  1334. var oParam = {};
  1335. oParam.id = "TRAHA00111";
  1336. oParam.service = "healexamrsrvacptapp.RsrvAcpt";
  1337. oParam.method = "reqGetRsrvAcptKeyWithPid";
  1338. oParam.inds = "req=ds_send";
  1339. oParam.outds = "ds_temp_rsrvacptkey_item=item ds_temp_rsrvacptkey_item1=item1";
  1340. oParam.async = false;
  1341. oParam.callback = "cf_TRAHA00111";
  1342. tranf_submit(oParam);
  1343. if( arErrorCode.pop("TRAHA00111") < 0 ) {
  1344. if (!utlf_isNull(ds_temp_rsrvacptkey_item1.getColumn(0, "linfo")))
  1345. {
  1346. var linfo = ds_temp_rsrvacptkey_item1.getColumn(0, "linfo");
  1347. var temp = new Date().getYear();
  1348. ds_main_info_rsrvacptinfo_item.setColumn(0, "latestpkginfo", ds_temp_rsrvacptkey_item1.getColumn(0, "linfo"));
  1349. var chklatestpkginfo = ds_main_info_rsrvacptinfo_item.getColumn(0, "latestpkginfo");
  1350. if (temp - parseInt(chklatestpkginfo.substr(0,4)) <=1)
  1351. {
  1352. if(ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag") != "G02"){
  1353. var rtn = sysf_messageBox("연속건진 할인을 사용 ", "S001") ;
  1354. //6.예 7. 아니오 2.취소
  1355. //6예이면 연속건진 할인을 사용하므로 할인계정에 셋팅
  1356. if(rtn == 6){
  1357. var objCmb = frmf_getComponents("cmb_disccd", this);
  1358. if(!utlf_isNull(objCmb)) objCmb.value = "F71";
  1359. }//if end
  1360. }
  1361. }
  1362. }
  1363. return ;
  1364. }
  1365. if (!utlf_isNull(ds_temp_rsrvacptkey_item1.getColumn(0, "linfo"))) {
  1366. var linfo = ds_temp_rsrvacptkey_item1.getColumn(0, "linfo");
  1367. var temp = new Date().getYear();
  1368. ds_main_info_rsrvacptinfo_item.setColumn(0, "latestpkginfo", ds_temp_rsrvacptkey_item1.getColumn(0, "linfo"));
  1369. var chklatestpkginfo = ds_main_info_rsrvacptinfo_item.getColumn(0, "latestpkginfo");
  1370. if (temp - parseInt(String(chklatestpkginfo).substr(0,4)) <= 1)
  1371. {
  1372. if(ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag") != "G02"){
  1373. var rtn = sysf_messageBox("연속건진 할인을 사용 ", "S001") ;
  1374. //6.예 7. 아니오 2.취소
  1375. //6예이면 연속건진 할인을 사용하므로 할인계정에 셋팅
  1376. if(rtn == 6){
  1377. var objCmb = frmf_getComponents("cmb_disccd", this);
  1378. if(!utlf_isNull(objCmb)) objCmb.value = "F71";
  1379. }//if end
  1380. }
  1381. }
  1382. }
  1383. // setPkgInfo();
  1384. var tmpnode = ds_temp_rsrvacptkey_item.getColumn(0, "rsrvdd");
  1385. if( utlf_isNull(tmpnode) ) {
  1386. fSetBtnStat();
  1387. return ;
  1388. }
  1389. // *Q005=조회 하시겠습니까?
  1390. if( sysf_messageBox("당해년도의 예약내역이 존재합니다. ", "Q005") != 6 ){
  1391. fSetBtnStat();
  1392. return ;
  1393. }else{
  1394. }
  1395. ds_send.setColumn(0, "srchrsrvdd", ds_temp_rsrvacptkey_item.getColumn(0, "rsrvdd"));
  1396. ds_send.setColumn(0, "srchrsrvno", ds_temp_rsrvacptkey_item.getColumn(0, "rsrvno"));
  1397. if(utlf_isNull(this.objects["ds_main_info_rsrvacptinfo_item"])) dsf_createDs("ds_main_info_rsrvacptinfo_item");
  1398. else {
  1399. ds_main_info_rsrvacptinfo_item.clearData();
  1400. }
  1401. dsf_createDs("ds_main_info_rsrvacptinfo_addlst");
  1402. dsf_createDs("ds_main_info_rsrvacptinfo_pkglst");
  1403. dsf_createDs("ds_temp_info_rsrvacptinfo");
  1404. dsf_createDs("ds_temp_info_patinfo");
  1405. dsf_createDs("ds_temp_info_addlst");
  1406. dsf_createDs("ds_temp_info_judgone");
  1407. dsf_createDs("ds_temp_info_taginfo");
  1408. dsf_createDs("ds_temp_info_cnst");
  1409. dsf_createDs("ds_temp_info_opmi_out");
  1410. var oParam = {};
  1411. oParam.id = "TRAHA04012";
  1412. oParam.service = "healthexamrsrvacptapp.RsrvAcpt";
  1413. oParam.method = "reqGetRsrvAcptInfo";
  1414. oParam.inds = "req=ds_send";
  1415. oParam.outds = "ds_temp_info_patinfo=patinfo ds_temp_info_rsrvacptinfo=rsrvacptinfo ds_temp_info_addlst=addlst ds_temp_info_pkglst=pkglst "
  1416. +"ds_temp_info_judgone=judgone ds_temp_info_taginfo=taginfo ds_temp_info_cnst=cnst ds_temp_info_opmi_out=opmi_out";
  1417. oParam.async = false;
  1418. oParam.callback = "cf_TRAHA04012";
  1419. tranf_submit(oParam);
  1420. if( arErrorCode.pop("TRAHA00102") < 0 ) {
  1421. return ;
  1422. }
  1423. var i = 0;
  1424. //node clear현상때문임..
  1425. if( ds_temp_info_rsrvacptinfo.rowcount > 0 ){
  1426. ds_main_info_rsrvacptinfo_item.copyRow(ds_main_info_rsrvacptinfo_item.addRow(), ds_temp_info_rsrvacptinfo, 0);
  1427. }
  1428. if( ds_temp_info_addlst.rowcount > 0 ){
  1429. dsf_copyDs(ds_main_info_rsrvacptinfo_addlst, ds_temp_info_addlst, "after");
  1430. }
  1431. if( ds_temp_info_pkglst.rowcount > 0 ){
  1432. dsf_copyDs(ds_main_info_rsrvacptinfo_pkglst, ds_temp_info_pkglst, "after");
  1433. }
  1434. //trace("222+"+ds_main_info_rsrvacptinfo_item.saveXML());
  1435. //화면상단정보 설정
  1436. var sOrdDD = ds_main_info_rsrvacptinfo_item.getColumn(0, "orddd");
  1437. var iCretno = ds_main_info_rsrvacptinfo_item.getColumn(0, "cretno");
  1438. var sPid = ds_main_info_rsrvacptinfo_item.getColumn(0, "pid");
  1439. //외래등록내역이 있어야 조회 됨...
  1440. if( !utlf_isNull(sOrdDD) &&
  1441. !utlf_isNull(sPid) &&
  1442. !utlf_isNull(iCretno) &&
  1443. iCretno != "0"
  1444. ) {
  1445. ahafSetScreenTopPatInfo( sPid , sOrdDD , iCretno );
  1446. }
  1447. fSetBtnStat();
  1448. }
  1449. function cf_TRAHA00111(sSvcId, nErrorCode, sErrorMsg) {
  1450. arErrorCode.push(sSvcId, nErrorCode);
  1451. }
  1452. function cf_TRAHA04012(sSvcId, nErrorCode, sErrorMsg) {
  1453. arErrorCode.push(sSvcId, nErrorCode);
  1454. ds_temp_info_patinfo.updateColID("rgstno2", "srchrgstno1");
  1455. ds_temp_info_patinfo.deleteColumn("rgstno1");
  1456. ds_temp_info_patinfo.updateColID("rrgstno1", "rgstno1");
  1457. ds_temp_info_patinfo.updateColID("rrgstno2", "rgstno2");
  1458. ds_temp_info_patinfo.updateColID("insucd", "patm_insucd");
  1459. ds_temp_info_patinfo.updateColID("insuid", "patm_insuid");
  1460. ds_temp_info_patinfo.updateColID("insukind", "patm_insukind");
  1461. fMakeCopyColumn(ds_temp_info_patinfo,"instcd","srchinstcd");
  1462. ds_temp_info_rsrvacptinfo.updateColID("relacd", "emprelacd");
  1463. ds_temp_info_rsrvacptinfo.updateColID("uncocd", "pkguncocd");
  1464. ds_temp_info_addlst.updateColID("pkgflag", "testflag");
  1465. dsf_setFixVal(ds_temp_info_addlst, "m:u");
  1466. for( var i = 0 ; i < ds_temp_info_opmi_out.colcount ; i++ ) {
  1467. if(ds_temp_info_opmi_out.getColID(i) == "pid") continue;
  1468. ds_temp_info_opmi_out.updateColID(ds_temp_info_opmi_out.getColID(i), "opmi_"+ds_temp_info_opmi_out.getColID(i));
  1469. }
  1470. }
  1471. /** ==========================================================================================================
  1472. @author : 손주연
  1473. @version : 2007-04-30
  1474. @desc : 주소 검색
  1475. @param :
  1476. @return :
  1477. * ==========================================================================================================*/
  1478. function fSetAddr(vCond, vDestXPath) {
  1479. fCheckNodeExist("/root/temp/addr/zipcd1" , true);
  1480. fCheckNodeExist("/root/temp/addr/zipcd2" , true);
  1481. fCheckNodeExist("/root/temp/addr/zipcdseq" , true);
  1482. fCheckNodeExist("/root/temp/addr/addr" , true);
  1483. zbcfOpenZipCodeList("combination", "", "/root/temp/addr/zipcd1", "/root/temp/addr/zipcd2", "/root/temp/addr/zipcdseq", "/root/temp/addr/addr");
  1484. var node =model.getValue("/root/temp/addr/zipcd1");
  1485. if( node != "" ){
  1486. model.setValue( vDestXPath + "/zipcd" + vCond + "1" , model.getValue("/root/temp/addr/zipcd1") );
  1487. model.setValue( vDestXPath + "/zipcd" + vCond + "2" , model.getValue("/root/temp/addr/zipcd2") );
  1488. model.setValue( vDestXPath + "/zipcdseq" + vCond , model.getValue("/root/temp/addr/zipcdseq") );
  1489. model.setValue( vDestXPath + "/addr" + vCond , model.getValue("/root/temp/addr/addr") );
  1490. model.setFocus("ipt_detladdr");
  1491. model.refresh();
  1492. }
  1493. }
  1494. /**==================================================================================================================
  1495. @author : 손주연
  1496. @version : 2007-06-30
  1497. @desc : 주소 검색
  1498. @param :
  1499. * vCond : 주소1,2구분.(발송주소관련)
  1500. * vDestXPath : 목적노드(주소가 입력될)
  1501. * vSrchCond : 검색조건 ( 주소(‘address’), 동명/아파트명/건물명(‘combination’), 우편번호(‘zipcode’) )
  1502. * vSrchCondNm : 조건명
  1503. @return : 주소상세내역
  1504. *====================================================================================================================*/
  1505. function ahafSetAddr(vCond, vDestXPath, vSrchCond, vSrchCondNm) {
  1506. ds_temp_address.clearData();
  1507. ds_temp_address.addRow();
  1508. var objParam = zbcfOpenZipCodeList(vSrchCond
  1509. , vSrchCondNm
  1510. , ds_temp_address.getColumn(0, "zipcd1")
  1511. , ds_temp_address.getColumn(0, "zipcd2")
  1512. , ds_temp_address.getColumn(0, "zipcdseq")
  1513. , ds_temp_address.getColumn(0, "addr")
  1514. , "hangul"
  1515. , ds_temp_address.getColumn(0, "detladdr")
  1516. , ds_temp_address.getColumn(0, "builno"));
  1517. ds_temp_address.setColumn(0, "zipcd1", objParam.zipcdhead);
  1518. ds_temp_address.setColumn(0, "zipcd2", objParam.zipcdfoot);
  1519. ds_temp_address.setColumn(0, "zipcdseq", objParam.seqno);
  1520. ds_temp_address.setColumn(0, "addr", objParam.address);
  1521. ds_temp_address.setColumn(0, "builno", objParam.builno);
  1522. var node = ds_temp_address.getColumn(0, "zipcd1");
  1523. if( !utlf_isNull(node) ){
  1524. vDestXPath.enableevent = false;
  1525. vDestXPath.setColumn(0, "zipcd" + vCond + "1" , ds_temp_address.getColumn(0, "zipcd1"));
  1526. vDestXPath.setColumn(0, "zipcd" + vCond + "2" , ds_temp_address.getColumn(0, "zipcd2"));
  1527. vDestXPath.setColumn(0, "zipcdseq" + vCond , ds_temp_address.getColumn(0, "zipcdseq"));
  1528. vDestXPath.setColumn(0, "addr" + vCond , ds_temp_address.getColumn(0, "addr"));
  1529. vDestXPath.setColumn(0, "detladdr" + vCond , ds_temp_address.getColumn(0, "detladdr"));
  1530. vDestXPath.setColumn(0, "builno" + vCond , ds_temp_address.getColumn(0, "builno"));
  1531. vDestXPath.enableevent = true;
  1532. if( vCond == "1" ) vCond = "";
  1533. if( !utlf_isNull(this.components["grp_addr2.ipt_detladdr" + vCond]) )
  1534. eval("grp_addr2.ipt_detladdr" + vCond).setFocus();
  1535. }
  1536. return "ds_temp_address";
  1537. }
  1538. /**==================================================================================================================
  1539. @author : 손주연
  1540. @version : 2007-06-30
  1541. @desc : Calendar관련 draw 공용 함수
  1542. @param :
  1543. @return :
  1544. *====================================================================================================================*/
  1545. function initCalendar() {
  1546. var curDate = getCurrentDate().toDate();
  1547. model.setValue("/root/temp/calendar/year", curDate.getDateFormat('YYYY'));
  1548. model.setValue("/root/temp/calendar/month", curDate.getDateFormat('MM'));
  1549. model.refresh();
  1550. setCalendar(curDate);
  1551. }
  1552. function setCalendar(dateObj) {
  1553. // 그리드 초기화
  1554. model.removeNodeset("/root/temp/calendar/weeklist/list");
  1555. //grd_calendar.rebuild()
  1556. dateObj.setDate(1);
  1557. var startDay = dateObj.getDay();
  1558. var days = dateObj.getMonthDay();
  1559. var rows = Math.ceil( ( startDay + days ) / 7 );
  1560. for( var i = 0; i < rows; i++ )
  1561. grd_calendar.addRow(false);
  1562. grd_calendar.rebuild();
  1563. var rowIndex = grd_calendar.fixedRows;
  1564. var colIndex = startDay;
  1565. for( var i = 1; i <= days; i++ ) {
  1566. grd_calendar.valueMatrix(rowIndex, colIndex) = i;
  1567. colIndex++;
  1568. if( colIndex == 7 ) {
  1569. colIndex = 0;
  1570. rowIndex++;
  1571. }
  1572. }
  1573. }
  1574. function setCellColor(gridObj) {
  1575. var calRow = gridObj.row ;
  1576. var calCol = gridObj.col;
  1577. var tmpCalCol;
  1578. if( calCol < 7 )
  1579. tmpCalCol = calCol + 7;
  1580. else
  1581. tmpCalCol = calCol - 7;
  1582. gridObj.rebuildStyle();
  1583. gridObj.cellStyle("background-color", calRow, calCol) = "#daa7d9";
  1584. gridObj.cellStyle("background-color", calRow, tmpCalCol) = "#daa7d9";
  1585. }
  1586. /**==================================================================================================================
  1587. @author : 손주연
  1588. @version : 2007-06-30
  1589. @desc : Calendar 선택한 일자 얻기
  1590. @param :
  1591. * grdObj( calendar grid control )
  1592. @return : date (YYYYMMDD)
  1593. *====================================================================================================================*/
  1594. function fGetCalendarDate(grdObj){
  1595. var cal_row = grdObj.row;
  1596. var cal_col = grdObj.col;
  1597. if( cal_col > 6) cal_col -= 7;
  1598. var rsrvdd = "";
  1599. if( cal_row > 0 ){
  1600. var dd = model.getValue( grdObj.nodeset + "[" + cal_row + "]/" + grdObj.colAttribute( cal_col,"ref") ) ;
  1601. if( dd.length < 2 ) {
  1602. dd = "0" + dd;
  1603. }
  1604. rsrvdd = model.getValue("/root/temp/calendar/year") + model.getValue("/root/temp/calendar/month") + dd ;
  1605. }
  1606. return rsrvdd;
  1607. }
  1608. /**==================================================================================================================
  1609. @author : 손주연
  1610. @version : 2007-06-30
  1611. @desc : Calendar 새로그리기
  1612. @param :
  1613. * vDateFg : Y-년도, M-월
  1614. * vIncrease : 증감(+/-)
  1615. @return : date (YYYYMMDD)
  1616. *====================================================================================================================*/
  1617. function fHRefreshCalender(vDateFg, vIncrease){
  1618. if( (vDateFg != "Y" ) && (vDateFg != "M") ) {
  1619. return ;
  1620. }
  1621. var iTerm = parseInt(vIncrease);
  1622. var isMonth = model.getValue("/root/temp/calendar/month");
  1623. var isYear = model.getValue("/root/temp/calendar/year");
  1624. var isDate = (isYear+isMonth+1).toDate().getAddDate(iTerm,vDateFg);
  1625. model.setValue("/root/temp/calendar/year", isDate.getDateFormat('YYYY'));
  1626. model.setValue("/root/temp/calendar/month", isDate.getDateFormat('MM'));
  1627. model.refresh();
  1628. setCalendar(isDate);
  1629. }
  1630. /**==================================================================================================================
  1631. @author : 손주연
  1632. @version : 2007-04-18
  1633. @desc : fExcelUpload 엑셀파일을 해당 그리드로 in
  1634. @param : grid object
  1635. *====================================================================================================================*/
  1636. function fExcelUpload(grdObj){
  1637. if( grdObj == null ){
  1638. messageBox("grdObj is null!", "E999");
  1639. return ;
  1640. }
  1641. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  1642. grdObj.loadExcel(fileName, 1, true);
  1643. var cnt = grdObj.rows;
  1644. var i = 0;
  1645. for( i = 1; i < cnt +1 ; i++)
  1646. {
  1647. grdObj.addStatus(i, "insert");
  1648. }
  1649. grdObj.deleteRow(1);
  1650. grdObj.refresh();
  1651. }
  1652. /**==================================================================================================================
  1653. @author : 손주연
  1654. @version : 2007-04-18
  1655. @desc : 질환코드 선택 창 open
  1656. @param : grid object
  1657. * SPAHB00200_PARAM1 : 현재화면ID
  1658. * SPAHB00200_PARAM2 : 질환코드
  1659. * SPAHB00200_PARAM3 : 질환명
  1660. * SPAHB00200_PARAM4 : 대상 nodeset count
  1661. * SPAHB00200_PARAM5 : 대상 nodeset
  1662. *====================================================================================================================*/
  1663. function ahafGetSickCd(vOpenerID, vCondCd, vCondNm, vDestCnt, vDestXPath, vMappSickCd ){
  1664. clearParameter("SPAHB00200_PARAM1");
  1665. clearParameter("SPAHB00200_PARAM2");
  1666. clearParameter("SPAHB00200_PARAM3");
  1667. clearParameter("SPAHB00200_PARAM4");
  1668. clearParameter("SPAHB00200_PARAM5");
  1669. clearParameter("SPAHB00200_PARAM6");
  1670. setParameter ("SPAHB00200_PARAM1", vOpenerID);
  1671. setParameter ("SPAHB00200_PARAM2", vCondCd);
  1672. setParameter ("SPAHB00200_PARAM3", vCondNm);
  1673. setParameter ("SPAHB00200_PARAM4", vDestCnt);
  1674. setParameter ("SPAHB00200_PARAM5", vDestXPath);
  1675. setParameter ("SPAHB00200_PARAM6", vMappSickCd);
  1676. modal("SPAHB00200");
  1677. }
  1678. /**==================================================================================================================
  1679. @author : 손범성
  1680. @version : 2007-12-18
  1681. @desc : 검사코드 선택 창 open
  1682. @param : grid object
  1683. * SPAHB00500_PARAM1 : 현재화면ID
  1684. * SPAHB00500_PARAM2 : 검사코드
  1685. * SPAHB00500_PARAM3 : 검사명
  1686. * SPAHB00500_PARAM4 : 대상 nodeset count
  1687. * SPAHB00500_PARAM5 : 대상 nodeset
  1688. *====================================================================================================================*/
  1689. function ahafGetTestCd(vOpenerID, vCondCd, vCondNm, vDestCnt, vDestXPath,vjudgexmpcd ){
  1690. clearParameter("SPAHB00600_PARAM1");
  1691. clearParameter("SPAHB00600_PARAM2");
  1692. clearParameter("SPAHB00600_PARAM3");
  1693. clearParameter("SPAHB00600_PARAM4");
  1694. clearParameter("SPAHB00600_PARAM5");
  1695. clearParameter("SPAHB00600_PARAM6");
  1696. clearParameter("SPAHB00600_PARAM7");
  1697. clearParameter("SPAHB00600_PARAM8");
  1698. setParameter ("SPAHB00600_PARAM1", vOpenerID);
  1699. setParameter ("SPAHB00600_PARAM2", vCondCd);
  1700. setParameter ("SPAHB00600_PARAM3", vCondNm);
  1701. setParameter ("SPAHB00600_PARAM4", vDestCnt);
  1702. setParameter ("SPAHB00600_PARAM5", vDestXPath);
  1703. setParameter ("SPAHB00600_PARAM6", vjudgexmpcd);
  1704. modal("SPAHB00600");
  1705. }
  1706. /**==================================================================================================================
  1707. @author : 손주연
  1708. @version : 2007-04-18
  1709. @desc : 처방가져오기
  1710. @param :
  1711. * vOpenerID : 현재화면ID
  1712. * vPkgFg :
  1713. * bMultiyn : 다중체크여부
  1714. * vCond : 검색구분(cd/nm)
  1715. * vCdnm : 검색조건(코드/명칭)
  1716. * vHeDetlFg : 건진상세구분
  1717. * vSex : 성별구분(M/F)
  1718. * SPAHA00200_PARAM1 : P=>pkg, C=>단체pkg, A=>추가검사,S=>선택검사(추가검사와 동일한 검색조건임), T=>일반검사코드
  1719. * SPAHA00200_PARAM2 : 검색구분(cd/nm)
  1720. * SPAHA00200_PARAM3 : 검색조건(코드/명칭)
  1721. * SPAHA00200_PARAM4 : 기관코드
  1722. * SPAHA00200_PARAM5 : 건진구분( 공통코드 A0068참고)
  1723. * SPAHA00200_PARAM6 : 건진구분( 공통코드 A0069, A0070 참고)
  1724. * SPAHA00200_PARAM7 : vOpenerID
  1725. * SPAHA00200_PARAM8 : 성별구분(M/F)
  1726. * SPAHA00200_PARAM9 : 다중선택여부(Y/N)
  1727. * SPAHA00200_PARAM10 : single 입력일 경우 대상 nodeset
  1728. *====================================================================================================================*/
  1729. function fGetPkgCd(vOpenerID, vPkgFg, bMultiyn,vCond, vCdnm , vHealExamDetlFlag, vSex, vDestXPath, vSrchDisableYN,vFrom,vage,vbrthareacnts,vforgneryn, vidx){
  1730. frmf_clearParameter("SPAHA00200_PARAM1");
  1731. frmf_clearParameter("SPAHA00200_PARAM2");
  1732. frmf_clearParameter("SPAHA00200_PARAM3");
  1733. frmf_clearParameter("SPAHA00200_PARAM4");
  1734. frmf_clearParameter("SPAHA00200_PARAM5");
  1735. frmf_clearParameter("SPAHA00200_PARAM6");
  1736. frmf_clearParameter("SPAHA00200_PARAM7");
  1737. frmf_clearParameter("SPAHA00200_PARAM8");
  1738. frmf_clearParameter("SPAHA00200_PARAM9");
  1739. frmf_clearParameter("SPAHA00200_PARAM10");
  1740. frmf_clearParameter("SPAHA00200_PARAM11");
  1741. frmf_clearParameter("SPAHA00200_PARAM12");
  1742. frmf_clearParameter("SPAHA00200_PARAM13");
  1743. frmf_clearParameter("SPAHA00200_PARAM14");
  1744. frmf_clearParameter("SPAHA00200_PARAM15");
  1745. frmf_clearParameter("SPAHA00200_PARAM16");
  1746. frmf_setParameter ("SPAHA00200_PARAM1" , vPkgFg);
  1747. frmf_setParameter ("SPAHA00200_PARAM2" , vCond);
  1748. frmf_setParameter ("SPAHA00200_PARAM3" , vCdnm);
  1749. frmf_setParameter ("SPAHA00200_PARAM4" , sysf_getUserInfo("dutplceinstcd"));
  1750. if(vHealExamDetlFlag!="G01"){
  1751. frmf_setParameter ("SPAHA00200_PARAM5" , fGetHealExamFlag() );
  1752. } else {
  1753. frmf_setParameter ("SPAHA00200_PARAM5" , "G" );
  1754. }
  1755. frmf_setParameter ("SPAHA00200_PARAM6" , vHealExamDetlFlag);
  1756. frmf_setParameter ("SPAHA00200_PARAM7" , vOpenerID);
  1757. frmf_setParameter ("SPAHA00200_PARAM8" , vSex);
  1758. frmf_setParameter ("SPAHA00200_PARAM9" , bMultiyn);
  1759. frmf_setParameter ("SPAHA00200_PARAM10" , vDestXPath);
  1760. frmf_setParameter ("SPAHA00200_PARAM11" , vSrchDisableYN);
  1761. frmf_setParameter ("SPAHA00200_PARAM12" , vFrom);
  1762. frmf_setParameter ("SPAHA00200_PARAM13" , vage);
  1763. frmf_setParameter ("SPAHA00200_PARAM14" , vbrthareacnts);
  1764. frmf_setParameter ("SPAHA00200_PARAM15" , vforgneryn);
  1765. if( utlf_isNull(vidx) ){
  1766. frmf_setParameter ("SPAHA00200_PARAM16" , "0");
  1767. }else{
  1768. frmf_setParameter ("SPAHA00200_PARAM16" , vidx);
  1769. }
  1770. frmf_modal("SPAHA00200","SPAHA00200",null,"","","","","","","","","","M");
  1771. }
  1772. /**==================================================================================================================
  1773. @author : 손주연
  1774. @version : 2007-07-05
  1775. @desc : 검사코드 다중 선택 후 opener 화면에서 추가검사 setting.
  1776. @param :
  1777. * vGrdObj(대상grid ID)
  1778. * vTestCdCol( TestCode Column 순번)
  1779. * vSrcXPath(검사코드선택 창으로 입력한 대상노드와 동일.)
  1780. *====================================================================================================================*/
  1781. function fSetAddList(vGrdObj, vTestCdCol, vSrcXPath, vDupCheck, vPkgYN , vPkgCd)
  1782. {
  1783. if( ds_temp.getColumn(0, "okflag") != "ok" ) return ;
  1784. if( utlf_isNull(vGrdObj)) return ;
  1785. if( utlf_isNull(vSrcXPath) ) return ;
  1786. var vDataset = this.objects[vGrdObj.binddataset];
  1787. var cnt = eval(vSrcXPath).rowcount;
  1788. var vTestcd = "";
  1789. var vTestnm = "";
  1790. if( vPkgYN == "Y" )
  1791. {
  1792. for(var i = 0; i < cnt ; i++ )
  1793. {
  1794. vTestcd = eval(vSrcXPath).getColumn(i, "pkgcd" );
  1795. vTestnm = eval(vSrcXPath).getColumn(i, "pkgnm" );
  1796. if( vDupCheck == "Y" )
  1797. {
  1798. if( fCheckDup(vGrdObj , vTestCdCol, vTestcd ) == false )
  1799. {
  1800. if( sysf_messageBox("중복되는 Pkg코드[" + vTestcd + " - " + vTestnm +"] 를 추가 ", "S001") != 6 )
  1801. {
  1802. continue ;
  1803. }
  1804. }
  1805. }
  1806. var danga = eval(vSrcXPath).getColumn(i, "scoreamt" );
  1807. if(ds_main_info_rsrvacptinfo_item.getColumn(0, "cmpyflag") == "Y")
  1808. {
  1809. danga = parseInt(parseFloat(danga)* 0.1)*10;
  1810. }
  1811. else
  1812. {
  1813. danga = danga;
  1814. }
  1815. var grdcnt = vDataset.addRow();
  1816. vDataset.enableevent = false;
  1817. dsf_makeValue(vDataset, "sel", "string", "Y", grdcnt);
  1818. dsf_makeValue(vDataset, "pkgcd", "string", vTestcd, grdcnt);
  1819. dsf_makeValue(vDataset, "pkgnm", "string", vTestnm, grdcnt);
  1820. dsf_makeValue(vDataset, "uncocd", "string", "V03", grdcnt);
  1821. dsf_makeValue(vDataset, "scoreamt", "string", danga, grdcnt);
  1822. dsf_makeValue(vDataset, "addtotamt", "string", danga, grdcnt);
  1823. dsf_makeValue(vDataset, "calcscorcd", "string", eval(vSrcXPath).getColumn(i, "calcscorcd"), grdcnt);
  1824. dsf_makeValue(vDataset, "testdiscyn", "string", eval(vSrcXPath).getColumn(i, "testdiscyn"), grdcnt);
  1825. if( !utlf_isNull(vDataset.getColumnInfo("colEdit1")) ){
  1826. vDataset.setColumn(grdcnt, "colEdit1", "checkbox");
  1827. }
  1828. if( !utlf_isNull(vDataset.getColumnInfo("colEdit2")) ){
  1829. vDataset.setColumn(grdcnt, "colEdit2", "none");
  1830. }
  1831. vDataset.enableevent = true;
  1832. }
  1833. }
  1834. else
  1835. {
  1836. for(var i = 0; i < cnt ; i++ )
  1837. {
  1838. vTestcd = eval(vSrcXPath).getColumn(i, "testcd" );
  1839. vTestnm = eval(vSrcXPath).getColumn(i, "testnm" );
  1840. if( vDupCheck == "Y" )
  1841. {
  1842. if( fCheckDup(vGrdObj , vTestCdCol, vTestcd ) == false )
  1843. {
  1844. if( sysf_messageBox("중복되는 검사코드[" + vTestcd + " - " + vTestnm +"] 를 추가 ", "S001") != 6 )
  1845. {
  1846. continue ;
  1847. }
  1848. }
  1849. }
  1850. var danga = eval(vSrcXPath).getColumn(i, "scoreamt" );
  1851. if(ds_main_info_rsrvacptinfo_item.getColumn(0, "cmpyflag") == "Y")
  1852. {
  1853. danga = parseInt(parseFloat(danga)* 0.1)*10;
  1854. }
  1855. else
  1856. {
  1857. danga = danga;
  1858. }
  1859. var grdcnt = vDataset.addRow();
  1860. vDataset.enableevent = false;
  1861. dsf_makeValue(vDataset, "sel", "string", "Y", grdcnt);
  1862. dsf_makeValue(vDataset, "testflag", "string", "A", grdcnt);
  1863. dsf_makeValue(vDataset, "testcd", "string", vTestcd, grdcnt);
  1864. dsf_makeValue(vDataset, "testnm", "string", vTestnm, grdcnt);
  1865. dsf_makeValue(vDataset, "uncocd", "string", "V01", grdcnt);
  1866. dsf_makeValue(vDataset, "scoreamt", "string", danga, grdcnt);
  1867. dsf_makeValue(vDataset, "addtotamt", "string", danga, grdcnt);
  1868. dsf_makeValue(vDataset, "calcscorcd", "string", eval(vSrcXPath).getColumn(i, "calcscorcd"), grdcnt);
  1869. dsf_makeValue(vDataset, "prcptims", "string", "1", grdcnt);
  1870. dsf_makeValue(vDataset, "prcpdayno", "string", "1", grdcnt);
  1871. dsf_makeValue(vDataset, "testdiscyn", "string", eval(vSrcXPath).getColumn(i, "testdiscyn"), grdcnt);
  1872. dsf_makeValue(vDataset, "payownbamt", "string", danga, grdcnt);
  1873. dsf_makeValue(vDataset, "grupflag", "string", eval(vSrcXPath).getColumn(i, "grupflag"), grdcnt);
  1874. if( !utlf_isNull(vDataset.getColumnInfo("colEdit1")) ){
  1875. vDataset.setColumn(grdcnt, "colEdit1", "checkbox");
  1876. }
  1877. if( !utlf_isNull(vDataset.getColumnInfo("colEdit2")) ){
  1878. vDataset.setColumn(grdcnt, "colEdit2", "none");
  1879. }
  1880. vDataset.enableevent = true;
  1881. }
  1882. }
  1883. dsf_deleteDs("ds_send_test");
  1884. dsf_createDs("ds_send_test");
  1885. if(vDataset.rowcount >= 2)
  1886. {
  1887. for(var i = 0; i < vDataset.rowcount; i++)
  1888. {
  1889. dsf_makeValue(ds_send_test, "pkgcd", "string", vDataset.getColumn(i, "testcd"), i);
  1890. dsf_makeValue(ds_send_test, "grupflag", "string", vDataset.getColumn(i, "grupflag"), i);
  1891. }
  1892. if(!utlf_isNull(vPkgCd)) { dsf_makeValue(ds_send_test, "srchpkgcd","string", vPkgCd);}
  1893. if(!utlf_isNull(vPkgCd)) { dsf_makeValue(ds_send_test, "healexamflag","string", fGetHealExamFlag());}
  1894. var oParam = {};
  1895. oParam.id = "TRAHA00013";
  1896. oParam.service = "healexamrsrvacptapp.RsrvAcpt";
  1897. oParam.method = "reqTestDuplex";
  1898. oParam.inds = "req=ds_send_test";
  1899. oParam.outds = "ds_tmp_testcount_testcount=testcount";
  1900. oParam.async = false;
  1901. //oParam.callback = "cf_TRAHA00013";
  1902. tranf_submit(oParam);
  1903. }
  1904. var testnm ="";
  1905. var testnmcount ="";
  1906. var cnt = ds_tmp_testcount_testcount.rowcount;
  1907. if (cnt != 0)
  1908. {
  1909. for (var i = 0; i < cnt ; i++)
  1910. {
  1911. testnm = ds_tmp_testcount_testcount.getColumn(i, "testnm");
  1912. if (!utlf_isNull(testnm))
  1913. {
  1914. testnmcount = testnmcount + testnm + "/";
  1915. }
  1916. }
  1917. sysf_messageBox(testnmcount + " 검사가 중복되었습니다","E999");
  1918. }
  1919. }
  1920. /**==================================================================================================================
  1921. @author : 손주연
  1922. @version : 2007-07-05
  1923. @desc : grid dup value check.
  1924. @param :
  1925. * vGrdObj : grid control
  1926. * vCheckCol : check대상 column ( 0,1,2,...)
  1927. * vCheckVal : dup check 대상 값
  1928. *====================================================================================================================*/
  1929. function fCheckDup( vGrdObj, vCheckCol , vCheckVal )
  1930. {
  1931. var cnt = this.objects[vGrdObj.binddataset].rowcount;
  1932. var vDataSet = this.objects[vGrdObj.binddataset]
  1933. for( var i = 0; i < cnt ; i++)
  1934. {
  1935. if( vDataSet.getColumn(i, vCheckCol) == vCheckVal )
  1936. {
  1937. return false;
  1938. }
  1939. }
  1940. }
  1941. /**==================================================================================================================
  1942. @author : 손주연
  1943. @version : 2007-07-05
  1944. @desc : 임시 건진금액 합계
  1945. @param :
  1946. * vGrdObj : grid control
  1947. * vCalcCol : 금액 column ( 0,1,2,...)
  1948. * vPkgAmt : 패키지금액
  1949. *====================================================================================================================*/
  1950. function fTempCalc( vPkgAmt , vGrdObj , vCalcCol , vPrcpTimsCol, vTotAmtCtrlID, vPkgAmtCtrlID, vAddAmtCtrlID){
  1951. /* var iTotAmt = 0;
  1952. var iAddAmt = 0;
  1953. var iTotAdd = 0;
  1954. var iTotAddExm = 0;
  1955. var vTotAddExm =0;
  1956. var vTotAdd =0;
  1957. var iPkgAmt = parseInt(vPkgAmt);
  1958. var vAddAmt = "";
  1959. var vPrcpTims = "";
  1960. var iDiscAmt =0;*///fDcAmtCalc()에서 처리
  1961. /* iTotAddExm = model.getValue("/root/main/info/rcptinfo/subtotamt"); //소계
  1962. iTotAdd = model.getValue("/root/main/info/rcptinfo/addamt");//추가검사금액
  1963. if(vPkgAmt == "") vPkgAmt = "0";
  1964. if(iTotAddExm == "")
  1965. {
  1966. vTotAddExm = 0;
  1967. } else {
  1968. vTotAddExm = parseInt(iTotAddExm);
  1969. }
  1970. if(iTotAdd == "")
  1971. {
  1972. vTotAdd =0;
  1973. } else {
  1974. vTotAdd =parseInt(iTotAdd);
  1975. }
  1976. */
  1977. /* if(ds_main_info_rsrvacptinfo_item.getColumn(0, "discamt")!=""){
  1978. iDiscAmt = parseInt(ds_main_info_rsrvacptinfo_item.getColumn(0, "discamt"));
  1979. }
  1980. model.setValue("/root/main/info/rcptinfo/discamt",iDiscAmt);
  1981. for( var i = 1 ; i < vGrdObj.rows ; i++){
  1982. vAddAmt = vGrdObj.valueMatrix(i, vCalcCol);
  1983. vPrcpTims = vGrdObj.valueMatrix(i, vPrcpTimsCol);
  1984. if( vAddAmt == "" ) vAddAmt = "0";
  1985. if( vPrcpTims == "" ) vPrcpTims = "1";
  1986. iAddAmt += parseInt(vAddAmt) * parseInt(vPrcpTims) ;
  1987. }
  1988. if( vPkgAmtCtrlID != null ) vPkgAmtCtrlID.value = iPkgAmt ;
  1989. if( vAddAmtCtrlID != null ) vAddAmtCtrlID.value = iAddAmt;// + vTotAdd;
  1990. if( vTotAmtCtrlID != null ) vTotAmtCtrlID.value = (iPkgAmt + iAddAmt) - iDiscAmt;// + vTotAddExm;
  1991. model.refresh();*///fDcAmtCalc()에서 처리
  1992. fDcAmtCalc();
  1993. }
  1994. /**==================================================================================================================
  1995. @author : 손주연
  1996. @version :2007-06-30
  1997. @desc : 수가내역 가져오기
  1998. @param :
  1999. * SPAHB00300_PARAM1 : 검색구분(cd/nm)
  2000. * SPAHB00300_PARAM2 : 검색조건(코드/명칭)
  2001. * SPAHB00300_PARAM3 : multiyn
  2002. * SPAHB00300_PARAM4 : multi선택 시 setting할 목적노드
  2003. * SPAHB00300_PARAM5 : code값을 setting할 목적노드
  2004. * SPAHB00300_PARAM6 : name값을 setting할 목적노드
  2005. * SPAHB00300_PARAM7 : 수가를 setting할 목적노드
  2006. *====================================================================================================================*/
  2007. function fGetCalScorCd( vCond, vCdnm, bMultiyn , vMultiDestXPath, vCdDestXPath, vNmDestXPath, vAmtDestXPath){
  2008. clearParameter("SPAHB00300_PARAM1");
  2009. clearParameter("SPAHB00300_PARAM2");
  2010. clearParameter("SPAHB00300_PARAM3");
  2011. clearParameter("SPAHB00300_PARAM4");
  2012. clearParameter("SPAHB00300_PARAM5");
  2013. clearParameter("SPAHB00300_PARAM6");
  2014. clearParameter("SPAHB00300_PARAM7");
  2015. setParameter ("SPAHB00300_PARAM1" , vCond);
  2016. setParameter ("SPAHB00300_PARAM2" , vCdnm);
  2017. setParameter ("SPAHB00300_PARAM3" , bMultiyn);
  2018. setParameter ("SPAHB00300_PARAM4" , vMultiDestXPath);
  2019. setParameter ("SPAHB00300_PARAM5" , vCdDestXPath );
  2020. setParameter ("SPAHB00300_PARAM6" , vNmDestXPath);
  2021. setParameter ("SPAHB00300_PARAM7" , vAmtDestXPath);
  2022. modal("SPAHB00300");
  2023. }
  2024. /**==================================================================================================================
  2025. @author : 손주연
  2026. @version :2007-06-30
  2027. @desc : 수가내역 대상그리드 set
  2028. @param :
  2029. * vGrdObj : 대상그리드
  2030. * vSrcXPath : 목적노드set
  2031. * vDupCheckCo : dup check column no
  2032. * vDupCheck : dup check yn
  2033. * vCodeNode : 수가코드 목적 노드
  2034. * vNameNode : 수가처방명 목적 노드
  2035. * vAmtNode : 수가 목적 노드
  2036. * vHeaderAddRows : header row default값(1) 보다 큰 row수
  2037. *====================================================================================================================*/
  2038. function fSetOcd(vGrdObj, vSrcXPath, vDupCheckCol, vDupCheck, vCodeNode, vNameNode, vAmtNode, vHeaderAddRows ) {
  2039. if( vGrdObj == null ) return ;
  2040. if( vSrcXPath == "" ) return ;
  2041. if( model.getValue("/root/temp/okflag") != "ok" ) return ;
  2042. var cnt = getNodesetCount(vSrcXPath);
  2043. var grdcnt = vGrdObj.rows;
  2044. if( vHeaderAddRows != "" ){
  2045. grdcnt =parseInt( vGrdObj.rows) - parseInt( vHeaderAddRows ) ;
  2046. }
  2047. var vDupCheckVal = "";
  2048. var i = 0;
  2049. if( cnt == 1 ) {
  2050. vDupCheckVal = model.getValue(vSrcXPath + "/calcscorcd" );
  2051. if( vDupCheck == "Y" ) {
  2052. if( fCheckDup(vGrdObj , vDupCheckCol, vDupCheckVal ) == false ){
  2053. if( messageBox("중복되는 수가코드[" + vDupCheckVal + "] 를 추가", "S001") != 6 ){
  2054. return ;
  2055. }
  2056. }
  2057. }
  2058. vGrdObj.addRow();
  2059. if( vCodeNode != "" ){
  2060. model.setValue(vGrdObj.nodeset + "[" + grdcnt + "]/" + vCodeNode , vDupCheckVal );
  2061. }
  2062. if( vNameNode != "" ){
  2063. model.setValue(vGrdObj.nodeset + "[" + grdcnt + "]/" + vNameNode , model.getValue(vSrcXPath + "/hngnm" ) );
  2064. }
  2065. if( vAmtNode != "" ){
  2066. model.setValue(vGrdObj.nodeset + "[" + grdcnt + "]/" + vAmtNode , model.getValue(vSrcXPath + "/scoreamt" ) );
  2067. }
  2068. model.makeNode(vGrdObj.nodeset + "[" + grdcnt + "]/calcscorcd" );
  2069. model.makeValue(vGrdObj.nodeset + "[" + grdcnt + "]/calcscorcd" , vDupCheckVal );
  2070. model.makeNode(vGrdObj.nodeset + "[" + grdcnt + "]/calcscornm" );
  2071. model.makeValue(vGrdObj.nodeset + "[" + grdcnt + "]/calcscornm" , model.getValue(vSrcXPath + "/ordnm" ) );
  2072. model.makeNode(vGrdObj.nodeset + "[" + grdcnt + "]/oldordcd" );
  2073. model.makeValue(vGrdObj.nodeset + "[" + grdcnt + "]/oldordcd" , model.getValue(vSrcXPath + "/oldordcd" ) );
  2074. }
  2075. else {
  2076. for( var i = 1 ; i <= cnt ; i++ ){
  2077. vDupCheckVal = model.getValue(vSrcXPath + "[" + i + "]/calcscorcd" );
  2078. if( vDupCheck == "Y" ) {
  2079. if( fCheckDup(vGrdObj , vDupCheckCol, vDupCheckVal ) == false ){
  2080. if( messageBox("중복되는 수가코드[" + vDupCheckVal + "] 를 추가", "S001") != 6 ){
  2081. continue ;
  2082. }
  2083. }
  2084. }
  2085. vGrdObj.addRow();
  2086. if( vCodeNode != "" ){
  2087. model.setValue(vGrdObj.nodeset + "[" + grdcnt + "]/" + vCodeNode , vDupCheckVal );
  2088. }
  2089. if( vNameNode != "" ){
  2090. model.setValue(vGrdObj.nodeset + "[" + grdcnt + "]/" + vNameNode , model.getValue(vSrcXPath + "[" + i + "]/hngnm" ) );
  2091. }
  2092. if( vAmtNode != "" ){
  2093. model.setValue(vGrdObj.nodeset + "[" + grdcnt + "]/" + vAmtNode ,model.getValue(vSrcXPath + "[" + i + "]/scoreamt" ) );
  2094. }
  2095. model.makeNode(vGrdObj.nodeset + "[" + grdcnt + "]/calcscorcd" );
  2096. model.makeValue(vGrdObj.nodeset + "[" + grdcnt + "]/calcscorcd" , vDupCheckVal );
  2097. model.makeNode(vGrdObj.nodeset + "[" + grdcnt + "]/calcscornm" );
  2098. model.makeValue(vGrdObj.nodeset + "[" + grdcnt + "]/calcscornm" , model.getValue(vSrcXPath + "[" + i + "]/ordnm" ) );
  2099. model.makeNode(vGrdObj.nodeset + "[" + grdcnt + "]/oldordcd" );
  2100. model.makeValue(vGrdObj.nodeset + "[" + grdcnt + "]/oldordcd" , model.getValue(vSrcXPath + "/oldordcd" ) );
  2101. grdcnt++;
  2102. }
  2103. }
  2104. model.refresh();
  2105. }
  2106. /**==================================================================================================================
  2107. @author : 손주연
  2108. @version :2007-08-30
  2109. @desc : 수납처리--임시..
  2110. @param :
  2111. * vJobFlag : WORK/CANCEL 작업 구분.(접수/취소 구분)
  2112. function fRcptAmt(vJobFlag){
  2113. var payownamt = model.getValue("/root/temp/rcptinfo/hidden/opmi_out/opmi_rcptamt") ;
  2114. if( payownamt == "") {
  2115. payownamt = "0";
  2116. }
  2117. payownamt = parseInt(payownamt);
  2118. if( payownamt != 0 ) {
  2119. ahafOpenRcpt(fGetHealExamFlag()
  2120. , ds_main_info_rsrvacptinfo_item.getColumn(0, "rsrvdd")
  2121. , ds_main_info_rsrvacptinfo_item.getColumn(0, "rsrvno")
  2122. , model.getValue("/root/main/info/patinfo/item/pid")
  2123. , ds_main_info_rsrvacptinfo_item.getColumn(0, "rcptstat")
  2124. , ds_main_info_rsrvacptinfo_item.getColumn(0, "orddd") );
  2125. return ;
  2126. }
  2127. var vTmp = fGetHealExamFlag();
  2128. if( vTmp == "" ){
  2129. messageBox("건진분류 ERROR .", "E999");
  2130. return ;
  2131. }
  2132. model.setValue("/root/send/srchhealexamflag", vTmp );
  2133. vTmp = model.getValue(ipt_pid.attribute("ref"));
  2134. if( vTmp == "" ) {
  2135. messageBox("환자ID ERROR .", "E999");
  2136. return ;
  2137. }
  2138. model.setValue("/root/send/srchpid", vTmp );
  2139. vTmp = ds_main_info_rsrvacptinfo_item.getColumn(0, "rsrvdd");
  2140. if( vTmp== "" ) {
  2141. messageBox("등록일자 ERROR .", "E999");
  2142. return ;
  2143. }
  2144. model.setValue("/root/send/srchrsrvdd", vTmp );
  2145. vTmp = ds_main_info_rsrvacptinfo_item.getColumn(0, "rsrvno");
  2146. if( vTmp == "" ) {
  2147. messageBox("등록번호 ERROR .", "E999");
  2148. return ;
  2149. }
  2150. model.setValue("/root/send/srchrsrvno", vTmp );
  2151. model.setValue("/root/send/srchinstcd", getUserInfo("dutplceinstcd"));
  2152. //2007-08-17 추가
  2153. model.setValue("/root/send/srchjobflag" ,vJobFlag);
  2154. model.setValue("/root/send/srchrcptdd" ,model.getValue("/root/temp/rcptinfo/hidden/opmi_out/org_rcptdd") );
  2155. model.setValue("/root/send/srchrcptno" ,model.getValue("/root/temp/rcptinfo/hidden/opmi_out/org_rcptno") );
  2156. model.setValue("/root/send/srchrcptseqno" ,model.getValue("/root/temp/rcptinfo/hidden/opmi_out/org_rcptseqno") );
  2157. model.copyNode("/root/send/savercpt/opmi_out", "/root/temp/rcptinfo/hidden/opmi_out");
  2158. openLoadingBar("수납 처리중입니다..") ;//처리중 화면을 오픈한다.
  2159. if( submit("TXAHA02102") == true ){
  2160. messageBox("수납 ","I001");
  2161. }
  2162. closeLoadingBar() ;//처리중 화면을 close한다.
  2163. }
  2164. *====================================================================================================================*/
  2165. /**==================================================================================================================
  2166. @author : 손주연
  2167. @version : 2007-10-11
  2168. @desc : 수납처리
  2169. @param :
  2170. * vJobFlag : WORK/CANCEL 작업 구분.(접수/취소 구분)
  2171. * vRsrvdd :
  2172. *====================================================================================================================*/
  2173. function ahafRcptAmt(vJobFlag, vRsrvdd, vRsrvno, vPid, vOrddd, vRcptStat , vOpmiRoot,vHealexamFlag){
  2174. var payownamt = this.objects[vOpmiRoot + "_opmi_out"].getColumn(0, "opmi_rcptamt");
  2175. if( utlf_isNull(payownamt) ) {
  2176. payownamt = "0";
  2177. }
  2178. payownamt = parseInt(payownamt);
  2179. if(vHealexamFlag!="G"){
  2180. //수납화면 팝업
  2181. ahafOpenRcpt( fGetHealExamFlag()
  2182. , vRsrvdd
  2183. , vRsrvno
  2184. , vPid
  2185. , vRcptStat
  2186. , vOrddd );
  2187. return ;
  2188. }
  2189. var vTmp = vHealexamFlag;
  2190. if( utlf_isNull(vTmp) ){
  2191. sysf_messageBox("건진분류 ERROR .", "E999");
  2192. return ;
  2193. }
  2194. dsf_makeValue( ds_send_savercpt, "srchhealexamflag", "string", vTmp );
  2195. if( utlf_isNull(vPid) ) {
  2196. sysf_messageBox("환자ID ERROR .", "E999");
  2197. return ;
  2198. }
  2199. dsf_makeValue( ds_send_savercpt, "srchpid", "string", vPid );
  2200. if( utlf_isNull(vRsrvdd) ) {
  2201. sysf_messageBox("등록일자 ERROR .", "E999");
  2202. return ;
  2203. }
  2204. dsf_makeValue( ds_send_savercpt, "srchrsrvdd", "string", vRsrvdd );
  2205. if( utlf_isNull(vRsrvno) ) {
  2206. sysf_messageBox("등록번호 ERROR .", "E999");
  2207. return ;
  2208. }
  2209. dsf_makeValue( ds_send_savercpt, "srchrsrvno", "string", vRsrvno );
  2210. dsf_makeValue( ds_send_savercpt, "srchinstcd", "string", sysf_getUserInfo("dutplceinstcd") );
  2211. dsf_makeValue( ds_send_savercpt, "srchjobflag", "string", vJobFlag );
  2212. dsf_makeValue( ds_send_savercpt, "srchrcptdd", "string", this.objects[vOpmiRoot + "_opmi_out"].getColumn(0, "opmi_orgrcptdd") );
  2213. dsf_makeValue( ds_send_savercpt, "srchrcptno", "string", this.objects[vOpmiRoot + "_opmi_out"].getColumn(0, "opmi_orgrcptno") );
  2214. dsf_makeValue( ds_send_savercpt, "srchrcptseqno", "string", this.objects[vOpmiRoot + "_opmi_out"].getColumn(0, "opmi_orgrcptseqno") );
  2215. dsf_createDs("ds_send_savercpt_opmi_out");
  2216. ds_send_savercpt_opmi_out.copyData(this.objects[vOpmiRoot + "_opmi_out"]);
  2217. dsf_createDs("ds_send_savercpt_dcgm_out");
  2218. ds_send_savercpt_dcgm_out.copyData(this.objects[vOpmiRoot + "_dcgm_out"]);
  2219. dsf_createDs("ds_send_savercpt_unco_out");
  2220. ds_send_savercpt_unco_out.copyData(this.objects[vOpmiRoot + "_unco_out"]);
  2221. // 영수증채번을 먼저한다.
  2222. // INPUT(1.수납일시)
  2223. dsf_makeValue( ds_send, "rcptdd", "string", "" );
  2224. dsf_makeValue( ds_send, "genrkind", "string", "" );
  2225. ds_send.setColumn( 0, "rcptdd" , utlf_getCurrentDate() );
  2226. ds_send.setColumn( 0, "genrkind" , "R");
  2227. //SPAHA02100 이 수납화면
  2228. //결과는 수납 번호
  2229. dsf_createDs("ds_temp_rcptno_out_rcptno");
  2230. var oParam = {};
  2231. oParam.id = "TRAHA02105";
  2232. oParam.service = "healexamrcptapp.HealExamRcpt";
  2233. oParam.method = "reqGetRcptNo";
  2234. oParam.inds = "req=ds_send";
  2235. oParam.outds = "ds_temp_rcptno_out_rcptno=rcptno";
  2236. oParam.async = false;
  2237. oParam.callback = "cf_TRAHA02105";
  2238. tranf_submit(oParam);
  2239. if (arErrorCode.pop("TRAHA02105") > -1){
  2240. //영수증번호를 채번하여 셋팅한다.
  2241. var rcptno = ds_temp_rcptno_out_rcptno.getColumn(0, "opmi_rcptno");
  2242. dsf_makeValue( ds_send_savercpt, "opmi_rcptno", "string", rcptno );
  2243. }
  2244. frmf_openLoadingBar("수납 처리중입니다..") ;//처리중 화면을 오픈한다.
  2245. dsf_createDs("ds_send_savercpt_card");
  2246. dsf_createDs("ds_send_savercpt_cash");
  2247. dsf_createDs("ds_send_savercpt_bank");
  2248. //수납화면의 내용을 채우는 카드나 현금. 추가 검사 내역, 감면정보등 모든 정보를 가져온다.
  2249. dsf_createDs("ds_temp_rcptinfo_hidden_opmi_out");
  2250. dsf_createDsRow("ds_req", [
  2251. {col:"healexamflag", type:"STRING", size:256, val:ds_send_savercpt.getColumn(0, "srchhealexamflag")}
  2252. , {col:"rsrvdd", type:"STRING", size:256, val:ds_send_savercpt.getColumn(0, "srchrsrvdd")}
  2253. , {col:"rsrvno", type:"STRING", size:256, val:ds_send_savercpt.getColumn(0, "srchrsrvno")}
  2254. , {col:"pid", type:"STRING", size:256, val:ds_send_savercpt.getColumn(0, "srchpid")}
  2255. , {col:"rcptdd", type:"STRING", size:256, val:ds_send_savercpt.getColumn(0, "srchrcptdd")}
  2256. , {col:"rcptno", type:"STRING", size:256, val:ds_send_savercpt.getColumn(0, "srchrcptno")}
  2257. , {col:"rcptseqno", type:"STRING", size:256, val:ds_send_savercpt.getColumn(0, "srchrcptseqno")}
  2258. , {col:"jobflag", type:"STRING", size:256, val:ds_send_savercpt.getColumn(0, "srchjobflag")}
  2259. , {col:"cardcancelyn", type:"STRING", size:256, val:ds_send_savercpt.getColumn(0, "srchcardcancelyn")}
  2260. , {col:"instcd", type:"STRING", size:256, val:ds_send_savercpt.getColumn(0, "srchinstcd")}
  2261. , {col:"chggb", type:"STRING", size:256, val:ds_send_savercpt.getColumn(0, "chggb")}
  2262. ]);
  2263. var oParam = {};
  2264. oParam.id = "TXAHA02102";
  2265. oParam.service = "healexamrcptapp.HealExamRcpt";
  2266. oParam.method = "reqExeHealExamAmtRcpt";
  2267. oParam.inds = "req=ds_send_savercpt opmi=ds_send_savercpt_opmi_out dcgm=ds_send_savercpt_dcgm_out "
  2268. +"dcgm_out=ds_send_savercpt_dcgm_out unco=ds_send_savercpt_unco_out unco_out=ds_send_savercpt_unco_out "
  2269. +"card=ds_send_savercpt_card cash=ds_send_savercpt_cash bank=ds_send_savercpt_bank rcpt=ds_send_savercpt";
  2270. oParam.outds = "ds_temp_rcptinfo_hidden_opmi_out=opmi_out";
  2271. oParam.async = false;
  2272. oParam.callback = "cf_TXAHA02102";
  2273. tranf_submit(oParam);
  2274. if(arErrorCode.pop("TXAHA02102") > -1) {
  2275. if (vJobFlag == 'CANCEL')
  2276. {
  2277. sysf_messageBox("접수취소 ","I001");
  2278. } else {
  2279. sysf_messageBox("수납 ","I001");
  2280. }
  2281. }
  2282. frmf_closeLoadingBar() ;//처리중 화면을 close한다.
  2283. }
  2284. function cf_TRAHA02105(sSvcId, nErrorCode, sErrorMsg) {
  2285. arErrorCode.push(sSvcId, nErrorCode);
  2286. }
  2287. function cf_TXAHA02102(sSvcId, nErrorCode, sErrorMsg) {
  2288. arErrorCode.push(sSvcId, nErrorCode);
  2289. }
  2290. /**==================================================================================================================
  2291. @author : 손주연
  2292. @version :2007-08-30
  2293. @desc : 수납화면 open
  2294. @param :
  2295. * 건진 구분, 예약등록일자, 예약등록번호, 등록번호
  2296. *====================================================================================================================*/
  2297. function ahafOpenRcpt(vHealExamFlag, vRsrvDD, vRsrvNo, vPid, vRcptStat , vOrdDD ){
  2298. frmf_clearParameter("SMAHA02100_PARAM_PID");
  2299. frmf_clearParameter("SMAHA02100_PARAM_RSRVDD");
  2300. frmf_clearParameter("SMAHA02100_PARAM_RSRVNO");
  2301. frmf_clearParameter("SMAHA02100_PARAM_HEALEXAMFLAG");
  2302. frmf_setParameter("SMAHA02100_PARAM_PID", vPid);
  2303. frmf_setParameter("SMAHA02100_PARAM_RSRVDD", vRsrvDD);
  2304. frmf_setParameter("SMAHA02100_PARAM_RSRVNO", vRsrvNo);
  2305. frmf_setParameter("SMAHA02100_PARAM_HEALEXAMFLAG", vHealExamFlag);
  2306. frmf_setParameter("SMAHA02100_PARAM_ORDDD", vOrdDD);
  2307. var sRcptStat = "" ;
  2308. if( vRcptStat == "N" ){ //수납상태
  2309. sRcptStat = "Y";
  2310. }
  2311. else {
  2312. sRcptStat = "N";
  2313. }
  2314. frmf_setParameter("SMAHA02100_RTN", sRcptStat);
  2315. frmf_modal("SMAHA02100","SMAHA02100","","","","","","","","","","","M");
  2316. }
  2317. /**==================================================================================================================
  2318. @author : 손주연
  2319. @version :2007-08-30
  2320. @desc : 수납화면 open
  2321. @param :
  2322. * 건진 구분, 예약등록일자, 예약등록번호, 등록번호
  2323. *====================================================================================================================*/
  2324. function ahafOpenRcptGnrl(vHealExamFlag, vRsrvDD, vRsrvNo, vPid, vRcptStat , vOrdDD ){
  2325. clearParameter("SMAHC00100_PARAM_PID" );
  2326. clearParameter("SMAHC00100_PARAM_RSRVDD" );
  2327. clearParameter("SMAHC00100_PARAM_RSRVNO" );
  2328. clearParameter("SMAHC00100_PARAM_HEALEXAMFLAG" );
  2329. setParameter("SMAHC00100_PARAM_PID" , vPid);
  2330. setParameter("SMAHC00100_PARAM_RSRVDD" , vRsrvDD);
  2331. setParameter("SMAHC00100_PARAM_RSRVNO" , vRsrvNo);
  2332. setParameter("SMAHC00100_PARAM_HEALEXAMFLAG" , vHealExamFlag);
  2333. setParameter("SMAHC00100_PARAM_ORDDD" , vOrdDD);
  2334. var sRcptStat = "" ;
  2335. if( vRcptStat == "N" ){ //수납상태
  2336. sRcptStat = "Y";
  2337. }
  2338. else {
  2339. sRcptStat = "N";
  2340. }
  2341. setParameter("SMAHC00100_RTN" ,sRcptStat);
  2342. modal("SMAHC00200");
  2343. }
  2344. /**==================================================================================================================
  2345. @author : 손주연
  2346. @version :2007-08-30
  2347. @desc : 수납처리 : 개인부담금 존재 시 수납창 load.
  2348. @param :
  2349. * 수납창 open yn, job flag, 건진 구분, 예약등록일자, 예약등록번호, 등록번호 , 진료일자, 기관코드
  2350. *====================================================================================================================*/
  2351. /*function ahafRcptAmt(vRcptDlgOpenYN, vJobFlag, vHealExamFlag, vRsrvDD, vRsrvNo, vPid, vRcptStat , vOrdDD, vInstCd){
  2352. var payownamt = model.getValue("/root/temp/rcptinfo/hidden/opmi_out/opmi_rcptamt") ;
  2353. var payrcptamt = 0;
  2354. if( payownamt != "" ) {
  2355. payrcptamt = parseInt(payownamt);
  2356. }
  2357. if( payrcptamt > 0 ) {
  2358. ahafOpenRcpt(vHealExamFlag
  2359. , vRsrvDD
  2360. , vRsrvNo
  2361. , vPid
  2362. , vRcptStat
  2363. , vOrdDD );
  2364. return ;
  2365. }
  2366. model.setValue("/root/send/srchhealexamflag" , vHealExamFlag );
  2367. model.setValue("/root/send/srchpid" , vPid );
  2368. model.setValue("/root/send/srchrsrvdd" , vRsrvDD );
  2369. model.setValue("/root/send/srchrsrvno" , vRsrvNo );
  2370. model.setValue("/root/send/srchinstcd" , getUserInfo("dutplceinstcd"));
  2371. //2007-08-17 추가
  2372. model.setValue("/root/send/srchjobflag" ,vJobFlag);
  2373. model.setValue("/root/send/srchrcptdd" ,model.getValue("/root/temp/rcptinfo/hidden/opmi_out/org_rcptdd") );
  2374. model.setValue("/root/send/srchrcptno" ,model.getValue("/root/temp/rcptinfo/hidden/opmi_out/org_rcptno") );
  2375. model.setValue("/root/send/srchrcptseqno" ,model.getValue("/root/temp/rcptinfo/hidden/opmi_out/org_rcptseqno") );
  2376. model.copyNode("/root/send/savercpt/opmi_out", "/root/temp/rcptinfo/hidden/opmi_out");
  2377. // 영수증채번을 먼저한다.
  2378. // INPUT(1.수납일시)
  2379. model.setValue("/root/send/rcptdd" , getCurrentDate() );
  2380. model.setValue( "/root/send/genrkind" , "R");
  2381. if ( submit("TRAHA02105")){
  2382. //영수증번호를 채번하여 셋팅한다.
  2383. var rcptno = model.getValue("/root/temp/rcptno_out/rcptno/opmi_rcptno")
  2384. model.setValue( "/root/send/opmi_rcptno", rcptno);
  2385. }
  2386. openLoadingBar("수납 처리중입니다..") ;//처리중 화면을 오픈한다.
  2387. if( submit("TXAHA02102") == true ){
  2388. messageBox("수납 ","I001");
  2389. }
  2390. closeLoadingBar() ;//처리중 화면을 close한다.
  2391. }
  2392. */
  2393. /**==================================================================================================================
  2394. @author : 손주연
  2395. @version :2007-08-01
  2396. @desc : 예약/접수 현황조회
  2397. @param :
  2398. * SMAHA00400_PARAM1 : 건진구분
  2399. * SMAHA00400_PARAM2 : 건진상세구분
  2400. * SMAHA00400_PARAM3 : 일자체크여부(Y/N)
  2401. * SMAHA00400_PARAM4 : 일자기준 및 상태기준 (예약:C, 예약등록: C1, 접수:E )
  2402. * SMAHA00400_PARAM5 : 사업체코드
  2403. * SMAHA00400_PARAM6 : 검사실코드
  2404. * SMAHA00400_PARAM7 : 성명
  2405. * SMAHA00400_PARAM8 : 등록번호
  2406. * SMAHA00400_PARAM9 : 주민번호1
  2407. * SMAHA00400_PARAM10 : 주민번호2
  2408. * SMAHA00400_PARAM11 : 패키지코드
  2409. * SMAHA00400_PARAM12 : 조회구분2(성명: pnm/등록번호:pid/주민번호:rgstno)
  2410. * SMAHA00400_PARAM13 : key값 setting 목적노드
  2411. *====================================================================================================================*/
  2412. function ahafOpenRsrvAcptList(vOpenerID, vHealExamFg , vHealExamDetlFg, vDateChkYN , vStatFg , vCmpyCd , vRoomCd , vPnm, vPid, vRgstno1, vRgstno2, vPkgCd, vSrchCond2, vDestNode){
  2413. frmf_clearParameter("SMAHA00400_PARAM1");
  2414. frmf_clearParameter("SMAHA00400_PARAM2");
  2415. frmf_clearParameter("SMAHA00400_PARAM3");
  2416. frmf_clearParameter("SMAHA00400_PARAM4");
  2417. frmf_clearParameter("SMAHA00400_PARAM5");
  2418. frmf_clearParameter("SMAHA00400_PARAM6");
  2419. frmf_clearParameter("SMAHA00400_PARAM7");
  2420. frmf_clearParameter("SMAHA00400_PARAM8");
  2421. frmf_clearParameter("SMAHA00400_PARAM9");
  2422. frmf_clearParameter("SMAHA00400_PARAM10");
  2423. frmf_clearParameter("SMAHA00400_PARAM11");
  2424. frmf_clearParameter("SMAHA00400_PARAM12");
  2425. frmf_clearParameter("SMAHA00400_PARAM13");
  2426. frmf_setParameter("SMAHA00400_PARAM1", vHealExamFg);
  2427. frmf_setParameter("SMAHA00400_PARAM2", vHealExamDetlFg);
  2428. frmf_setParameter("SMAHA00400_PARAM3", vDateChkYN);
  2429. frmf_setParameter("SMAHA00400_PARAM4", vStatFg);
  2430. frmf_setParameter("SMAHA00400_PARAM5", vCmpyCd);
  2431. frmf_setParameter("SMAHA00400_PARAM6", vRoomCd);
  2432. frmf_setParameter("SMAHA00400_PARAM7", vPnm);
  2433. frmf_setParameter("SMAHA00400_PARAM8", vPid );
  2434. frmf_setParameter("SMAHA00400_PARAM9", vRgstno1);
  2435. frmf_setParameter("SMAHA00400_PARAM10", vRgstno2);
  2436. frmf_setParameter("SMAHA00400_PARAM11", vPkgCd);
  2437. frmf_setParameter("SMAHA00400_PARAM12", vSrchCond2);
  2438. frmf_setParameter("SMAHA00400_PARAM13", vDestNode);
  2439. frmf_modal("SMAHA00400","SMAHA00400",null,"","","","","","","","","","M");
  2440. }
  2441. /**==================================================================================================================
  2442. @author : 손주연
  2443. @version :2007-08-01
  2444. @desc : 기본코드관리 관련 코드 선택 팝업
  2445. @param :
  2446. * vLargFg : SPAHB00500_PARAM1 : 대분류코드
  2447. * vMidlFg : SPAHB00500_PARAM2 : 중분류코드
  2448. * vMultiYN : SPAHB00500_PARAM3 : multiyn => Y이면 소분류코드 다중선택입력모드
  2449. * vDestNode : SPAHB00500_PARAM4 : 목적노드셋
  2450. * vMidlSetYN : SPAHB00500_PARAM5 : 중분류코드 setting여부(Y/N)=>선택형결과의 경우 중분류 선택시 중분류 코드 해당 중분류에 속한 소분류 전코드를 부모창에 copy
  2451. *====================================================================================================================*/
  2452. function ahzfOpenEtcCdSel( vOpenerID
  2453. , vLargFg /*대분류코드*/
  2454. , vMidlFg /*중분류코드*/
  2455. , vMultiYN /*multiyn*/
  2456. , vDestNode /*multiyn == 'Y'일때 목적노드셋*/
  2457. , vMidlSetYN /*중분류코드 setting여부(Y/N)*/ ){
  2458. frmf_clearParameter("SPAHB00500_PARAM1");
  2459. frmf_clearParameter("SPAHB00500_PARAM2");
  2460. frmf_clearParameter("SPAHB00500_PARAM3");
  2461. frmf_clearParameter("SPAHB00500_PARAM4");
  2462. frmf_clearParameter("SPAHB00500_PARAM5");
  2463. frmf_clearParameter("SPAHB00500_PARAM6");
  2464. dsf_createDs(vDestNode);
  2465. frmf_setParameter("SPAHB00500_PARAM1", vLargFg);
  2466. frmf_setParameter("SPAHB00500_PARAM2", vMidlFg);
  2467. frmf_setParameter("SPAHB00500_PARAM3", vMultiYN);
  2468. frmf_setParameter("SPAHB00500_PARAM4", vDestNode);
  2469. frmf_setParameter("SPAHB00500_PARAM5", vMidlSetYN);
  2470. frmf_setParameter("SPAHB00500_PARAM6", vOpenerID);
  2471. frmf_modal("SPAHB00500","SPAHB00500",null,"",1,100,100,"","","","","","M");
  2472. if( ds_temp.getColumn(0, "okflag") == "ok" ){
  2473. return true;
  2474. }
  2475. return false;
  2476. }
  2477. /**==================================================================================================================
  2478. @author : 손주연
  2479. @version :2007-05-01
  2480. @desc : 코드입력 시 공통코드 및 사업체 코드 가져오기, map : TRAHA00105 , ref= root/temp/cdlst 로 setting
  2481. @param :
  2482. * vSrchFlag : 검색구분
  2483. ** 01 판정의
  2484. ** 02 건강보험공단
  2485. ** 03 관할군병원
  2486. ** 04 산업안전공단
  2487. ** 05 보건소
  2488. ** 06 노동청
  2489. ** 07 지도원
  2490. ** 08 사업체
  2491. * vCode : 검색코드
  2492. * vAllYN : 전체정보 여부 ( Y일 경우 vDestNodeSet으로 copy)
  2493. * vCodeNode : 코드값이 setting될 목적노드
  2494. * vNameNode : 코드명이 setting될 목적노드
  2495. * vDestNodeSet: vAllYN == 'Y' 인 경우 목적노드셋
  2496. ====================================================================================================================*/
  2497. function ahafGetCmpyInfo( vSrchFlag, vCode , vAllYN, vCodeNode, vNameNode , vDestNodeSet){
  2498. model.makeNode("/root/send/srchflag" );
  2499. model.makeNode("/root/send/srchcond" );
  2500. model.makeNode("/root/send/srchcdnm" );
  2501. model.makeNode("/root/send/srchinstcd" );
  2502. model.setValue("/root/send/srchflag" , vSrchFlag);
  2503. model.setValue("/root/send/srchcond" , "cd" );
  2504. model.setValue("/root/send/srchcdnm" , vCode);
  2505. model.setValue("/root/send/srchinstcd" , getUserInfo("dutplceinstcd"));
  2506. submit("TRAHA00105");
  2507. var SrcNode = model.instance1.selectSingleNode("/root/temp/cdlst/item");
  2508. if( SrcNode != null ) {
  2509. if( vAllYN == "Y" ) {
  2510. model.copyNode(vDestNodeSet, "/root/temp/cdlst/item");
  2511. }
  2512. else {
  2513. model.setValue(vCodeNode , model.getValue("/root/temp/cdlst/item/cmpycd") );
  2514. model.setValue(vNameNode , model.getValue("/root/temp/cdlst/item/cmpynm") );
  2515. }
  2516. model.refresh();
  2517. return true;
  2518. }
  2519. return false;
  2520. }
  2521. /**==================================================================================================================
  2522. @author : 손주연
  2523. @version :2007-09-01
  2524. @desc : 통합검사결과조회 창 띄우기
  2525. @param :
  2526. vPidNode : 환자ID값이 있는 경로
  2527. ====================================================================================================================*/
  2528. function ahafOpenRsltView(vPidNode ){
  2529. modal( "SMAER00800",100,10,"SMAER00800","/root/send/data/singdata/srchpid",vPidNode);
  2530. }
  2531. /**==================================================================================================================
  2532. @author : 손주연
  2533. @version :2007-10-01
  2534. @desc : 종합판정 창 띄우기
  2535. @param :
  2536. sPid : 환자ID
  2537. ====================================================================================================================*/
  2538. function ahafOpenColgJudg(sPid ){
  2539. setParameter("SMAHR00500_PARAM1", sPid);
  2540. open( "SMAHR00500",100,10,"SMAHR00500" );
  2541. }
  2542. function ahafGetInsuAge(sRgstNo1, sRgstNo2)
  2543. {
  2544. var brthYY = "";
  2545. if(sRgstNo2.substr(0, 1) == 1 || sRgstNo2.substr(0, 1) == 2)
  2546. {
  2547. brthYY = "19" + sRgstNo1.substr(0, 2);
  2548. }
  2549. else
  2550. {
  2551. brthYY = "20" + sRgstNo1.substr(0, 2);
  2552. }
  2553. if(parseInt(getCurrentDate().substr(0,4)) - parseInt(brthYY) == 40 || parseInt(getCurrentDate().substr(0,4)) - parseInt(brthYY) == 66)
  2554. {
  2555. return true;
  2556. }
  2557. else
  2558. {
  2559. return false;
  2560. }
  2561. }
  2562. /**==================================================================================================================
  2563. @author : 손주연
  2564. @version :2007-10-11
  2565. @desc :보험증번호 조회(보험자격조회)
  2566. @param :
  2567. * sRgstNo1/sRgstNo2 : 주민번호
  2568. * sHngNm : 이름
  2569. * sOrdDD : 진료일자
  2570. 값을 받을 노드 경로
  2571. * vInsuKind : 보험유형
  2572. * vInsuNo : 증번호
  2573. * vInsuCd : 보험자기호
  2574. * vFromDD : 취득일자
  2575. * vInsuNm : 보험자성명
  2576. * vInsuBranchCd : 관할지사 코드
  2577. * vInsuBranchNm : 관할지사 명칭
  2578. ====================================================================================================================*/
  2579. function ahafGetInsuCnts(sRgstNo1, sRgstNo2, sHngNm, sOrdDD
  2580. ,vInsuKind, vInsuNo, vInsuCd, vFromDD, vInsuNm, vInsuBranchCd, vInsuBranchNm ){
  2581. if( utlf_isNull(sRgstNo1) ||
  2582. utlf_isNull(sRgstNo2) ||
  2583. utlf_isNull(sHngNm) ||
  2584. (sOrdDD == "") ) {
  2585. sysf_messageBox("자격조회 필수조건(주민번호/성명/진료일자) 입력이 누락되었습니다. ", "E999");
  2586. return ;
  2587. }
  2588. //보험증번호 조회(보험자격조회)
  2589. var parm = sRgstNo1 + sRgstNo2 + "▦" + //주민번호
  2590. sHngNm + "▦" + //이름
  2591. sOrdDD + "▦" ; //진료일자
  2592. // modal("SMAHA00210");
  2593. frmf_modal("SMAHA00210","SMAHA00210",null,"",1,400,400,"","","","","","M");
  2594. /* setParameter("SPPMC03700_PARM",parm);
  2595. setParameter("SPPMC03700_RTN","");
  2596. modal("SPPMC03700", "1","400", "400", "SPPMC03700", "", "");
  2597. if (getParameter("SPPMC03700_RTN") == "N" || getParameter("SPPMC03700_RTN") == "") {
  2598. return;
  2599. }
  2600. if (getParameter("SPPMC03700_RTN") == "Y") {
  2601. //return 값이 있으면,
  2602. if( vInsuKind != "" ) {
  2603. model.makeNode(vInsuKind);
  2604. model.setValue(vInsuKind , getParameter("SPPMC03700_insukind")); //건강보험 :11, 의료급여1/2종 : 21/22
  2605. }
  2606. if( vInsuCd != "" ) {
  2607. model.makeNode(vInsuCd);
  2608. model.setValue(vInsuCd , getParameter("SPPMC03700_insucd")); //보험자 기호
  2609. }
  2610. if( vInsuNo != "" ) {
  2611. model.makeNode(vInsuNo);
  2612. model.setValue(vInsuNo , getParameter("SPPMC03700_insuno")); //증번호
  2613. }
  2614. if( vInsuNm != "" ) {
  2615. model.makeNode(vInsuNm);
  2616. model.setValue(vInsuNm , getParameter("SPPMC03700_insdnm")); //피보험자성명
  2617. }
  2618. if( vFromDD != "" ) {
  2619. model.makeNode(vFromDD);
  2620. model.setValue(vFromDD , getParameter("SPPMC03700_insufromdd")); //취득일자
  2621. }
  2622. //관할지사코드
  2623. if( vInsuBranchCd ){
  2624. model.makeNode(vInsuBranchCd);
  2625. model.setValue(vInsuBranchCd , getParameter("SPPMC03700_choicorpmark1")); //관할지사
  2626. }
  2627. //관할지사명
  2628. if( vInsuBranchNm ){
  2629. model.makeNode(vInsuBranchNm);
  2630. model.setValue(vInsuBranchNm , getParameter("SPPMC03700_choicorpnm1")); //관할지사
  2631. }
  2632. model.refresh();
  2633. }*/
  2634. }
  2635. /**==================================================================================================================
  2636. @author : 손주연
  2637. @version :2007-10-11
  2638. @desc :화면 상단 환자정보 설정
  2639. @param :
  2640. * vOrddd : 진료일자
  2641. * vPid : 환자id
  2642. ====================================================================================================================*/
  2643. function ahafSetScreenTopPatInfo( vPid , vOrddd , vCretno ){
  2644. var param = "O" + "▦" + vPid + "▦" + vOrddd + "▦" + vCretno + "▦" + sysf_getUserInfo("dutplceinstcd") + "▦" ;
  2645. frmf_setParameter("condparam", param);
  2646. appf_initPatientInfo(param);
  2647. }
  2648. /**==================================================================================================================
  2649. @author : 김호익
  2650. @version :2007-12-12
  2651. @desc :통합예약관리 화면으로 이동
  2652. @param :
  2653. * displayid : 호출화면--통합예약 화면
  2654. * maingridlistid : 부서코드 Instance
  2655. * path : send Instance
  2656. ====================================================================================================================*/
  2657. function aezfPopUpRsrvSample(displayid, maingridlistid, path) {
  2658. var pid = utlf_transNullToEmpty(path.getColumn(0, "pid"));
  2659. var suppdeptcd = sysf_getUserInfo("posdeptcd");
  2660. var sflag = pid + "▦" + "S" + "▦" + suppdeptcd; // 플래그 S
  2661. frmf_setParameter("opener_parameter_id", sflag);
  2662. frmf_open(displayid, displayid, null, null, 1, 1, 1, null, null, null, null, null, "M");
  2663. }
  2664. /*-**************************************************************************************
  2665. * Argument : N/A
  2666. * Description : 예약시 dc 금액 확인
  2667. ****************************************************************************************/
  2668. function fDcAmtCalc()
  2669. {
  2670. dsf_createDs("ds_send_priceamt");
  2671. dsf_makeValue( ds_send_priceamt, "healexamflag", "string", fGetHealExamFlag());
  2672. if(utlf_isNull(ds_main_info_rsrvacptinfo_item.getColumn(0, "pkgcd"))) {
  2673. dsf_makeValue( ds_send_priceamt, "healexamdetlflag", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag"));
  2674. }else {
  2675. dsf_makeValue( ds_send_priceamt, "healexamdetlflag", "string", ds_send.getColumn(0, "srchhealexamdetlflag"));
  2676. }
  2677. dsf_makeValue( ds_send_priceamt, "pkgcd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "pkgcd"));
  2678. dsf_makeValue( ds_send_priceamt, "cmpycd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "cmpycd"));
  2679. dsf_makeValue( ds_send_priceamt, "conseq", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "conseq"));
  2680. dsf_makeValue( ds_send_priceamt, "conhistseq", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "conhistseq"));
  2681. dsf_makeValue( ds_send_priceamt, "pid", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "pid"));
  2682. dsf_makeValue( ds_send_priceamt, "rsrvdd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "rsrvdd"));
  2683. dsf_makeValue( ds_send_priceamt, "rsrvno", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "rsrvno"));
  2684. dsf_makeValue( ds_send_priceamt, "sex", "string", ds_main_info_patinfo_item.getColumn(0, "sex"));
  2685. dsf_makeValue( ds_send_priceamt, "age", "string", ageCalc(ds_main_info_patinfo_item.getColumn(0, "rgstno1") , ds_main_info_patinfo_item.getColumn(0, "rgstno2")));//ds_main_info_patinfo_item.getColumn(0, "age"));
  2686. dsf_makeValue( ds_send_priceamt, "disccd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "disccd"));
  2687. dsf_makeValue( ds_send_priceamt, "pkguncocd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "pkguncocd"));
  2688. dsf_makeValue( ds_send_priceamt, "forgneryn", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "forgneryn"));
  2689. dsf_makeValue( ds_send_priceamt, "choiflag", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "choiflag"));
  2690. dsf_makeValue( ds_send_priceamt, "statflag", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "statflag"));
  2691. dsf_createDs("ds_temp_priceamt_priceamt");
  2692. dsf_createDs("ds_temp_priceamt_add");
  2693. var oParam = {};
  2694. oParam.id = "TRAHA00509";
  2695. oParam.service = "healexamrsrvacptapp.RsrvAcpt";
  2696. oParam.method = "reqAmtPrice";
  2697. oParam.inds = "req=ds_send_priceamt";
  2698. oParam.outds = "ds_temp_priceamt_priceamt=save ds_temp_priceamt_add=add";
  2699. oParam.async = false;
  2700. oParam.callback = "cf_TRAHA00509";
  2701. tranf_submit(oParam);
  2702. if(arErrorCode.pop("TRAHA00509") > -1) {
  2703. dsf_makeValue( ds_main_info_rcptinfo, "subtotamt", "string", ds_temp_priceamt_priceamt.getColumn(0, "subtotamt")); //소계
  2704. dsf_makeValue( ds_main_info_rcptinfo, "pkgamt", "string", ds_temp_priceamt_priceamt.getColumn(0, "pkgamt")); //패키지금액
  2705. dsf_makeValue( ds_main_info_rcptinfo, "cmpyaddamt", "string", ds_temp_priceamt_priceamt.getColumn(0, "cmpyaddamt")); //단체추가검사금액
  2706. dsf_makeValue( ds_main_info_rcptinfo, "psnaddamt", "string", ds_temp_priceamt_priceamt.getColumn(0, "psnaddamt")); //개인추가검사금액
  2707. dsf_makeValue( ds_main_info_rcptinfo, "preamt", "string", ds_temp_priceamt_priceamt.getColumn(0, "preamt")); //선수금
  2708. dsf_makeValue( ds_main_info_rcptinfo, "uncoamt", "string", ds_temp_priceamt_priceamt.getColumn(0, "uncoamt")); //미수금
  2709. dsf_makeValue( ds_main_info_rcptinfo, "discamt", "string", ds_temp_priceamt_priceamt.getColumn(0, "discamt")); //할인액
  2710. dsf_makeValue( ds_main_info_rcptinfo, "realamt", "string", ds_temp_priceamt_priceamt.getColumn(0, "realamt")); //실수납액
  2711. dsf_makeValue( ds_main_info_rcptinfo, "ownbamt", "string", ds_temp_priceamt_priceamt.getColumn(0, "ownbamt")); //부담액
  2712. //추가검사 금액셋팅
  2713. fSetAddAmt();
  2714. }
  2715. }
  2716. function cf_TRAHA00509(sSvcId, nErrorCode, sErrorMsg) {
  2717. arErrorCode.push(sSvcId, nErrorCode);
  2718. }
  2719. /**==================================================================================================================
  2720. @author : 김호익
  2721. @version :2007-12-17
  2722. @desc :추가검사 그리드의 행삭제 버튼 클릭시 금액 계산
  2723. @param :
  2724. ====================================================================================================================*/
  2725. function fDcCode( ChoiceCD ,vpkguncocd){
  2726. var dcb = false;
  2727. if((ChoiceCD!="") &&(ChoiceCD!="-")){
  2728. for(var i=0 ;i <100 ;i++){
  2729. CodeCD = model.getValue("/root/init/baseinfo/pamcdlst/disccdlst[" +i+"]/cd");
  2730. if (ChoiceCD == CodeCD) {
  2731. /* 추가검사 할인일경우는 추가 검사 할인액이 따로 설정되어있다 */
  2732. /* if(vpkguncocd=="V01"){
  2733. dcamt = parseInt(model.getValue("/root/init/baseinfo/pamcdlst/disccdlst[" +i+"]/dcamt"));
  2734. dcb = true;
  2735. return parseFloat(dcamt/100);
  2736. break;
  2737. }else{
  2738. dcamt = parseInt(model.getValue("/root/init/baseinfo/pamcdlst/disccdlst[" +i+"]/adddcamt"));
  2739. dcb = true;
  2740. return parseFloat(dcamt/100);
  2741. break;
  2742. }*/
  2743. dcamt = parseInt(model.getValue("/root/init/baseinfo/pamcdlst/disccdlst[" +i+"]/dcamt"));
  2744. dcb = true;
  2745. return parseFloat(dcamt/100);
  2746. break;
  2747. }
  2748. }
  2749. } else {
  2750. return 0.0;
  2751. }
  2752. if (dcb==false){
  2753. return 0.0;
  2754. }
  2755. }
  2756. /**==================================================================================================================
  2757. @author : 김호익
  2758. @version :2007-12-17
  2759. @desc : 해당할인계정의 금액 확인
  2760. @param :
  2761. ====================================================================================================================*/
  2762. function fDcCodeAdd( ChoiceCD ,vpkguncocd){
  2763. var dcb = false;
  2764. if((ChoiceCD!="") &&(ChoiceCD!="-")){
  2765. for(var i=0 ;i <100 ;i++){
  2766. CodeCD = model.getValue("/root/init/baseinfo/pamcdlst/disccdlst[" +i+"]/cd");
  2767. if (ChoiceCD == CodeCD) {
  2768. /* 추가검사 할인일경우는 추가 검사 할인액이 따로 설정되어있다 */
  2769. /* if(vpkguncocd=="V01"){
  2770. dcamt = parseInt(model.getValue("/root/init/baseinfo/pamcdlst/disccdlst[" +i+"]/dcamt"));
  2771. dcb = true;
  2772. return parseFloat(dcamt/100);
  2773. break;
  2774. }else{
  2775. dcamt = parseInt(model.getValue("/root/init/baseinfo/pamcdlst/disccdlst[" +i+"]/adddcamt"));
  2776. dcb = true;
  2777. return parseFloat(dcamt/100);
  2778. break;
  2779. }*/
  2780. dcamt = parseInt(model.getValue("/root/init/baseinfo/pamcdlst/disccdlst[" +i+"]/adddcamt"));
  2781. dcb = true;
  2782. return parseFloat(dcamt/100);
  2783. break;
  2784. }
  2785. }
  2786. } else {
  2787. return 0.0;
  2788. }
  2789. if (dcb==false){
  2790. return 0.0;
  2791. }
  2792. }
  2793. function fRowDeleteCalc(scoreamtco){
  2794. var scoreamt = 0;
  2795. var addamt = 0;
  2796. var subtotamt = 0;
  2797. /* if (model.getValue(grd_addlst.nodeset + "[" + grd_addlst.row + "]/scoreamt")!="") {
  2798. scoreamt = parseInt( model.getValue(grd_addlst.nodeset + "[" + grd_addlst.row + "]/scoreamt"));
  2799. }*/
  2800. if(scoreamtco!=""){
  2801. scoreamt = parseInt( scoreamtco);
  2802. }
  2803. if (model.getValue("/root/main/info/rcptinfo/addamt")!=""){
  2804. addamt = parseInt(model.getValue("/root/main/info/rcptinfo/addamt")) - scoreamt;
  2805. }
  2806. if (model.getValue("/root/main/info/rcptinfo/subtotamt")!=""){
  2807. subtotamt = parseInt(model.getValue("/root/main/info/rcptinfo/subtotamt"));
  2808. }
  2809. if (scoreamt!=0){
  2810. model.setValue("/root/main/info/rcptinfo/addamt",addamt);
  2811. model.setValue("/root/main/info/rcptinfo/subtotamt",subtotamt - scoreamt);
  2812. model.refresh();
  2813. }
  2814. fDcAmtCalc();
  2815. }
  2816. /**==================================================================================================================
  2817. @author : 김호익
  2818. @version :2007-12-17
  2819. @desc : 소견등록시 이전검사 결과와 틀린부분 체크
  2820. @param :
  2821. ====================================================================================================================*/
  2822. function fOldRsltChk(){
  2823. if (model.getValue("/root/main/judgdetl/judginfo/item/hngjudgcnts")!=""){
  2824. var cnt = grd_rsltlst.rows;
  2825. for (var ci=1;ci <cnt;ci++){
  2826. var rsltVal1 = grd_rsltlst.valueMatrix(ci,grd_rsltlst.colRef("rslt1"));
  2827. var rsltVal2 = grd_rsltlst.valueMatrix(ci,grd_rsltlst.colRef("rslt2"));
  2828. var rsltVal3 = grd_rsltlst.valueMatrix(ci,grd_rsltlst.colRef("rslt3"));
  2829. if (rsltVal1 =="처방없음"){
  2830. grd_rsltlst.cellstyle("color", ci ,2, ci,2 ) = "#ff99cc";
  2831. } else if (rsltVal1 != grd_rsltlst.valueMatrix(ci,grd_rsltlst.colRef("judgrslt"))){
  2832. grd_rsltlst.cellstyle("background-color", ci, 2, ci, 2) = "#FFF000";
  2833. }
  2834. }
  2835. cnt = grd_rslttextlst.rows;
  2836. for (var ci=1;ci <cnt;ci++){
  2837. var rsltText1 = grd_rslttextlst.valueMatrix(ci,grd_rslttextlst.colRef("rslt1"));
  2838. var rsltText2 = grd_rslttextlst.valueMatrix(ci,grd_rslttextlst.colRef("rslt2"));
  2839. var rsltText3 = grd_rslttextlst.valueMatrix(ci,grd_rslttextlst.colRef("rslt3"));
  2840. if (rsltText1 != grd_rslttextlst.valueMatrix(ci,grd_rslttextlst.colRef("judgrslt"))){
  2841. grd_rslttextlst.cellstyle("background-color", ci, 1, ci, 1) = "#FFF000";
  2842. }
  2843. }
  2844. }
  2845. }
  2846. function fDocCmtChoice(){
  2847. var cnt = getNodesetCount("/root/main/judgexmpcdlst/item");
  2848. var sCmtH = model.getValue("/root/main/judgdetl/judginfo/item/hngjudgcnts");
  2849. var sCmtE = model.getValue("/root/main/judgdetl/judginfo/item/engjudgcnts");
  2850. var sCmtSH = model.getValue("/root/main/judgdetl/judginfo/item/shrthngjudgcnts");
  2851. var sCmtSE = model.getValue("/root/main/judgdetl/judginfo/item/shrtengjudgcnts");
  2852. for (var i=0; i<=cnt;i++){
  2853. if (model.getValue("/root/main/judgexmpcdlst/item["+i+"]/sel")=="Y" && model.getValue("/root/main/judgexmpcdlst/item["+i+"]/lvl") != "1"){
  2854. sCmtH = sCmtH + model.getValue("/root/main/judgexmpcdlst/item["+i+"]/judghangcnts") + "\n";
  2855. sCmtE = sCmtE + model.getValue("/root/main/judgexmpcdlst/item["+i+"]/judgengcnts")+ "\n";
  2856. sCmtSH = sCmtSH + model.getValue("/root/main/judgexmpcdlst/item["+i+"]/judghangshrtcnts")+ "\n";
  2857. sCmtSE = sCmtSE + model.getValue("/root/main/judgexmpcdlst/item["+i+"]/judgengshrtcnts")+ "\n";
  2858. }
  2859. }
  2860. model.setValue("/root/main/judgdetl/judginfo/item/hngjudgcnts", sCmtH);
  2861. model.setValue("/root/main/judgdetl/judginfo/item/shrthngjudgcnts", sCmtSH);
  2862. model.setValue("/root/main/judgdetl/judginfo/item/engjudgcnts", sCmtE);
  2863. model.setValue("/root/main/judgdetl/judginfo/item/shrtengjudgcnts", sCmtSE);
  2864. model.refresh();
  2865. }
  2866. function fAddExmAmt(){
  2867. var cnt = grd_addlst.rows;// getNodesetCount("/root/main/info/rsrvacptinfo/addlst");
  2868. var addTotamt =0;
  2869. for (var i=1 ;i<cnt;i++){
  2870. if ((grd_addlst.valueMatrix(i,grd_addlst.colRef("scoreamt"))!="")){
  2871. addTotamt = addTotamt + parseInt(grd_addlst.valueMatrix(i,6));
  2872. }
  2873. }
  2874. if (cnt == 1) {
  2875. addTotamt = 0;
  2876. }
  2877. return addTotamt;
  2878. }
  2879. function deleteTest(delrow){
  2880. model.makeValue("/root/temp/judgexmpcd" , model.getValue("/root/main/judgexmpcdlst/item[" +grd_judgexmplst.row+ "]/judgexmpcd" ));
  2881. model.makeValue("/root/temp/testcd" , model.getValue("/root/main/judgexmpdetl/itemtest[" +delrow+"]/testcd"));
  2882. model.makeValue("/root/temp/instcd" , getUserInfo("dutplceinstcd"));
  2883. var vhf = "";
  2884. if (ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag")=="")
  2885. {
  2886. vhf = fGetHealExamFlag();
  2887. } else {
  2888. vhf = ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag");
  2889. }
  2890. model.makeValue("/root/temp/healexamflag" , vhf);
  2891. if( messageBox("검사항목을", "Q001") != 6) return -1;
  2892. submit("TXAHB00803");
  2893. grd_testlst.deleteRow(grd_testlst.row);
  2894. }
  2895. /**
  2896. */
  2897. function ageCalc(rgstno1,rgstno2){
  2898. var ssno1 = utlf_transNullToEmpty(rgstno1);
  2899. var ssno2 = utlf_transNullToEmpty(rgstno2);
  2900. var temp1 = ssno1.substring(0,2);
  2901. var temp2 = ""
  2902. var sexTyp = ssno2.substring(0,1);
  2903. var temp = new Date().getYear();
  2904. if(sexTyp == "1" || sexTyp == "2") {
  2905. temp2 = "19"
  2906. var age = (parseInt(temp) - parseInt(temp2+temp1));
  2907. return age;
  2908. }else {
  2909. temp2 = "20"
  2910. var age = (parseInt(temp) - parseInt(temp2+temp1));
  2911. return age;
  2912. }
  2913. }
  2914. function gridMergeRow(grd_nm){
  2915. var cnt = grd_nm.rows;
  2916. var oldnm = "";
  2917. var grdnm = "";
  2918. var lt = 1;
  2919. var lb = 1;
  2920. for(var i=1; i<=cnt; i++){
  2921. if(grdnm == grd_nm.valueMatrix(i, 2)){
  2922. //grd_nm.valueMatrix(i,1) = "";
  2923. }else{
  2924. grdnm = grd_nm.valueMatrix(i, 2);
  2925. grd_nm.mergeByFree(lt, 2, i-1, 2);
  2926. lt = i;
  2927. }
  2928. }
  2929. model.refresh();
  2930. }
  2931. function gridCellName(codecd){
  2932. var cnt = getNodesetCount("/root/temp/pkgtestcdlst");
  2933. for(var i = 0 ; i<cnt;i++ ){
  2934. if(model.getValue("/root/init/baseinfo/comcodelst/item[" +i+"]/cd")==codecd){
  2935. return model.getValue("/root/init/baseinfo/comcodelst/item[" +i+"]/nm");
  2936. }
  2937. }
  2938. }
  2939. function grdImage(grd_nm){
  2940. var cnt = grd_nm.rows;
  2941. for(var i=1; i<=cnt; i++){
  2942. if(grd_nm.valueMatrix(i, grd_nm.colRef("rsltflag")) == "O"){
  2943. grd_nm.cellstyle("background-image", i, 5) = "../../../ast/healexamweb/image/si.bmp";
  2944. grd_nm.cellstyle("background-position", i, 5) = "center center";
  2945. }
  2946. }
  2947. model.refresh();
  2948. }
  2949. /**==================================================================================================================
  2950. @author : 김호익
  2951. @version :2007-12-17
  2952. @desc : pacs 연동
  2953. @param :
  2954. ====================================================================================================================*/
  2955. function fClickPACSOrdPatResultList(pacsorderid, pid) {
  2956. /*if ( grdobj.rows >= grdobj.fixedRows ) {
  2957. var rowidx = grdobj.row;
  2958. if ( btn_case1.selected == true ) {
  2959. if ( model.getValue("/root/main/ordlist1/maindailylist["+rowidx+"]/execprcpuniqno") == "" ||
  2960. model.getValue("/root/main/ordlist1/maindailylist["+rowidx+"]/execprcpuniqno") == 0 ) {
  2961. messageBox("PACS Viewer와 연동할 수 없습니다.(유일번호가 0이거나 NULL입니다)","I999");
  2962. return;
  2963. }
  2964. var pacsorderid = model.getValue("/root/main/ordlist1/maindailylist["+rowidx+"]/prcpdd")+model.getValue("/root/main/ordlist1/maindailylist["+rowidx+"]/execprcpuniqno");
  2965. var pid = model.getValue("/root/main/ordlist1/maindailylist["+rowidx+"]/pid");
  2966. }
  2967. if ( btn_case2.selected == true ) {
  2968. if ( model.getValue("/root/main/ordlist2/mainserious["+rowidx+"]/execprcpuniqno") == "" ||
  2969. model.getValue("/root/main/ordlist2/mainserious["+rowidx+"]/execprcpuniqno") == 0 ) {
  2970. messageBox("PACS Viewer와 연동할 수 없습니다.(유일번호가 0이거나 NULL입니다)","I999");
  2971. return;
  2972. }
  2973. var pacsorderid = model.getValue("/root/main/ordlist2/mainserious["+rowidx+"]/prcpdd")+model.getValue("/root/main/ordlist2/mainserious["+rowidx+"]/execprcpuniqno");
  2974. var pid = model.getValue("/root/main/ordlist2/mainserious["+rowidx+"]/pid");
  2975. }
  2976. // PACS Viewer 호출
  2977. //zepfpacsOrderID("2007082725595");
  2978. }*/
  2979. zepfpacsAll(pacsorderid, pid);
  2980. }
  2981. function fClickCDISResultList() {
  2982. ds_send_iemr.clearData();
  2983. //ds_hidden_temp
  2984. var prcpdd = ds_temp.getColumn(0, "prcpdd");
  2985. var execprcpuniqno = ds_temp.getColumn(0, "seqno");
  2986. var instcd = sysf_getUserInfo("dutplceinstcd");
  2987. var sprcpdd = aezfTrim(prcpdd, 44);
  2988. var sexecprcpuniqno = aezfTrim(execprcpuniqno, 44);
  2989. var sinstcd = aezfTrim(instcd, 44);
  2990. dsf_makeValue(ds_send_iemr, "cmc_orddate", "string", sprcpdd);
  2991. dsf_makeValue(ds_send_iemr, "cmc_orderseqno", "string", sexecprcpuniqno);
  2992. dsf_makeValue(ds_send_iemr, "cmc_spcid", "string", sinstcd);
  2993. dsf_makeValue(ds_send_iemr, "pid", "string", "");
  2994. dsf_makeValue(ds_send_iemr, "orddeptcd", "string", "");
  2995. dsf_makeValue(ds_send_iemr, "indd", "string", "");
  2996. dsf_makeValue(ds_send_iemr, "docucd", "string", "");
  2997. dsf_makeValue(ds_send_iemr, "ioflag", "string", "");
  2998. dsf_makeValue(ds_send_iemr, "pagetot", "string", "");
  2999. dsf_makeValue(ds_send_iemr, "treatno", "string", "");
  3000. var objArg = new Object();
  3001. objArg.arg_ds_hidden_temp = ds_send_iemr;
  3002. frmf_open("SSMRC03130", "SSMRC03130", objArg, null, null, null, null, null, null, null, null, null, "M");
  3003. }
  3004. /**********************************************************************************
  3005. * 함수명 : fPriceCheck
  3006. * 설 명 :
  3007. * argument :
  3008. * return Type :
  3009. * 작성자 :
  3010. **********************************************************************************/
  3011. function fPriceCheck()
  3012. {
  3013. dsf_makeValue(ds_send_priceamt, "healexamflag", fGetHealExamFlag());
  3014. if(utlf_isNull(ds_main_info_rsrvacptinfo_item.getColumn(0, "pkgcd")))
  3015. {
  3016. dsf_makeValue(ds_send_priceamt, "healexamdetlflag", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag"));
  3017. }
  3018. else
  3019. {
  3020. dsf_makeValue(ds_send_priceamt, "healexamdetlflag", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "srchhealexamdetlflag"));
  3021. }
  3022. dsf_makeValue(ds_send_priceamt, "pkgcd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "pkgcd"));
  3023. dsf_makeValue(ds_send_priceamt, "cmpycd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "cmpycd"));
  3024. dsf_makeValue(ds_send_priceamt, "conseq", "INT", ds_main_info_rsrvacptinfo_item.getColumn(0, "conseq"));
  3025. dsf_makeValue(ds_send_priceamt, "conhistseq", "INT", ds_main_info_rsrvacptinfo_item.getColumn(0, "conhistseq"));
  3026. dsf_makeValue(ds_send_priceamt, "pid", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "pid"));
  3027. dsf_makeValue(ds_send_priceamt, "rsrvdd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "rsrvdd"));
  3028. dsf_makeValue(ds_send_priceamt, "rsrvno", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "rsrvno"));
  3029. dsf_makeValue(ds_send_priceamt, "sex", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "sex"));
  3030. dsf_makeValue(ds_send_priceamt, "age", "INT", ageCalc(ds_main_info_patinfo_item.getColumn(0, "rgstno1"),ds_main_info_patinfo_item.getColumn(0, "rgstno2")));
  3031. dsf_makeValue(ds_send_priceamt, "disccd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "disccd"));
  3032. dsf_makeValue(ds_send_priceamt, "pkguncocd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "pkguncocd"));
  3033. dsf_makeValue(ds_send_priceamt, "forgneryn", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "forgneryn"));
  3034. dsf_makeValue(ds_send_priceamt, "choiflag", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "choiflag"));
  3035. dsf_makeValue(ds_send_priceamt, "statflag", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "statflag"));
  3036. var oParam = {};
  3037. oParam.id = "TRAHA00509";
  3038. oParam.service = "healexamrsrvacptapp.RsrvAcpt";
  3039. oParam.method = "reqAmtPrice";
  3040. oParam.inds = "req=ds_send_priceamt";
  3041. oParam.outds = "ds_temp_priceamt_priceamt=save ds_=add";
  3042. oParam.async = false;
  3043. oParam.callback = "cf_TRAHA00509";
  3044. tranf_submit(oParam);
  3045. if(arErrorCode.pop("TRAHA00509") > -1)
  3046. {
  3047. dsf_makeValue(ds_main_info_rcptinfo, "subtotamt", "int", ds_temp_priceamt_priceamt.getColumn(0, "subtotamt"));
  3048. dsf_makeValue(ds_main_info_rcptinfo, "pkgamt", "int", ds_temp_priceamt_priceamt.getColumn(0, "pkgamt"));
  3049. dsf_makeValue(ds_main_info_rcptinfo, "addamt", "int", ds_temp_priceamt_priceamt.getColumn(0, "cmpyaddamt"));
  3050. dsf_makeValue(ds_main_info_rcptinfo, "addamt", "int", ds_temp_priceamt_priceamt.getColumn(0, "psnaddamt"));
  3051. dsf_makeValue(ds_main_info_rcptinfo, "preamt", "int", ds_temp_priceamt_priceamt.getColumn(0, "preamt"));
  3052. dsf_makeValue(ds_main_info_rcptinfo, "uncoamt", "int", ds_temp_priceamt_priceamt.getColumn(0, "uncoamt"));
  3053. dsf_makeValue(ds_main_info_rcptinfo, "discamt", "int", ds_temp_priceamt_priceamt.getColumn(0, "discamt"));
  3054. dsf_makeValue(ds_main_info_rcptinfo, "realamt", "int", ds_temp_priceamt_priceamt.getColumn(0, "realamt"));
  3055. dsf_makeValue(ds_main_info_rcptinfo, "ownbamt", "int", ds_temp_priceamt_priceamt.getColumn(0, "ownbamt"));
  3056. fSetAddAmt();
  3057. }
  3058. }
  3059. function cf_TRAHA00509(sSvcId, nErrorCode, sErrorMsg)
  3060. {
  3061. arErrorCode.push(sSvcId, nErrorCode);
  3062. if(nErrorCode < 0) return;
  3063. }
  3064. /*-**************************************************************************************
  3065. * Argument : vMode
  3066. * : GMode
  3067. * Description : 예약
  3068. ****************************************************************************************/
  3069. function fSaveRsrvAcptPro(vMode, GMode){
  3070. var vHealExamFlag = "";
  3071. if(GMode == "1"){
  3072. vHealExamFlag = ds_main_info_rsrvacptinfo_item.getColumn(0,"healexamflag");
  3073. }else{
  3074. vHealExamFlag = fGetHealExamFlag();
  3075. if(utlf_isNull(vHealExamFlag)) return -1;
  3076. }
  3077. var sMode = "";
  3078. switch(vMode){
  3079. case "A" : sMode = "가예약";
  3080. break;
  3081. case "B" : sMode = "보류";
  3082. break;
  3083. case "C" : sMode = "예약";
  3084. break;
  3085. case "D" : sMode = "예약취소";
  3086. break;
  3087. case "E" : sMode = "접수";
  3088. break;
  3089. case "F" : sMode = "접수취소";
  3090. break;
  3091. }
  3092. sMode = sMode + "정보를";
  3093. if(sysf_messageBox(sMode, "Q002") != 6) return -1;
  3094. if(fCheckPatInfo() == false) return -1;
  3095. if(!fCheckAcpt(vMode)) return -1;
  3096. var vPidYN = "Y";
  3097. //예약/예약보류는 등록번호 생성하지 않음.
  3098. if((vMode == "A") || (vMode == "B")){
  3099. vPidYN = "N";
  3100. }
  3101. /*
  3102. * 수진자정보
  3103. */
  3104. dsf_createDs("ds_send_save_patinfo");
  3105. ds_main_info_patinfo_item.setColumn( 0, "pidcretfg" , vPidYN);
  3106. ds_send_save_patinfo.copyData(ds_main_info_patinfo_item);
  3107. dsf_makeValue( ds_send_save_patinfo, "userid", "string", sysf_getUserId());
  3108. dsf_makeValue( ds_send_save_patinfo, "instcd", "string", sysf_getUserInfo("dutplceinstcd"));
  3109. dsf_makeValue( ds_send_save_patinfo, "pkgcd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "pkgcd"));
  3110. dsf_makeValue( ds_send_save_patinfo, "cmpyflag", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "cmpyflag"));
  3111. dsf_makeValue( ds_send_save_patinfo, "cmpycd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "cmpycd"));
  3112. dsf_makeValue( ds_send_save_patinfo, "conseq", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "conseq"));
  3113. dsf_makeValue( ds_send_save_patinfo, "conhistseq", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "conhistseq"));
  3114. dsf_makeValue( ds_send_save_patinfo, "choiflag", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "choiflag"));
  3115. dsf_makeValue( ds_send_save_patinfo, "zipcdseq1", "string", ds_main_info_patinfo_item.getColumn(0, "zipcdseq1"));
  3116. dsf_makeValue( ds_send_save_patinfo, "zipcdseq2", "string", ds_main_info_patinfo_item.getColumn(0, "zipcdseq2"));
  3117. dsf_makeValue( ds_send_save_patinfo, "clntempid", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "clntempid"));
  3118. dsf_makeValue( ds_send_save_patinfo, "clntpos", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "clntpos"));
  3119. dsf_makeValue( ds_send_save_patinfo, "patm_brthareacnts", "string", ds_main_info_patinfo_item.getColumn(0, "brthareacnts"));
  3120. dsf_makeValue( ds_send_save_patinfo, "acpt_brthareacnts", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "brthareacnts"));
  3121. //전송데이터 변경
  3122. dsf_makeValue( ds_send_save_patinfo, "rrgstno1", "string", ds_send_save_patinfo.getColumn(0, "rgstno1"));
  3123. dsf_makeValue( ds_send_save_patinfo, "rrgstno2", "string", ds_send_save_patinfo.getColumn(0, "rgstno2"));
  3124. dsf_makeValue( ds_send_save_patinfo, "srchinstcd", "string", ds_send_save_patinfo.getColumn(0, "instcd"));
  3125. dsf_makeValue( ds_send_save_patinfo, "srchrgstno1", "string", ds_send_save_patinfo.getColumn(0, "rgstno1"));
  3126. dsf_makeValue( ds_send_save_patinfo, "srchrgstno2", "string", ds_send_save_patinfo.getColumn(0, "rgstno2"));
  3127. /*
  3128. * 예약접수정보
  3129. */
  3130. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "mode", "string", vMode);
  3131. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "healexamflag", "string", vHealExamFlag);
  3132. dsf_createDs("ds_send_save_rsrvacptinfo");
  3133. ds_send_save_rsrvacptinfo.copyData(ds_main_info_rsrvacptinfo_item);
  3134. dsf_makeValue( ds_send_save_rsrvacptinfo, "ownbamt", "string", ds_main_info_rcptinfo.getColumn(0, "ownbamt"));
  3135. //전송데이터 변경
  3136. dsf_makeValue( ds_send_save_rsrvacptinfo, "uncocd", "string", ds_send_save_rsrvacptinfo.getColumn(0, "pkguncocd"));
  3137. dsf_makeValue( ds_send_save_rsrvacptinfo, "srchrgstno1", "string", ds_send_save_rsrvacptinfo.getColumn(0, "rgstno1"));
  3138. dsf_makeValue( ds_send_save_rsrvacptinfo, "srchrgstno2", "string", ds_send_save_rsrvacptinfo.getColumn(0, "rgstno1"));
  3139. /*
  3140. * RFID
  3141. */
  3142. dsf_createDs("ds_send_save_taginfo");
  3143. dsf_makeValue( ds_send_save_taginfo, "rtime", "string", ds_main_info_taginfo.getColumn(0, "rtime"));
  3144. dsf_makeValue( ds_send_save_taginfo, "tagno", "string", ds_main_info_taginfo.getColumn(0, "tagno"));
  3145. dsf_makeValue( ds_send_save_taginfo, "suppstat", "string", ds_main_info_taginfo.getColumn(0, "suppstat"));
  3146. /*
  3147. * 결과상담 예약내역 저장
  3148. */
  3149. //예약 및 접수취소일경우 현재 이후의 예약이며 결과상담이 완료되지 않은 내역은 삭제합니다.
  3150. if(vMode == "F"|| vMode == "D"){
  3151. var rsltRsrvCnt = ds_main_info_rsltcnstinfo_cnstlst_cnst.rowcount;
  3152. for(var i=0; i<rsltRsrvCnt; i++){
  3153. var cnstEndYN = ds_main_info_rsltcnstinfo_cnstlst_cnst.getColumn(i, "rsltcnstendyn");
  3154. var rsltCnstDD = ds_main_info_rsltcnstinfo_cnstlst_cnst.getColumn(i, "rsltcnstdd");
  3155. var rsltCnstRsrvStarttm = ds_main_info_rsltcnstinfo_cnstlst_cnst.getColumn(i, "rsltcnstrsrvstarttm");
  3156. var dtRsrvdd = (rsltCnstDD + " " + rsltCnstRsrvStarttm + "00" ).toDate("YYYYMMDD hhmmss");
  3157. if((cnstEndYN == "N" || utlf_isNull(cnstEndYN)) && dtRsrvdd > utlf_getCurrentDateTime().toDate("YYYYMMDD hhmmss")){
  3158. ds_main_info_rsltcnstinfo_cnstlst_cnst.setColumn(i, "m" ,"d");
  3159. ds_main_info_rsltcnstinfo_cnstlst_cnst.setColumn(i, "rsltrsrvsaveyn" ,"N");
  3160. }
  3161. }
  3162. }
  3163. dsf_createDs("ds_send_save_rsltrsrv");
  3164. ds_main_info_rsltcnstinfo_cnstlst_cnst.filter("rsltrsrvsaveyn=='N'");
  3165. ds_send_save_rsltrsrv.copyData(ds_main_info_rsltcnstinfo_cnstlst_cnst, true);
  3166. ds_main_info_rsltcnstinfo_cnstlst_cnst.filter("");
  3167. //전송데이터 변경
  3168. dsf_setFixVal( ds_send_save_rsltrsrv, "healexamflag:"+ds_send_save_rsrvacptinfo.getColumn(0, "healexamflag")
  3169. +"rsrvdd:"+ds_send_save_rsrvacptinfo.getColumn(0, "rsrvdd")+"rsrvno:"+ds_send_save_rsrvacptinfo.getColumn(0, "rsrvno")
  3170. +"healexamdetlflag:"+ds_send_save_rsrvacptinfo.getColumn(0, "healexamdetlflag") );
  3171. //추가 검사 내역 rowheader를 i로 셋팅
  3172. //추가검사 중 접수시 처방이 내려져야 하는검사가 있으므로 우선 추가검사 내역을 다 가져가야 하기에 u 모드로 변경
  3173. var objGrd = frmf_getComponents("grd_addlst", this);
  3174. var objDs = this.objects[objGrd.binddataset];
  3175. objDs.applyChange();
  3176. for(var i=0; i < objDs.rowcount;i++){
  3177. if((objDs.getColumn(i, "sel")=="Y") || (objDs.getColumn(i, "sel")=="true")) {
  3178. grdf_setStatus(objGrd, "U", [i]);
  3179. objDs.setColumn(i, "m ", "u");
  3180. }
  3181. }
  3182. dsf_createDs("ds_send_save_addlst");
  3183. ds_send_save_addlst.copyData(grdf_getGridUpdateData(objGrd, "all"), true);
  3184. //전송데이터 변경
  3185. if(GMode == "1"){
  3186. dsf_makeValue( ds_send_save_addlst, "calcscorcd", "string", ds_send_save_addlst.getColumn(0, "testcd"));
  3187. dsf_makeValue( ds_send_save_addlst, "addtotamt", "string", ds_send_save_addlst.getColumn(0, "totpayamt"));
  3188. dsf_makeValue( ds_send_save_addlst, "owndiscamt", "string", ds_send_save_addlst.getColumn(0, "paydcbamt"));
  3189. dsf_setFixVal( ds_send_save_addlst, "pkgfg:G");
  3190. } else {
  3191. dsf_makeValue( ds_send_save_addlst, "pkgflag", "string", ds_send_save_addlst.getColumn(0, "testflag"));
  3192. dsf_makeValue( ds_send_save_addlst, "prcpdayno", "string", ds_send_save_addlst.getColumn(0, "prcptims"));
  3193. }
  3194. frmf_openLoadingBar(sMode + " 처리 중입니다..") ;//처리중 화면을 오픈한다.
  3195. dsf_createDs("ds_tmp_reqacpt");
  3196. dsf_createDs("ds_tmp_reqadd");
  3197. dsf_createDs("ds_tmp_reqrfid");
  3198. dsf_createDs("ds_tmp_sytsrsrvchk");
  3199. var retInstance;
  3200. if(GMode == "1"){
  3201. var oParam = {};
  3202. oParam.id = "TXAHA04032";
  3203. oParam.service = "healthexamrsrvacptapp.GnrlRsrvAcpt";
  3204. oParam.method = "reqExeGnrlRsrvSave";
  3205. oParam.inds = "patinfo=ds_send_save_patinfo rsrvacptinfo=ds_send_save_rsrvacptinfo addlst=ds_send_save_addlst taginfo=ds_send_save_taginfo rsltrsrv=ds_send_save_rsltrsrv";
  3206. oParam.outds = "ds_tmp_reqadd=reqadd ds_tmp_reqrfid=reqrfid ds_tmp_sytsrsrvchk=sytsrsrvchk";
  3207. oParam.async = false;
  3208. oParam.callback = "cf_TXAHA04032";
  3209. tranf_submit(oParam);
  3210. if(arErrorCode.pop("TXAHA04032") > -1) retInstance = true;
  3211. else retInstance = false;
  3212. }else{
  3213. var oParam = {};
  3214. oParam.id = "TXAHA04027";
  3215. oParam.service = "healthexamrsrvacptapp.RsrvAcpt";
  3216. oParam.method = "reqExeRsrvSave";
  3217. oParam.inds = "patinfo=ds_send_save_patinfo rsrvacptinfo=ds_send_save_rsrvacptinfo addlst=ds_send_save_addlst taginfo=ds_send_save_taginfo rsltrsrv=ds_send_save_rsltrsrv";
  3218. oParam.outds = "ds_tmp_reqadd=reqadd ds_tmp_reqrfid=reqrfid ds_tmp_sytsrsrvchk=sytsrsrvchk";
  3219. oParam.async = false;
  3220. oParam.callback = "cf_TXAHA04027";
  3221. tranf_submit(oParam);
  3222. if(arErrorCode.pop("TXAHA04027") > -1) retInstance = true;
  3223. else retInstance = false;
  3224. }
  3225. if(retInstance == true) {
  3226. var ret = 0 ;
  3227. var rst = "R";
  3228. if(GMode == "1"){
  3229. vHealExamFlag = ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag");
  3230. }else{
  3231. //일부결과를 인스턴스에 복사
  3232. //AHA001.JS
  3233. fretinstanceset();
  3234. }
  3235. if( vMode == "E" ) { //접수
  3236. ds_send.addColumn("srchjobflag" ,"string");
  3237. ds_send.addColumn("srchrcptdd" ,"string");
  3238. ds_send.addColumn("srchrcptno" ,"string");
  3239. ds_send.addColumn("srchrcptseqno","string");
  3240. //태그등록 상태변경
  3241. var suppstat = ds_tmp_reqrfid.getColumn(0, "suppstat"); // 태그지급상태
  3242. if(suppstat == "0"){
  3243. ds_main_info_taginfo.setColumn(0, "rtime" , ds_tmp_reqrfid.getColumn(0, "rtime"));
  3244. ds_main_info_taginfo.setColumn(0, "tagno" , ds_tmp_reqrfid.getColumn(0, "tagno"));
  3245. ds_main_info_taginfo.setColumn(0, "suppstat" , ds_tmp_reqrfid.getColumn(0, "suppstat"));
  3246. //태그 지급상태 실시값
  3247. dsf_makeValue(ds_tag_taginfo, "tagstat", "string", ds_tmp_reqrfid.getColumn(0, "suppstat"));
  3248. btn_tag.text = "태그반납";
  3249. ipt_tagno.enable = false;
  3250. }
  3251. if(ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag") == "C" || ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag") == "G02"){
  3252. ret = fCalcAmt("RCPT");
  3253. }
  3254. //1은 서브미션결과가 TRUE
  3255. if(ret == 1){
  3256. //함수 내에서 조건에 따라 수납화면 팝업
  3257. //TRAHA02105로 영수증번호 채번
  3258. //TXAHA02102로 수납화면에 뿌려지는 내용인 카드현금수납내역, 할인내역, 검사내역등 을 조회해온다. /root/hidden/rcpt_out에 결과저장
  3259. //비자건진 접수시 수납창 안띄워줌
  3260. if(ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag") != "G" && ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag") != "G02"){
  3261. ahafRcptAmt("RCPT" , ds_main_info_rsrvacptinfo_item.getColumn(0, "rsrvdd")
  3262. , ds_main_info_rsrvacptinfo_item.getColumn(0, "rsrvno")
  3263. , ds_main_info_rsrvacptinfo_item.getColumn(0, "pid")
  3264. , ds_main_info_rsrvacptinfo_item.getColumn(0, "orddd")
  3265. , ds_main_info_rsrvacptinfo_item.getColumn(0, "rcptstat")
  3266. , "ds_temp_rcptinfo_hidden"
  3267. , ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag")
  3268. )
  3269. rst = "T";
  3270. }
  3271. }
  3272. }else if( vMode == "F" ) { //F접수 취소
  3273. ds_send.addColumn("srchjobflag" ,"string");
  3274. ds_send.addColumn("srchrcptdd" ,"string");
  3275. ds_send.addColumn("srchrcptno" ,"string");
  3276. ds_send.addColumn("srchrcptseqno","string");
  3277. ret = fCalcAmt("CANCEL") ;
  3278. if(ret == 1){
  3279. ahafRcptAmt("CANCEL", ds_main_info_rsrvacptinfo_item.getColumn(0, "rsrvdd")
  3280. , ds_main_info_rsrvacptinfo_item.getColumn(0, "rsrvno")
  3281. , ds_main_info_rsrvacptinfo_item.getColumn(0, "pid")
  3282. , ds_main_info_rsrvacptinfo_item.getColumn(0, "orddd")
  3283. , ds_main_info_rsrvacptinfo_item.getColumn(0, "rcptstat")
  3284. , "ds_temp_rcptinfo_hidden"
  3285. , ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamflag")
  3286. )
  3287. rst = "T";
  3288. }
  3289. }
  3290. fInitInfo(); //접수 정보 및 건진자 정보 초기화
  3291. ipt_pnm.value = "";
  3292. fSetBtnStat(); //예약,접수등 상태에 맞는 버튼 셋팅
  3293. fGetList(); //TRAHA00103 -건진자 리스트 조회
  3294. frmf_closeLoadingBar() ;//처리중 화면을 close한다.
  3295. var sytsrsrvchk = ds_tmp_sytsrsrvchk.getColumn(0, "sytsrsrvchk");
  3296. if( sytsrsrvchk == "Y" ){// 통합예약할 내역이 있으면 "Y"
  3297. ds_main_info_rsrvacptinfo_item.setColumn(0, "pid", ds_tmp_reqacpt.getColumn(0, "pid"));
  3298. button2.click();
  3299. }
  3300. }else{
  3301. sysf_messageBox("저장이 잘못되었습니다", "E999");
  3302. frmf_closeLoadingBar() ;//처리중 화면을 close한다.
  3303. }
  3304. return 1;
  3305. }
  3306. function cf_TXAHA04032(sSvcId, nErrorCode, sErrorMsg) {
  3307. arErrorCode.push(sSvcId, nErrorCode);
  3308. }
  3309. function cf_TXAHA04027(sSvcId, nErrorCode, sErrorMsg) {
  3310. arErrorCode.push(sSvcId, nErrorCode);
  3311. }
  3312. function fretinstanceset()
  3313. {
  3314. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "rsrvdd", "string", ds_tmp_reqacpt.getColumn(0, "rsrvdd"));
  3315. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "rsrvno", "string", ds_tmp_reqacpt.getColumn(0, "rsrvno"));
  3316. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "pid", "string", ds_tmp_reqacpt.getColumn(0, "pid"));
  3317. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "orddd", "string", ds_tmp_reqacpt.getColumn(0, "orddd"));
  3318. dsf_makeValue(ds_main_info_patinfo_item, "pid", "string", ds_tmp_reqacpt.getColumn(0, "pid"));
  3319. }
  3320. function fGetPro(){
  3321. model.makeValue("/root/send/srchpkgflag" , "");
  3322. model.makeValue("/root/send/srchhealexamflag" , "G");
  3323. model.makeValue("/root/send/srchcond" , "");
  3324. if (model.getValue("/root/send/pkgcd") == ""){
  3325. model.makeValue("/root/send/srchcond" , "");
  3326. model.makeValue("/root/send/srchcdnm" , "");
  3327. } else{
  3328. model.makeValue("/root/send/srchcond" , "cd");
  3329. model.makeValue("/root/send/srchcdnm" , model.getValue("/root/send/pkgcd"));
  3330. }
  3331. if (model.getValue("/root/send/srchcond") == ""){
  3332. if (model.getValue("/root/send/pkgnm") == ""){
  3333. model.makeValue("/root/send/srchcond" , "");
  3334. model.makeValue("/root/send/srchcdnm" , "");
  3335. } else{
  3336. model.makeValue("/root/send/srchcond" , "nm");
  3337. model.makeValue("/root/send/srchcdnm" , model.getValue("/root/send/pkgnm"));
  3338. }
  3339. }
  3340. submit("TRAHB00303");
  3341. }
  3342. function finsuCheck(){
  3343. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "insu1", "string", "", 0);
  3344. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "insu2", "string", "", 0);
  3345. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "insu3", "string", "", 0);
  3346. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "insu4", "string", "", 0);
  3347. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "insu5", "string", "", 0);
  3348. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "insu6", "string", "", 0);
  3349. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "insu7", "string", "", 0);
  3350. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "insu8", "string", "", 0);
  3351. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "insu9", "string", "", 0);
  3352. dsf_makeValue(ds_main_info_rsrvacptinfo_item, "insu10", "string", "", 0);
  3353. if (ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag")=="G01"){
  3354. ds_main_info_rsrvacptinfo_item.setColumn(0, "insu1", "G01");
  3355. } else if (ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag")=="G02"){
  3356. ds_main_info_rsrvacptinfo_item.setColumn(0, "insu2", "G02");
  3357. } else if (ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag")=="G03"){
  3358. ds_main_info_rsrvacptinfo_item.setColumn(0, "insu3", "G03");
  3359. } else if (ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag")=="G04"){
  3360. ds_main_info_rsrvacptinfo_item.setColumn(0, "insu4", "G04");
  3361. } else if (ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag")=="G05"){
  3362. ds_main_info_rsrvacptinfo_item.setColumn(0, "insu5", "G05");
  3363. } else if (ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag")=="G06"){
  3364. ds_main_info_rsrvacptinfo_item.setColumn(0, "insu6", "G06");
  3365. } else if (ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag")=="G07"){
  3366. ds_main_info_rsrvacptinfo_item.setColumn(0, "insu7", "G07");
  3367. } else if (ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag")=="G08"){
  3368. ds_main_info_rsrvacptinfo_item.setColumn(0, "insu8", "G08");
  3369. } else if (ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag")=="G09"){
  3370. ds_main_info_rsrvacptinfo_item.setColumn(0, "insu9", "G09");
  3371. } else if (ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag")=="G010"){
  3372. ds_main_info_rsrvacptinfo_item.setColumn(0, "insu10", "G010");
  3373. }
  3374. }
  3375. function fInsuChange(){
  3376. if (!utlf_isNull(ds_send.getColumn(0, "srchcdnm")))
  3377. {
  3378. ds_send.setColumn(0, "srchflag" , "02");
  3379. ds_send.setColumn(0, "srchcond" , "nm" );
  3380. ds_send.setColumn(0, "srchinstcd" , sysf_getUserInfo("dutplceinstcd"));
  3381. var oParam = {};
  3382. oParam.id = "TRAHA00105";
  3383. oParam.service = "healexambaseapp.ComCode";
  3384. oParam.method = "reqGetComnCdList";
  3385. oParam.inds = "req=ds_send";
  3386. oParam.outds = "ds_temp_cdlst_item=item";
  3387. oParam.async = false;
  3388. //oParam.callback = "cf_TRAHA00105";
  3389. tranf_submit(oParam);
  3390. if (!utlf_isNull(ds_temp_cdlst_item.getColumn(0, "cmpycd")))
  3391. {
  3392. opener.ds_main_info_rsrvacptinfo_item.setColumn(0, "insucorpbrchcd",ds_temp_cdlst_item.getColumn(0, "cmpycd"));
  3393. }
  3394. }
  3395. }
  3396. function fGetAutoCode(vMode,dgflag){
  3397. model.makeValue("/root/tmp/cdflag",vMode);
  3398. model.makeValue("/root/tmp/dgflag",dgflag);
  3399. modal("SPAHA00700");
  3400. }
  3401. //마약 집게 추가(대장내시경시 마약 신청)
  3402. function fDrugSum(){
  3403. submit("TXAHA00105");
  3404. }
  3405. function fChoiChk(){
  3406. var a = "";
  3407. var cnt = 0;
  3408. var cnt2 = 0;
  3409. for(var i=1; i < grd_addlst.rows;i++){
  3410. if ((grd_addlst.valueMatrix(i,grd_addlst.colRef("testflag"))=="S")){cnt2 = cnt2 +1 ; }
  3411. if ((grd_addlst.valueMatrix(i,grd_addlst.colRef("testflag"))=="S") && (grd_addlst.valueMatrix(i,grd_addlst.colRef("sel")) =="Y")){
  3412. cnt = cnt+ 1;
  3413. }
  3414. }
  3415. if(cnt == 0 && cnt2 != 0 ){
  3416. var rtn = messageBox("패키지내 선택검사 중 1개의 선택검사도 선택 되지 않았습니다, 계속 하시겠습니까? ", "Q0999");
  3417. if(rtn == 6){return true;}
  3418. else if(rtn == 7){return false;}
  3419. }
  3420. }
  3421. /*-**************************************************************************************
  3422. * Argument : N/A
  3423. * Description : 등록번호 생성
  3424. ****************************************************************************************/
  3425. function fSavePtbs(){
  3426. if( fCheckPatInfo('1') == false ) return -1 ;
  3427. /**
  3428. * 수진자정보
  3429. */
  3430. ds_send_save.copyData(ds_main_info_patinfo_item);
  3431. fCheckNodeExist("ds_send_save", "userid" , true);
  3432. fCheckNodeExist("ds_send_save", "instcd" , true);
  3433. ds_send_save.setColumn( 0, "userid" , sysf_getUserId());
  3434. ds_send_save.setColumn( 0, "instcd" , sysf_getUserInfo("dutplceinstcd"));
  3435. dsf_createDs("ds_tmp_patinfo");
  3436. dsf_makeValue(ds_send_save, "rrgstno1", "string", ds_send_save.getColumn(0, "rgstno1"));
  3437. dsf_makeValue(ds_send_save, "rrgstno2", "string", ds_send_save.getColumn(0, "rgstno2"));
  3438. dsf_makeValue(ds_send_save, "srchrgstno1", "string", ds_send_save.getColumn(0, "rgstno1"));
  3439. dsf_makeValue(ds_send_save, "srchrgstno2", "string", ds_send_save.getColumn(0, "rgstno2"));
  3440. dsf_makeValue(ds_send_save, "srchinstcd", "string", ds_send_save.getColumn(0, "instcd"));
  3441. var oParam = {};
  3442. oParam.id = "TXAHA00111";
  3443. oParam.service = "healexamrsrvacptapp.RsrvAcpt";
  3444. oParam.method = "reqSavePtbs";
  3445. oParam.inds = "patinfo=ds_send_save";
  3446. oParam.outds = "ds_tmp_patinfo=patinfo";
  3447. oParam.async = false;
  3448. //oParam.callback = "cf_TXAHA00111";
  3449. tranf_submit(oParam);
  3450. ds_main_info_patinfo_item.setColumn( 0, "pid" , ds_tmp_patinfo.getColumn(0, "pid"));
  3451. }
  3452. /*-**************************************************************************************
  3453. * Argument : N/A
  3454. * Description : 추가검사 금액셋팅
  3455. ****************************************************************************************/
  3456. function fSetAddAmt() {
  3457. var healexamdetlflag = ds_main_info_rsrvacptinfo_item.getColumn(0, "healexamdetlflag");
  3458. var disccd = ds_main_info_rsrvacptinfo_item.getColumn(0, "disccd"); // 할인코드
  3459. var cmpycd = ds_main_info_rsrvacptinfo_item.getColumn(0, "cmpycd"); // 단체코드
  3460. var statflag = ds_main_info_rsrvacptinfo_item.getColumn(0, "statflag"); // 단체코드
  3461. var chngyn = ds_temp_priceamt_priceamt.getColumn(0, "chngyn"); // 부담금 변경여부
  3462. var pkgdiscyn = ds_main_info_rsrvacptinfo_item.getColumn(0, "pkgdiscyn"); // 패키지 할인 여부
  3463. var disc = 0;
  3464. var pAddamt = 0;
  3465. var sCnt = 0;
  3466. var pkgDisc = 0;
  3467. var addDisc = 0;
  3468. var uncoamt = 0;
  3469. var ownbamt = 0;
  3470. var PkgDiscamt = 0;
  3471. var subtotamt = parseInt(ds_temp_priceamt_priceamt.getColumn(0, "subtotamt")); //소계
  3472. var pkgamt = parseInt(ds_temp_priceamt_priceamt.getColumn(0, "pkgamt")); //패키지금액
  3473. var cmpyaddamt = parseInt(ds_temp_priceamt_priceamt.getColumn(0, "cmpyaddamt")); //단체추가검사금액
  3474. var psnaddamt = parseInt(ds_temp_priceamt_priceamt.getColumn(0, "psnaddamt")); //개인추가검사금액
  3475. var preamt = parseInt(ds_temp_priceamt_priceamt.getColumn(0, "preamt")); //선수금
  3476. var discamt = parseInt(ds_temp_priceamt_priceamt.getColumn(0, "discamt")); //할인액
  3477. var realamt = parseInt(ds_temp_priceamt_priceamt.getColumn(0, "realamt")); //실수납액
  3478. var org_uncoamt = parseInt(ds_temp_priceamt_priceamt.getColumn(0, "orguncoamt")); // 계약처의 미수금(변경없는)
  3479. var org_ownbamt = parseInt(ds_temp_priceamt_priceamt.getColumn(0, "orgownbamt")); //게약처의 원래 부담금
  3480. if(chngyn == "Y") {
  3481. uncoamt = parseInt(ds_temp_priceamt_priceamt.getColumn(0, "chnguncoamt")); //미수금
  3482. ownbamt = parseInt(ds_temp_priceamt_priceamt.getColumn(0, "chngownbamt")); //부담액
  3483. }else {
  3484. uncoamt = parseInt(ds_temp_priceamt_priceamt.getColumn(0, "uncoamt")); //미수금
  3485. ownbamt = parseInt(ds_temp_priceamt_priceamt.getColumn(0, "ownbamt")); //부담액
  3486. }
  3487. // 할인율
  3488. if(!utlf_isNull(disccd)) {
  3489. pkgDisc = parseInt(ds_init_baseinfo_pamcdlst_disccdlst.lookupExpr("cd == '" + disccd + "'", "dcamt"));
  3490. addDisc = parseInt(ds_init_baseinfo_pamcdlst_disccdlst.lookupExpr("cd == '" + disccd + "'", "adddcamt"));
  3491. }
  3492. // 개인일 경우 패키지의 할인율 적용
  3493. if(utlf_isNull(cmpycd)) {
  3494. if(pkgdiscyn == "Y") {
  3495. discamt = discamt + Math.round(pkgamt*(pkgDisc/100));
  3496. PkgDiscamt = Math.round(pkgamt*(pkgDisc/100));
  3497. }
  3498. }
  3499. var cnt = ds_main_info_rsrvacptinfo_addlst.rowcount;
  3500. for(var i=0; i < cnt; i++) {
  3501. var sel = ds_main_info_rsrvacptinfo_addlst.getColumn(i, "sel");
  3502. var testflag = ds_main_info_rsrvacptinfo_addlst.getColumn(i, "testflag"); // 검사구분
  3503. var uncocd = ds_main_info_rsrvacptinfo_addlst.getColumn(i, "uncocd"); // 청구구분
  3504. var scoreamt = parseInt(ds_main_info_rsrvacptinfo_addlst.getColumn(i, "scoreamt")); // 단가
  3505. var testdiscyn = ds_main_info_rsrvacptinfo_addlst.getColumn(i, "testdiscyn"); //추가검사할인적용여부
  3506. var dcamt = (testdiscyn == "Y"? Math.round(scoreamt*(addDisc/100)) : 0); // 추가검사금액
  3507. if("Y" == sel) {
  3508. if(testflag == "S") {
  3509. sCnt++;
  3510. if(!utlf_isNull(cmpycd)) {
  3511. if("V01" == uncocd) {
  3512. pAddamt += (scoreamt - dcamt);
  3513. psnaddamt += scoreamt;
  3514. discamt += dcamt;
  3515. subtotamt += scoreamt;
  3516. }else if("V02" == uncocd) {
  3517. uncoamt += (scoreamt - dcamt); // 미수금액
  3518. cmpyaddamt += scoreamt;
  3519. discamt += dcamt;
  3520. subtotamt += scoreamt;
  3521. }
  3522. }
  3523. }else {
  3524. if(!utlf_isNull(cmpycd)) {
  3525. if("V01" == uncocd) {
  3526. pAddamt += (scoreamt - dcamt); // 개인추가금액
  3527. psnaddamt += scoreamt;
  3528. }else if("V02" == uncocd) {
  3529. uncoamt += (scoreamt - dcamt); //미수금액
  3530. cmpyaddamt += scoreamt;
  3531. }
  3532. discamt += dcamt;
  3533. subtotamt += scoreamt;
  3534. }else {
  3535. pAddamt += (scoreamt - dcamt);
  3536. psnaddamt += scoreamt;
  3537. discamt += dcamt;
  3538. subtotamt += scoreamt;
  3539. }
  3540. }
  3541. }
  3542. }
  3543. // 개인 일 경우
  3544. if(utlf_isNull(cmpycd)) {
  3545. if(sCnt > 1) {
  3546. sysf_messageBox("선택검사을 2개이상" , "E005");
  3547. }
  3548. }
  3549. dsf_makeValue( ds_main_info_rcptinfo, "subtotamt", "string", subtotamt); //소계
  3550. dsf_makeValue( ds_main_info_rcptinfo, "pkgamt", "string", pkgamt); //패키지금액
  3551. dsf_makeValue( ds_main_info_rcptinfo, "cmpyaddamt", "string", cmpyaddamt); //추가검사금액
  3552. dsf_makeValue( ds_main_info_rcptinfo, "psnaddamt", "string", psnaddamt); //추가검사금액
  3553. dsf_makeValue( ds_main_info_rcptinfo, "preamt", "string", preamt); //선수금
  3554. dsf_makeValue( ds_main_info_rcptinfo, "uncoamt", "string", uncoamt); //미수금
  3555. dsf_makeValue( ds_main_info_rcptinfo, "discamt", "string", discamt); //할인액
  3556. if(statflag == "E" || statflag == "G" || statflag == "H" || statflag == "I") {
  3557. dsf_makeValue( ds_main_info_rcptinfo, "realamt", "string", realamt); //실수납액
  3558. }else {
  3559. if(cmpycd != "") {
  3560. dsf_makeValue( ds_main_info_rcptinfo, "realamt", "string", pAddamt + ownbamt - realamt - preamt); //실수납액
  3561. }else {
  3562. dsf_makeValue( ds_main_info_rcptinfo, "realamt", "string", pkgamt + pAddamt - PkgDiscamt - realamt - preamt); //실수납액
  3563. }
  3564. }
  3565. if(healexamdetlflag == "G02") {
  3566. dsf_createDs("ds_send1");
  3567. dsf_makeValue( ds_send1, "healexamflag", "string", fGetHealExamFlag());
  3568. dsf_makeValue( ds_send1, "rsrvdd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "rsrvdd"));
  3569. dsf_makeValue( ds_send1, "rsrvno", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "rsrvno"));
  3570. dsf_makeValue( ds_send1, "testflag", "string", "A");
  3571. dsf_makeValue( ds_send1, "testcd", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "pkgcd"));
  3572. dsf_makeValue( ds_send1, "cmpyflag", "string", "N" );
  3573. dsf_makeValue( ds_send1, "age", "string", ds_main_info_patinfo_item.getColumn(0, "age"));
  3574. dsf_makeValue( ds_send1, "cmpycd", "string", "");
  3575. dsf_makeValue( ds_send1, "conseq", "string", "");
  3576. dsf_makeValue( ds_send1, "conhistseq", "string", "");
  3577. dsf_makeValue( ds_send1, "statflag", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "statflag"));
  3578. dsf_createDs("ds_price_dangainfo");
  3579. var oParam = {};
  3580. oParam.id = "TRAHA00702";
  3581. oParam.service = "healexamrsrvacptapp.RsrvAcpt";
  3582. oParam.method = "reqGetDangaInfo";
  3583. oParam.inds = "req=ds_send1";
  3584. oParam.outds = "ds_price_dangainfo=item";
  3585. oParam.async = false;
  3586. //oParam.callback = "cf_TRAHA00702";
  3587. tranf_submit(oParam);
  3588. if(!utlf_isNull(cmpycd)) {
  3589. dsf_makeValue( ds_main_info_rcptinfo, "pkgamt", "string", ds_price_dangainfo.getColumn(0, "danga")); //패키지금액
  3590. dsf_makeValue( ds_main_info_rcptinfo, "subtotamt", "string", parseInt(ds_main_info_rcptinfo.getColumn(0, "cmpyaddamt"))
  3591. + parseInt(ds_main_info_rcptinfo.getColumn(0, "psnaddamt"))
  3592. + parseInt(ds_main_info_rcptinfo.getColumn(0, "pkgamt"))); //소계
  3593. dsf_makeValue( ds_main_info_rcptinfo, "uncoamt", "string", parseInt(ds_main_info_rcptinfo.getColumn(0, "cmpyaddamt"))
  3594. + parseInt(ds_main_info_rcptinfo.getColumn(0, "pkgamt")));
  3595. }else {
  3596. if(statflag != "") {
  3597. dsf_makeValue( ds_main_info_rcptinfo, "pkgamt", "string", ds_price_dangainfo.getColumn(0, "danga")); //패키지금액
  3598. dsf_makeValue( ds_main_info_rcptinfo, "subtotamt", "string", parseInt(ds_main_info_rcptinfo.getColumn(0, "cmpyaddamt"))
  3599. + parseInt(ds_main_info_rcptinfo.getColumn(0, "psnaddamt"))
  3600. + parseInt(ds_main_info_rcptinfo.getColumn(0, "pkgamt"))); //소계
  3601. dsf_makeValue( ds_main_info_rcptinfo, "uncoamt", "string", parseInt(ds_main_info_rcptinfo.getColumn(0, "cmpyaddamt")));
  3602. }
  3603. }
  3604. }
  3605. dsf_makeValue(ds_main_info_rcptinfo, "ownbamt", "string", ownbamt); //부담액
  3606. dsf_makeValue(ds_main_info_rcptinfo, "tempamt", "string", org_uncoamt + org_ownbamt); //계약처 미수금 + 부담금
  3607. //화면별 디자인 맞춰서 디자인 하도록 수정 기존 내용 주석처리함(2018-03-07 이아영)
  3608. if(frmf_getScreenID() == "SMAHA04020")
  3609. {
  3610. if(0 > parseInt(ds_main_info_rcptinfo.getColumn(0, "realamt")))
  3611. {
  3612. opt_realamt.style.color = "#ff0000";
  3613. opt_realamt.style.align = "right bottom";
  3614. }
  3615. else
  3616. {
  3617. opt_realamt.style.color = "#43c8f5";
  3618. opt_realamt.style.font = "Dotum,36,bold"
  3619. opt_realamt.style.align = "right bottom";
  3620. }
  3621. }
  3622. else
  3623. {
  3624. // if(0 > parseInt(ds_main_info_rcptinfo.getColumn(0, "realamt"))) {
  3625. // opt_realamt.style.background.color = "#ff0000";
  3626. // opt_realamt.position.left = 904;
  3627. // opt_realamt.position.top = 675;
  3628. // opt_realamt.position.width = 291;
  3629. // opt_realamt.position.height = 65;
  3630. // opt_realamt.style.align = "right bottom";
  3631. // }else {
  3632. // opt_realamt.style.background.color = "";
  3633. // opt_realamt.position.left = 904;
  3634. // opt_realamt.position.top = 675;
  3635. // opt_realamt.position.width = 291;
  3636. // opt_realamt.position.height = 65;
  3637. // opt_realamt.style.align = "right bottom";
  3638. // }
  3639. }
  3640. }
  3641. /**********************************************************************************
  3642. * 함수명 : fnSetImage
  3643. * 설 명 :
  3644. * argument :
  3645. * return Type :
  3646. * 작성자 :
  3647. **********************************************************************************/
  3648. function fnSetImage()
  3649. {
  3650. if(utlf_isNull(ds_send_attach.getColumn(0, "filedata") || utlf_isNull(ds_send.getColumn(0, "rsrvdd")) || utlf_isNull(ds_send.getColumn(0, "rsrvno"))))
  3651. {
  3652. return false;
  3653. }
  3654. dsf_makeValue(ds_send, "healexamdetlflag", "string", ds_send.getColumn(0, "srchhealexamdetlflag"))
  3655. var oParam = {};
  3656. oParam.id = "TXAHA04028";
  3657. oParam.service = "healthexamrsrvacptapp.RsrvAcpt";
  3658. oParam.method = "reqExeVisaPhot";
  3659. oParam.inds = "attach=ds_send_attach rsrvinfo=ds_send";
  3660. oParam.outds = "ds_=item";
  3661. oParam.async = false;
  3662. oParam.callback = "cf_TXAHA04028";
  3663. tranf_submit(oParam);
  3664. if(arErrorCode.pop("TXAHA04028") > -1)
  3665. {
  3666. fnGetImage();
  3667. }
  3668. }
  3669. function cf_TXAHA04028(sSvcId, nErrorCode, sErrorMsg)
  3670. {
  3671. arErrorCode.push(sSvcId, nErrorCode);
  3672. if(nErrorCode < 0) return;
  3673. }
  3674. /**********************************************************************************
  3675. * 함수명 : fnGetImage
  3676. * 설 명 :
  3677. * argument :
  3678. * return Type :
  3679. * 작성자 :
  3680. **********************************************************************************/
  3681. function fnGetImage()
  3682. {
  3683. ds_image_attachfile.clearData();
  3684. if(!utlf_isNull(ds_main_info_rsrvacptinfo_item.getColumn(0, "visaphotpath")))
  3685. {
  3686. ds_send.setColumn(0, "visaphotpath", ds_main_info_rsrvacptinfo_item.getColumn(0, "visaphotpath"));
  3687. dsf_makeValue(ds_send, "filepath", "string", ds_main_info_rsrvacptinfo_item.getColumn(0, "visaphotpath"));
  3688. var oParam = {};
  3689. oParam.id = "TRAHA04017";
  3690. oParam.service = "healthexamrsrvacptapp.RsrvAcpt";
  3691. oParam.method = "reqGetVisaPhot";
  3692. oParam.inds = "req=ds_send";
  3693. oParam.outds = "ds_image_attachfile=attachfile";
  3694. oParam.async = false;
  3695. //oParam.callback = "cf_TRAHA04017";
  3696. tranf_submit(oParam);
  3697. dsf_makeValue(ds_image_attachfile, "image", "BLOB", ds_image_attachfile.getColumn(0, "filedata"));
  3698. }
  3699. }
  3700. /*-**************************************************************************************
  3701. @author : 손주연
  3702. @version : 2007-04-30
  3703. @desc : 환자인적사항저장
  3704. @param : vPidYN : 등록번호생성여부
  3705. ****************************************************************************************/
  3706. function fSaveGnrlInfo(vPidYN){
  3707. if( fCheckPatInfo() == false ) return ;
  3708. fCheckNodeExist("ds_send_save", "instcd", true);
  3709. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "cmpycd", true);
  3710. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "bizoffccd" , true);
  3711. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "acpt_insuid" , true);
  3712. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "insutrgtflag", true);
  3713. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "insuflag", true);
  3714. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "jobkindflag", true);
  3715. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "insucorpbrchcd", true);
  3716. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "healcntrcd", true);
  3717. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "armyhos", true);
  3718. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "deptcd", true);
  3719. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "entcodd", true);
  3720. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "clntempid", true);
  3721. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "plceflag", true);
  3722. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "oraltestyn", true);
  3723. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "scndhptstrgtyn", true);
  3724. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "stmccncrflag", true);
  3725. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "largeintescncrflag", true);
  3726. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "livcncrflag", true);
  3727. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "mamcncrflag", true);
  3728. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "cervcncrflag", true);
  3729. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "remcnts", true);
  3730. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "subscrhngnm", true);
  3731. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "subscrrrgstno1", true);
  3732. fCheckNodeExist("ds_main_info_rsrvacptinfo_item", "subscrrrgstno2", true);
  3733. fCheckNodeExist("ds_init_place", "healexamplacecd", true);
  3734. ds_send_save.copyData(ds_main_info_rsrvacptinfo_item);
  3735. fCheckNodeExist("ds_send_save", "userid", true);
  3736. fCheckNodeExist("ds_send_save", "instcd", true);
  3737. ds_send_save.setColumn( 0, "userid", sysf_getUserId() );
  3738. ds_send_save.setColumn( 0, "instcd", sysf_getUserInfo("dutplceinstcd") );
  3739. dsf_makeValue( ds_send_save, "healexamdetlflag", "string", ds_send.getColumn(0, "srchhealexamdetlflag") );
  3740. dsf_makeValue( ds_send_save, "healexamplacecd", "string", ds_init_place.getColumn(0, "healexamplacecd") );
  3741. frmf_openLoadingBar("건진자 수진자격 정보를 저장 중입니다..") ; //처리중 화면을 오픈한다.
  3742. var oParam = {};
  3743. oParam.id = "TXAHA04034";
  3744. oParam.service = "healthexamrsrvacptapp.GnrlRsrvAcpt";
  3745. oParam.method = "reqExeGnrlAcptInfo";
  3746. oParam.inds = "save=ds_send_save";
  3747. oParam.outds = "";
  3748. oParam.async = false;
  3749. //oParam.callback = "cf_TXAHA04034";
  3750. tranf_submit(oParam);
  3751. frmf_closeLoadingBar() ;//처리중 화면을 close한다.
  3752. }
  3753. /**
  3754. *====================================================================================================================================.
  3755. @author : 심승욱
  3756. @version : 2007-04-20
  3757. @desc : 건진장소 설정 => 추후 로그인 시 건진구분 세션관리가 되지 않을 경우를 대비.
  3758. @param : grid control id
  3759. @return : C: 종건/ G :일건
  3760. ====================================================================================================================================*/
  3761. function fGetHealExamPlaceFlag()
  3762. {
  3763. var sFlag = frmf_getMenuParam() ;
  3764. var sFlagLen = parseInt(sFlag.length);
  3765. if(sFlagLen <= 1)
  3766. {
  3767. if( utlf_isNull(sFlag) ) sFlag = "S";
  3768. }
  3769. else
  3770. {
  3771. sFlag = sFlag.substr(1,2);
  3772. }
  3773. return sFlag ;
  3774. }
  3775. /**
  3776. *====================================================================================================================================.
  3777. @author : 손범성
  3778. @version : 2007-04-20
  3779. @desc : 재외국인 체크
  3780. @param : 주민번호
  3781. @return : true: 외국인/ false :내국인
  3782. ====================================================================================================================================*/
  3783. function check_fgnno(fgnno) {
  3784. var sum=0;
  3785. var odd=0;
  3786. buf = new Array(13);
  3787. for(i=0; i<13; i++) { buf[i]=parseInt(fgnno.charAt(i)); }
  3788. odd = buf[7]*10 + buf[8];
  3789. if(odd%2 != 0) { return false; }
  3790. if( (buf[11]!=6) && (buf[11]!=7) && (buf[11]!=8) && (buf[11]!=9) ) {
  3791. return false;
  3792. }
  3793. multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
  3794. for(i=0, sum=0; i<12; i++) { sum += (buf[i] *= multipliers[i]); }
  3795. sum = 11 - (sum%11);
  3796. if(sum >= 10) { sum -= 10; }
  3797. sum += 2;
  3798. if(sum >= 10) { sum -= 10; }
  3799. if(sum != buf[12]) { return false }
  3800. return true;
  3801. }
  3802. /**
  3803. *====================================================================================================================================.
  3804. @author : 손범성
  3805. @version : 2010-01-26
  3806. @desc : 공통코드 조회
  3807. @param : 다중선택여부,조회활성화여부,그룹코드,코드ID,목적노드셋,목적코드노드,목적명노드
  3808. ====================================================================================================================================*/
  3809. function fGetCommonCode(vMultiYn,vGrpCd,vCdId,vDesNodeSet,vDesNodeCd,vDesNodeNm) {
  3810. frmf_clearParameter("SPAHA03110_PARAM1");
  3811. frmf_clearParameter("SPAHA03110_PARAM2");
  3812. frmf_clearParameter("SPAHA03110_PARAM3");
  3813. frmf_clearParameter("SPAHA03110_PARAM4");
  3814. frmf_clearParameter("SPAHA03110_PARAM5");
  3815. frmf_clearParameter("SPAHA03110_PARAM6");
  3816. frmf_setParameter ("SPAHA03110_PARAM1", vMultiYn);
  3817. frmf_setParameter ("SPAHA03110_PARAM2", vGrpCd);
  3818. frmf_setParameter ("SPAHA03110_PARAM3", vCdId);
  3819. frmf_setParameter ("SPAHA03110_PARAM4", vDesNodeSet);
  3820. frmf_setParameter ("SPAHA03110_PARAM5", vDesNodeCd);
  3821. frmf_setParameter ("SPAHA03110_PARAM6", vDesNodeNm);
  3822. frmf_modal("SPAHA03110","SPAHA03110",null,"","","","","","","","","","M");
  3823. }
  3824. /**
  3825. * 신우편번호 체계 관련 공통함수
  3826. */
  3827. function fNewZipCdCheck(zipcd1, zipcd2){
  3828. if(utlf_transNullToEmpty(zipcd2+"").length!=2){
  3829. sysf_messageBox("2015년 8월 1일부터 우편번호 뒷자리는 2자리 변경되었습니다.\n확인 후 수정부탁드립니다.", "E");
  3830. return;
  3831. }
  3832. }
  3833. /**
  3834. * 공단건진 그리드 클릭시 동명이인 확인을 위해서 로직 추가(2016/10/25)
  3835. */
  3836. function fChkPatNameG(gridNode, colName, patName){
  3837. gridNode.filter(colName+"=='"+patName+"'");
  3838. var cnt = gridNode.rowcount;
  3839. gridNode.filter("");
  3840. if(parseInt(cnt)>1){
  3841. sysf_messageBox("["+patName+"]님으로 동명이인이 존재합니다. 확인 후 진행부탁드립니다.", "I");
  3842. }
  3843. }
  3844. ]]></Script>