LPZ001.xjs 158 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[
  3. /*
  4. ===============================================================================
  5. File Name : LPZ001.js
  6. File Explanation : PathologyWeb Common js
  7. File Author : Hwang Sang Mi. 2007-02-01
  8. Revision Details :
  9. ===============================================================================
  10. */
  11. function lpzfGetDoctorCheck(pNode, pJobKindCD) {
  12. var bStatus = true;
  13. var sValue = model.getValue(pNode);
  14. //---------------------------------------------------------
  15. if ( sValue.substring(0,2) != pJobKindCD.substring(0,2) ) {
  16. bStatus = false;
  17. }
  18. //-------------
  19. return bStatus;
  20. }
  21. /**
  22. * _group : PathologyWeb Common
  23. * _ver : 2007.02.01 (CMCDEV-0001)
  24. * _by : Hwangs
  25. * _---------------------------------------------------
  26. * _type : function
  27. * _access : public
  28. * _desc : SendNode Reset
  29. * <pre>
  30. * 1. Sendnode remove
  31. * 2. Sendnode remake
  32. * </pre>
  33. * _param : sendnode_cnt - sendnode ????
  34. * _return :
  35. * _---------------------------------------------------
  36. */
  37. function lpzfExeRemakeSendNode(sendnode_cnt){
  38. ds_send.clearData();
  39. if(sendnode_cnt.lpzfExeChkNumberValue == false){
  40. return;
  41. }
  42. sendnode_cnt = new Number(sendnode_cnt);
  43. for(var cnt = 1; cnt <= sendnode_cnt; cnt++){
  44. model.makeNode("_root_send_data" + cnt);
  45. }
  46. }
  47. /**
  48. * _group : PathologyWeb Common
  49. * _ver : 2007.02.01 (CMCDEV-0001)
  50. * _by : Hwangs
  51. * _---------------------------------------------------
  52. * _type : function
  53. * _access : public
  54. * _desc : ???? ???? ?? (?? - true, ?? - false)
  55. * _param :
  56. * _return : true_false
  57. * _---------------------------------------------------
  58. */
  59. function lpzfExeChkNumberValue(chk_val){
  60. if(typeof(chk_val) == undefined){
  61. return false;
  62. }else if(chk_val.length == 0){
  63. return false;
  64. }
  65. var no_val = chk_val.toString();
  66. for(var i=0; i < no_val.length; i++){
  67. var vTemp = no_val.substring( i, i+1 );
  68. if(isNaN(vTemp)){
  69. return false;
  70. }else if(" " == vTemp){
  71. return false;
  72. }
  73. }
  74. return true;
  75. }
  76. /**
  77. * _group : PathologyWeb Common
  78. * _ver : 2007.02.01 (CMCDEV-0001)
  79. * _by : Hwangs
  80. * _---------------------------------------------------
  81. * _type : function
  82. * _access : public
  83. * _desc : Action을 취하기 전 Message Window
  84. * _param : work_kind - 조회(R), 수정(U), 신규(I), 수정_신규(UI)
  85. * _return :
  86. * _---------------------------------------------------
  87. */
  88. function lpzfExeBfChkMsg(work_kind){
  89. var recv_msg = false;
  90. switch(work_kind){
  91. case "R":
  92. recv_msg = sysf_messageBox("[수정_신규]작업 중 입니다.\n무시하고 ", "Q005");
  93. break;
  94. case "U":
  95. recv_msg = sysf_messageBox("수정된 내역을 ", "Q002");
  96. break;
  97. case "I":
  98. recv_msg = sysf_messageBox("신규 입력된 내역을 ", "Q002");
  99. break;
  100. case "UI":
  101. recv_msg = sysf_messageBox("[수정_신규] 내역을 ", "Q002");
  102. break;
  103. default:
  104. break;
  105. }
  106. //recv_msg 6-?, 7-???
  107. if(recv_msg == 7){
  108. return false;
  109. }else if(recv_msg == 6){
  110. return true;
  111. }
  112. return false;
  113. }
  114. /**
  115. * _group : PathologyWeb Common
  116. * _ver : 2007.02.01 (CMCDEV-0001)
  117. * _by : Hwangs
  118. * _---------------------------------------------------
  119. * _type : function
  120. * _access : public
  121. * _desc : ?? ?? ???
  122. * - ???? ??? "_root_hidden_scrndata" ??? ??? ?????
  123. * -
  124. * _param : xcrn_kind - ????
  125. * _param : save_path - ?? ??? datanode
  126. * _return :
  127. * _---------------------------------------------------
  128. */
  129. function lpzfExeComnOpenScrn(xcrn_kind, save_path){
  130. if(save_path == undefined){
  131. save_path = "";
  132. }
  133. switch(xcrn_kind){
  134. case "basepart":
  135. dsf_makeValue( ds_hidden_scrndata, "basepartcd", "string", "");
  136. dsf_makeValue( ds_hidden_scrndata, "basepartnm", "string", "");
  137. //------------------
  138. frmf_modal("SPLPC02000", "", "", "", "", "", "", "", "", "", "", "", "M");
  139. //------------------------------------------------------------
  140. if(ds_hidden_scrndata.getColumn(0, "basepartcd") != "") {
  141. if(save_path != ""){
  142. model.makeValue(save_path + "_basepartcd", ds_hidden_scrndata.getColumn(0, "basepartcd"));
  143. model.makeValue(save_path + "_basepartnm", ds_hidden_scrndata.getColumn(0, "basepartnm"));
  144. }
  145. }
  146. //------------------------------------------------------
  147. ds_hidden_scrndata_basepartcd.clearData();
  148. ds_hidden_scrndata_basepartnm.clearData();
  149. break;
  150. case "detlpart":
  151. //---------------------------------------------------------------------------------------------
  152. dsf_makeValue( ds_hidden_scrndata, "basepartcd", "string", model.getValue(save_path + "_basepartcd"));
  153. dsf_makeValue( ds_hidden_scrndata, "basepartnm", "string", "");
  154. dsf_makeValue( ds_hidden_scrndata, "detlpartcd", "string", "");
  155. dsf_makeValue( ds_hidden_scrndata, "detlpartnm", "string", "");
  156. //------------------
  157. frmf_modal("SPLPC02100", "", "", "", "", "", "", "", "", "", "", "", "M");
  158. //------------------------------------------------------------
  159. if(ds_hidden_scrndata.getColumn(0, "detlpartcd") != "") {
  160. if(save_path != ""){
  161. model.makeValue(save_path + "_detlpartcd", ds_hidden_scrndata.getColumn(0, "detlpartcd"));
  162. model.makeValue(save_path + "_detlpartnm", ds_hidden_scrndata.getColumn(0, "detlpartnm"));
  163. }
  164. }
  165. //------------------------------------------------------
  166. ds_hidden_scrndata_basepartcd.clearData();
  167. ds_hidden_scrndata_detlpartcd.clearData();
  168. ds_hidden_scrndata_detlpartnm.clearData();
  169. break;
  170. case "spccd":
  171. //----------------------------------------------------------
  172. dsf_makeValue( ds_hidden_scrndata, "scrnflagcd", "string", "BASE");
  173. dsf_makeValue( ds_hidden_scrndata, "spccd", "string", "");
  174. dsf_makeValue( ds_hidden_scrndata, "spcnm", "string", "");
  175. //------------------
  176. frmf_modal("SPLPC02200", "", "", "", "", "", "", "", "", "", "", "", "M");
  177. //-------------------------------------------------------
  178. if(ds_hidden_scrndata.getColumn(0, "spccd") != "") {
  179. if(save_path != ""){
  180. model.makeValue(save_path + "_spccd", ds_hidden_scrndata.getColumn(0, "spccd"));
  181. model.makeValue(save_path + "_spcnm", ds_hidden_scrndata.getColumn(0, "spcnm"));
  182. }
  183. }
  184. //-------------------------------------------------
  185. ds_hidden_scrndata_spccd.clearData();
  186. ds_hidden_scrndata_spcnm.clearData();
  187. break;
  188. case "spccd_acpt":
  189. //--------------------------------------------------------------------------------------------
  190. dsf_makeValue( ds_hidden_scrndata, "reprspccd", "string", model.getValue(save_path + "_reprspccd"));
  191. dsf_makeValue( ds_hidden_scrndata, "scrnflagcd", "string", "ACPT");
  192. dsf_makeValue( ds_hidden_scrndata, "spccd", "string", "");
  193. dsf_makeValue( ds_hidden_scrndata, "spcnm", "string", "");
  194. dsf_makeValue( ds_hidden_scrndata, "reprspccd", "string", "");
  195. dsf_makeValue( ds_hidden_scrndata, "scrnflagcd", "string", "");
  196. //------------------
  197. frmf_modal("SPLPC02200", "", "", "", "", "", "", "", "", "", "", "", "M");
  198. //-------------------------------------------------------
  199. if(ds_hidden_scrndata.getColumn(0, "spccd") != "") {
  200. if(save_path != ""){
  201. model.makeValue(save_path + "_spccd", ds_hidden_scrndata.getColumn(0, "spccd"));
  202. model.makeValue(save_path + "_spcnm", ds_hidden_scrndata.getColumn(0, "spcnm"));
  203. }
  204. }
  205. //-------------------------------------------------
  206. ds_hidden_scrndata_spccd.clearData();
  207. ds_hidden_scrndata_spcnm.clearData();
  208. ds_hidden_scrndata_reprspccd.clearData();
  209. ds_hidden_scrndata_scrnflagcd.clearData();
  210. break;
  211. case "spccd_sub":
  212. //--------------------------------------------------------------------------------------------
  213. dsf_makeValue( ds_hidden_scrndata, "scrnflagcd", "string", "ACPT");
  214. dsf_makeValue( ds_hidden_scrndata, "spccd", "string", "");
  215. dsf_makeValue( ds_hidden_scrndata, "spcnm", "string", "");
  216. //------------------
  217. frmf_modal("SPLPC02200", "", "", "", "", "", "", "", "", "", "", "", "M");
  218. //-------------------------------------------------------
  219. if(ds_hidden_scrndata.getColumn(0, "spccd") != "") {
  220. if(save_path != ""){
  221. model.makeValue(save_path + "_spccd", ds_hidden_scrndata.getColumn(0, "spccd"));
  222. model.makeValue(save_path + "_spcnm", ds_hidden_scrndata.getColumn(0, "spcnm"));
  223. }
  224. }
  225. //-------------------------------------------------
  226. ds_hidden_scrndata_spccd.clearData();
  227. ds_hidden_scrndata_spcnm.clearData();
  228. ds_hidden_scrndata_reprspccd.clearData();
  229. ds_hidden_scrndata_scrnflagcd.clearData();
  230. break;
  231. case "testcode":
  232. //----------------------------------------------------------
  233. dsf_makeValue( ds_hidden_scrndata, "testcdflag", "string", "TEST");
  234. dsf_makeValue( ds_hidden_scrndata, "testcd", "string", "");
  235. dsf_makeValue( ds_hidden_scrndata, "testhngnm", "string", "");
  236. dsf_makeValue( ds_hidden_scrndata, "testhngabbr", "string", "");
  237. dsf_makeValue( ds_hidden_scrndata, "testcdflag", "string", "");
  238. //------------------
  239. frmf_modal("SPLPC02300", "", "", "", "", "", "", "", "", "", "", "", "M");
  240. //--------------------------------------------------------
  241. if(ds_hidden_scrndata.getColumn(0, "testcd") != "") {
  242. if(save_path != ""){
  243. model.makeValue(save_path + "_testcd", ds_hidden_scrndata.getColumn(0, "testcd"));
  244. model.makeValue(save_path + "_testhngnm", ds_hidden_scrndata.getColumn(0, "testhngnm"));
  245. model.makeValue(save_path + "_testhngabbr", ds_hidden_scrndata.getColumn(0, "testhngabbr"));
  246. }
  247. }
  248. //--------------------------------------------------
  249. ds_hidden_scrndata_testcd.clearData();
  250. ds_hidden_scrndata_testhngnm.clearData();
  251. ds_hidden_scrndata_testhngabbr.clearData();
  252. ds_hidden_scrndata_testcdflag.clearData();
  253. break;
  254. case "testgrup":
  255. //------------------------------------------------------
  256. dsf_makeValue( ds_hidden_scrndata, "testcd", "string", "");
  257. dsf_makeValue( ds_hidden_scrndata, "testhngnm", "string", "");
  258. dsf_makeValue( ds_hidden_scrndata, "testhngabbr", "string", "");
  259. dsf_makeValue( ds_hidden_scrndata, "testcdflag", "string", "GRUP");
  260. //------------------
  261. frmf_modal("SPLPC02300", "", "", "", "", "", "", "", "", "", "", "", "M");
  262. if(ds_hidden_scrndata.getColumn(0, "testcd") != ""){
  263. if(save_path != ""){
  264. model.makeValue(save_path + "_testgrupcd", ds_hidden_scrndata.getColumn(0, "testcd"));
  265. model.makeValue(save_path + "_testgrupnm", ds_hidden_scrndata.getColumn(0, "testhngnm"));
  266. model.makeValue(save_path + "_testgrupabbr", ds_hidden_scrndata.getColumn(0, "testhngabbr"));
  267. }
  268. }
  269. //--------------------------------------------------
  270. ds_hidden_scrndata_testcd.clearData();
  271. ds_hidden_scrndata_testhngnm.clearData();
  272. ds_hidden_scrndata_testhngabbr.clearData();
  273. ds_hidden_scrndata_testcdflag.clearData();
  274. break;
  275. case "ptnocode":
  276. dsf_makeValue( ds_hidden_scrndata, "ptnocd", "string", "");
  277. dsf_makeValue( ds_hidden_scrndata, "ptnonm", "string", "");
  278. //------------------
  279. frmf_modal("SPLPC02400", "", "", "", "", "", "", "", "", "", "", "", "M");
  280. //--------------------------------------------------------
  281. if(ds_hidden_scrndata.getColumn(0, "ptnocd") != "") {
  282. if(save_path != ""){
  283. model.makeValue(save_path + "_ptnocd", ds_hidden_scrndata.getColumn(0, "ptnocd"));
  284. model.makeValue(save_path + "_ptnonm", ds_hidden_scrndata.getColumn(0, "ptnonm"));
  285. }else{
  286. dsf_makeValue( ds_hidden, "tempptnocd", "string", ds_hidden_scrndata.getColumn(0, "ptnocd"));
  287. }
  288. }
  289. //--------------------------------------------------
  290. ds_hidden_scrndata_ptnocd.clearData();
  291. ds_hidden_scrndata_ptnonm.clearData();
  292. default:
  293. break;
  294. }
  295. }
  296. /**
  297. * _group : PathologyWeb Common
  298. * _ver : 2007.02.01 (CMCDEV-0001)
  299. * _by : Hwangs
  300. * _---------------------------------------------------
  301. * _type : function
  302. * _access : public
  303. * _desc : ???? ???? ???? ??
  304. * _param : updt_path - ????
  305. * _return :
  306. * _---------------------------------------------------
  307. */
  308. function lpzfExeLrgChar(updt_path){
  309. /*
  310. if(updt_path == "undefined" || updt_path == ""){
  311. return;
  312. }
  313. */
  314. if (!instance1.selectsingleNode(updt_path)) return false;
  315. var path_val = model.getValue(updt_path)
  316. //------------------------
  317. if(path_val == "") return;
  318. //------------------------------------------------
  319. model.setValue(updt_path, path_val.toUpperCase());
  320. }
  321. /**
  322. * _group : PathologyWeb Common
  323. * _ver : 2007.02.12 (CMCDEV-0001)
  324. * _by : Ryu
  325. * _---------------------------------------------------
  326. * _type : function
  327. * _access : public
  328. * _desc : ???? ???? ??????
  329. * _param : xcrn_name - ????????
  330. * _param : xnode_name - ???? ??????(?? ????)
  331. * _param : modal_flagcd - Modal, Modeless
  332. * _param : width_pos - ?????? ???? ????(X)
  333. * _param : height_pos - ?????? ???? ????(Y)
  334. * _return :
  335. * _---------------------------------------------------
  336. function lpzfExeComnOpenScrn2(xcrn_name, xnode_name, modal_flagcd, width_pos, height_pos){
  337. if (xnode_name == "") {
  338. window.load(xcrn_name, modal_flagcd, xcrn_name, "width:" + width_pos + "px; height:" + height_pos + "; min:hidden; max:hidden; align:center");
  339. }
  340. else {
  341. window.load(xcrn_name, modal_flagcd, xcrn_name, "width:" + width_pos + "px; height:" + height_pos + "; min:hidden; max:hidden; align:center",
  342. xnode_name, xnode_name);
  343. }
  344. }
  345. */
  346. /**
  347. * _group : PathologyWeb Common
  348. * _ver : 2007.02.12 (CMCDEV-0001)
  349. * _by : Ryu
  350. * _---------------------------------------------------
  351. * _type : function
  352. * _access : public
  353. * _desc : ??? ?????? ?? ?? Event Disable ??
  354. * _param : grid_name - ??? ??
  355. * _return : true_false
  356. * _---------------------------------------------------
  357. */
  358. function lpzfExeDisableGridEmptyEvent(grid_name){
  359. var trgt_grid = document.controls(grid_name);
  360. if(trgt_grid.isCell(event.target) && trgt_grid.row >= trgt_grid.fixedRows){
  361. return true;
  362. }
  363. return false;
  364. }
  365. /**
  366. * _group : PathologyWeb Common
  367. * _ver : 2007.03.03 (CMCDEV-0001)
  368. * _by : Ryu
  369. * _---------------------------------------------------
  370. * _type : function
  371. * _access : public
  372. * _desc : ??? ??/?? ?? ?? ??
  373. * _param : chknode - ?? node
  374. * msgcnts - ??? ????? ? ??
  375. * msgcd - ????(??/??)
  376. * focusobj - ??? ?? ????? Control
  377. * - ??? ?? ? ""
  378. * _return : true_false
  379. *
  380. * ??) var rtnval = lpzfExeBfSaveCheck("_root_main_testinfo_testcd", "??????????", "C001", ipt_testcd);
  381. * _---------------------------------------------------
  382. */
  383. function lpzfExeBfSaveCheck(chknode, msgcnts, msgcd, focusobj) {
  384. if (model.getValue(chknode) == "") {
  385. sysf_messageBox(msgcnts, msgcd);
  386. //-------------------------------------------
  387. if (focusobj != "") model.setFocus(focusobj);
  388. //-----------
  389. return false;
  390. }
  391. else {
  392. return true;
  393. }
  394. }
  395. /**
  396. * _group : PathologyWeb Common
  397. * _ver : 2007.04.02 (CMCDEV-0001)
  398. * _by : Ryu
  399. * _---------------------------------------------------
  400. * _type : function
  401. * _access : public
  402. * _desc : ??? ??? ??
  403. * _param : grdObj - ??? ??(Object)
  404. * strPopupNode - Node?
  405. * strNm - Label?
  406. * strFunt - ????? ? ???
  407. * useFlag - ????(Y_N)
  408. * _return : true_false
  409. *
  410. * ??) var rtnval = lpzfExeGridPopUpMenu(grd_choispc,
  411. * "_root_hidden_popupmenu_item",
  412. * "nm",
  413. * "funt",
  414. * "Y");
  415. * _-------------------------------------------------------------------
  416. */
  417. function lpzfExeGridPopUpMenu(grdObj, strPopupNode, strNm, strFunt, useFlag) {
  418. //----------------
  419. switch (useFlag) {
  420. //---------
  421. // ????
  422. case "Y":
  423. //---------------------
  424. if(event.button == 3) {
  425. //----------------------------------------------------------------------
  426. if(grdObj.isCell(event.target) && grdObj.mouseRow >= grdObj.fixedrows) {
  427. window.setPopupMenu(true, strPopupNode, strNm, strFunt, false);
  428. } else {
  429. window.setPopupMenu(false);
  430. }
  431. }
  432. //----
  433. break;
  434. //---------
  435. // ?????
  436. case "N":
  437. window.setPopupMenu(false);
  438. break;
  439. //------
  440. default:
  441. return;
  442. break;
  443. }
  444. }
  445. /**
  446. * _group : PathologyWeb Common
  447. * _ver : 2007.04.02 (CMCDEV-0001)
  448. * _by : Ryu
  449. * _---------------------------------------------------
  450. * _type : function
  451. * _access : public
  452. * _desc : ??? ??? ??
  453. * _param : grdObj - ??? ??(Object)
  454. * strPopupNode - Node?
  455. * strNm - Label?
  456. * strFunt - ????? ? ???
  457. * bPopupState - Popup State
  458. * useFlag - ????(Y_N)
  459. * _return : true_false
  460. *
  461. * ??) var rtnval = lpzfExeGridPopUpMenu(grd_choispc,
  462. * "_root_hidden_popupmenu_item",
  463. * "nm",
  464. * "funt",
  465. * true,
  466. * "Y");
  467. * _-------------------------------------------------------------------
  468. */
  469. function lpzfExeGridPopUpMenu2(grdObj, strPopupNode, strNm, strFunt, bPopupState, useFlag) {
  470. //----------------
  471. switch (useFlag) {
  472. //---------
  473. // ????
  474. case "Y":
  475. //---------------------
  476. if(event.button == 3) {
  477. //----------------------------------------------------------------------
  478. if(grdObj.isCell(event.target) && grdObj.mouseRow >= grdObj.fixedrows) {
  479. window.setPopupMenu(true, strPopupNode, strNm, strFunt, bPopupState);
  480. } else {
  481. window.setPopupMenu(false);
  482. }
  483. }
  484. //----
  485. break;
  486. //---------
  487. // ?????
  488. case "N":
  489. window.setPopupMenu(false);
  490. break;
  491. //------
  492. default:
  493. return;
  494. break;
  495. }
  496. }
  497. /**
  498. * _group : PathologyWeb Common
  499. * _ver : 2007.05.16 (CMCDEV-0001)
  500. * _by : Ryu
  501. * _---------------------------------------------------
  502. * _type : function
  503. * _access : public
  504. * _desc : ????? ????.
  505. * _param : pPtNo - ????
  506. * _return : ????
  507. *
  508. * ??) var rtnval = lpzfExePtNoChange("s07-26");
  509. * "s07-26" ---> "S07000026"
  510. * _-------------------------------------------------------------------
  511. */
  512. function lpzfExePtNoChange(pPtNo) {
  513. var sPtNo = pPtNo.split("-");
  514. //---------------------
  515. if (sPtNo.length > 1) {
  516. return sPtNo[0].toUpperCase() + (sPtNo[1]).toString().getLeftPad(6, "0");
  517. } else {
  518. return sPtNo[0].toUpperCase();
  519. }
  520. }
  521. /**
  522. * _group : PathologyWeb Common
  523. * _ver : 2007.05.17 (CMCDEV-0001)
  524. * _by : Ryu
  525. * _---------------------------------------------------
  526. * _type : function
  527. * _access : public
  528. * _desc : ???? Click? ??/??????? ??
  529. * _param : pRefFlag - "RSLT:????", "ALLRSLT:??????"
  530. * grdObj - ????? ??? Grid
  531. * strNode - ?????? ??? ? ?? Instance Node
  532. * _return : -
  533. *
  534. * ??) lpzfExePtNoClick("RSLT", grd_ptnolist, strNode);
  535. * _-------------------------------------------------------------------
  536. */
  537. function lpzfExePtNoClick(pRefFlag, grdObj, strNode) {
  538. //---------------------------------
  539. if (grdObj.row <= 0) return false;
  540. if (grdObj.col <= -1) return false;
  541. //-----------------
  542. switch (pRefFlag) {
  543. case "RSLT" : dsf_makeValue( ds_hidden, "ptno", "string", model.getValue(strNode + "[" + grdObj.row + "]_ptno"));
  544. fGetPatInfo();
  545. break;
  546. default :
  547. break;
  548. }
  549. }
  550. /**
  551. * _group : PathologyWeb Common
  552. * _ver : 2007.05.21 (CMCDEV-0001)
  553. * _by : Ryu
  554. * _---------------------------------------------------
  555. * _type : function
  556. * _access : public
  557. * _desc : ??????? ?????? ??
  558. * _param : pNodeSrc : ????
  559. * pNodeDesc : ????
  560. *
  561. * _return : -
  562. *
  563. * ??) lpzfUserDeptCd("_root_init_hospenv_hospenvinfo", "_root_hidden_userinfo");
  564. * _-------------------------------------------------------------------
  565. */
  566. function lpzfUserDeptCd(pNodeSrc, pNodeDesc) {
  567. var sUserDeptCd = "";
  568. //---------------------------------------------------
  569. if(model.getValue(pNodeSrc + "_plgydeptcd") != "-") {
  570. sUserDeptCd = "'" + model.getValue(pNodeSrc + "_plgydeptcd") + "'";
  571. }
  572. //---------------------------------------------------
  573. if(model.getValue(pNodeSrc + "_plgyteamcd") != "-") {
  574. //---------------------------------------
  575. if (sUserDeptCd != "") sUserDeptCd += ",";
  576. //------------------------------------------------------------------
  577. sUserDeptCd += "'" + model.getValue(pNodeSrc + "_plgyteamcd") + "'";
  578. }
  579. //------------------------------------------------------
  580. model.makeValue(pNodeDesc + "_userdeptcd", sUserDeptCd);
  581. }
  582. /**
  583. * _group : PathologyWeb Common
  584. * _ver : 2007.07.04 (CMCDEV-0001)
  585. * _by : Ryu
  586. * _---------------------------------------------------
  587. * _type : function
  588. * _access : public
  589. * _desc : ????? ?? ??
  590. * _param : strNode : ????
  591. * grdObj : ??? Object ID
  592. * iRowNo : ?? Row??
  593. *
  594. * _return : -
  595. *
  596. * ??) lpzfExeReqFrmInfo("_root_init_hospenv_hospenvinfo", grd_prcplist, 1);
  597. * _-------------------------------------------------------------------
  598. */
  599. function lpzfExeReqFrmInfo(strNode, grdObj, iRowNo) {
  600. dsf_makeValue( ds_hidden_reqfrminfo, "pid", "string", model.getValue(strNode + "[" + iRowNo + "]_pid"));
  601. dsf_makeValue( ds_hidden_reqfrminfo, "prcpcd", "string", model.getValue(strNode + "[" + iRowNo + "]_testcd"));
  602. dsf_makeValue( ds_hidden_reqfrminfo, "prcpnm", "string", model.getValue(strNode + "[" + iRowNo + "]_testhngnm"));
  603. dsf_makeValue( ds_hidden_reqfrminfo, "opnm", "string", "");
  604. dsf_makeValue( ds_hidden_reqfrminfo, "spccd", "string", model.getValue(strNode + "[" + iRowNo + "]_reprspccd"));
  605. dsf_makeValue( ds_hidden_reqfrminfo, "spcnm", "string", model.getValue(strNode + "[" + iRowNo + "]_spcnm"));
  606. dsf_makeValue( ds_hidden_reqfrminfo, "reqno", "string", model.getValue(strNode + "[" + iRowNo + "]_reqfrmno"));
  607. dsf_makeValue( ds_hidden_reqfrminfo, "prcpstatcd", "string", "430");
  608. dsf_makeValue( ds_hidden_reqfrminfo, "reqhistno", "string", "1");
  609. dsf_makeValue( ds_hidden_reqfrminfo, "scrnno", "string", "40");
  610. //---------------------------------------
  611. // 의뢰지 표시
  612. switch (model.getValue(strNode + "[" + iRowNo + "]_reqfrmflagcd")) {
  613. //-----------
  614. // 조직의뢰지
  615. case "01" : modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ01500","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  616. break;
  617. //-------------
  618. // 부인과 의뢰지
  619. case "02" : modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ01400","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  620. break;
  621. //---------------
  622. // 비부인과 의뢰지
  623. case "03" : modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ01300","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  624. break;
  625. //---------------
  626. // ???? ???(???)
  627. case "04" : //modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ01400","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  628. break;
  629. //---------------
  630. // 분자병리 의뢰지
  631. case "05" : modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ01200","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  632. break;
  633. //---------------
  634. // ???????(???)
  635. case "06" : //modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ01200","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  636. break;
  637. //-----------
  638. // ?????(???)
  639. case "07" : //modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ01200","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  640. break;
  641. //---------------
  642. // ???????
  643. case "08" : modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ02000","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  644. break;
  645. }
  646. }
  647. /**
  648. * _group : PathologyWeb Common
  649. * _ver : 2007.10.27 (CMCDEV-0001)
  650. * _by : Ryu
  651. * _---------------------------------------------------
  652. * _type : function
  653. * _access : public
  654. * _desc : 의뢰 팝업표시
  655. * _param : reqfrmflagcd : 의뢰지구분, reqno : 의뢰지번호
  656. * testcd : 처방코드, testnm : 처방명
  657. * spccd : 검체코드, spcnm : 검체명
  658. * pid : 등록번호
  659. *
  660. * _return : -
  661. *
  662. * ??) lpzfExeReqFrmInfo2(reqfrmflagcd, reqno, testcd, testnm, spccd, spcnm, pid);
  663. * _-------------------------------------------------------------------
  664. */
  665. function lpzfExeReqFrmInfo2(reqfrmflagcd, reqno, testcd, testnm, spccd, spcnm, pid) {
  666. dsf_makeValue( ds_hidden_reqfrminfo, "pid", "string", pid);
  667. dsf_makeValue( ds_hidden_reqfrminfo, "prcpcd", "string", testcd);
  668. dsf_makeValue( ds_hidden_reqfrminfo, "prcpnm", "string", testnm);
  669. dsf_makeValue( ds_hidden_reqfrminfo, "opnm", "string", "");
  670. dsf_makeValue( ds_hidden_reqfrminfo, "spccd", "string", spccd);
  671. dsf_makeValue( ds_hidden_reqfrminfo, "spcnm", "string", spcnm);
  672. dsf_makeValue( ds_hidden_reqfrminfo, "reqno", "string", reqno);
  673. dsf_makeValue( ds_hidden_reqfrminfo, "prcpstatcd", "string", "430");
  674. dsf_makeValue( ds_hidden_reqfrminfo, "reqhistno", "string", "1");
  675. dsf_makeValue( ds_hidden_reqfrminfo, "scrnno", "string", "40");
  676. //------------
  677. // 의뢰지 표시
  678. switch (reqfrmflagcd) {
  679. //-----------
  680. // 조직의뢰지
  681. case "01" : modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ01500","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  682. break;
  683. //-------------
  684. // 부인과 의뢰지
  685. case "02" : modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ01400","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  686. break;
  687. //---------------
  688. // 비부인과 의뢰지
  689. case "03" : modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ01300","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  690. break;
  691. //---------------
  692. // ???? ???(???)
  693. case "04" : //modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ01400","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  694. break;
  695. //---------------
  696. // 분자병리 의뢰지
  697. case "05" : modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ01200","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  698. break;
  699. //---------------
  700. // ???????(???)
  701. case "06" : //modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ01200","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  702. break;
  703. //-----------
  704. // ?????(???)
  705. case "07" : //modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ01200","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  706. break;
  707. //---------------
  708. // ???????
  709. case "08" : modal("../../.._lis_plgyacptmngtweb_xrw_SPLPJ02000","","","","","_root_hidden_reqfrminfo","_root_hidden_reqfrminfo");
  710. break;
  711. }
  712. }
  713. /**
  714. * _group : PathologyWeb Common
  715. * _ver : 2007.11.01 (CMCDEV-0001)
  716. * _by : Ryu
  717. * _---------------------------------------------------
  718. * _type : function
  719. * _access : public
  720. * _desc : 전달_접수 바코드 출력
  721. * _param : pType : (0:접수, 1:전달)
  722. *
  723. * _return :
  724. *
  725. * ??) lpzfAcptBarCd("1", 1, "_root_main_acptspc_acptspclist",
  726. * "_root_main_barcdprntsetup_prntsetupinfo_setupinfo");
  727. * _-------------------------------------------------------------------
  728. */
  729. function lpzfAcptBarCd(pType, pPrntCnt, pNode, pBarCdNode) {
  730. var iLeft = model.getValue(pBarCdNode+"_blank_left");
  731. var iTop = model.getValue(pBarCdNode+"_blank_top");
  732. var iXPos = 0;
  733. var iYPos = 0;
  734. var iWidth = 0;
  735. var iSNo = 0;
  736. var iENo = 1500;
  737. var iCnt = 0;
  738. var iEGap = 0;
  739. var iHGap = 0;
  740. var iSize = 30;
  741. var sFixChar = "";
  742. var sPtNo = "";
  743. var sPatNm = "";
  744. var sSndMsg = "";
  745. var sTempStr = "";
  746. var sTempStr2 = "";
  747. var sPrntKind = model.getValue(pBarCdNode + "[1]_prntkind");
  748. var aFlag = new Array();
  749. var aStr = "";
  750. var aArraySet = new Array();
  751. //-----------------------------------------
  752. if (iLeft == "" || iLeft == "-") iLeft = 0;
  753. if (iTop == "" || iTop == "-") iTop = 0;
  754. //-------------------
  755. if(sPrntKind != "0"){
  756. var sCommKind = model.getValue(pBarCdNode + "[1]_commkind");
  757. if(sCommKind == "01") {
  758. var sSetUpVal = model.getValue(pBarCdNode + "[1]_comm01_setupval");
  759. } else if(sCommKind == "02") {
  760. var sComm = model.getValue(pBarCdNode + "[1]_comm02_comm");
  761. var sDataBit = model.getValue(pBarCdNode + "[1]_comm02_databit");
  762. var sStopBit = model.getValue(pBarCdNode + "[1]_comm02_stopbit");
  763. var sBaudRate = model.getValue(pBarCdNode + "[1]_comm02_baudrate");
  764. var sParity = model.getValue(pBarCdNode + "[1]_comm02_parity");
  765. //----------------------
  766. CommAX.CommPort = sComm;
  767. CommAX.Settings = sBaudRate + "," + sParity + "," + sDataBit + "," + sStopBit;
  768. //CommAX.PortOpen();
  769. } else if(sCommKind == "03") {
  770. var sSetUpVal = model.getValue(pBarCdNode + "[1]_comm03_setupval");
  771. }
  772. } else {
  773. return false;
  774. }
  775. //-----------------
  776. if (pType == "0") {
  777. //SATO 접수라벨 출력
  778. if( sPrntKind == "2" || sPrntKind == "6" || sPrntKind == "7"){
  779. for (var iRowNo=1; iRowNo <= getNodesetCount(pNode); iRowNo++) {
  780. //조직, 세포, 동결절편, 분자, 전자, 면역형광 만 접수 라벨을 출력한다.(추가 박중규 2008.09.23)
  781. if( !(model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1001" || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1002"
  782. || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1003" || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1007"
  783. || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1006" || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1008") ){
  784. continue;
  785. }
  786. //----------------------------------------------------------------
  787. //sPtNo = model.getValue(pNode+"["+iRowNo+"]_dispptno");
  788. //sPtNo1 = sPtNo.substr(0, (sPtNo.length - 7));
  789. //sPtNo2 = sPtNo.substr((sPtNo.length - 6),6);
  790. sPrcpDD = model.getValue(pNode+"["+iRowNo+"]_prcpdd");
  791. if (sPrcpDD.length <= 8) {
  792. sPrcpDD = sPrcpDD.substr(0,4) + "-" + sPrcpDD.substr(4,2) + "-" + sPrcpDD.substr(6,2);
  793. }
  794. //------------------------
  795. sSndMsg = "AA103500500"; // 시작위치 셋팅
  796. //--------------------
  797. //iXPos = Number(iLeft);
  798. //iYPos = Number(iTop);
  799. //sSndMsg += "^BY1,2.5^FO" + iXPos + "," + iYPos; // 바코드 Width 조절
  800. //sSndMsg += "^BCN,100,Y,N,N^FD" + model.getValue(pNode+"["+iRowNo+"]_spcbarcdno") + "^FS"; // 바코드
  801. //sSndMsg += "^BCN,100,Y,N,N^FD" + sPtNo1+sPtNo2 + "^FS"; // 바코드
  802. /*
  803. //-------------------------
  804. iXPos = Number(iLeft);
  805. //---------------------------------------------------------
  806. sTempStr = model.getValue(pNode+"["+iRowNo+"]_spcdispnm");
  807. sTempStr = sTempStr.replace("▨", ",");
  808. //sSndMsg += "^CFE10,10^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_spcdispnm") + "^FS"; // 검체표시명 //검사명
  809. iWidth = 0;
  810. aStr = lpzfGetHanGul(sTempStr, aFlag);
  811. for (var iNo=0; iNo < aStr.length; iNo++) {
  812. //----------------------
  813. if (aFlag[iNo] == "E") {
  814. iYPos = Number(iTop) + 5;
  815. sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS";
  816. iWidth = iWidth + (Number(aStr[iNo].length) * 12);
  817. } else {
  818. iYPos = Number(iTop);
  819. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1);
  820. sSndMsg += CommAX.HanImageData();
  821. iWidth = iWidth + (Number(aStr[iNo].length) * 24);
  822. }
  823. }
  824. */
  825. //------------------------- 검체명
  826. iXPos = Number(iLeft);
  827. iYPos = Number(iTop);
  828. sTempStr = model.getValue(pNode+"["+iRowNo+"]_spcdispnm");
  829. sTempStr = sTempStr.replace("▨", ",");
  830. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, sTempStr);
  831. /*
  832. //------------------------- 등록번호
  833. iXPos = Number(iLeft);
  834. iYPos = Number(iTop) + 35;
  835. sSndMsg += "^CF0,24^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_pid") + "^FS";
  836. */
  837. iXPos = Number(iLeft);
  838. iYPos = Number(iTop) + 35;
  839. sSndMsg += "V" + iYPos + "H" + iXPos + "S" + model.getValue(pNode+"["+iRowNo+"]_pid");
  840. /*
  841. //-------------------------- 환자명
  842. iXPos = Number(iLeft) + 140;
  843. iYPos = Number(iTop) + 30;
  844. sPatNm = model.getValue(pNode+"["+iRowNo+"]_patnm");
  845. sSndMsg += CommAX.PrtImgOut(iXPos, iYPos, sPatNm, 1, 1); // -------> 한도버젼
  846. sSndMsg += CommAX.HanImageData();
  847. CommAX.SendMessage(sSndMsg);
  848. sSndMsg = "";
  849. */
  850. iXPos = Number(iLeft) + 140;
  851. iYPos = Number(iTop) + 30;
  852. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, model.getValue(pNode+"["+iRowNo+"]_patnm"));
  853. /*
  854. //-------------------------- 외래_병동병실
  855. iXPos = Number(iLeft);
  856. iYPos = Number(iTop) + 65;
  857. sTempStr = model.getValue(pNode+"["+iRowNo+"]_wardroom"); // 병동병실
  858. //한글영문구분 외래일 경우 "외래", 입원일 경우 영문약어로 들어감
  859. if((sTempStr == "외래") || (sTempStr == "건진")) {
  860. sSndMsg += CommAX.PrtImgOut(iXPos, iYPos, model.getValue(pNode+"["+iRowNo+"]_wardroom"), 1, 1); // -------> 한도버젼
  861. sSndMsg += CommAX.HanImageData();
  862. CommAX.SendMessage(sSndMsg);
  863. sSndMsg = "";
  864. } else {
  865. iYPos += 3; //font와 이미지로 찍을때의 위치 차이 조정.
  866. sSndMsg += "^CFA20,20^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_wardroom") + "^FS";
  867. }
  868. */
  869. iXPos = Number(iLeft);
  870. iYPos = Number(iTop) + 65;
  871. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, model.getValue(pNode+"["+iRowNo+"]_wardroom"));
  872. /*
  873. //-------------------------- 성별_나이
  874. iXPos = Number(iLeft) + 140;
  875. iYPos = Number(iTop) + 68;
  876. sSndMsg += "^CFA20,20^FO" + iXPos + "," + iYPos + "^FD(" + model.getValue(pNode+"["+iRowNo+"]_sexage") + ")^FS";
  877. */
  878. iXPos = Number(iLeft) + 190;
  879. iYPos = Number(iTop) + 68;
  880. sSndMsg += "V" + iYPos + "H" + iXPos + "S" + "(" + model.getValue(pNode+"["+iRowNo+"]_sexage") + ")";
  881. /*
  882. //-------------------------- 진료과
  883. iXPos = Number(iLeft) + 230;
  884. iYPos = Number(iTop) + 68;
  885. sSndMsg += "^CFA20,20^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_orddeptnm") + "^FS";
  886. */
  887. iXPos = Number(iLeft) + 260;
  888. iYPos = Number(iTop) + 68;
  889. sSndMsg += "V" + iYPos + "H" + iXPos + "S" + model.getValue(pNode+"["+iRowNo+"]_orddeptnm");
  890. //------------------------- 처방일자
  891. //iXPos = Number(iLeft) + 10;
  892. //iXPos = Number(iLeft);
  893. //iYPos = Number(iTop) + 88;
  894. //sSndMsg += "^CFA20,20^FO" + iXPos + "," + iYPos + "^FD" + sPrcpDD + "^FS";
  895. /*
  896. //------------------------- 처방명
  897. iXPos = Number(iLeft);
  898. sTempStr = model.getValue(pNode+"["+iRowNo+"]_prcpdispnm"); //검사명
  899. iWidth = 0;
  900. aStr = lpzfGetHanGul(sTempStr, aFlag);
  901. for (var iNo=0; iNo < aStr.length; iNo++) {
  902. //----------------------
  903. if (aFlag[iNo] == "E") {
  904. iYPos = Number(iTop) + 100;
  905. sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS";
  906. iWidth = iWidth + (Number(aStr[iNo].length) * 12);
  907. } else {
  908. iYPos = Number(iTop) + 95;
  909. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1);
  910. sSndMsg += CommAX.HanImageData();
  911. iWidth = iWidth + (Number(aStr[iNo].length) * 24);
  912. }
  913. }
  914. */
  915. iXPos = Number(iLeft);
  916. iYPos = Number(iTop) + 95;
  917. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, model.getValue(pNode+"["+iRowNo+"]_prcpdispnm"));
  918. /*
  919. //------------------------- 병리번호
  920. iXPos = Number(iLeft);
  921. iYPos = Number(iTop) + 150;
  922. sSndMsg += "^CF0,55^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_dispptno") + "^FS"; // 병리번호1 - 병리번호2
  923. */
  924. iXPos = Number(iLeft);
  925. iYPos = Number(iTop) + 150;
  926. sTempStr = "V" + iYPos + "H" + iXPos + "L0203" + "S" + model.getValue(pNode+"["+iRowNo+"]_dispptno");
  927. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, sTempStr);
  928. /*
  929. //------------------------------
  930. sSndMsg += "^PQ"+pPrntCnt+"^XZ";
  931. //---------------------
  932. if(sCommKind == "01") {
  933. CommAX.SendMessageToLPT(sSndMsg);
  934. } else if(sCommKind == "02") {
  935. CommAX.SendMessage(sSndMsg);
  936. }
  937. //----------------------
  938. CommAX.SendMessage("^XZ");
  939. */
  940. sSndMsg += "Q" + "1" + "Z";
  941. CommAX.SendMsg(sSndMsg);
  942. }
  943. //-----------------
  944. // ZEBRA EPL 모드용
  945. } else if ( sPrntKind == "10" ) {
  946. //----------------------------------
  947. sFixChar = String.fromCharCode(34);
  948. //--------------------------------------------------------------
  949. for (var iRowNo=1; iRowNo <= getNodesetCount(pNode); iRowNo++) {
  950. //조직, 세포, 동결절편, 분자, 전자, 면역형광 만 접수 라벨을 출력한다.(추가 박중규 2008.09.23)
  951. if( !(model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1001" || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1002"
  952. || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1003" || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1007"
  953. || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1006" || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1008") ){
  954. continue;
  955. }
  956. //----------------------------------------------------
  957. sPrcpDD = model.getValue(pNode+"["+iRowNo+"]_prcpdd");
  958. if (sPrcpDD.length <= 8) {
  959. sPrcpDD = sPrcpDD.substr(0,4) + "-" + sPrcpDD.substr(4,2) + "-" + sPrcpDD.substr(6,2);
  960. }
  961. //----------------
  962. sSndMsg = "\r\n"; // 출력시작 Command
  963. sSndMsg += "N" + "\r\n"; // Clear Image Buffer
  964. //--------------------
  965. iXPos = Number(iLeft); // 시작위치 초기화
  966. iYPos = Number(iTop);
  967. //---------------------------------------------------------
  968. sTempStr = model.getValue(pNode+"["+iRowNo+"]_spcdispnm");
  969. sTempStr = sTempStr.replace("▨", ",");
  970. //-------------------------------------------------------------------------------------
  971. sSndMsg += "A"+iXPos+","+iYPos+",2,8,1,1,N," + sFixChar + sTempStr + sFixChar + "\r\n"; // 검체명
  972. //--------------------
  973. iXPos = Number(iLeft);
  974. iYPos = Number(iTop) - 30;
  975. sSndMsg += "A"+iXPos+","+iYPos+",2,8,1,1,N," + sFixChar + model.getValue(pNode+"["+iRowNo+"]_pid") + sFixChar + "\r\n"; // 환자번호
  976. //--------------------------
  977. iXPos = Number(iLeft) - 200;
  978. iYPos = Number(iTop) - 30;
  979. sPatNm = model.getValue(pNode+"["+iRowNo+"]_patnm"); // 환자명
  980. sSndMsg += "A"+iXPos+","+iYPos+",2,8,1,1,N," + sFixChar + sPatNm + sFixChar + "\r\n";
  981. //--------------------
  982. iXPos = Number(iLeft);
  983. iYPos = Number(iTop) - 60;
  984. sTempStr = model.getValue(pNode+"["+iRowNo+"]_wardroom"); // 병동병실
  985. sSndMsg += "A"+iXPos+","+iYPos+",2,8,1,1,N," + sFixChar + sTempStr + sFixChar + "\r\n";
  986. //--------------------------
  987. iXPos = Number(iLeft) - 200;
  988. iYPos = Number(iTop) - 60;
  989. sSndMsg += "A"+iXPos+","+iYPos+",2,8,1,1,N," + sFixChar + model.getValue(pNode+"["+iRowNo+"]_sexage") + sFixChar + "\r\n"; // 성별_나이
  990. //--------------------------
  991. iXPos = Number(iLeft) - 350;
  992. iYPos = Number(iTop) - 60;
  993. sSndMsg += "A"+iXPos+","+iYPos+",2,8,1,1,N," + sFixChar + model.getValue(pNode+"["+iRowNo+"]_orddeptnm") + sFixChar + "\r\n"; // 진료과
  994. //--------------------
  995. iXPos = Number(iLeft);
  996. iYPos = Number(iTop) - 90;
  997. sTempStr = model.getValue(pNode+"["+iRowNo+"]_prcpdispnm"); //검사명
  998. //-----------------------------------------------
  999. // 40바이트가 넘을 경우 검사명을 짤라서 출력한다.
  1000. if(sTempStr.getByteLength() > 40) {
  1001. for(var iLeng = 1 ; iLeng <= sTempStr.length ; iLeng++) {
  1002. if(((sTempStr.substr(0, iLeng)).getByteLength()) > 40) {
  1003. sTempStr2 = sTempStr.substr(0, iLeng);
  1004. break;
  1005. }
  1006. }
  1007. sTempStr = sTempStr2;
  1008. }
  1009. sSndMsg += "A"+iXPos+","+iYPos+",2,8,1,1,N," + sFixChar + sTempStr + sFixChar + "\r\n";
  1010. //--------------------
  1011. iXPos = Number(iLeft);
  1012. iYPos = Number(iTop) - 130;
  1013. sSndMsg += "A"+iXPos+","+iYPos+",2,4,1,2,N," + sFixChar + model.getValue(pNode+"["+iRowNo+"]_dispptno") + sFixChar + "\r\n"; // 병리번호1 - 병리번호2
  1014. //-----------------------
  1015. sSndMsg += "P1" + "\r\n";
  1016. //---------------------
  1017. if(sCommKind == "01") { // 병렬출력
  1018. //CommAX.SendMessageToLPT(sSndMsg);
  1019. CommAX.SendMsg(sSndMsg);
  1020. } else if(sCommKind == "02") { // 직렬출력
  1021. CommAX.SendMessage(sSndMsg);
  1022. }
  1023. } // for (var iRowNo=1; iRowNo <= getNodesetCount(pNode); iRowNo++) {
  1024. //----------------
  1025. // Zebra 300 DPI용
  1026. } else if ( sPrntKind == "9" ) {
  1027. //--------------------
  1028. // ZEBRA 접수라벨 출력
  1029. for (var iRowNo=1; iRowNo <= getNodesetCount(pNode); iRowNo++) {
  1030. //조직, 세포, 동결절편, 분자, 전자, 면역형광 만 접수 라벨을 출력한다.(추가 박중규 2008.09.23)
  1031. if(!(model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1001" || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1002"
  1032. || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1003" || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1007"
  1033. || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1006" || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1008")){
  1034. continue;
  1035. }
  1036. //----------------------------------------------------
  1037. sPrcpDD = model.getValue(pNode+"["+iRowNo+"]_prcpdd");
  1038. if (sPrcpDD.length <= 8) {
  1039. sPrcpDD = sPrcpDD.substr(0,4) + "-" + sPrcpDD.substr(4,2) + "-" + sPrcpDD.substr(6,2);
  1040. }
  1041. //------------------------
  1042. if(sCommKind == "01") { // 병렬출력
  1043. sSndMsg = "^XA^SEE:UHANGUL.DAT^CWQ,E:kfont3.FNT";
  1044. } else if(sCommKind == "02") { // 직렬출력
  1045. sSndMsg = "^XA^LH0,0^PRB";
  1046. }
  1047. //--------------------
  1048. iXPos = Number(iLeft);
  1049. //---------------------------------------------------------
  1050. sTempStr = model.getValue(pNode+"["+iRowNo+"]_spcdispnm");
  1051. sTempStr = sTempStr.replace("▨", ",");
  1052. //---------
  1053. iWidth = 0;
  1054. aArraySet = lpzfGetHanGul2(sTempStr, aFlag);
  1055. aFlag = aArraySet[0];
  1056. aStr = aArraySet[1];
  1057. for (var iNo=0; iNo < aStr.length; iNo++) {
  1058. //----------------------
  1059. if (aFlag[iNo] == "E") {
  1060. iYPos = Number(iTop) + 5;
  1061. sSndMsg += "^CFA" + iSize + "," + iSize + "^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS";
  1062. iWidth = iWidth + (Number(aStr[iNo].length) * 17);
  1063. } else {
  1064. iYPos = Number(iTop);
  1065. if(sCommKind == "01") { // 병렬출력
  1066. sSndMsg += "^CI14^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^AQN,30,30^FD"+ aStr[iNo].getTrim() +"^FS^CI1";
  1067. iWidth = iWidth + (Number(aStr[iNo].length) * 31);
  1068. } else if(sCommKind == "02") { // 직렬출력
  1069. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1);
  1070. sSndMsg += CommAX.HanImageData();
  1071. iWidth = iWidth + (Number(aStr[iNo].length) * 29);
  1072. }
  1073. }
  1074. } // for (var iNo=0; iNo < aStr.length; iNo++) {
  1075. //--------------------
  1076. iXPos = Number(iLeft);
  1077. iYPos = Number(iTop) + 45;
  1078. sSndMsg += "^CFA" + iSize + "," + iSize + "^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_pid") + "^FS"; // 등록번호
  1079. //--------------------------
  1080. iXPos = Number(iLeft) + 200;
  1081. iYPos = Number(iTop) + 45;
  1082. sPatNm = model.getValue(pNode+"["+iRowNo+"]_patnm");
  1083. if(sCommKind == "01") { // 병렬출력
  1084. sSndMsg += "^CI14^FO"+iXPos+","+iYPos+"^AQN,30,30^FD"+ sPatNm +"^FS^CI1";
  1085. } else if(sCommKind == "02") { // 직렬출력
  1086. sSndMsg += CommAX.PrtImgOut(iXPos, iYPos, sPatNm, 2, 1); // -------> 한도버젼
  1087. sSndMsg += CommAX.HanImageData();
  1088. }
  1089. //---------------------
  1090. if(sCommKind == "01") { // 병렬출력
  1091. //CommAX.SendMessageToLPT(sSndMsg);
  1092. CommAX.SendMsg(sSndMsg);
  1093. } else if(sCommKind == "02") { // 직렬출력
  1094. CommAX.SendMessage(sSndMsg);
  1095. }
  1096. sSndMsg = "";
  1097. //--------------------
  1098. iXPos = Number(iLeft);
  1099. iYPos = Number(iTop) + 85;
  1100. sTempStr = model.getValue(pNode+"["+iRowNo+"]_wardroom"); // 병동병실
  1101. // 한글영문구분 외래일 경우 "외래", 입원일 경우 영문약어로 들어감
  1102. if((sTempStr == "외래") || (sTempStr == "건진")) {
  1103. //---------------------
  1104. if(sCommKind == "01") { // 병렬출력
  1105. sSndMsg += "^CI14^FO"+iXPos+","+iYPos+"^AQN,30,30^FD"+ sTempStr +"^FS^CI1";
  1106. //CommAX.SendMessageToLPT(sSndMsg);
  1107. CommAX.SendMsg(sSndMsg);
  1108. } else if(sCommKind == "02") { // 직렬출력
  1109. sSndMsg += CommAX.PrtImgOut(iXPos, iYPos, model.getValue(pNode+"["+iRowNo+"]_wardroom"), 1, 1); // -------> 한도버젼
  1110. sSndMsg += CommAX.HanImageData();
  1111. CommAX.SendMessage(sSndMsg);
  1112. }
  1113. sSndMsg = "";
  1114. } else {
  1115. iYPos += 3; //font와 이미지로 찍을때의 위치 차이 조정.
  1116. sSndMsg += "^CFA" + iSize + "," + iSize + "^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_wardroom") + "^FS";
  1117. }
  1118. //--------------------------
  1119. iXPos = Number(iLeft) + 200;
  1120. iYPos = Number(iTop) + 85;
  1121. sSndMsg += "^CFA" + iSize + "," + iSize + "^FO" + iXPos + "," + iYPos + "^FD(" + model.getValue(pNode+"["+iRowNo+"]_sexage") + ")^FS"; // 성별_나이
  1122. //--------------------------
  1123. iXPos = Number(iLeft) + 350;
  1124. iYPos = Number(iTop) + 85;
  1125. sSndMsg += "^CFA" + iSize + "," + iSize + "^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_orddeptnm") + "^FS"; // 진료과
  1126. //--------------------
  1127. iXPos = Number(iLeft);
  1128. sTempStr = model.getValue(pNode+"["+iRowNo+"]_prcpdispnm"); //검사명
  1129. //-----------------------------------------------
  1130. // 40바이트가 넘을 경우 검사명을 짤라서 출력한다.
  1131. if(sTempStr.getByteLength() > 40) {
  1132. for(var iLeng = 1 ; iLeng <= sTempStr.length ; iLeng++) {
  1133. if(((sTempStr.substr(0, iLeng)).getByteLength()) > 40) {
  1134. sTempStr2 = sTempStr.substr(0, iLeng);
  1135. break;
  1136. }
  1137. }
  1138. sTempStr = sTempStr2;
  1139. }
  1140. //---------
  1141. iWidth = 0;
  1142. aArraySet = lpzfGetHanGul2(sTempStr, aFlag);
  1143. aFlag = aArraySet[0];
  1144. aStr = aArraySet[1];
  1145. for (var iNo=0; iNo < aStr.length; iNo++) {
  1146. //----------------------
  1147. if (aFlag[iNo] == "E") {
  1148. iYPos = Number(iTop) + 130;
  1149. sSndMsg += "^CFA" + iSize + "," + iSize + "^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS";
  1150. iWidth = iWidth + (Number(aStr[iNo].length) * 17);
  1151. } else {
  1152. iYPos = Number(iTop) + 125;
  1153. if(sCommKind == "01") { // 병렬출력
  1154. sSndMsg += "^CI14^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^AQN,30,30^FD"+ aStr[iNo].getTrim() +"^FS^CI1";
  1155. iWidth = iWidth + (Number(aStr[iNo].length) * 31);
  1156. } else if(sCommKind == "02") { // 직렬출력
  1157. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1);
  1158. sSndMsg += CommAX.HanImageData();
  1159. iWidth = iWidth + (Number(aStr[iNo].length) * 29);
  1160. }
  1161. }
  1162. }
  1163. //--------------------
  1164. iXPos = Number(iLeft);
  1165. iYPos = Number(iTop) + 180;
  1166. sSndMsg += "^CF0,70^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_dispptno") + "^FS"; // 병리번호1 - 병리번호2
  1167. //------------------------------
  1168. sSndMsg += "^PQ"+pPrntCnt+"^XZ";
  1169. //---------------------
  1170. if(sCommKind == "01") { // 병렬출력
  1171. //CommAX.SendMessageToLPT(sSndMsg);
  1172. CommAX.SendMsg(sSndMsg);
  1173. } else if(sCommKind == "02") { // 직렬출력
  1174. CommAX.SendMessage(sSndMsg);
  1175. }
  1176. //----------------------
  1177. CommAX.SendMessage("^XZ");
  1178. } // for (var iRowNo=1; iRowNo <= getNodesetCount(pNode); iRowNo++) {
  1179. //----------------
  1180. // Zebra 200 DPI용
  1181. } else {
  1182. //--------------------
  1183. // ZEBRA 접수라벨 출력
  1184. for (var iRowNo=1; iRowNo <= getNodesetCount(pNode); iRowNo++) {
  1185. //조직, 세포, 동결절편, 분자, 전자, 면역형광 만 접수 라벨을 출력한다.(추가 박중규 2008.09.23)
  1186. if(!(model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1001" || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1002"
  1187. || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1003" || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1007"
  1188. || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1006" || model.getValue(pNode+"["+iRowNo+"]_workflagcd") == "1008")){
  1189. continue;
  1190. }
  1191. //----------------------------------------------------------------
  1192. //sPtNo = model.getValue(pNode+"["+iRowNo+"]_dispptno");
  1193. //sPtNo1 = sPtNo.substr(0, (sPtNo.length - 7));
  1194. //sPtNo2 = sPtNo.substr((sPtNo.length - 6),6);
  1195. sPrcpDD = model.getValue(pNode+"["+iRowNo+"]_prcpdd");
  1196. if (sPrcpDD.length <= 8) {
  1197. sPrcpDD = sPrcpDD.substr(0,4) + "-" + sPrcpDD.substr(4,2) + "-" + sPrcpDD.substr(6,2);
  1198. }
  1199. //------------------------
  1200. if(sCommKind == "01") { // 병렬출력
  1201. sSndMsg = "^XA^SEE:UHANGUL.DAT^CWQ,E:kfont3.FNT";
  1202. iEGap = 12;
  1203. iHGap = 20;
  1204. } else if(sCommKind == "02") { // 직렬출력
  1205. sSndMsg = "^XA^LH0,0^PRB";
  1206. iEGap = 12;
  1207. iHGap = 20;
  1208. }
  1209. //--------------------
  1210. //iXPos = Number(iLeft);
  1211. //iYPos = Number(iTop);
  1212. //sSndMsg += "^BY1,2.5^FO" + iXPos + "," + iYPos; // 바코드 Width 조절
  1213. //sSndMsg += "^BCN,100,Y,N,N^FD" + model.getValue(pNode+"["+iRowNo+"]_spcbarcdno") + "^FS"; // 바코드
  1214. //sSndMsg += "^BCN,100,Y,N,N^FD" + sPtNo1+sPtNo2 + "^FS"; // 바코드
  1215. //-------------------------
  1216. iXPos = Number(iLeft);
  1217. //---------------------------------------------------------
  1218. sTempStr = model.getValue(pNode+"["+iRowNo+"]_spcdispnm");
  1219. sTempStr = sTempStr.replace("▨", ",");
  1220. //sSndMsg += "^CFE10,10^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_spcdispnm") + "^FS"; // 검체표시명 //검사명
  1221. iWidth = 0;
  1222. //aStr = lpzfGetHanGul(sTempStr, aFlag);
  1223. aArraySet = lpzfGetHanGul2(sTempStr, aFlag);
  1224. aFlag = aArraySet[0];
  1225. aStr = aArraySet[1];
  1226. for (var iNo=0; iNo < aStr.length; iNo++) {
  1227. //----------------------
  1228. if (aFlag[iNo] == "E") {
  1229. iYPos = Number(iTop) + 5;
  1230. sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS";
  1231. iWidth = iWidth + (Number(aStr[iNo].length) * iEGap);
  1232. } else {
  1233. iYPos = Number(iTop);
  1234. if(sCommKind == "01") { // 병렬출력
  1235. sSndMsg += "^CI14^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^AQN,20,20^FD"+ aStr[iNo].getTrim() +"^FS^CI1";
  1236. } else if(sCommKind == "02") { // 직렬출력
  1237. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1);
  1238. sSndMsg += CommAX.HanImageData();
  1239. }
  1240. iWidth = iWidth + (Number(aStr[iNo].length) * iHGap);
  1241. }
  1242. }
  1243. /* **************************************************************************
  1244. //---------
  1245. iWidth = 0;
  1246. aStr = new Array();
  1247. aFlag = new Array();
  1248. aStr = lpzfGetHanGul(sTempStr, aFlag);
  1249. for (var iNo=0; iNo < aStr.length; iNo++) {
  1250. //----------------------
  1251. if (aFlag[iNo] == "E") {
  1252. sSndMsg += "^CFE10,10^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS"; // 검체표시명(영문)
  1253. iWidth = iWidth + (Number(aStr[iNo].length) * 12);
  1254. } else {
  1255. //sSndMsg += CommAX.PrtImgOut("GRAPH04"+iNo, aStr[iNo]); // 검체표시명(한글)
  1256. //sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^XGGRAPH04"+iNo+",1,1^FS"; // -------> 구버젼
  1257. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1); // -------> 한도버젼
  1258. sSndMsg += CommAX.HanImageData();
  1259. iWidth = iWidth + (Number(aStr[iNo].length) * 20);
  1260. }
  1261. }
  1262. *********************************************************************************** */
  1263. //-------------------------
  1264. //sSndMsg += CommAX.PrtImgOut(iXPos, iYPos, model.getValue(pNode+"["+iRowNo+"]_spcdispnm"), 1, 1); // -------> 한도버젼
  1265. //sSndMsg += CommAX.HanImageData();
  1266. //sSndMsg += "^CFA20,20^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_spcdispnm") + "^FS"; //검체표시명
  1267. //sSndMsg += "^CF0,24^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_spcdispnm") + "^FS"; //검체표시명
  1268. //-------------------------
  1269. //iXPos = Number(iLeft) + 10;
  1270. iXPos = Number(iLeft);
  1271. iYPos = Number(iTop) + 35;
  1272. //sSndMsg += "^CFA20,21^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_pid") + "^FS"; // 등록번호
  1273. sSndMsg += "^CF0,24^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_pid") + "^FS"; // 등록번호
  1274. //--------------------------
  1275. iXPos = Number(iLeft) + 140;
  1276. iYPos = Number(iTop) + 30;
  1277. sPatNm = model.getValue(pNode+"["+iRowNo+"]_patnm");
  1278. if(sCommKind == "01") { // 병렬출력
  1279. sSndMsg += "^CI14^FO"+iXPos+","+iYPos+"^AQN,20,20^FD"+ sPatNm +"^FS^CI1";
  1280. //CommAX.SendMessageToLPT(sSndMsg);
  1281. CommAX.SendMsg(sSndMsg);
  1282. } else if(sCommKind == "02") { // 직렬출력
  1283. //sSndMsg += CommAX.PrtImgOut("GRAPH001", sPatNm); // 환자명
  1284. //sSndMsg += "^FO" + iXPos + "," + iYPos + "^XGGRAPH001,1,1^FS"; // -------> 구버젼
  1285. sSndMsg += CommAX.PrtImgOut(iXPos, iYPos, sPatNm, 1, 1); // -------> 한도버젼
  1286. sSndMsg += CommAX.HanImageData();
  1287. CommAX.SendMessage(sSndMsg);
  1288. }
  1289. sSndMsg = "";
  1290. //--------------------------
  1291. iXPos = Number(iLeft);
  1292. iYPos = Number(iTop) + 65;
  1293. sTempStr = model.getValue(pNode+"["+iRowNo+"]_wardroom"); // 병동병실
  1294. //한글영문구분 외래일 경우 "외래", 입원일 경우 영문약어로 들어감
  1295. if((sTempStr == "외래") || (sTempStr == "건진")) {
  1296. //---------------------
  1297. if(sCommKind == "01") { // 병렬출력
  1298. sSndMsg += "^CI14^FO"+iXPos+","+iYPos+"^AQN,20,20^FD"+ model.getValue(pNode+"["+iRowNo+"]_wardroom") +"^FS^CI1";
  1299. //CommAX.SendMessageToLPT(sSndMsg);
  1300. CommAX.SendMsg(sSndMsg);
  1301. } else if(sCommKind == "02") { // 직렬출력
  1302. sSndMsg += CommAX.PrtImgOut(iXPos, iYPos, model.getValue(pNode+"["+iRowNo+"]_wardroom"), 1, 1); // -------> 한도버젼
  1303. sSndMsg += CommAX.HanImageData();
  1304. CommAX.SendMessage(sSndMsg);
  1305. }
  1306. sSndMsg = "";
  1307. } else {
  1308. iYPos += 3; //font와 이미지로 찍을때의 위치 차이 조정.
  1309. sSndMsg += "^CFA20,20^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_wardroom") + "^FS";
  1310. }
  1311. //--------------------------
  1312. iXPos = Number(iLeft) + 140;
  1313. iYPos = Number(iTop) + 68;
  1314. sSndMsg += "^CFA20,20^FO" + iXPos + "," + iYPos + "^FD(" + model.getValue(pNode+"["+iRowNo+"]_sexage") + ")^FS"; // 성별_나이
  1315. //--------------------------
  1316. iXPos = Number(iLeft) + 230;
  1317. iYPos = Number(iTop) + 68;
  1318. //sSndMsg += "^CFE10,10^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_orddeptnm") + "^FS"; // 진료과
  1319. sSndMsg += "^CFA20,20^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_orddeptnm") + "^FS"; // 진료과
  1320. //-------------------------
  1321. //iXPos = Number(iLeft) + 10;
  1322. //iXPos = Number(iLeft);
  1323. //iYPos = Number(iTop) + 88;
  1324. //sSndMsg += "^CFA20,20^FO" + iXPos + "," + iYPos + "^FD" + sPrcpDD + "^FS"; // 처방일자
  1325. //-------------------------
  1326. iXPos = Number(iLeft);
  1327. sTempStr = model.getValue(pNode+"["+iRowNo+"]_prcpdispnm"); //검사명
  1328. //40바이트가 넘을 경우 검사명을 짤라서 출력한다.
  1329. if(sTempStr.getByteLength() > 40) {
  1330. for(var iLeng = 1 ; iLeng <= sTempStr.length ; iLeng++) {
  1331. if(((sTempStr.substr(0, iLeng)).getByteLength()) > 40) {
  1332. sTempStr2 = sTempStr.substr(0, iLeng);
  1333. break;
  1334. }
  1335. }
  1336. sTempStr = sTempStr2;
  1337. }
  1338. iWidth = 0;
  1339. //aStr = lpzfGetHanGul(sTempStr, aFlag);
  1340. aArraySet = lpzfGetHanGul2(sTempStr, aFlag);
  1341. aFlag = aArraySet[0];
  1342. aStr = aArraySet[1];
  1343. for (var iNo=0; iNo < aStr.length; iNo++) {
  1344. //----------------------
  1345. if (aFlag[iNo] == "E") {
  1346. iYPos = Number(iTop) + 100;
  1347. sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS";
  1348. iWidth = iWidth + (Number(aStr[iNo].length) * iEGap);
  1349. } else {
  1350. iYPos = Number(iTop) + 95;
  1351. if(sCommKind == "01") { // 병렬출력
  1352. sSndMsg += "^CI14^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^AQN,20,20^FD"+ aStr[iNo].getTrim() +"^FS^CI1";
  1353. } else if(sCommKind == "02") { // 직렬출력
  1354. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1);
  1355. sSndMsg += CommAX.HanImageData();
  1356. }
  1357. iWidth = iWidth + (Number(aStr[iNo].length) * iHGap);
  1358. }
  1359. }
  1360. //sSndMsg += CommAX.PrtImgOut(iXPos, iYPos, model.getValue(pNode+"["+iRowNo+"]_prcpdispnm"), 1, 1); // -------> 한도버젼
  1361. //sSndMsg += CommAX.HanImageData();
  1362. //CommAX.SendMessage(sSndMsg);
  1363. //sSndMsg = "";
  1364. //sSndMsg += "^CFA20,20^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_prcpdispnm") + "^FS";
  1365. //-------------------------
  1366. iXPos = Number(iLeft);
  1367. iYPos = Number(iTop) + 150;
  1368. //sSndMsg += "^CF0,89^FO" + iXPos + "," + iYPos + "^FD" + sPtNo1 + "-^FS"; // 병리번호1
  1369. sSndMsg += "^CF0,55^FO" + iXPos + "," + iYPos + "^FD" + model.getValue(pNode+"["+iRowNo+"]_dispptno") + "^FS"; // 병리번호1 - 병리번호2
  1370. //--------------------------
  1371. //iXPos = Number(iLeft) + 180;
  1372. //iYPos = Number(iTop) + 75;
  1373. //sSndMsg += "^CF0,75^FO" + iXPos + "," + iYPos + "^FD" + Number(sPtNo2) + "^FS"; // 병리번호2
  1374. //------------------------------
  1375. sSndMsg += "^PQ"+pPrntCnt+"^XZ";
  1376. //---------------------
  1377. if(sCommKind == "01") { // 병렬출력
  1378. //CommAX.SendMessageToLPT(sSndMsg);
  1379. CommAX.SendMsg(sSndMsg);
  1380. } else if(sCommKind == "02") { // 직렬출력
  1381. CommAX.SendMessage(sSndMsg);
  1382. }
  1383. //----------------------
  1384. CommAX.SendMessage("^XZ");
  1385. }
  1386. } // } else {
  1387. //*****************************************************************************
  1388. // 의뢰지 바코드
  1389. } else {
  1390. //SATO 채혈바코드 출력
  1391. if( sPrntKind == "2" || sPrntKind == "6" || sPrntKind == "7"){
  1392. for (var iRowNo=1; iRowNo <= getNodesetCount(pNode); iRowNo++) {
  1393. sPrcpDD = model.getValue(pNode+"["+iRowNo+"]_prcpdd");
  1394. sPrcpDD = sPrcpDD.substr(0,4) + "-" + sPrcpDD.substr(4,2) + "-" + sPrcpDD.substr(6,2);
  1395. /*
  1396. sSndMsg = "^XA^LH0,0^PRB";
  1397. sSndMsg += "^BY2,1"; // 바코드 Width 조절
  1398. */
  1399. sSndMsg = "AA103500500"; // 시작위치 셋팅
  1400. /*
  1401. //-------------------- 바코드
  1402. iXPos = Number(iLeft) + 20;
  1403. iYPos = Number(iTop) + 5;
  1404. sSndMsg += "^FO"+iXPos+","+iYPos+"^BCN,80,Y,N,N^FD" + model.getValue(pNode+"["+iRowNo+"]_spcbarcdno") + "^FS"; // 바코드(CODE128)
  1405. */
  1406. iXPos = Number(iLeft) + 20;
  1407. iYPos = Number(iTop) + 5;
  1408. sSndMsg += "V" + iYPos + "H" + iXPos + "BG02100" + model.getValue(pNode+"["+iRowNo+"]_spcbarcdno");
  1409. iXPos = Number(iLeft) + 130;
  1410. iYPos = Number(iTop) + 110;
  1411. sSndMsg += "V" + iYPos + "H" + iXPos + "S" + model.getValue(pNode+"["+iRowNo+"]_spcbarcdno");
  1412. /*
  1413. //-------------------- PATHOLOGY
  1414. iXPos = Number(iLeft);
  1415. iYPos = Number(iTop) + 115;
  1416. sSndMsg += "^CFA20,20^FO"+iXPos+","+iYPos+"^FD" + "PATHOLOGY" + "^FS";
  1417. */
  1418. iXPos = Number(iLeft);
  1419. iYPos = Number(iTop) + 130;
  1420. sSndMsg += "V" + iYPos + "H" + iXPos + "S" + "PATHOLOGY";
  1421. /*
  1422. //------------------------- 병동병실
  1423. iXPos = Number(iLeft) + 130;
  1424. sTempStr = model.getValue(pNode+"["+iRowNo+"]_wardroom");
  1425. sTempStr = sTempStr.replace("▨", ",");
  1426. iWidth = 0;
  1427. aStr = lpzfGetHanGul(sTempStr, aFlag);
  1428. for (var iNo=0; iNo < aStr.length; iNo++) {
  1429. //----------------------
  1430. if (aFlag[iNo] == "E") {
  1431. iYPos = Number(iTop) + 115;
  1432. sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS"; // 검체표시명(영문)
  1433. iWidth = iWidth + (Number(aStr[iNo].length) * 12);
  1434. } else {
  1435. iYPos = Number(iTop) + 110;
  1436. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1);
  1437. sSndMsg += CommAX.HanImageData();
  1438. iWidth = iWidth + (Number(aStr[iNo].length) * 24);
  1439. }
  1440. }
  1441. if(sCommKind == "01") {
  1442. CommAX.SendMessageToLPT(sSndMsg);
  1443. } else if(sCommKind == "02") {
  1444. CommAX.SendMessage(sSndMsg);
  1445. }
  1446. sSndMsg = "";
  1447. */
  1448. iXPos = Number(iLeft) + 110;
  1449. iYPos = Number(iTop) + 130;
  1450. sTempStr = model.getValue(pNode+"["+iRowNo+"]_wardroom");
  1451. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, sTempStr);
  1452. //-------------------------
  1453. //iXPos = Number(iLeft) + 130;
  1454. //iYPos = Number(iTop) + 115;
  1455. //sSndMsg += "^CFA20,20^FO"+iXPos+","+iYPos+"^FD" + sPrcpDD + "^FS"; // 처방일자
  1456. /*
  1457. //------------------------- 진료의명
  1458. iXPos = Number(iLeft) + 270;
  1459. iYPos = Number(iTop) + 110;
  1460. sSndMsg += CommAX.PrtImgOut(iXPos, iYPos, model.getValue(pNode+"["+iRowNo+"]_orddrnm"), 1, 1); // -------> 한도버젼
  1461. sSndMsg += CommAX.HanImageData();
  1462. */
  1463. /*
  1464. iXPos = Number(iLeft) + 310;
  1465. iYPos = Number(iTop) + 127;
  1466. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, model.getValue(pNode+"["+iRowNo+"]_orddrnm"));
  1467. */
  1468. iXPos = Number(iLeft) + 220;
  1469. iYPos = Number(iTop) + 130;
  1470. sSndMsg += "V" + iYPos + "H" + iXPos + "S" + sPrcpDD;
  1471. iXPos = Number(iLeft) + 330;
  1472. iYPos = Number(iTop) + 130;
  1473. sSndMsg += "V" + iYPos + "H" + iXPos + "M" + model.getValue(pNode+"["+iRowNo+"]_isolabbrcd"); //처방일자
  1474. /*
  1475. //-------------------------- 등록번호
  1476. iXPos = Number(iLeft);
  1477. iYPos = Number(iTop) + 145;
  1478. sSndMsg += "^CFA20,20^FO"+iXPos+","+iYPos+"^FD" + model.getValue(pNode+"["+iRowNo+"]_pid") + "^FS"; // 등록번호
  1479. */
  1480. iXPos = Number(iLeft);
  1481. iYPos = Number(iTop) + 155;
  1482. sSndMsg += "V" + iYPos + "H" + iXPos + "S" + model.getValue(pNode+"["+iRowNo+"]_pid");
  1483. /*
  1484. //------------------------- 환자명
  1485. iXPos = Number(iLeft) + 130;
  1486. iYPos = Number(iTop) + 140; // -------> 구버젼
  1487. sSndMsg += CommAX.PrtImgOut(iXPos, iYPos, model.getValue(pNode+"["+iRowNo+"]_patnm"), 1, 1); // -------> 한도버젼
  1488. sSndMsg += CommAX.HanImageData();
  1489. */
  1490. iXPos = Number(iLeft) + 110;
  1491. iYPos = Number(iTop) + 150;
  1492. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, model.getValue(pNode+"["+iRowNo+"]_patnm"));
  1493. /*
  1494. //------------------------- 성별_나이
  1495. iXPos = Number(iLeft) + 260;
  1496. iYPos = Number(iTop) + 145;
  1497. sSndMsg += "^CFA20,20^FO"+iXPos+","+iYPos+"^FD" + model.getValue(pNode+"["+iRowNo+"]_sexage") + "^FS"; // 성별_나이
  1498. */
  1499. iXPos = Number(iLeft) + 220;
  1500. iYPos = Number(iTop) + 155;
  1501. sSndMsg += "V" + iYPos + "H" + iXPos + "S" + model.getValue(pNode+"["+iRowNo+"]_sexage");
  1502. /*
  1503. //------------------------- 진료과
  1504. iXPos = Number(iLeft) + 340;
  1505. iYPos = Number(iTop) + 145;
  1506. sTempStr = model.getValue(pNode+"["+iRowNo+"]_orddeptnm");
  1507. sSndMsg += "^CFA20,20^FO"+iXPos+","+iYPos+"^FD" + sTempStr + "^FS"; // 진료과
  1508. */
  1509. iXPos = Number(iLeft) + 280;
  1510. iYPos = Number(iTop) + 155;
  1511. sTempStr = model.getValue(pNode+"["+iRowNo+"]_orddeptnm");
  1512. sSndMsg += "V" + iYPos + "H" + iXPos + "S" + sTempStr;
  1513. /*
  1514. //------------------------- 검체명
  1515. iXPos = Number(iLeft);
  1516. //---------------------------------------------------------
  1517. sTempStr = model.getValue(pNode+"["+iRowNo+"]_spcdispnm");
  1518. sTempStr = sTempStr.replace("▨", ",");
  1519. //---------
  1520. iWidth = 0;
  1521. aStr = lpzfGetHanGul(sTempStr, aFlag);
  1522. for (var iNo=0; iNo < aStr.length; iNo++) {
  1523. //----------------------
  1524. if (aFlag[iNo] == "E") {
  1525. iYPos = Number(iTop) + 175;
  1526. sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS"; // 검체표시명(영문)
  1527. iWidth = iWidth + (Number(aStr[iNo].length) * 12);
  1528. } else {
  1529. iYPos = Number(iTop) + 170;
  1530. //sSndMsg += CommAX.PrtImgOut("GRAPH05"+iNo, aStr[iNo]); // 검체표시명(한글)
  1531. //sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^XGGRAPH05"+iNo+",1,1^FS"; // -------> 구버젼
  1532. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1); // -------> 한도버젼
  1533. sSndMsg += CommAX.HanImageData();
  1534. iWidth = iWidth + (Number(aStr[iNo].length) * 24);
  1535. }
  1536. }
  1537. if(sCommKind == "01") {
  1538. CommAX.SendMessageToLPT(sSndMsg);
  1539. } else if(sCommKind == "02") {
  1540. CommAX.SendMessage(sSndMsg);
  1541. }
  1542. sSndMsg = "";
  1543. */
  1544. iXPos = Number(iLeft);
  1545. iYPos = Number(iTop) + 175;
  1546. sTempStr = model.getValue(pNode+"["+iRowNo+"]_spcdispnm");
  1547. sTempStr = sTempStr.replace("▨", ",");
  1548. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, sTempStr);
  1549. /*
  1550. //------------------------- 처방명
  1551. iXPos = Number(iLeft);
  1552. sTempStr = model.getValue(pNode+"["+iRowNo+"]_prntprcpdispnm");
  1553. sTempStr = sTempStr.replace("▨", ",");
  1554. //---------
  1555. iWidth = 0;
  1556. aStr = lpzfGetHanGul(sTempStr, aFlag);
  1557. for (var iNo=0; iNo < aStr.length; iNo++) {
  1558. //----------------------
  1559. if (aFlag[iNo] == "E") {
  1560. iYPos = Number(iTop) + 200;
  1561. sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS"; // 검사명(영문)
  1562. iWidth = iWidth + (Number(aStr[iNo].length) * 12);
  1563. } else {
  1564. iYPos = Number(iTop) + 195;
  1565. //sSndMsg += CommAX.PrtImgOut("GRAPH05"+iNo, aStr[iNo]); // 검사명(한글)
  1566. //sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^XGGRAPH05"+iNo+",1,1^FS"; // -------> 구버젼
  1567. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1); // -------> 한도버젼
  1568. sSndMsg += CommAX.HanImageData();
  1569. iWidth = iWidth + (Number(aStr[iNo].length) * 24);
  1570. }
  1571. }
  1572. if(sCommKind == "01") {
  1573. CommAX.SendMessageToLPT(sSndMsg);
  1574. } else if(sCommKind == "02") {
  1575. CommAX.SendMessage(sSndMsg);
  1576. }
  1577. sSndMsg = "";
  1578. */
  1579. iXPos = Number(iLeft);
  1580. iYPos = Number(iTop) + 200;
  1581. sTempStr = model.getValue(pNode+"["+iRowNo+"]_prntprcpdispnm");
  1582. sTempStr = sTempStr.replace("▨", ",");
  1583. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, sTempStr);
  1584. /*
  1585. //------추가처방명 표시-------------------
  1586. iXPos = Number(iLeft);
  1587. sTempStr = model.getValue(pNode+"["+iRowNo+"]_prntprcpdispnm2")
  1588. iWidth = 0;
  1589. aStr = lpzfGetHanGul(sTempStr, aFlag);
  1590. for (var iNo=0; iNo < aStr.length; iNo++) {
  1591. //----------------------
  1592. if (aFlag[iNo] == "E") {
  1593. iYPos = Number(iTop) + 230;
  1594. sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS"; // 검사명(영문)
  1595. iWidth = iWidth + (Number(aStr[iNo].length) * 12);
  1596. } else {
  1597. iYPos = Number(iTop) + 225;
  1598. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1); // -------> 한도버젼
  1599. sSndMsg += CommAX.HanImageData();
  1600. iWidth = iWidth + (Number(aStr[iNo].length) * 24);
  1601. }
  1602. }
  1603. */
  1604. iXPos = Number(iLeft);
  1605. iYPos = Number(iTop) + 225;
  1606. sTempStr = model.getValue(pNode+"["+iRowNo+"]_prntprcpdispnm2");
  1607. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, sTempStr);
  1608. /*
  1609. //------------------------------
  1610. sSndMsg += "^PQ"+pPrntCnt+"^XZ";
  1611. //---------------------
  1612. if(sCommKind == "01") {
  1613. CommAX.SendMessageToLPT(sSndMsg);
  1614. } else if(sCommKind == "02") {
  1615. CommAX.SendMessage(sSndMsg);
  1616. }
  1617. //----------------------
  1618. CommAX.SendMessage("^XZ");
  1619. */
  1620. sSndMsg += "Q" + "1" + "Z";
  1621. CommAX.SendMsg(sSndMsg);
  1622. }
  1623. //-----------------
  1624. // Zebra EPL 모드용
  1625. } else if(sPrntKind == "10") {
  1626. //----------------------------------
  1627. sFixChar = String.fromCharCode(34);
  1628. //----------------------
  1629. // ZEBRA 채혈바코드 출력
  1630. for (var iRowNo=1; iRowNo <= getNodesetCount(pNode); iRowNo++) {
  1631. //----------------------------------------------------
  1632. sPrcpDD = model.getValue(pNode+"["+iRowNo+"]_prcpdd");
  1633. sPrcpDD = sPrcpDD.substr(0,4) + "-" + sPrcpDD.substr(4,2) + "-" + sPrcpDD.substr(6,2);
  1634. //---------------------
  1635. sSndMsg = "\r\n"; // Active Command Processing
  1636. sSndMsg += "N" + "\r\n"; // Clear Image Buffer
  1637. //--------------------
  1638. iXPos = Number(iLeft) - 70;
  1639. iYPos = Number(iTop);
  1640. sSndMsg += "B"+iXPos+","+iYPos+",2,3,2,2,60,B,"+ sFixChar + model.getValue(pNode+"["+iRowNo+"]_spcbarcdno") + sFixChar + "\r\n";
  1641. //sSndMsg += "B500,200,2,3,2,2,60,B,"+ sFixChar + model.getValue(pNode+"["+iRowNo+"]_spcbarcdno") + sFixChar + "\r\n";
  1642. //B10,10,0,PL,5,5,5,N,"1234"
  1643. //====================
  1644. iXPos = Number(iLeft);
  1645. iYPos = Number(iTop) - 90;
  1646. sSndMsg += "A"+iXPos+","+iYPos+",2,2,1,1,N," + sFixChar + "PATHOLOGY" + sFixChar + "\r\n"; // 검체도착지명
  1647. //--------------------------
  1648. iXPos = Number(iLeft) - 140;
  1649. iYPos = Number(iTop) - 90;
  1650. sTempStr = model.getValue(pNode+"["+iRowNo+"]_wardroom");
  1651. sTempStr = sTempStr.replace("▨", ",");
  1652. sSndMsg += "A"+iXPos+","+iYPos+",2,8,1,1,N," + sFixChar + sTempStr + sFixChar + "\r\n"; // 병동병실
  1653. //-------------------------
  1654. iXPos = Number(iLeft) - 240;
  1655. iYPos = Number(iTop) - 90;
  1656. sSndMsg += "A"+iXPos+","+iYPos+",2,2,1,1,N," + sFixChar + sPrcpDD + sFixChar + "\r\n"; // 처방일자
  1657. iXPos = Number(iLeft) - 370;
  1658. iYPos = Number(iTop) - 90;
  1659. sSndMsg += "A"+iXPos+","+iYPos+",2,8,1,1,N," + sFixChar + model.getValue(pNode+"["+iRowNo+"]_isolabbrcd") + sFixChar + "\r\n"; // 감염정보
  1660. //sSndMsg += "A"+iXPos+","+iYPos+",2,2,1,1,N," + sFixChar + "Inspect" + sFixChar + "\r\n"; // 감염정보
  1661. //--------------------
  1662. iXPos = Number(iLeft);
  1663. iYPos = Number(iTop) - 120; // 등록번호
  1664. sSndMsg += "A"+iXPos+","+iYPos+",2,2,1,1,N," + sFixChar + model.getValue(pNode+"["+iRowNo+"]_pid") + sFixChar + "\r\n"; // 등록번호
  1665. //-------------------------
  1666. iXPos = Number(iLeft) - 140;
  1667. iYPos = Number(iTop) - 120;
  1668. sSndMsg += "A"+iXPos+","+iYPos+",2,8,1,1,N," + sFixChar + model.getValue(pNode+"["+iRowNo+"]_patnm") + sFixChar + "\r\n"; // 환자명
  1669. //--------------------------
  1670. iXPos = Number(iLeft) - 240;
  1671. iYPos = Number(iTop) - 120;
  1672. sSndMsg += "A"+iXPos+","+iYPos+",2,2,1,1,N," + sFixChar + model.getValue(pNode+"["+iRowNo+"]_sexage") + sFixChar + "\r\n"; // 성별_나이
  1673. //-------------------------
  1674. iXPos = Number(iLeft) - 340;
  1675. iYPos = Number(iTop) - 120;
  1676. sSndMsg += "A"+iXPos+","+iYPos+",2,2,1,1,N," + sFixChar + model.getValue(pNode+"["+iRowNo+"]_orddeptnm") + sFixChar + "\r\n"; // 진료과
  1677. //====================
  1678. iXPos = Number(iLeft);
  1679. iYPos = Number(iTop) - 150;
  1680. sTempStr = model.getValue(pNode+"["+iRowNo+"]_spcdispnm");
  1681. sTempStr = sTempStr.replace("▨", ",");
  1682. sSndMsg += "A"+iXPos+","+iYPos+",2,8,1,1,N," + sFixChar + sTempStr + sFixChar + "\r\n"; // 검체표시명
  1683. //====================
  1684. iXPos = Number(iLeft);
  1685. iYPos = Number(iTop) - 180;
  1686. sTempStr = model.getValue(pNode+"["+iRowNo+"]_prntprcpdispnm");
  1687. sTempStr = sTempStr.replace("▨", ",");
  1688. sSndMsg += "A"+iXPos+","+iYPos+",2,8,1,1,N," + sFixChar + sTempStr + sFixChar + "\r\n"; // 검사명
  1689. //------추가처방명 표시-------------------
  1690. iXPos = Number(iLeft);
  1691. iYPos = Number(iTop) - 210;
  1692. sTempStr = model.getValue(pNode+"["+iRowNo+"]_prntprcpdispnm2");
  1693. sSndMsg += "A"+iXPos+","+iYPos+",2,8,1,1,N," + sFixChar + sTempStr + sFixChar + "\r\n"; // 검사명
  1694. //-----------------------
  1695. sSndMsg += "P1" + "\r\n";
  1696. //---------------------
  1697. if(sCommKind == "01") { // 병렬출력
  1698. //CommAX.SendMessageToLPT(sSndMsg);
  1699. CommAX.SendMsg(sSndMsg);
  1700. } else if(sCommKind == "02") { // 직렬출력
  1701. CommAX.SendMessage(sSndMsg);
  1702. }
  1703. }
  1704. //----------------
  1705. // Zebra 300 DPI용
  1706. } else if(sPrntKind == "9") {
  1707. //----------------------
  1708. // ZEBRA 채혈바코드 출력
  1709. for (var iRowNo=1; iRowNo <= getNodesetCount(pNode); iRowNo++) {
  1710. sPrcpDD = model.getValue(pNode+"["+iRowNo+"]_prcpdd");
  1711. sPrcpDD = sPrcpDD.substr(0,4) + "-" + sPrcpDD.substr(4,2) + "-" + sPrcpDD.substr(6,2);
  1712. //---------------------
  1713. if(sCommKind == "01") { // 병렬출력
  1714. sSndMsg = "^XA^SEE:UHANGUL.DAT^CWQ,E:kfont3.FNT";
  1715. } else if(sCommKind == "02") { // 직렬출력
  1716. sSndMsg = "^XA^LH0,0^PRB";
  1717. }
  1718. sSndMsg += "^BY2,1"; // 바코드 Width 조절
  1719. //--------------------
  1720. iXPos = Number(iLeft) + 20;
  1721. iYPos = Number(iTop) + 5;
  1722. sSndMsg += "^FO"+iXPos+","+iYPos+"^BCN,80,Y,N,N^FD" + model.getValue(pNode+"["+iRowNo+"]_spcbarcdno") + "^FS"; // 바코드(CODE128)
  1723. //sSndMsg += "^FO"+iXPos+","+iYPos+"^B3N,N,100,Y,N^FD" + model.getValue(pNode+"["+iRowNo+"]_spcbarcdno") + "^FS"; // 바코드(CODE39)
  1724. //====================
  1725. iXPos = Number(iLeft);
  1726. iYPos = Number(iTop) + 115;
  1727. sSndMsg += "^CFA" + iSize + "," + iSize + "^FO"+iXPos+","+iYPos+"^FD" + "PATHOLOGY" + "^FS"; // 검체도착지명
  1728. //--------------------------
  1729. iXPos = Number(iLeft) + 180;
  1730. sTempStr = model.getValue(pNode+"["+iRowNo+"]_wardroom");
  1731. sTempStr = sTempStr.replace("▨", ","); // 병동병실
  1732. iWidth = 0;
  1733. aArraySet = lpzfGetHanGul2(sTempStr, aFlag);
  1734. aFlag = aArraySet[0];
  1735. aStr = aArraySet[1];
  1736. for (var iNo=0; iNo < aStr.length; iNo++) {
  1737. //----------------------
  1738. if (aFlag[iNo] == "E") {
  1739. iYPos = Number(iTop) + 115;
  1740. sSndMsg += "^CFA" + iSize + "," + iSize + "^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS"; // 병동병실
  1741. iWidth = iWidth + (Number(aStr[iNo].length) * 17);
  1742. } else {
  1743. iYPos = Number(iTop) + 110;
  1744. if(sCommKind == "01") { // 병렬출력
  1745. sSndMsg += "^CI14^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^AQN,30,30^FD"+ aStr[iNo].getTrim() +"^FS^CI1";
  1746. iWidth = iWidth + (Number(aStr[iNo].length) * 31);
  1747. } else if(sCommKind == "02") { // 직렬출력
  1748. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1);
  1749. sSndMsg += CommAX.HanImageData();
  1750. iWidth = iWidth + (Number(aStr[iNo].length) * 29);
  1751. }
  1752. }
  1753. }
  1754. //---------------------
  1755. if(sCommKind == "01") { // 병렬출력
  1756. //CommAX.SendMessageToLPT(sSndMsg);
  1757. CommAX.SendMsg(sSndMsg);
  1758. } else if(sCommKind == "02") { // 직렬출력
  1759. CommAX.SendMessage(sSndMsg);
  1760. }
  1761. //-----------
  1762. sSndMsg = "";
  1763. //-------------------------
  1764. iXPos = Number(iLeft) + 300;
  1765. iYPos = Number(iTop) + 115;
  1766. sSndMsg += "^CFA" + iSize + "," + iSize + "^FO"+iXPos+","+iYPos+"^FD" + sPrcpDD + "^FS"; // 처방일자
  1767. iXPos = Number(iLeft) + 500;
  1768. iYPos = Number(iTop) + 110;
  1769. sSndMsg += "^CFA99,44^FO"+iXPos+","+iYPos+"^FD" + model.getValue(pNode+"["+iRowNo+"]_isolabbrcd") + "^FS"; // 감염정보
  1770. //--------------------
  1771. iXPos = Number(iLeft);
  1772. iYPos = Number(iTop) + 150; // 등록번호
  1773. sSndMsg += "^CFA" + iSize + "," + iSize + "^FO"+iXPos+","+iYPos+"^FD" + model.getValue(pNode+"["+iRowNo+"]_pid") + "^FS";
  1774. //-------------------------
  1775. iXPos = Number(iLeft) + 160;
  1776. iYPos = Number(iTop) + 150;
  1777. //sSndMsg += CommAX.PrtImgOut(iXPos, iYPos, model.getValue(pNode+"["+iRowNo+"]_patnm"), 2, 1); // -------> 한도버젼
  1778. //sSndMsg += CommAX.HanImageData();
  1779. sSndMsg += "^CI14^FO"+iXPos+","+iYPos+"^AQN,30,30^FD"+ model.getValue(pNode+"["+iRowNo+"]_patnm") +"^FS^CI1";
  1780. //-------------------------
  1781. iXPos = Number(iLeft) + 320;
  1782. iYPos = Number(iTop) + 150;
  1783. sSndMsg += "^CFA" + iSize + "," + iSize + "^FO"+iXPos+","+iYPos+"^FD" + model.getValue(pNode+"["+iRowNo+"]_sexage") + "^FS"; // 성별_나이
  1784. //-------------------------
  1785. iXPos = Number(iLeft) + 450;
  1786. iYPos = Number(iTop) + 150;
  1787. sTempStr = model.getValue(pNode+"["+iRowNo+"]_orddeptnm");
  1788. sSndMsg += "^CFA" + iSize + "," + iSize + "^FO"+iXPos+","+iYPos+"^FD" + sTempStr + "^FS"; // 진료과
  1789. //====================
  1790. iXPos = Number(iLeft);
  1791. sTempStr = model.getValue(pNode+"["+iRowNo+"]_spcdispnm");
  1792. sTempStr = sTempStr.replace("▨", ",");
  1793. //---------
  1794. iWidth = 0;
  1795. aArraySet = lpzfGetHanGul2(sTempStr, aFlag);
  1796. aFlag = aArraySet[0];
  1797. aStr = aArraySet[1];
  1798. for (var iNo=0; iNo < aStr.length; iNo++) {
  1799. //----------------------
  1800. if (aFlag[iNo] == "E") {
  1801. iYPos = Number(iTop) + 185;
  1802. sSndMsg += "^CFA" + iSize + "," + iSize + "^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS"; // 검체표시명(영문)
  1803. iWidth = iWidth + (Number(aStr[iNo].length) * 17);
  1804. } else {
  1805. iYPos = Number(iTop) + 180;
  1806. if(sCommKind == "01") { // 병렬출력
  1807. sSndMsg += "^CI14^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^AQN,30,30^FD"+ aStr[iNo].getTrim() +"^FS^CI1";
  1808. iWidth = iWidth + (Number(aStr[iNo].length) * 31);
  1809. } else if(sCommKind == "02") { // 직렬출력
  1810. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1); // -------> 한도버젼
  1811. sSndMsg += CommAX.HanImageData();
  1812. iWidth = iWidth + (Number(aStr[iNo].length) * 29);
  1813. }
  1814. }
  1815. }
  1816. //---------------------
  1817. if(sCommKind == "01") { // 병렬출력
  1818. //CommAX.SendMessageToLPT(sSndMsg);
  1819. CommAX.SendMsg(sSndMsg);
  1820. } else if(sCommKind == "02") { // 직렬출력
  1821. CommAX.SendMessage(sSndMsg);
  1822. }
  1823. sSndMsg = "";
  1824. //====================
  1825. iXPos = Number(iLeft);
  1826. iYPos = Number(iTop) + 220;
  1827. sTempStr = model.getValue(pNode+"["+iRowNo+"]_prntprcpdispnm"); // 검사명(영문)
  1828. sTempStr = sTempStr.replace("▨", ",");
  1829. //---------
  1830. iWidth = 0;
  1831. aArraySet = lpzfGetHanGul2(sTempStr, aFlag);
  1832. aFlag = aArraySet[0];
  1833. aStr = aArraySet[1];
  1834. //-----------------------------------------
  1835. for (var iNo=0; iNo < aStr.length; iNo++) {
  1836. //----------------------
  1837. if (aFlag[iNo] == "E") {
  1838. iYPos = Number(iTop) + 220;
  1839. sSndMsg += "^CFA" + iSize + "," + iSize + "^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS";
  1840. //sSndMsg += "^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^AQN,30,30^FD" + aStr[iNo] + "^FS";
  1841. iWidth = iWidth + (Number(aStr[iNo].length) * 19);
  1842. } else {
  1843. iYPos = Number(iTop) + 220;
  1844. //---------------------
  1845. if(sCommKind == "01") { // 병렬출력
  1846. sSndMsg += "^CI14^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^AQN,30,30^FD"+ aStr[iNo].getTrim() +"^FS^CI1";
  1847. iWidth = iWidth + (Number(aStr[iNo].length) * 31);
  1848. } else if(sCommKind == "02") { // 직렬출력
  1849. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1); // -------> 한도버젼
  1850. sSndMsg += CommAX.HanImageData();
  1851. iWidth = iWidth + (Number(aStr[iNo].length) * 29);
  1852. }
  1853. }
  1854. }
  1855. //---------------------
  1856. if(sCommKind == "01") { // 병렬출력
  1857. //CommAX.SendMessageToLPT(sSndMsg);
  1858. CommAX.SendMsg(sSndMsg);
  1859. } else if(sCommKind == "02") { // 직렬출력
  1860. CommAX.SendMessage(sSndMsg);
  1861. }
  1862. sSndMsg = "";
  1863. //------추가처방명 표시-------------------
  1864. iXPos = Number(iLeft);
  1865. sTempStr = model.getValue(pNode+"["+iRowNo+"]_prntprcpdispnm2");
  1866. iWidth = 0;
  1867. aArraySet = lpzfGetHanGul2(sTempStr, aFlag);
  1868. aFlag = aArraySet[0];
  1869. aStr = aArraySet[1];
  1870. for (var iNo=0; iNo < aStr.length; iNo++) {
  1871. //----------------------
  1872. if (aFlag[iNo] == "E") {
  1873. iYPos = Number(iTop) + 260;
  1874. sSndMsg += "^CFA" + iSize + "," + iSize + "^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS"; // 검사명(영문)
  1875. iWidth = iWidth + (Number(aStr[iNo].length) * 17);
  1876. } else {
  1877. iYPos = Number(iTop) + 255;
  1878. if(sCommKind == "01") { // 병렬출력
  1879. sSndMsg += "^CI14^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^AQN,30,30^FD"+ aStr[iNo].getTrim() +"^FS^CI1";
  1880. iWidth = iWidth + (Number(aStr[iNo].length) * 31);
  1881. } else if(sCommKind == "02") { // 직렬출력
  1882. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1); // -------> 한도버젼
  1883. sSndMsg += CommAX.HanImageData();
  1884. iWidth = iWidth + (Number(aStr[iNo].length) * 29);
  1885. }
  1886. }
  1887. }
  1888. //------------------------------
  1889. sSndMsg += "^PQ"+pPrntCnt+"^XZ";
  1890. //---------------------
  1891. if(sCommKind == "01") { // 병렬출력
  1892. //CommAX.SendMessageToLPT(sSndMsg);
  1893. CommAX.SendMsg(sSndMsg);
  1894. } else if(sCommKind == "02") { // 직렬출력
  1895. CommAX.SendMessage(sSndMsg);
  1896. }
  1897. //----------------------
  1898. CommAX.SendMessage("^XZ");
  1899. }
  1900. //----------------
  1901. // Zebra 200 DPI용
  1902. } else if(sPrntKind == "1" || sPrntKind == "11") {
  1903. //----------------------
  1904. // ZEBRA 채혈바코드 출력
  1905. for (var iRowNo=1; iRowNo <= getNodesetCount(pNode); iRowNo++) {
  1906. //----------------------------------------------------
  1907. sPrcpDD = model.getValue(pNode+"["+iRowNo+"]_prcpdd");
  1908. sPrcpDD = sPrcpDD.substr(0,4) + "-" + sPrcpDD.substr(4,2) + "-" + sPrcpDD.substr(6,2);
  1909. if(sCommKind == "01") { // 병렬출력
  1910. iEGap = 12;
  1911. iHGap = 20;
  1912. sSndMsg = "^XA^SEE:UHANGUL.DAT^CWQ,E:kfont3.FNT";
  1913. } else if(sCommKind == "02") { // 직렬출력
  1914. iEGap = 12;
  1915. iHGap = 20;
  1916. sSndMsg = "^XA^LH0,0^PRB";
  1917. }
  1918. sSndMsg += "^BY2,1"; // 바코드 Width 조절
  1919. //--------------------
  1920. iXPos = Number(iLeft) + 20;
  1921. iYPos = Number(iTop) + 5;
  1922. sSndMsg += "^FO"+iXPos+","+iYPos+"^BCN,80,Y,N,N^FD" + model.getValue(pNode+"["+iRowNo+"]_spcbarcdno") + "^FS"; // 바코드(CODE128)
  1923. //sSndMsg += "^FO"+iXPos+","+iYPos+"^B3N,N,100,Y,N^FD" + model.getValue(pNode+"["+iRowNo+"]_spcbarcdno") + "^FS"; // 바코드(CODE39)
  1924. //====================
  1925. iXPos = Number(iLeft);
  1926. iYPos = Number(iTop) + 115;
  1927. //sSndMsg += CommAX.PrtImgOut("GRAPH004", "병리과"); // 검체도착지명
  1928. //sSndMsg += "^CFA,30,30^FO"+iXPos+","+iYPos+"^XGGRAPH004,1,1^FS";
  1929. sSndMsg += "^CFA20,20^FO"+iXPos+","+iYPos+"^FD" + "PATHOLOGY" + "^FS"; // 검체도착지명
  1930. //-------------------------
  1931. //iXPos = Number(iLeft) + 130;
  1932. //iYPos = Number(iTop) + 115;
  1933. //sTempStr = model.getValue(pNode+"["+iRowNo+"]_wardroom");
  1934. //sSndMsg += "^CFA20,20^FO"+iXPos+","+iYPos+"^FD" + sTempStr + "^FS";
  1935. iXPos = Number(iLeft) + 130;
  1936. sTempStr = model.getValue(pNode+"["+iRowNo+"]_wardroom");
  1937. sTempStr = sTempStr.replace("▨", ","); // 병동병실
  1938. iWidth = 0;
  1939. //aStr = lpzfGetHanGul(sTempStr, aFlag);
  1940. aArraySet = lpzfGetHanGul2(sTempStr, aFlag);
  1941. aFlag = aArraySet[0];
  1942. aStr = aArraySet[1];
  1943. for (var iNo=0; iNo < aStr.length; iNo++) {
  1944. //----------------------
  1945. if (aFlag[iNo] == "E") {
  1946. iYPos = Number(iTop) + 115;
  1947. sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS"; // 검체표시명(영문)
  1948. iWidth = iWidth + (Number(aStr[iNo].length) * iEGap);
  1949. } else {
  1950. iYPos = Number(iTop) + 110;
  1951. if(sCommKind == "01") { // 병렬출력
  1952. sSndMsg += "^CI14^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^AQN,20,20^FD"+ aStr[iNo].getTrim() +"^FS^CI1";
  1953. } else if(sCommKind == "02") { // 직렬출력
  1954. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1);
  1955. sSndMsg += CommAX.HanImageData();
  1956. }
  1957. iWidth = iWidth + (Number(aStr[iNo].length) * iHGap);
  1958. }
  1959. }
  1960. //---------------------
  1961. if(sCommKind == "01") { // 병렬출력
  1962. //CommAX.SendMessageToLPT(sSndMsg);
  1963. CommAX.SendMsg(sSndMsg);
  1964. } else if(sCommKind == "02") { // 직렬출력
  1965. CommAX.SendMessage(sSndMsg);
  1966. }
  1967. sSndMsg = "";
  1968. //-------------------------
  1969. iXPos = Number(iLeft) + 215;
  1970. iYPos = Number(iTop) + 115;
  1971. sSndMsg += "^CFA20,20^FO"+iXPos+","+iYPos+"^FD" + sPrcpDD + "^FS"; // 처방일자
  1972. iXPos = Number(iLeft) + 340
  1973. iYPos = Number(iTop) + 115;
  1974. sSndMsg += "^CFA99,44^FO"+iXPos+","+iYPos+"^FD" + model.getValue(pNode+"["+iRowNo+"]_isolabbrcd") + "^FS"; // 감염정보
  1975. /* ********************************************************
  1976. //-------------------------
  1977. iXPos = Number(iLeft) + 270;
  1978. iYPos = Number(iTop) + 110;
  1979. sSndMsg += CommAX.PrtImgOut(iXPos, iYPos, model.getValue(pNode+"["+iRowNo+"]_orddrnm"), 1, 1); // -------> 한도버젼
  1980. sSndMsg += CommAX.HanImageData();
  1981. ******************************************************** */
  1982. //--------------------------
  1983. iXPos = Number(iLeft);
  1984. iYPos = Number(iTop) + 145;
  1985. sSndMsg += "^CFA20,20^FO"+iXPos+","+iYPos+"^FD" + model.getValue(pNode+"["+iRowNo+"]_pid") + "^FS"; // 등록번호
  1986. //-------------------------
  1987. iXPos = Number(iLeft) + 130;
  1988. iYPos = Number(iTop) + 140;
  1989. //sSndMsg += CommAX.PrtImgOut("GRAPH001", model.getValue(pNode+"["+iRowNo+"]_patnm")); // 환자명
  1990. //sSndMsg += "^CFA,20,20^FO"+iXPos+","+iYPos+"^XGGRAPH001,1,1^FS"; // -------> 구버젼
  1991. if(sCommKind == "01") { // 병렬출력
  1992. sSndMsg += "^CI14^FO"+iXPos+","+iYPos+"^AQN,20,20^FD"+ model.getValue(pNode+"["+iRowNo+"]_patnm") +"^FS^CI1";
  1993. } else if(sCommKind == "02") { // 직렬출력
  1994. sSndMsg += CommAX.PrtImgOut(iXPos, iYPos, model.getValue(pNode+"["+iRowNo+"]_patnm"), 1, 1); // -------> 한도버젼
  1995. sSndMsg += CommAX.HanImageData();
  1996. }
  1997. //-------------------------
  1998. iXPos = Number(iLeft) + 240;
  1999. iYPos = Number(iTop) + 145;
  2000. sSndMsg += "^CFA20,20^FO"+iXPos+","+iYPos+"^FD" + model.getValue(pNode+"["+iRowNo+"]_sexage") + "^FS"; // 성별_나이
  2001. //-------------------------
  2002. iXPos = Number(iLeft) + 300;
  2003. iYPos = Number(iTop) + 145;
  2004. sTempStr = model.getValue(pNode+"["+iRowNo+"]_orddeptnm");
  2005. sSndMsg += "^CFA20,20^FO"+iXPos+","+iYPos+"^FD" + sTempStr + "^FS"; // 진료과
  2006. //=========================
  2007. iXPos = Number(iLeft);
  2008. // iYPos = Number(iTop) + 195;
  2009. // sSndMsg += "^CFA20,20^FO"+iXPos+","+iYPos+"^FD" + model.getValue(pNode+"["+iRowNo+"]_spcdispnm") + "^FS"; // 검체표시명
  2010. //---------------------------------------------------------
  2011. sTempStr = model.getValue(pNode+"["+iRowNo+"]_spcdispnm");
  2012. sTempStr = sTempStr.replace("▨", ",");
  2013. //---------
  2014. iWidth = 0;
  2015. //aStr = lpzfGetHanGul(sTempStr, aFlag);
  2016. aArraySet = lpzfGetHanGul2(sTempStr, aFlag);
  2017. aFlag = aArraySet[0];
  2018. aStr = aArraySet[1];
  2019. for (var iNo=0; iNo < aStr.length; iNo++) {
  2020. //----------------------
  2021. if (aFlag[iNo] == "E") {
  2022. iYPos = Number(iTop) + 175;
  2023. sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS"; // 검체표시명(영문)
  2024. iWidth = iWidth + (Number(aStr[iNo].length) * iEGap);
  2025. } else {
  2026. iYPos = Number(iTop) + 170;
  2027. if(sCommKind == "01") { // 병렬출력
  2028. sSndMsg += "^CI14^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^AQN,20,20^FD"+ aStr[iNo].getTrim() +"^FS^CI1";
  2029. } else if(sCommKind == "02") { // 직렬출력
  2030. //sSndMsg += CommAX.PrtImgOut("GRAPH05"+iNo, aStr[iNo]); // 검체표시명(한글)
  2031. //sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^XGGRAPH05"+iNo+",1,1^FS"; // -------> 구버젼
  2032. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1); // -------> 한도버젼
  2033. sSndMsg += CommAX.HanImageData();
  2034. }
  2035. iWidth = iWidth + (Number(aStr[iNo].length) * iHGap);
  2036. }
  2037. }
  2038. //---------------------
  2039. if(sCommKind == "01") { // 병렬출력
  2040. //CommAX.SendMessageToLPT(sSndMsg);
  2041. CommAX.SendMsg(sSndMsg);
  2042. } else if(sCommKind == "02") { // 직렬출력
  2043. CommAX.SendMessage(sSndMsg);
  2044. }
  2045. sSndMsg = "";
  2046. //==========================
  2047. iXPos = Number(iLeft);
  2048. // iYPos = Number(iTop) + 225;
  2049. //---------------------------------------------------------
  2050. sTempStr = model.getValue(pNode+"["+iRowNo+"]_prntprcpdispnm");
  2051. sTempStr = sTempStr.replace("▨", ",");
  2052. //sTempStr = sTempStr.substring(0, sTempStr.length-1);
  2053. //---------
  2054. iWidth = 0;
  2055. //aStr = lpzfGetHanGul(sTempStr, aFlag);
  2056. aArraySet = lpzfGetHanGul2(sTempStr, aFlag);
  2057. aFlag = aArraySet[0];
  2058. aStr = aArraySet[1];
  2059. for (var iNo=0; iNo < aStr.length; iNo++) {
  2060. //----------------------
  2061. if (aFlag[iNo] == "E") {
  2062. iYPos = Number(iTop) + 200;
  2063. sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS"; // 검사명(영문)
  2064. iWidth = iWidth + (Number(aStr[iNo].length) * iEGap);
  2065. } else {
  2066. iYPos = Number(iTop) + 195;
  2067. if(sCommKind == "01") { // 병렬출력
  2068. sSndMsg += "^CI14^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^AQN,20,20^FD"+ aStr[iNo].getTrim() +"^FS^CI1";
  2069. } else if(sCommKind == "02") { // 직렬출력
  2070. //sSndMsg += CommAX.PrtImgOut("GRAPH05"+iNo, aStr[iNo]); // 검사명(한글)
  2071. //sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^XGGRAPH05"+iNo+",1,1^FS"; // -------> 구버젼
  2072. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1); // -------> 한도버젼
  2073. sSndMsg += CommAX.HanImageData();
  2074. }
  2075. iWidth = iWidth + (Number(aStr[iNo].length) * iHGap);
  2076. }
  2077. }
  2078. //---------------------
  2079. if(sCommKind == "01") { // 병렬출력
  2080. //CommAX.SendMessageToLPT(sSndMsg);
  2081. CommAX.SendMsg(sSndMsg);
  2082. } else if(sCommKind == "02") { // 직렬출력
  2083. CommAX.SendMessage(sSndMsg);
  2084. }
  2085. sSndMsg = "";
  2086. //------추가처방명 표시-------------------
  2087. iXPos = Number(iLeft);
  2088. sTempStr = model.getValue(pNode+"["+iRowNo+"]_prntprcpdispnm2")
  2089. iWidth = 0;
  2090. //aStr = lpzfGetHanGul(sTempStr, aFlag);
  2091. aArraySet = lpzfGetHanGul2(sTempStr, aFlag);
  2092. aFlag = aArraySet[0];
  2093. aStr = aArraySet[1];
  2094. for (var iNo=0; iNo < aStr.length; iNo++) {
  2095. //----------------------
  2096. if (aFlag[iNo] == "E") {
  2097. iYPos = Number(iTop) + 230;
  2098. sSndMsg += "^CFA20,20^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^FD" + aStr[iNo] + "^FS"; // 검사명(영문)
  2099. iWidth = iWidth + (Number(aStr[iNo].length) * iEGap);
  2100. } else {
  2101. iYPos = Number(iTop) + 225;
  2102. if(sCommKind == "01") { // 병렬출력
  2103. sSndMsg += "^CI14^FO"+(Number(iXPos)+Number(iWidth))+","+iYPos+"^AQN,20,20^FD"+ aStr[iNo].getTrim() +"^FS^CI1";
  2104. } else if(sCommKind == "02") { // 직렬출력
  2105. sSndMsg += CommAX.PrtImgOut((Number(iXPos)+Number(iWidth)), iYPos, aStr[iNo], 1, 1); // -------> 한도버젼
  2106. sSndMsg += CommAX.HanImageData();
  2107. }
  2108. iWidth = iWidth + (Number(aStr[iNo].length) * iHGap);
  2109. }
  2110. }
  2111. //------------------------------
  2112. sSndMsg += "^PQ"+pPrntCnt+"^XZ";
  2113. //---------------------
  2114. if(sCommKind == "01") { // 병렬출력
  2115. //CommAX.SendMessageToLPT(sSndMsg);
  2116. CommAX.SendMsg(sSndMsg);
  2117. } else if(sCommKind == "02") { // 직렬출력
  2118. CommAX.SendMessage(sSndMsg);
  2119. }
  2120. //----------------------
  2121. CommAX.SendMessage("^XZ");
  2122. }
  2123. }
  2124. }
  2125. }
  2126. /**
  2127. * _group : PathologyWeb Common
  2128. * _ver : 2007.09.13 (CMCDEV-0001)
  2129. * _by : Ryu
  2130. * _---------------------------------------------------
  2131. * _type : function
  2132. * _access : public
  2133. * _desc :
  2134. * _param :
  2135. *
  2136. * _return :
  2137. *
  2138. * ex) lpzfExeSePoResnInit("_root_init_seporesn1", "_root_init_seporesn2", "_root_init_seporesn3", "1");
  2139. * _----------------------------------------------------------------------------
  2140. */
  2141. function lpzfExeSePoResnInit(pNode, pNode2, pNode3, pBizFlagCd) {
  2142. var sNode = "_root_temp_exmpcd_exmpcdlist";
  2143. var iMaxRowCnt = 0;
  2144. //--------------------
  2145. model.makeNode(sNode);
  2146. ds_send.clearData();
  2147. model.removeNodeset(sNode);
  2148. //-----------------------------------------------------------
  2149. if (pNode != "") model.removeNodeset(pNode+"_seporesninfo");
  2150. if (pNode2 != "") model.removeNodeset(pNode2+"_seporesninfo");
  2151. if (pNode3 != "") model.removeNodeset(pNode3+"_seporesninfo");
  2152. //----------------
  2153. if (pNode != "") {
  2154. model.makeNode(pNode);
  2155. model.makeValue(pNode+"_dgflagcd", "");
  2156. model.makeValue(pNode+"_seporslt", "");
  2157. model.makeValue(pNode+"_mcnts", "");
  2158. model.makeValue(pNode+"_cmtcnts", "");
  2159. //----------------------
  2160. if (pBizFlagCd == "1") {
  2161. model.makeValue(pNode+"_seporesninfo_title", "Cervico-vaginal smear, liquid based cytology, automated screening system;");
  2162. model.makeValue(pNode+"_seporesninfo_title01", "1) Adequacy of specimen");
  2163. model.makeValue(pNode+"_seporesninfo_title02", "2) Cytologic diagnosis");
  2164. model.makeValue(pNode+"_seporesninfo_title03", "3) Comment :");
  2165. } else if (pBizFlagCd == "2") {
  2166. model.makeValue(pNode+"_seporesninfo_title", "Thyroid, left, conventional smear, needle aspiration cytology with cell block(증례별 자동인쇄);");
  2167. model.makeValue(pNode+"_seporesninfo_title01", "1) Adequacy of specimen");
  2168. model.makeValue(pNode+"_seporesninfo_title02", "2) Cytologic diagnosis");
  2169. model.makeValue(pNode+"_seporesninfo_title03", "3) Comment :");
  2170. } else {
  2171. model.makeValue(pNode+"_seporesninfo_title", "FINE NEEDLE ASPIRATION CYTOLOGY");
  2172. model.makeValue(pNode+"_seporesninfo_title01", "1. PROCEDURE");
  2173. model.makeValue(pNode+"_seporesninfo_title02", "2. SPECIMEN:");
  2174. model.makeValue(pNode+"_seporesninfo_title03", "3. REMARK:");
  2175. model.makeValue(pNode+"_seporesninfo_title04", "4. DIAGNOSIS:");
  2176. }
  2177. }
  2178. //----------------
  2179. if (pNode2 != "") {
  2180. model.makeNode(pNode2);
  2181. model.makeValue(pNode2+"_dgflagcd", "");
  2182. model.makeValue(pNode2+"_seporslt", "");
  2183. model.makeValue(pNode2+"_mcnts", "");
  2184. model.makeValue(pNode2+"_cmtcnts", "");
  2185. //----------------------
  2186. if (pBizFlagCd == "1") {
  2187. model.makeValue(pNode2+"_seporesninfo_title", "Cervico-vaginal smear, liquid based cytology, automated screening system;");
  2188. model.makeValue(pNode2+"_seporesninfo_title01", "1) Adequacy of specimen");
  2189. model.makeValue(pNode2+"_seporesninfo_title02", "2) Cytologic diagnosis");
  2190. model.makeValue(pNode2+"_seporesninfo_title03", "3) Comment :");
  2191. } else if (pBizFlagCd == "2") {
  2192. model.makeValue(pNode2+"_seporesninfo_title", "Thyroid, left, conventional smear, needle aspiration cytology with cell block(증례별 자동인쇄);");
  2193. model.makeValue(pNode2+"_seporesninfo_title01", "1) Adequacy of specimen");
  2194. model.makeValue(pNode2+"_seporesninfo_title02", "2) Cytologic diagnosis");
  2195. model.makeValue(pNode2+"_seporesninfo_title03", "3) Comment :");
  2196. } else {
  2197. model.makeValue(pNode2+"_seporesninfo_title", "FINE NEEDLE ASPIRATION CYTOLOGY");
  2198. model.makeValue(pNode2+"_seporesninfo_title01", "1. PROCEDURE");
  2199. model.makeValue(pNode2+"_seporesninfo_title02", "2. SPECIMEN:");
  2200. model.makeValue(pNode2+"_seporesninfo_title03", "3. REMARK:");
  2201. model.makeValue(pNode2+"_seporesninfo_title04", "4. DIAGNOSIS:");
  2202. }
  2203. }
  2204. //----------------
  2205. if (pNode3 != "") {
  2206. model.makeNode(pNode3);
  2207. model.makeValue(pNode3+"_dgflagcd", "");
  2208. model.makeValue(pNode3+"_seporslt", "");
  2209. model.makeValue(pNode3+"_mcnts", "");
  2210. model.makeValue(pNode3+"_cmtcnts", "");
  2211. //----------------------
  2212. if (pBizFlagCd == "1") {
  2213. model.makeValue(pNode3+"_seporesninfo_title", "Cervico-vaginal smear, liquid based cytology, automated screening system;");
  2214. model.makeValue(pNode3+"_seporesninfo_title01", "1) Adequacy of specimen");
  2215. model.makeValue(pNode3+"_seporesninfo_title02", "2) Cytologic diagnosis");
  2216. model.makeValue(pNode3+"_seporesninfo_title03", "3) Comment :");
  2217. } else if (pBizFlagCd == "2") {
  2218. model.makeValue(pNode3+"_seporesninfo_title", "Thyroid, left, conventional smear, needle aspiration cytology with cell block(증례별 자동인쇄);");
  2219. model.makeValue(pNode3+"_seporesninfo_title01", "1) Adequacy of specimen");
  2220. model.makeValue(pNode3+"_seporesninfo_title02", "2) Cytologic diagnosis");
  2221. model.makeValue(pNode3+"_seporesninfo_title03", "3) Comment :");
  2222. } else {
  2223. model.makeValue(pNode3+"_seporesninfo_title", "FINE NEEDLE ASPIRATION CYTOLOGY");
  2224. model.makeValue(pNode3+"_seporesninfo_title01", "1. PROCEDURE");
  2225. model.makeValue(pNode3+"_seporesninfo_title02", "2. SPECIMEN:");
  2226. model.makeValue(pNode3+"_seporesninfo_title03", "3. REMARK:");
  2227. model.makeValue(pNode3+"_seporesninfo_title04", "4. DIAGNOSIS:");
  2228. }
  2229. }
  2230. //-----------------------------------------------------------------
  2231. dsf_makeValue( ds_send, "instcd", "string", sysf_getUserInfo("dutplceinstcd"));
  2232. //----------------------
  2233. if (pBizFlagCd == "1") {
  2234. dsf_makeValue( ds_send, "fromexmpcd", "string", "800000"); // 부인과 예문
  2235. dsf_makeValue( ds_send, "toexmpcd", "string", "8zzzzz");
  2236. } else if (pBizFlagCd == "2") {
  2237. dsf_makeValue( ds_send, "fromexmpcd", "string", "900000"); // 비부인과 예문
  2238. dsf_makeValue( ds_send, "toexmpcd", "string", "9zzzzz");
  2239. } else if (pBizFlagCd == "3") {
  2240. dsf_makeValue( ds_send, "fromexmpcd", "string", "600000"); // 세침흡인 예문(Thyroid외)
  2241. dsf_makeValue( ds_send, "toexmpcd", "string", "6zzzzz");
  2242. } else {
  2243. dsf_makeValue( ds_send, "fromexmpcd", "string", "500000"); // 세침흡인 예문(Thyroid)
  2244. dsf_makeValue( ds_send, "toexmpcd", "string", "5zzzzz");
  2245. }
  2246. //-------------------
  2247. submit("TRLPZ00111");
  2248. //--------------------------
  2249. // 검색된 자료를 노드로 변환
  2250. iMaxRowCnt = getNodesetCount(sNode);
  2251. //-----------------------------------------
  2252. for (var iNo=1; iNo <= iMaxRowCnt; iNo++) {
  2253. //----------------
  2254. if (pNode != "") {
  2255. model.makeValue(pNode+"_seporesninfo_val" + model.getValue(sNode+"["+iNo+"]_exmpcd"), "0");
  2256. model.makeValue(pNode+"_seporesninfo_lbl" + model.getValue(sNode+"["+iNo+"]_exmpcd"), model.getValue(sNode+"["+iNo+"]_exmpnm"));
  2257. model.makeValue(pNode+"_seporesninfo_other" + model.getValue(sNode+"["+iNo+"]_exmpcd"), "");
  2258. model.makeValue(pNode+"_seporesninfo_nm" + model.getValue(sNode+"["+iNo+"]_exmpcd"), model.getValue(sNode+"["+iNo+"]_exmpcnts"));
  2259. }
  2260. //-----------------
  2261. if (pNode2 != "") {
  2262. model.makeValue(pNode2+"_seporesninfo_val" + model.getValue(sNode+"["+iNo+"]_exmpcd"), "0");
  2263. model.makeValue(pNode2+"_seporesninfo_lbl" + model.getValue(sNode+"["+iNo+"]_exmpcd"), model.getValue(sNode+"["+iNo+"]_exmpnm"));
  2264. model.makeValue(pNode2+"_seporesninfo_other" + model.getValue(sNode+"["+iNo+"]_exmpcd"), "");
  2265. model.makeValue(pNode2+"_seporesninfo_nm" + model.getValue(sNode+"["+iNo+"]_exmpcd"), model.getValue(sNode+"["+iNo+"]_exmpcnts"));
  2266. }
  2267. //-----------------
  2268. if (pNode3 != "") {
  2269. model.makeValue(pNode3+"_seporesninfo_val" + model.getValue(sNode+"["+iNo+"]_exmpcd"), "0");
  2270. model.makeValue(pNode3+"_seporesninfo_lbl" + model.getValue(sNode+"["+iNo+"]_exmpcd"), model.getValue(sNode+"["+iNo+"]_exmpnm"));
  2271. model.makeValue(pNode3+"_seporesninfo_other" + model.getValue(sNode+"["+iNo+"]_exmpcd"), "");
  2272. model.makeValue(pNode3+"_seporesninfo_nm" + model.getValue(sNode+"["+iNo+"]_exmpcd"), model.getValue(sNode+"["+iNo+"]_exmpcnts"));
  2273. }
  2274. }
  2275. }
  2276. /**
  2277. * _group : PathologyWeb Common
  2278. * _ver : 2007.09.14 (CMCDEV-0001)
  2279. * _by : Ryu
  2280. * _---------------------------------------------------
  2281. * _type : function
  2282. * _access : public
  2283. * _desc :
  2284. * _param :
  2285. *
  2286. * _return :
  2287. *
  2288. * ??) lpzfExeFrmPrnt("1");
  2289. * modal("SPPAS03000", "2", "100", "100", "SPPAS03000", "root_main_cond", "root_target",
  2290. * "left:100; top:100; width:400; height:400; sysmenu:hidden; min:visible; max:hidden; :hidden; resize:true; caption:visible;", false);
  2291. * _-------------------------------------------------------------------
  2292. */
  2293. function lpzfExeFrmPrnt(pNode) {
  2294. var sProp = "top:0px;left:0px;width:0;height:0;";
  2295. //var sProp = "left:0; top:0; width:100; height:100; sysmenu:hidden; min:visible; max:hidden; :hidden; resize:true; caption:visible;";
  2296. dsf_makeValue( ds_init_prntinfo, "instcd", "string", sysf_getUserInfo("dutplceinstcd")); // 기관코드
  2297. dsf_makeValue( ds_init_prntinfo, "ptno", "string", model.getValue(pNode+"_ptno")); // 병리번호
  2298. dsf_makeValue( ds_init_prntinfo, "pid", "string", model.getValue(pNode+"_pid")); // 등록번호
  2299. dsf_makeValue( ds_init_prntinfo, "acptdd", "string", model.getValue(pNode+"_acptdd")); // 접수일자
  2300. dsf_makeValue( ds_init_prntinfo, "adddiagprtn", "string", model.getValue(pNode+"_adddiagprtn")); // 추가결과보고서 여부
  2301. dsf_makeValue( ds_init_prntinfo, "adddiaglist", "string", model.getValue(pNode+"_adddiaglist"));
  2302. dsf_makeValue( ds_init_prntinfo, "addrsltlist", "string", model.getValue(pNode+"_addrsltlist"));
  2303. //----------------------------------------------------------
  2304. if (ds_init_prntinfo.getColumn(0, "prntflagcd") == "0") { // 출력(0), 미리보기(1)
  2305. modal("SPLPP01600", "2", "0", "0", "SPLPP01600", "_root_init_prntinfo", "_root_temp", sProp);
  2306. } else {
  2307. modal("SPLPP01600", "", "", "", "SPLPP01600", "_root_init_prntinfo", "_root_temp");
  2308. }
  2309. }
  2310. /**
  2311. * _group : PathologyWeb Common
  2312. * _ver : 2007.10.10 (CMCDEV-0001)
  2313. * _by : Ryu
  2314. * _---------------------------------------------------
  2315. * _type : function
  2316. * _access : public
  2317. * _desc :
  2318. * _param :
  2319. *
  2320. * _return :
  2321. *
  2322. * ??) lpzfExeCsteCnt("FSP.1-1", "1", "1");
  2323. * _-------------------------------------------------------------------
  2324. */
  2325. function lpzfExeCsteCnt(pCsteType, pSpcNo, pCsteNo) {
  2326. var aDot = "";
  2327. var aMinus = "";
  2328. //--------------------------
  2329. aDot = pCsteType.split(".");
  2330. if (aDot.length == 1) {
  2331. if (pCsteType.getTrim() == "공백") {
  2332. return " ";
  2333. } else if (pCsteType.getTrim() == "단일번호") { // 숫자
  2334. return pSpcNo;
  2335. } else if (pCsteType.getTrim() == "이중번호") { // 숫자
  2336. return pSpcNo + "-" + pCsteNo;
  2337. } else if (pCsteType.getTrim() == "일련번호") { // 숫자
  2338. return pCsteNo;
  2339. } else if (pCsteType.getTrim() == "신규번호") { // 숫자
  2340. return pCsteNo;
  2341. } else if (pCsteType.getTrim() == "문자번호") { // 2010-07-29 : YDC 추가
  2342. return String.fromCharCode(Number(pCsteNo) + 64);
  2343. } else if (pCsteType.getTrim() == "영문단일") {
  2344. return String.fromCharCode(Number(pSpcNo) + 64);
  2345. } else if (pCsteType.getTrim() == "영문이중") {
  2346. return String.fromCharCode(Number(pSpcNo) + 64) + "-" + pCsteNo;
  2347. } else {
  2348. return " ";
  2349. }
  2350. } else {
  2351. if (aDot[1].getTrim() == "") { // 숫자 Only
  2352. return aDot[0];
  2353. } else {
  2354. aMinus = aDot[1].split("-");
  2355. if (aMinus.length == 1) { // 문자 + 단일번호
  2356. return aDot[0] + pSpcNo;
  2357. } else {
  2358. if (aMinus[1].getTrim() == "") { // 문자 + 단일번호
  2359. return aDot[0] + pSpcNo;
  2360. } else {
  2361. return aDot[0] + pSpcNo + "-" + pCsteNo; // 문자 + 이중번호
  2362. }
  2363. }
  2364. }
  2365. }
  2366. }
  2367. /**
  2368. * _group : PathologyWeb Common
  2369. * _ver : 2007.10.10 (CMCDEV-0001)
  2370. * _by : Ryu
  2371. * _---------------------------------------------------
  2372. * _type : function
  2373. * _access : public
  2374. * _desc :
  2375. * _param :
  2376. *
  2377. * _return :
  2378. *
  2379. * ??) lpzfExeCsteCntsSplit("_root_init_resncd_resncdlist");
  2380. * _-------------------------------------------------------------------
  2381. */
  2382. function lpzfExeCsteCntsSplit(pNode) {
  2383. var iCnt1 = 1;
  2384. var iCnt2 = 1;
  2385. var sNode1 = "_root_init_cstechar_cstecharlist";
  2386. var sNode2 = "_root_init_cstecharno_cstecharnolist";
  2387. var iMaxNo = getNodesetCount(pNode);
  2388. var sCsteChar = "";
  2389. var sCsteNo = "";
  2390. var aCsteCnts = "";
  2391. var sCsteCnts = "";
  2392. var bState = false;
  2393. //---------------------
  2394. // Cassette 목록 초기화
  2395. model.removeNodeset(sNode1);
  2396. model.removeNodeset(sNode2);
  2397. model.makeNode(sNode1);
  2398. model.makeNode(sNode2);
  2399. //-------------------------------------
  2400. for (var iNo=1; iNo <= iMaxNo; iNo++) {
  2401. //-----------------------------------------------------
  2402. sCsteCnts = model.getValue(pNode+"["+iNo+"]_resncnts");
  2403. sCsteCnts = sCsteCnts.replace("\n", "");
  2404. aCsteCnts = sCsteCnts.split(".");
  2405. if (aCsteCnts.length == 1) {
  2406. model.makeValue(sNode2+"["+iCnt2+"]_no", iCnt2);
  2407. model.makeValue(sNode2+"["+iCnt2+"]_cnts", sCsteCnts);
  2408. iCnt2++;
  2409. } else {
  2410. //-------------
  2411. bState = false;
  2412. for (var iRowNo=1; iRowNo <= getNodesetCount(sNode1); iRowNo++) {
  2413. //----------------------------------------------------------------------
  2414. if (model.getValue(sNode1+"["+iRowNo+"]_cnts") == aCsteCnts[0].getTrim()) {
  2415. bState = true;
  2416. break;
  2417. }
  2418. }
  2419. //------------
  2420. if (!bState) {
  2421. model.makeValue(sNode1+"["+iCnt1+"]_no", iCnt1);
  2422. model.makeValue(sNode1+"["+iCnt1+"]_cnts", aCsteCnts[0].getTrim());
  2423. iCnt1++;
  2424. }
  2425. //---------------------------------
  2426. if (aCsteCnts[1].getTrim() != "") {
  2427. //-------------
  2428. bState = false;
  2429. for (var iRowNo=1; iRowNo <= getNodesetCount(sNode2); iRowNo++) {
  2430. //-------------------------------------------------------------------------
  2431. if (model.getValue(sNode2+"["+iRowNo+"]_cnts") == aCsteCnts[1].getTrim()) {
  2432. bState = true;
  2433. break;
  2434. }
  2435. }
  2436. //------------
  2437. if (!bState) {
  2438. model.makeValue(sNode2+"["+iCnt2+"]_no", iCnt2);
  2439. model.makeValue(sNode2+"["+iCnt2+"]_cnts", aCsteCnts[1].getTrim());
  2440. iCnt2++;
  2441. }
  2442. }
  2443. }
  2444. }
  2445. }
  2446. /**
  2447. * _group : PathologyWeb Common
  2448. * _ver : 2007.11.28 (CMCDEV-0001)
  2449. * _by : Ryu
  2450. * _---------------------------------------------------
  2451. * _type : function
  2452. * _access : public
  2453. * _desc :
  2454. * _param : pBizFlagCd : 1(GY), 2(Non-GY)
  2455. *
  2456. * _return :
  2457. *
  2458. * ex) lpzfExeMakeGyNonGyExmp("_root_main_exmpcd_exmpcdlist", "1");
  2459. * _-------------------------------------------------------------------
  2460. */
  2461. function lpzfExeMakeGyNonGyExmp(pNode, pBizFlagCd) {
  2462. var iMaxRowCnt = 0;
  2463. var objCap = "";
  2464. //--------------------------------
  2465. ds_send.clearData();
  2466. dsf_makeValue( ds_send, "instcd", "string", sysf_getUserInfo("dutplceinstcd"));
  2467. if (pBizFlagCd == "1") {
  2468. dsf_makeValue( ds_send, "fromexmpcd", "string", "800000"); // 부인과 예문
  2469. dsf_makeValue( ds_send, "toexmpcd", "string", "8zzzzz");
  2470. } else if (pBizFlagCd == "2") {
  2471. dsf_makeValue( ds_send, "fromexmpcd", "string", "900000"); // 비부인과 예문
  2472. dsf_makeValue( ds_send, "toexmpcd", "string", "9zzzzz");
  2473. } else if (pBizFlagCd == "3") {
  2474. dsf_makeValue( ds_send, "fromexmpcd", "string", "600000"); // Thyroid외
  2475. dsf_makeValue( ds_send, "toexmpcd", "string", "6zzzzz");
  2476. } else if (pBizFlagCd == "4") {
  2477. dsf_makeValue( ds_send, "fromexmpcd", "string", "500000"); // Thyroid
  2478. dsf_makeValue( ds_send, "toexmpcd", "string", "5zzzzz");
  2479. }
  2480. //-------------------
  2481. submit("TRLPZ00111");
  2482. }
  2483. /**
  2484. * _group : PathologyWeb Common
  2485. * _ver : 2007.12.19 (CMCDEV-0001)
  2486. * _ver : 2008.01.10 (CMCDEV-0001)
  2487. * : 상단정보 API변경
  2488. * _by : Ryu
  2489. * _---------------------------------------------------
  2490. * _type : function
  2491. * _access : public
  2492. * _desc :
  2493. * _param : pBizFlagCd : 1(GY), 2(Non-GY)
  2494. *
  2495. * _return :
  2496. *
  2497. * ex) lpzfTopInfo();
  2498. * _-------------------------------------------------------------------
  2499. */
  2500. function lpzfTopInfo() {
  2501. /*
  2502. var paminfo = sysf_getGlobalVariable("paminfo"); //프로그램에 따라 원무정보(paminfo), 환자기본정보(patflag) get
  2503. //---------------------------------
  2504. // 원무 정보(기본 정보)가 있는 경우
  2505. if(paminfo != "") {
  2506. ds_paminfo.clearData(); //여러개의 instance발생을 막기 위해 removeNodeset을 해줘야 함.
  2507. dsf_makeValue( ds, "paminfo", "string", "" );
  2508. setCSVToNode("_root_paminfo", paminfo);
  2509. }
  2510. */
  2511. ds_paminfo.clearData();
  2512. dsf_makeValue( ds, "paminfo", "string", "" );
  2513. getPatientInfoDetails("_root_paminfo");
  2514. }
  2515. /**
  2516. * _group : PathologyWeb Common
  2517. * _ver : 2008.01.02 (CMCDEV-0001)
  2518. * _by : Ryu
  2519. * _---------------------------------------------------
  2520. * _type : function
  2521. * _access : public
  2522. * _desc :
  2523. * _param : pControl : Object Control Name
  2524. * pNode1 : Source Node Path
  2525. * pNode2 : Dest Node Path
  2526. *
  2527. * _return :
  2528. *
  2529. * ex) lpzfTopInfo();
  2530. * _-------------------------------------------------------------------
  2531. */
  2532. function lpzfExeDateChange(pControl, pNode1, pNode2) {
  2533. var sDate = model.getValue(pNode1);
  2534. model.makeValue(pNode2, sDate.substr(2,2));
  2535. //pControl.refresh();
  2536. }
  2537. /**
  2538. * _group : PathologyWeb Common
  2539. * _ver : 2008.01.02 (CMCDEV-0001)
  2540. * _by : Ryu
  2541. * _---------------------------------------------------
  2542. * _type : function
  2543. * _access : public
  2544. * _desc : Grid To Excel File
  2545. * _param : pControl : Object Control Name
  2546. * pTitle : Sheet Title
  2547. *
  2548. * _return :
  2549. *
  2550. * ex) lpzfExeSaveToExcel();
  2551. * _-------------------------------------------------------------------
  2552. */
  2553. function lpzfExeSaveToExcel(pControl, pTitle) {
  2554. var fileName = window.fileDialog("save", ",", false, "", "xls", "Excel Files(*.xls)|*.xls");
  2555. //-------------------
  2556. if (fileName != "") {
  2557. pControl.saveExcel(fileName, pTitle, false, false);
  2558. sysf_messageBox(fileName + " 파일생성이 ", "I002");
  2559. }
  2560. }
  2561. /**
  2562. * _group : PathologyWeb Common
  2563. * _ver : 2008.01.21 (CMCDEV-0001)
  2564. * _by : Ryu
  2565. * _---------------------------------------------------
  2566. * _type : function
  2567. * _access : public
  2568. * _desc : Hangul Or English
  2569. * _param : pData --> Original String
  2570. * : aFlag[] --> H(Hangle) / E(English)
  2571. *
  2572. *
  2573. * _return :
  2574. *
  2575. * ex) lpzffGetHanGul(pData, aFlag);
  2576. * _-------------------------------------------------------------------
  2577. */
  2578. function lpzfGetHanGul(pData, aFlag) {
  2579. var re = /([!-~]*)*_g;
  2580. var matchMatrix = pData.match(re);
  2581. var aData = new Array();
  2582. var iSPos = 0;
  2583. var iFindPos = 0;
  2584. var iDataCnt = 0;
  2585. var iHngCnt = 0;
  2586. var bHngState = false;
  2587. //---------------------------------------
  2588. for(j = 0; j < matchMatrix.length-1; j++) {
  2589. tmpStr = matchMatrix[j] + "";
  2590. //-------------------------
  2591. if (matchMatrix[j] == "") {
  2592. bHngState = true;
  2593. iHngCnt++;
  2594. } else {
  2595. //--------------
  2596. if (bHngState) {
  2597. aFlag[iDataCnt] = "H";
  2598. aData[iDataCnt] = pData.substr(iSPos, iHngCnt);
  2599. bHngState = false;
  2600. iSPos += iHngCnt;
  2601. iHngCnt = 0;
  2602. iDataCnt++;
  2603. }
  2604. //--------------------
  2605. aFlag[iDataCnt] = "E";
  2606. iFindPos = pData.indexOf(matchMatrix[j], iSPos);
  2607. aData[iDataCnt] = matchMatrix[j]
  2608. //------------------------------------------------
  2609. iSPos = Number(iFindPos) + Number(tmpStr.length);
  2610. iDataCnt++;
  2611. }
  2612. }
  2613. //--------------
  2614. if (bHngState) {
  2615. aFlag[iDataCnt] = "H";
  2616. aData[iDataCnt] = pData.substr(iSPos, iHngCnt);
  2617. bHngState = false;
  2618. }
  2619. //-----------
  2620. return aData;
  2621. }
  2622. /**
  2623. * _group : PathologyWeb Common
  2624. * _ver : 2010.12.17 (CMCDEV-0001)
  2625. * _by : Ryu
  2626. * _---------------------------------------------------
  2627. * _type : function
  2628. * _access : public
  2629. * _desc : Hangul Or English 공백포함
  2630. * _param : pData --> Original String
  2631. * : aFlag[] --> H(Hangle) / E(English)
  2632. *
  2633. *
  2634. * _return :
  2635. *
  2636. * ex) lpzffGetHanGul2(pData, aFlag);
  2637. * _-------------------------------------------------------------------
  2638. */
  2639. function lpzfGetHanGul2(pData, aFlag) {
  2640. var aSplit = pData.split(" "); // 공백을 기준으로 분리
  2641. var sData = "";
  2642. var re = /([!-~]*)*_g;
  2643. var matchMatrix = ""
  2644. var aFlag = new Array();
  2645. var aData = new Array();
  2646. var aDataS = new Array();
  2647. var iSPos = 0;
  2648. var iFindPos = 0;
  2649. var iDataCnt = 0;
  2650. var iHngCnt = 0;
  2651. var bHngState = false;
  2652. //--------------------------------------------
  2653. for (var iNo=0; iNo < aSplit.length; iNo++) {
  2654. //----------------------------
  2655. sData = aSplit[iNo].getTrim(); // 공백을 기준으로 분리된 자료
  2656. matchMatrix = sData.match(re);
  2657. //-----------
  2658. iSPos = 0;
  2659. iHngCnt = 0;
  2660. bHngState = false;
  2661. //---------------------------------------
  2662. for(j = 0; j < matchMatrix.length-1; j++) {
  2663. tmpStr = matchMatrix[j] + "";
  2664. //------------------------------------
  2665. if (matchMatrix[j].getTrim() == "") {
  2666. bHngState = true;
  2667. iHngCnt++;
  2668. } else {
  2669. //--------------
  2670. if (bHngState) {
  2671. aFlag[iDataCnt] = "H";
  2672. aData[iDataCnt] = sData.substr(iSPos, iHngCnt);
  2673. bHngState = false;
  2674. iSPos += iHngCnt;
  2675. iHngCnt = 0;
  2676. iDataCnt++;
  2677. }
  2678. //--------------------
  2679. aFlag[iDataCnt] = "E";
  2680. iFindPos = sData.indexOf(matchMatrix[j], iSPos);
  2681. aData[iDataCnt] = matchMatrix[j]
  2682. //------------------------------------------------
  2683. iSPos = Number(iFindPos) + Number(tmpStr.length);
  2684. iDataCnt++;
  2685. }
  2686. }
  2687. //--------------
  2688. if (bHngState) {
  2689. aFlag[iDataCnt] = "H";
  2690. aData[iDataCnt] = sData.substr(iSPos, iHngCnt);
  2691. bHngState = false;
  2692. iDataCnt++;
  2693. }
  2694. //-----------------------------------------
  2695. // 공백을 기준으로 분리하였기에 공백을 넣어준다.
  2696. aFlag[iDataCnt] = "E";
  2697. aData[iDataCnt] = " ";
  2698. iDataCnt++;
  2699. }
  2700. //----------------
  2701. // 2차원 배열로 전달
  2702. aDataS[0] = aFlag;
  2703. aDataS[1] = aData;
  2704. //-----------
  2705. return aDataS;
  2706. }
  2707. /**
  2708. * _group : PathologyWeb Common
  2709. * _ver : 2008.02.22 (CMCDEV-0001)
  2710. * _by : Ryu
  2711. * _---------------------------------------------------
  2712. * _type : function
  2713. * _access : public
  2714. * _desc : 상단정보 표시
  2715. * _param : pPrcpDD ---> 처방일자
  2716. * : pExecPrcpUniqNo ---> 실시처방유일번호
  2717. * : pInstCd ---> 기관코드
  2718. *
  2719. * _return :
  2720. *
  2721. * ex) fExeTopInfoDisp("20080101", 34, "012");
  2722. * _-------------------------------------------------------------------
  2723. */
  2724. function lpzfExeTopInfoDisp(pPrcpDD, pExecPrcpUniqNo, pInstCd) {
  2725. var sTopInfo = "S▦";
  2726. sTopInfo += pPrcpDD + "▦";
  2727. sTopInfo += pExecPrcpUniqNo + "▦";
  2728. sTopInfo += pInstCd;
  2729. // setParameter("condparam", "S" + "▦" + pPrcpDD + "▦" + pExecPrcpUniqNo + "▦" + pInstCd);
  2730. setParameter("condparam", sTopInfo);
  2731. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  2732. }
  2733. /**
  2734. * _group : PathologyWeb Common
  2735. * _ver : 2008.03.07 (CMCDEV-0001)
  2736. * _by : Ryu
  2737. * _---------------------------------------------------
  2738. * _type : function
  2739. * _access : public
  2740. * _desc : 병리번호에 해당하는 결과조회 표시
  2741. * _param : pRowNo ---> 로우 번호
  2742. * : pNode ---> 인스턴스 노드
  2743. * : pColNm ---> 기관코드
  2744. * : pPid ---> 등록번호
  2745. * : pAcptDD ---> 접수일자
  2746. *
  2747. * _return :
  2748. *
  2749. * ex) lpzfExeRsltRefCall(grd_bfptno.row, "_root_main_bfptnohist_ptnohistlist", "view_ptno", "pid", "bfacptdd");
  2750. *
  2751. * _-------------------------------------------------------------------
  2752. */
  2753. function lpzfExeRsltRefCall(pRowNo, pNode, pColNm, pPid, pAcptDD) {
  2754. var sPtNo = model.getValue(pNode + "[" + pRowNo + "]/" + pColNm);
  2755. var sPid = model.getValue(pNode + "[" + pRowNo + "]/" + pPid);
  2756. var sAcptDD = model.getValue(pNode + "[" + pRowNo + "]/" + pAcptDD);
  2757. var aPtNo = "";
  2758. //-----------------------
  2759. aPtNo = sPtNo.split("-");
  2760. //----------------------------------------------
  2761. setParameter("SMLPP00500_scrno", "SMLPJ00300");
  2762. setParameter("SMLPP00500_pid", sPid);
  2763. setParameter("SMLPP00500_acptdd", sAcptDD);
  2764. setParameter("SMLPP00500_no", aPtNo[1]);
  2765. setParameter("SMLPP00500_ptnocd", aPtNo[0].substr(0, (aPtNo[0].length-2)));
  2766. setParameter("SMLPP00500_year", aPtNo[0].substr(aPtNo[0].length-2, 2));
  2767. //------------------
  2768. frmf_modal("SMLPP00500", "", "", "", "", "", "", "", "", "", "", "", "M");
  2769. }
  2770. /**
  2771. * _group : PathologyWeb Common
  2772. * _ver : 2008.07.26 (CMCDEV-0001)
  2773. * _by : Ryu
  2774. * _---------------------------------------------------
  2775. * _type : function
  2776. * _access : public
  2777. * _desc : 사용자 비밀번호 확인
  2778. * _param : pCtrlNm ---> Control Object List : Array
  2779. * _return :
  2780. *
  2781. * ex) lpzfExeRsltRefCall(grd_bfptno.row, "_root_main_bfptnohist_ptnohistlist", "view_ptno", "pid", "bfacptdd");
  2782. *
  2783. * _-------------------------------------------------------------------
  2784. */
  2785. function lpzfExeUserPwdCnfm(pCtrlNm) {
  2786. setParameter("pwdvalid", "N");
  2787. modal("SPLPZ00100", "", "", "", "", "", "", "left:500; top:400; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  2788. //modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  2789. }
  2790. /**
  2791. * _desc : 콤보박스에 원하는 instance node와 value를 설정
  2792. * _
  2793. * _param : signbfcnts: sign할 데이터
  2794. : signid: sign 할 유저의 id
  2795. : signopt: false 로그인후 한번만 띄움, true: 매번띄움
  2796. : setnode: sign 데이터를 setValue 할 인스턴스 값이 있을 때만 함
  2797. * _event :
  2798. * _return :
  2799. * _---------------------------------------------------
  2800. */
  2801. function lpzfPlgyPrcpSaveSign ( signbfcnts, signid, signopt, setnode ) {
  2802. var v_stext = "";
  2803. //---------------------------
  2804. // 인증전 자료가 존재할 경우 처리
  2805. if ( !utlf_isNull( signbfcnts )) {
  2806. if (signopt) {
  2807. v_stext = zesfSignData( signbfcnts, signid, signopt );
  2808. //v_stext = "-";
  2809. } else {
  2810. v_stext = zesfSignData( signbfcnts, signid );
  2811. //v_stext = "-";
  2812. }
  2813. //----------------------------
  2814. // 인증 후 자료가 Null인 경우 처리
  2815. if ( utlf_isNull(v_stext)) {
  2816. return ""; //값이 없을 때는 return 함
  2817. }
  2818. } else {
  2819. return "N"; //인증할 데이터가 없을 때는 N 으로 return
  2820. }
  2821. //---------------------------------------------------
  2822. if ( !utlf_isNull (setnode)) { //setnode가 있을경우 setvalue
  2823. model.makeValue( setnode, v_stext );
  2824. }
  2825. //-------------
  2826. return v_stext;
  2827. }
  2828. /**
  2829. * _group : PathologyWeb Common
  2830. * _ver : 2009.04.17 (CMCDEV-0001)
  2831. * _by : linar21c
  2832. * _---------------------------------------------------
  2833. * _type : function
  2834. * _access : public
  2835. * _desc : 처방인증 데이터 생성
  2836. * _param :
  2837. * _return :
  2838. */
  2839. function lpzfPlgyPrcpSignMake(pSourceNode, pPatInfo, pPrcpRepl) {
  2840. var sResultNode = "";
  2841. var sDay = "";
  2842. if(pPatInfo == "Y") {
  2843. sResultNode = "$환자진료정보";
  2844. sResultNode += "_등록번호:" + model.getValue(pSourceNode + "_pid");
  2845. sResultNode += "_이름:" + model.getValue(pSourceNode + "_patnm");
  2846. sResultNode += "_성별_나이:" + model.getValue(pSourceNode + "_sex") + " / " + model.getValue(pSourceNode + "_age");
  2847. if (model.getValue(pSourceNode + "_orddeptnm") != "" ) {
  2848. sResultNode += "_진료과:" + model.getValue(pSourceNode + "_orddeptnm") + "(" + model.getValue(pSourceNode + "_orddeptcd") +")";
  2849. }
  2850. sDay = model.getValue(pSourceNode + "_orddd");
  2851. if (model.getValue(pSourceNode + "_prcpgenrflag") == "O" || model.getValue(pSourceNode + "_prcpgenrflag") == "S") {
  2852. sResultNode += "_진료의:" + model.getValue(pSourceNode + "_orddrnm") + "(" + model.getValue(pSourceNode + "_orddrid") +")";
  2853. if((sDay != "") && (sDay != "-")) {
  2854. sResultNode += "_진료일자:" + sDay.substr(0, 4) + "년 " + sDay.substr(4, 2) + "월 " + sDay.substr(6, 2) + "일";
  2855. }
  2856. } else {
  2857. sResultNode += "_진료의:" + model.getValue(pSourceNode + "_orddrnm") + "(" + model.getValue(pSourceNode + "_orddrid") +")";
  2858. if((sDay != "") && (sDay != "-")) {
  2859. sResultNode += "_입원일자:" + sDay.substr(0, 4) + "년 " + sDay.substr(4, 2) + "월 " + sDay.substr(6, 2) + "일";
  2860. }
  2861. }
  2862. sResultNode += "$환자처방정보";
  2863. }
  2864. sResultNode += "_처리구분:";
  2865. //처방변경화면
  2866. if(pPrcpRepl == "Y") {
  2867. if (model.getValue(pSourceNode + "_tempstatus") == "I") {
  2868. sResultNode += "신규";
  2869. } else if(model.getValue(pSourceNode + "_tempstatus") == "C") {
  2870. sResultNode += "DC";
  2871. }
  2872. } else {
  2873. if (model.getValue(pSourceNode + "_status") == "I") {
  2874. sResultNode += "신규";
  2875. } else if(model.getValue(pSourceNode + "_status") == "C") {
  2876. sResultNode += "DC";
  2877. }
  2878. }
  2879. sResultNode += "_처방구분:";
  2880. if(model.getValue(pSourceNode + "_prcpflag") == "1") {
  2881. sResultNode += "수가";
  2882. } else if(model.getValue(pSourceNode + "_prcpflag") == "2"){
  2883. sResultNode += "지시";
  2884. } else if(model.getValue(pSourceNode + "_prcpflag") == "3") {
  2885. sResultNode += "식사";
  2886. }
  2887. sDay = model.getValue(pSourceNode + "_prcpdd");
  2888. sResultNode += "_처방일자:" + sDay.substr(0, 4) + "년 " + sDay.substr(4, 2) + "월 " + sDay.substr(6, 2) + "일";
  2889. //처방변경화면
  2890. if(pPrcpRepl == "Y") {
  2891. sResultNode += "_처방코드:" + model.getValue(pSourceNode + "_tempprcpcd");
  2892. sResultNode += "_처방명:" + model.getValue(pSourceNode + "_tempprcpnm");
  2893. } else {
  2894. sResultNode += "_처방코드:" + model.getValue(pSourceNode + "_prcpcd");
  2895. sResultNode += "_처방명:" + model.getValue(pSourceNode + "_prcpnm");
  2896. }
  2897. sResultNode += "_처방내역:" + "-";
  2898. sResultNode += "_검체:" + model.getValue(pSourceNode + "_drugmthdspccdnm") + "(" + model.getValue(pSourceNode + "_drugmthdspccd") + ")";
  2899. sResultNode += "_전달사항:" + "-";
  2900. sDay = utlf_getCurrentDateTime();
  2901. sResultNode += "_등록일시:" + sDay.substr(0, 4) + "년 " + sDay.substr(4, 2) + "월 " + sDay.substr(6, 2) + "일 " + sDay.substr(9, 2) + "시 " + sDay.substr(11, 2) + "분 " + sDay.substr(13, 2) + "초";
  2902. sResultNode += "_등록자:" + sysf_getUserInfo("usernm") + "(" + sysf_getUserInfo("userid") + ")";
  2903. return sResultNode;
  2904. }
  2905. /**
  2906. * _group : PathologyWeb Common
  2907. * _ver : 2009.04.23 (CMCDEV-0001)
  2908. * _by : linar21c
  2909. * _---------------------------------------------------
  2910. * _type : function
  2911. * _access : public
  2912. * _desc : 채혈화면 바코드 재출력(SATO)
  2913. * _param :
  2914. * _return :
  2915. */
  2916. function lpzfExePlgyBarCdRePrnt_Sato(pRowNo, pSNo, pENo, pCount) {
  2917. var strNode = "_root_main_TestInfo_getTestInfoCnts";
  2918. var iMaxRowCnt = getNodesetCount(strNode);
  2919. var sBarCdNoH = "";
  2920. var sBarCdNoD = "";
  2921. var sPrntNo = "";
  2922. var sSubPrntNo = "";
  2923. var sRePrntCnt = "";
  2924. var iStartNo = 1;
  2925. var iEndNo = 99;
  2926. var iFindColNo = -1;
  2927. var iSpcNo = 0;
  2928. var sSpcSeqNo = "";
  2929. var sSpcSeqNm = "";
  2930. var aSpcSeqNo = "";
  2931. var aSpcSeqNm = "";
  2932. var sSndMsg = "";
  2933. var sPrcpDD = "";
  2934. var sTempStr = "";
  2935. var barcdRef = "_root_main_barcdprntsetup_prntsetupinfo_setupinfo";
  2936. var sPrntKind = model.getValue(barcdRef + "[1]_prntkind");
  2937. var iLeft = ds_main_barcdprntsetup_prntsetupinfo_setupinfo_blank.getColumn(0, "left");
  2938. var iTop = ds_main_barcdprntsetup_prntsetupinfo_setupinfo_blank.getColumn(0, "top");
  2939. var iXPos = 0;
  2940. var iYPos = 0;
  2941. var iWidth = 0;
  2942. var aFlag = new Array();
  2943. var aStr = "";
  2944. var portOpenTF = "";
  2945. iLeft = Number(iLeft) + Number(20);
  2946. iTop = Number(iTop) + Number(10);
  2947. //---------------------------------
  2948. // 바코드번호 Header(일련번호 제외)
  2949. sBarCdNoH = model.getValue(strNode + "[" + pRowNo + "]_bcno");
  2950. //-----------------------------------------------------
  2951. for (var iPrntCnt=pSNo; iPrntCnt <= pENo; iPrntCnt++) {
  2952. //--------------------
  2953. //if(sPrntKind == "1") {
  2954. sPrcpDD = model.getValue(strNode + "[" + pRowNo + "]_prcpdd");
  2955. sPrcpDD = sPrcpDD.substr(0,4) + "-" + sPrcpDD.substr(4,2) + "-" + sPrcpDD.substr(6,2);
  2956. sSndMsg = "AA103500500"; // 시작위치 셋팅
  2957. iXPos = Number(iLeft) + 20;
  2958. iYPos = Number(iTop) + 5;
  2959. sSndMsg += "V" + iYPos + "H" + iXPos + "BG02100" + sBarCdNoH + (iPrntCnt).toString().getLeftPad(2, "0");
  2960. iXPos = Number(iLeft) + 130;
  2961. iYPos = Number(iTop) + 110;
  2962. sSndMsg += "V" + iYPos + "H" + iXPos + "S" + sBarCdNoH + (iPrntCnt).toString().getLeftPad(2, "0");
  2963. iXPos = Number(iLeft);
  2964. iYPos = Number(iTop) + 130;
  2965. sSndMsg += "V" + iYPos + "H" + iXPos + "S" + "PATHOLOGY";
  2966. iXPos = Number(iLeft) + 110;
  2967. iYPos = Number(iTop) + 130;
  2968. sTempStr = model.getValue(strNode+ "["+pRowNo+"]_wardroom");
  2969. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, sTempStr);
  2970. /*
  2971. iXPos = Number(iLeft) + 310;
  2972. iYPos = Number(iTop) + 127;
  2973. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, model.getValue(strNode + "[" + pRowNo + "]_orddrnm"));
  2974. */
  2975. iXPos = Number(iLeft) + 220;
  2976. iYPos = Number(iTop) + 130;
  2977. sSndMsg += "V" + iYPos + "H" + iXPos + "S" + sPrcpDD;
  2978. iXPos = Number(iLeft) + 330;
  2979. iYPos = Number(iTop) + 130;
  2980. sSndMsg += "V" + iYPos + "H" + iXPos + "M" + model.getValue(strNode + "[" + pRowNo + "]_isolabbrcd");
  2981. iXPos = Number(iLeft);
  2982. iYPos = Number(iTop) + 155;
  2983. sSndMsg += "V" + iYPos + "H" + iXPos + "S" + model.getValue(strNode + "[" + pRowNo + "]_pid");
  2984. iXPos = Number(iLeft) + 110;
  2985. iYPos = Number(iTop) + 150;
  2986. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, model.getValue(strNode + "[" + pRowNo + "]_hngnm"));
  2987. iXPos = Number(iLeft) + 220;
  2988. iYPos = Number(iTop) + 155;
  2989. sSndMsg += "V" + iYPos + "H" + iXPos + "S" + model.getValue(strNode + "[" + pRowNo + "]_sex") + "/" + model.getValue(strNode + "[" + pRowNo + "]_dage");
  2990. //-------------------------
  2991. iXPos = Number(iLeft) + 280;
  2992. iYPos = Number(iTop) + 155;
  2993. //수술실이 있을 경우 진료과 옆에 수술방 이름을 표시하여 준다.
  2994. if(model.getValue(strNode+"["+pRowNo+"]_oproomnm") != "") {
  2995. sTempStr = model.getValue(strNode+"["+pRowNo+"]_orddeptnm") + "(" + model.getValue(strNode+"["+pRowNo+"]_oproomnm") + ")";
  2996. } else {
  2997. sTempStr = model.getValue(strNode+"["+pRowNo+"]_orddeptnm");
  2998. }
  2999. sSndMsg += "V" + iYPos + "H" + iXPos + "S" + sTempStr;
  3000. iXPos = Number(iLeft);
  3001. iYPos = Number(iTop) + 175;
  3002. sSpcSeqNo = model.getValue(strNode + "[" + pRowNo + "]_spcseqno"); // 검체일련번호 목록
  3003. sSpcSeqNm = model.getValue(strNode + "[" + pRowNo + "]_spcseqnm"); // 검체명 목록
  3004. aSpcSeqNo = sSpcSeqNo.split("▨"); // ▨문자를 기준으로 배열에 분리
  3005. aSpcSeqNm = sSpcSeqNm.split("▨"); // ▨문자를 기준으로 배열에 분리
  3006. sTempStr = (iPrntCnt).toString() + "/" + model.getValue(strNode + "[" + pRowNo + "]_bcollbarcdprntcnt") + " ";
  3007. sTempStr += aSpcSeqNm[iPrntCnt-1];
  3008. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, sTempStr);
  3009. iXPos = Number(iLeft);
  3010. iYPos = Number(iTop) + 200;
  3011. sTempStr = fGetPlgyPrcpNm(model.getValue(strNode+"["+pRowNo+"]_pid"), model.getValue(strNode+"["+pRowNo+"]_reqfrmno"), "0");
  3012. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, sTempStr);
  3013. //-------------------------
  3014. iXPos = Number(iLeft);
  3015. iYPos = Number(iTop) + 225;
  3016. sTempStr = fGetPlgyPrcpNm(model.getValue(strNode+"["+pRowNo+"]_pid"), model.getValue(strNode+"["+pRowNo+"]_reqfrmno"), "1"); //검사명(추가처방)
  3017. sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, sTempStr);
  3018. sSndMsg += "Q" + "1" + "Z";
  3019. CommAX.SendMsg(sSndMsg);
  3020. }//end for
  3021. }
  3022. /**
  3023. * _group : PathologyWeb Common
  3024. * _ver : 2010.01.12 (CMCDEV-0001)
  3025. * _by : 박정은
  3026. * _---------------------------------------------------
  3027. * _type : function
  3028. * _access : public
  3029. * _desc : 채혈화면 바코드 재출력(B472 )
  3030. * _param :
  3031. * _return :
  3032. */
  3033. function lpzfExePlgyBarCdRePrnt_B472(pRowNo, pSNo, pENo, pCount) {
  3034. var strNode = "_root_main_TestInfo_getTestInfoCnts";
  3035. var iMaxRowCnt = getNodesetCount(strNode);
  3036. var sBarCdNoH = "";
  3037. var sBarCdNoD = "";
  3038. var sPrntNo = "";
  3039. var sSubPrntNo = "";
  3040. var sRePrntCnt = "";
  3041. var iStartNo = 1;
  3042. var iEndNo = 99;
  3043. var iFindColNo = -1;
  3044. var iSpcNo = 0;
  3045. var sSpcSeqNo = "";
  3046. var sSpcSeqNm = "";
  3047. var aSpcSeqNo = "";
  3048. var aSpcSeqNm = "";
  3049. var sSndMsg = "";
  3050. var sPrcpDD = "";
  3051. var sTempStr = "";
  3052. var sTempStr2 = "";
  3053. var portOpenTF = "";
  3054. var sB472size = "";
  3055. var barcdRef = "_root_main_barcdprntsetup_prntsetupinfo_setupinfo";
  3056. var sPrntKind = model.getValue(barcdRef + "[1]_prntkind");
  3057. var sCommKind = model.getValue(barcdRef + "[1]_commkind");
  3058. var sB472sizegbn = model.getValue(barcdRef + "[1]_blank_b472size");
  3059. var iLeft = ds_main_barcdprntsetup_prntsetupinfo_setupinfo_blank.getColumn(0, "left");
  3060. var iTop = ds_main_barcdprntsetup_prntsetupinfo_setupinfo_blank.getColumn(0, "top");
  3061. var iXPos = 0;
  3062. var iYPos = 0;
  3063. var iWidth = 0;
  3064. var aFlag = new Array();
  3065. var aStr = "";
  3066. if (sCommKind == "01") {
  3067. var sSetUpVal = model.getValue(barcdRef + "[1]_comm01_setupval");
  3068. } else if(sCommKind == "02") {
  3069. var sComm = model.getValue(barcdRef + "[1]_comm02_comm");
  3070. var sDataBit = model.getValue(barcdRef + "[1]_comm02_databit");
  3071. var sStopBit = model.getValue(barcdRef + "[1]_comm02_stopbit");
  3072. var sBaudRate = model.getValue(barcdRef + "[1]_comm02_baudrate");
  3073. var sParity = model.getValue(barcdRef + "[1]_comm02_parity");
  3074. //----------------------
  3075. CommAX.CommPort = sComm;
  3076. CommAX.Settings = sBaudRate + "," + sParity + "," + sDataBit + "," + sStopBit;
  3077. //-----------------------------------------------------
  3078. // 출력할 진검 바코드 갯수가 0보다 크면 port 오픈 안함.
  3079. if (pCount > 0) {
  3080. portOpenTF = "TRUE";
  3081. } else if (pCount == 0) {
  3082. //port open 반환값 -> String 문자 포트 오픈 성공이면 "TRUE" , 실패하면 "FALSE"
  3083. portOpenTF = CommAX.PortOpen("true");
  3084. }
  3085. } else if(sCommKind == "03") {
  3086. var sSetUpVal = model.getValue(barcdRef + "[1]_comm03_setupval");
  3087. }
  3088. iLeft = Number(iLeft) ;
  3089. iTop = Number(iTop);
  3090. //---------------------------------
  3091. // 바코드번호 Header(일련번호 제외)
  3092. sBarCdNoH = model.getValue(strNode + "[" + pRowNo + "]_bcno");
  3093. if ( (portOpenTF == "TRUE" && sCommKind == "02") || (sCommKind == "01") || (sCommKind == "03") || (sCommKind == "07") ) {
  3094. //-----------------------------------------------------
  3095. for (var iPrntCnt=pSNo; iPrntCnt <= pENo; iPrntCnt++) {
  3096. //--------------------
  3097. sPrcpDD = model.getValue(strNode + "[" + pRowNo + "]_prcpdd");
  3098. sPrcpDD = sPrcpDD.substr(0,4) + "-" + sPrcpDD.substr(4,2) + "-" + sPrcpDD.substr(6,2);
  3099. if(sB472sizegbn == "2"){ // 320 630
  3100. sB472size = "0340,0620,0340"; // 기존라벨
  3101. }else{
  3102. sB472size = "0350,0550,0330"; // nUsize
  3103. }
  3104. sSndMsg += "{D" + sB472size + "|}"; // 라벨사이즈
  3105. //sSndMsg += "{D0350,0550,0330|}"; // 라벨사이즈
  3106. sSndMsg += "{C|}"; // 버퍼클리어
  3107. sSndMsg += "{AX;-000,-000,+00|}"; // 피트량
  3108. iXPos = Number(iLeft) + 20;
  3109. iYPos = Number(iTop) + 5;
  3110. var newbcno = sBarCdNoH + (iPrntCnt).toString().getLeftPad(2, "0");
  3111. sSndMsg += lzzfBP_BarCode_Code39_B472(iXPos, iYPos, 5, 4, newbcno, 90); // 바코드
  3112. iXPos = Number(iLeft) + 140;
  3113. iYPos = Number(iTop) + 120;
  3114. //sSndMsg += lzzfBP_FieldDataA_B472(iXPos, iYPos, 20, 20, newbcno); //바코드번호
  3115. sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, newbcno); //바코드번호
  3116. iXPos = Number(iLeft);
  3117. iYPos = Number(iTop) + 145;
  3118. //sSndMsg += lzzfBP_FieldDataA_B472(iXPos, iYPos, 20, 20, "PATHOLOGY");
  3119. sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, "PATHOLOGY");
  3120. iXPos = Number(iLeft) + 200;
  3121. iYPos = Number(iTop) + 120;
  3122. sTempStr = model.getValue(strNode+ "["+pRowNo+"]_wardroom");
  3123. //sSndMsg += lzzfBP_FieldDataA_B472(iXPos, iYPos, 20, 20, sTempStr);
  3124. //sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, sTempStr);
  3125. sSndMsg += lzzfBP_HanDisp24(sTempStr, iXPos, iYPos);
  3126. iXPos = Number(iLeft) + 330;
  3127. iYPos = Number(iTop) + 145;
  3128. //sSndMsg += lzzfBP_FieldDataA_B472(iXPos, iYPos, 20, 20, sPrcpDD);
  3129. sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, sPrcpDD);
  3130. iXPos = Number(iLeft) + 300;
  3131. iYPos = Number(iTop) + 145;
  3132. sTempStr = model.getValue(strNode + "[" + pRowNo + "]_isolabbrcd");
  3133. //sSndMsg += lzzfBP_FieldDataA_B472(iXPos, iYPos, 20, 20, sTempStr);
  3134. sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, sTempStr);
  3135. if(sCommKind == "01") {
  3136. CommAX.SendMessageToLPT(sSndMsg);
  3137. } else if(sCommKind == "02") {
  3138. CommAX.SendMessage(sSndMsg);
  3139. }
  3140. iXPos = Number(iLeft);
  3141. iYPos = Number(iTop) + 180;
  3142. sTempStr = model.getValue(strNode + "[" + pRowNo + "]_pid");
  3143. //sSndMsg += lzzfBP_FieldDataA_B472(iXPos, iYPos, 20, 20, sTempStr);
  3144. sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, sTempStr);
  3145. iXPos = Number(iLeft) + 150;
  3146. iYPos = Number(iTop) + 155;
  3147. sTempStr = model.getValue(strNode + "[" + pRowNo + "]_hngnm");
  3148. sSndMsg += lzzfBP_HanDisp24(sTempStr, iXPos, iYPos);
  3149. iXPos = Number(iLeft) + 310;
  3150. iYPos = Number(iTop) + 180;
  3151. var sTempStr1 = model.getValue(strNode + "[" + pRowNo + "]_sex");
  3152. var sTempStr2 = model.getValue(strNode + "[" + pRowNo + "]_dage");
  3153. //sSndMsg += lzzfBP_FieldDataA_B472(iXPos, iYPos, 20, 20, sTempStr1 + "/" + sTempStr2);
  3154. sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, sTempStr1 + "/" + sTempStr2);
  3155. //-------------------------
  3156. iXPos = Number(iLeft) + 410;
  3157. iYPos = Number(iTop) + 180;
  3158. //수술실이 있을 경우 진료과 옆에 수술방 이름을 표시하여 준다.
  3159. if(model.getValue(strNode+"["+pRowNo+"]_oproomnm") != "") {
  3160. sTempStr = model.getValue(strNode+"["+pRowNo+"]_orddeptnm") + "(" + model.getValue(strNode+"["+pRowNo+"]_oproomnm") + ")";
  3161. } else {
  3162. sTempStr = model.getValue(strNode+"["+pRowNo+"]_orddeptnm");
  3163. }
  3164. //sSndMsg += lzzfBP_FieldDataA_B472(iXPos, iYPos, 20, 20, sTempStr);
  3165. sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, sTempStr);
  3166. iXPos = Number(iLeft);
  3167. iYPos = Number(iTop) + 190;
  3168. sSpcSeqNo = model.getValue(strNode + "[" + pRowNo + "]_spcseqno"); // 검체일련번호 목록
  3169. sSpcSeqNm = model.getValue(strNode + "[" + pRowNo + "]_spcseqnm"); // 검체명 목록
  3170. aSpcSeqNo = sSpcSeqNo.split("▨"); // ▨문자를 기준으로 배열에 분리
  3171. aSpcSeqNm = sSpcSeqNm.split("▨"); // ▨문자를 기준으로 배열에 분리
  3172. sTempStr = (iPrntCnt).toString() + "/" + model.getValue(strNode + "[" + pRowNo + "]_bcollbarcdprntcnt") + " ";
  3173. sTempStr += aSpcSeqNm[iPrntCnt-1];
  3174. //20바이트가 넘을 경우 검사명을 짤라서 출력한다.
  3175. if(sTempStr.getByteLength() > 20) {
  3176. for(var iLeng = 1 ; iLeng <= sTempStr.length ; iLeng++) {
  3177. if(((sTempStr.substr(0, iLeng)).getByteLength()) > 20) {
  3178. sTempStr2 = sTempStr.substr(0, iLeng);
  3179. break;
  3180. }
  3181. }
  3182. sTempStr = sTempStr2;
  3183. }
  3184. sSndMsg += lzzfBP_HanDisp24(sTempStr, iXPos, iYPos);
  3185. iXPos = Number(iLeft);
  3186. iYPos = Number(iTop) + 220;
  3187. sTempStr = fGetPlgyPrcpNm(model.getValue(strNode+"["+pRowNo+"]_pid"), model.getValue(strNode+"["+pRowNo+"]_reqfrmno"), "0");
  3188. //16바이트가 넘을 경우 검사명을 짤라서 출력한다.
  3189. if(sTempStr.getByteLength() > 16) {
  3190. for(var iLeng = 1 ; iLeng <= sTempStr.length ; iLeng++) {
  3191. if(((sTempStr.substr(0, iLeng)).getByteLength()) > 16) {
  3192. sTempStr2 = sTempStr.substr(0, iLeng);
  3193. break;
  3194. }
  3195. }
  3196. sTempStr = sTempStr2;
  3197. }
  3198. sSndMsg += lzzfBP_HanDisp24(sTempStr, iXPos, iYPos);
  3199. //-------------------------
  3200. iXPos = Number(iLeft);
  3201. iYPos = Number(iTop) + 250;
  3202. sTempStr = fGetPlgyPrcpNm(model.getValue(strNode+"["+pRowNo+"]_pid"), model.getValue(strNode+"["+pRowNo+"]_reqfrmno"), "1"); //검사명(추가처방)
  3203. //16바이트가 넘을 경우 검사명을 짤라서 출력한다.
  3204. if(sTempStr.getByteLength() > 16) {
  3205. for(var iLeng = 1 ; iLeng <= sTempStr.length ; iLeng++) {
  3206. if(((sTempStr.substr(0, iLeng)).getByteLength()) > 16) {
  3207. sTempStr2 = sTempStr.substr(0, iLeng);
  3208. break;
  3209. }
  3210. }
  3211. sTempStr = sTempStr2;
  3212. }
  3213. sSndMsg += lzzfBP_HanDisp24(sTempStr, iXPos, iYPos);
  3214. sSndMsg += "{XS;I,0001,0002C5101|}"; // end
  3215. if(sCommKind == "01") {
  3216. CommAX.SendMessageToLPT(sSndMsg);
  3217. } else if(sCommKind == "02") {
  3218. CommAX.SendMessage(sSndMsg);
  3219. }
  3220. //CommAX.SendMessage(sSndMsg);
  3221. CommAX.PortOpen("false");
  3222. // CommAX.SendMsg(sSndMsg);
  3223. }//end for
  3224. }// if ( (portOpenTF == "TRUE" && sCommKind == "02") || (sCommKind == "01") || (sCommKind == "03") )
  3225. else if (portOpenTF = "FALSE" && sCommKind == "02") {
  3226. sysf_messageBox("아래 사항을 확인후 재출력해주십시오."
  3227. + " \n 1.프린트설정 화면에서 통신유형을 com 으로 선택한 경우 port 번호 확인"
  3228. + " \n 2.케이블 확인"
  3229. + " \n 3.먼저 출력중인 바코드 확인(모두 출력된 후 재출력하십시오.)", "I", "");
  3230. return;
  3231. }
  3232. }
  3233. /* _group : 검체일괄접수
  3234. * _ver : 2010.05.04 (CMCDEV-0001)
  3235. * _by : 박중규
  3236. * _-----------------------------------
  3237. * _type : function
  3238. * _access : public
  3239. * _desc : 문자열에서 특정 문자 제거
  3240. */
  3241. function fsetCutString(pDesStr, pCutStr){
  3242. var sRerutnStr = "";
  3243. if(pDesStr == "" || pCutStr == "") {
  3244. return pDesStr;
  3245. }
  3246. if(pDesStr.indexOf(pCutStr) == -1 ) {
  3247. return pDesStr;
  3248. }
  3249. if(pDesStr.substr(((pDesStr.indexOf(pCutStr)) + pCutStr.length), 1) == " ") {
  3250. //체크박스 뒤 공백 제거
  3251. sRerutnStr = pDesStr.substr(0, (pDesStr.indexOf(pCutStr)));
  3252. sRerutnStr += pDesStr.substr((pDesStr.indexOf(pCutStr)) + ((pCutStr.length) + 1), pDesStr.length);
  3253. } else if(pDesStr.indexOf(pCutStr) != 0){
  3254. if(pDesStr.substr((pDesStr.indexOf(pCutStr)) - 1, pDesStr.indexOf(pCutStr)) == " ") {
  3255. //체크박스 앞 공백 제거
  3256. sRerutnStr = pDesStr.substr(0, ((pDesStr.indexOf(pCutStr)) - 1));
  3257. sRerutnStr += pDesStr.substr((pDesStr.indexOf(pCutStr)) + pCutStr.length, pDesStr.length);
  3258. } else {
  3259. sRerutnStr = pDesStr.substr(0, (pDesStr.indexOf(pCutStr)));
  3260. sRerutnStr += pDesStr.substr((pDesStr.indexOf(pCutStr)) + pCutStr.length, pDesStr.length);
  3261. }
  3262. } else {
  3263. sRerutnStr = pDesStr.substr(0, (pDesStr.indexOf(pCutStr)));
  3264. sRerutnStr += pDesStr.substr((pDesStr.indexOf(pCutStr)) + pCutStr.length, pDesStr.length);
  3265. }
  3266. return sRerutnStr;
  3267. }
  3268. ]]></Script>