SMMNP00200.xjs 210 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/* ---------------------------------------------------------------------
  3. 환자 수술전 처치 및 간호상태 확인 사항(SMMNP00200.xfm - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. : Create By Francis Choi
  7. : 2007.05.02
  8. ---------------------------------------------------------------------- */
  9. // XML Data Path
  10. var wDrgCnt = 1 ;
  11. var wDrgIdx = 14 ;
  12. var wDrgFst = true;
  13. var wBolCnt = 1 ;
  14. var wBolIdx = 14 ;
  15. var wBolFst = true;
  16. var wFixGrid = 21 ;
  17. var opIdx = 0;
  18. var xPath_MnphccsrList = ds_main_MnphccsrData_MnphccsrList ; // 환자 수술전 처치 및 간호상태 확인 사항 정보
  19. var xPath_allrgspec = ds_main_MnphccsrData_MnphccsrList_allrgspec_AllergyLists_AllergyList ; // 환자 알레르기 정보
  20. var xPath_testinfospec = ds_main_MnphccsrData_MnphccsrList_testinfospec_CheckupLists_CheckupList ; // Lab 검사결과
  21. var xPath_sendgoodandmedspec = ds_main_MnphccsrData_MnphccsrList_sendgoodandmedspec_ProductLists_ProductList ; // 보내는 물품/약품 내역
  22. var xPath_infectspec = "/root/main/MnphccsrData/MnphccsrList/infectspec" ; // 환자 감염정보
  23. var xPath_curenurgstatspec = ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList ; // 환자 수술전 처치 및 간호상태 확인 사항
  24. // XML Format Path
  25. var xPath_Fmt_allrgspec = ds_init_XmlFormat_allrgspec_AllergyLists_AllergyList ; // 환자 알레르기 정보
  26. var xPath_Fmt_testinfospec = ds_init_XmlFormat_testinfospec_CheckupLists_CheckupList ; // Lab 검사결과
  27. var xPath_Fmt_sendgoodandmedspec = ds_init_XmlFormat_sendgoodandmedspec_ProductLists_ProductList ; // 보내는 물품/약품 내역
  28. var xPath_Fmt_infectspec = ds_init_XmlFormat_infectspec_InfectionLists_InfectionList ; // 환자 감염정보
  29. var xPath_Fmt_curenurgstatspec = ds_init_XmlFormat_curenurgstatspec_ItemCheckLists_ItemCheckList ; // 환자 수술전 처치 및 간호상태 확인 사항
  30. var xPath_Fmt_curenurgstatspecT = "/root/temp/XmlFormat/curenurgstatspec" ; // 환자 수술전 처치 및 간호상태 확인 사항(JCI 통증사정추가)2010.04.26 K. J. M
  31. var xPath_Allergy = ds_main_MnphccsrData_MnphccsrList_allrgspec_AllergyLists_AllergyList ; // 환자 알레르기 정보
  32. var xPath_Product = ds_main_MnphccsrData_MnphccsrList_sendgoodandmedspec_ProductLists_ProductList ; // 보내는 물품/약품 내역
  33. var xPath_Infection = ds_main_MnphccsrData_MnphccsrList_infectspec_InfectionLists_InfectionList ; // 환자 감염정보
  34. var xPath_ItemCheck = ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList ; // 환자 수술전 처치 및 간호상태 확인 사항
  35. var xPath_ItemCheckList = "/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList";
  36. var xPathGride = ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList;
  37. var xPath_PatLnkInfo = "/root/temp/patlnkinfo"; // 환자 감염정보, 알레르기 정보, Lab 검사결과 정보
  38. // 환자정보 구분
  39. var sPatCls = "O"; //O:수술실, W:병동, B : 일일수술실
  40. var sBool1 = true;
  41. var sBool2 = true;
  42. var sBool3 = true;
  43. var ChkBoxRef = "Pyes Pno Pnothing Syes Sno Snothing Oyes Ono Onothing"; // P:간호단위, S:수술단위
  44. var RefName = ChkBoxRef.split(" ");
  45. var sGBOprsrvno = "";
  46. var sDutDSCFlag = ""; //일일수술실 유무
  47. var sDSCDeptcd = ""; //일일수술실 유무
  48. var sWardOP = "N"; //현장수술 유무
  49. // 동의서 구분
  50. var ITM002 = ""; // 수술동의서
  51. var ITM003 = ""; // 마취동의서
  52. var ITM022 = ""; // PCA동의서
  53. /* ------------------------------------------------- */
  54. /* SMMNP00200_수술전처치 및 간호상태 확인 */
  55. /* On Load 시 Call */
  56. /* ------------------------------------------------- */
  57. /* group : EMR 간호 */
  58. /* ver : 2007.05.03 */
  59. /* by : 최학록 */
  60. /* --------------------------------------------------*/
  61. /* type : function */
  62. /* access : public */
  63. /* desc : xforms-ready시 수행한다 */
  64. /* return : */
  65. /* --------------------------------------------------*/
  66. function fFormInit() {
  67. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "expr", "");
  68. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "text", "");
  69. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "expr", "");
  70. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "text", "");
  71. grp_main.grd_ItemCheckList.setCellProperty("Head", 19, "expr", "");
  72. grp_main.grd_ItemCheckList.setCellProperty("Head", 19, "text", "");
  73. var sPatInfo = "";
  74. var node = sysf_getGlobalVariable("operation");
  75. dsf_setCSVToDs("ds_main_operation_list", node);
  76. var sPid = ds_main_operation_list.getColumn(0, "pid");
  77. var sGBOprsrvno = ds_main_operation_list.getColumn(0, "oprsrvno");
  78. fGetNursHardCdInfo("'O11'",utlf_getCurrentDate()); //ds_codelist
  79. if( utlf_isNull(sPid) ){
  80. node = sysf_getGlobalVariable("paminfo");
  81. dsf_setCSVToDs("ds_main_paminfo_list", node);
  82. sPid = ds_main_paminfo_list.getColumn(0, "pid");
  83. if( !utlf_isNull(sPid) ){
  84. ds_init_SendData.setColumn(0, "pid", sPid);
  85. ds_init_SendData.setColumn(0, "instcd", ds_main_paminfo_list.getColumn(0, "instcd"));
  86. }
  87. } else {
  88. ds_init_SendData.setColumn(0, "pid", sPid);
  89. ds_init_SendData.setColumn(0, "instcd", ds_main_operation_list.getColumn(0, "instcd"));
  90. }
  91. if( ds_main_operation_list.rowcount > 0 ){
  92. if( ds_main_operation_list.getColumn(0, "oppatflagcd") == "O" ){
  93. grp_main.txt_nurg.position.height = 60;
  94. grp_main.grp_bodyinfo.visible = true;
  95. }else{
  96. grp_main.txt_nurg.position.height = 122;
  97. grp_main.grp_bodyinfo.visible = false;
  98. }
  99. }else{
  100. if( ds_main_paminfo_list.getColumn(0, "ioflag") == "O" ){
  101. grp_main.txt_nurg.position.height = 60;
  102. grp_main.grp_bodyinfo.visible = true;
  103. }else{
  104. grp_main.txt_nurg.position.height = 122;
  105. grp_main.grp_bodyinfo.visible = false;
  106. }
  107. }
  108. ds_init.setColumn(0, "staycls", "");//상단정보 재 조회시 기존 체크된 값 초기화 위해 클리어2010.01.06 K.J.M(대기실, 수술실)
  109. grp_main.btn_del_grid.enable = true;
  110. grp_main.btn_ins_grid.enable = true;
  111. grp_main.btn_query.enable = true;
  112. grp_main.btn_rgst_tmp.enable = true;
  113. grp_main.btn_rgst_sct.enable = true;
  114. //------ Test할때 막는 부분 ------------------------------
  115. if( utlf_isNull(sPid) ){
  116. var mainObj = frmf_getMainViewer();
  117. sysf_messageBox("수술 환자를 ", "C002");
  118. grp_main.btn_del_grid.enable = false;
  119. grp_main.btn_ins_grid.enable = false;
  120. grp_main.btn_query.enable = false;
  121. grp_main.btn_rgst_tmp.enable = false;
  122. grp_main.btn_rgst_sct.enable = false;
  123. // 2007.11.16 간호팀 교육중에 나옴...화면 바로 닫기
  124. if( frmf_checkOpener() ){
  125. close();
  126. }
  127. // mainObj.javascript.navigate("SMMNP00100"); // 수술마취메인
  128. return;
  129. }
  130. // 2009-03-25 ycd 부서 하드코딩 제어 부분(화면 권한 설정 정보 가져오기)
  131. ds_send.setColumn(0, "cdgrupid", "037");
  132. var oParam = {};
  133. oParam.id = "TRMNP00323";
  134. oParam.service = "opanstapp.OpAnstRec";
  135. oParam.method = "reqGetViewerCtrlInfo";
  136. oParam.inds = "req=ds_send";
  137. oParam.outds = "ds_temp_viewctrllist_viewctrlinfo=viewctrlinfo";
  138. oParam.async = false;
  139. //oParam.callback = "cf_TRMNP00323";
  140. tranf_submit(oParam);
  141. if( ds_temp_viewctrllist_viewctrlinfo.rowcount > 0 ){
  142. sPatCls = ds_temp_viewctrllist_viewctrlinfo.getColumn(0, "cdnm");
  143. }else{
  144. sPatCls = "W";
  145. }
  146. Opschedd_Read();
  147. var sCnt = parseInt(xPathGride.getCaseCount("ItemCode=='ITM013'")); // 수술전 투약 건수
  148. wDrgIdx = sCnt + 18; // 수술전 투약 건수
  149. wFixGrid += (sCnt - 1);
  150. var sCnt2 = parseInt(xPathGride.getCaseCount("ItemCode=='ITM018'")); // 혈액준비사항 건수
  151. wBolIdx = sCnt + sCnt2 + 18; // 혈액준비사항 건수
  152. wFixGrid += (sCnt - 1);
  153. fOpWardCheck();
  154. if( (sPatCls == "O" || sPatCls == "B") && (utlf_isNull(xPath_MnphccsrList.getColumn(0, "wardstartdt")) || utlf_isNull(xPath_MnphccsrList.getColumn(0, "wardstarttm"))) ){
  155. sysf_messageBox("간호단위에서 기록한 후에 기록이","I006"); // 병실에서 기록한 후에 수술실에서 기록이
  156. if(sPatCls == "O"){
  157. grp_main.btn_rgst_tmp.enable = false;
  158. grp_main.btn_rgst_sct.enable = false;
  159. }
  160. }
  161. // 현장수술일때 간호단위와 대기실을 같이 기록하게 한다.
  162. sWardOP = xPath_MnphccsrList.getColumn(0, "wardop");
  163. // 일일수술실은 대기실 같이 기록 //sDutDSCFlag, sDSCDeptcd
  164. var dutplcecd = sysf_getUserInfo("dutplcecd");
  165. ds_send.setColumn(0, "cdgrupid", "105");
  166. var oParam = {};
  167. oParam.id = "TRMNP00211";
  168. oParam.service = "opanstapp.OpAnstRec";
  169. oParam.method = "reqGetDscCode";
  170. oParam.inds = "req=ds_send";
  171. oParam.outds = "ds_temp_dsccode=dsccode";
  172. oParam.async = false;
  173. //oParam.callback = "cf_TRMNP00211";
  174. tranf_submit(oParam);
  175. sDSCDeptcd = ds_temp_dsccode.getColumn(0, "cdid");
  176. if (dutplcecd == sDSCDeptcd) {
  177. sDutDSCFlag = "Y";
  178. } else {
  179. sDutDSCFlag = "N";
  180. }
  181. grp_main.btn_dsccopy.visible = false;
  182. if (sDutDSCFlag == "Y" || sWardOP == "Y") {
  183. grp_main.btn_dsccopy.visible = true;
  184. //일일수술실 환자 수술간호기록의 수술실 퇴실시간 가져와서 병실 도착일시에 반영
  185. var oppatflagcd = ds_main_operation_list.getColumn(0, "oppatflagcd");
  186. if (oppatflagcd != 'I' || sWardOP == "Y") {
  187. ds_send.setColumn(0, "oprsrvno", xPath_MnphccsrList.getColumn(0, "oprsrvno"));
  188. var oParam = {};
  189. oParam.id = "TRMNP00212";
  190. oParam.service = "opanstapp.OpAnstRec";
  191. oParam.method = "reqGetDscPatoutroomdt";
  192. oParam.inds = "req=ds_send";
  193. oParam.outds = "ds_temp_patoutroomdt=patoutroomdt";
  194. oParam.async = false;
  195. //oParam.callback = "cf_TRMNP00212";
  196. tranf_submit(oParam);
  197. var patoutroomdt = ds_temp_patoutroomdt.getColumn(0, "patoutroomdt");
  198. var wardarrdt = xPath_MnphccsrList.getColumn(0, "wardarrvdt");
  199. if( utlf_isNull(patoutroomdt) || patoutroomdt == "000000000000" ){
  200. } else {
  201. if( utlf_isNull(wardarrdt) || wardarrdt == "00000000" ){
  202. var vbYes = sysf_messageBox("수술간호기록지 퇴실시간을 '병실 도착일시'로 기록하시겠습니까? ", "Q999");
  203. if (vbYes == 6) {
  204. var outroomdd = patoutroomdt.substr(0, 8);
  205. var outroomtm = patoutroomdt.substr(8, 4);
  206. xPath_MnphccsrList.setColumn(0, "wardarrvdt", outroomdd);
  207. xPath_MnphccsrList.setColumn(0, "wardarrvtm", outroomtm);
  208. grp_main.ipt_wardarrvdept.value = sysf_getUserInfo("dutplcecd");
  209. grp_main.ipt_wardarrvnursid.value = sysf_getUserInfo("userid");
  210. xPath_MnphccsrList.setColumn(0, "nurspartarrvdt", outroomdd + outroomtm);
  211. xPath_MnphccsrList.setColumn(0, "nurspartarrvdept", sysf_getUserInfo("dutplcenm"));
  212. xPath_MnphccsrList.setColumn(0, "nurspartarrvnursnm", sysf_getUserInfo("usernm"));
  213. sysf_messageBox("병실 도착일시는 인증저장하셔야 기록에 반영됩니다.", "I999");
  214. }
  215. }
  216. }
  217. }
  218. }
  219. var opinrmdd = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "opinrmdd");
  220. if( utlf_isNull(opinrmdd) ){
  221. grp_main.ipt_wardarrvdt.enable = false;
  222. grp_main.ipt_wardarrvtm.enable = false;
  223. grp_main.btn_wardarrv.enable = false;
  224. } else {
  225. grp_main.ipt_wardarrvdt.enable = true;
  226. grp_main.ipt_wardarrvtm.enable = true;
  227. grp_main.btn_wardarrv.enable = true;
  228. }
  229. var node = ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getCaseCount("chkyn=='1'");
  230. if(node.length > 0) {
  231. grp_main.rdo_smsagreeyn.value="Y";
  232. grp_main.btn_smsagreeyn.enable= true;
  233. }
  234. for( var i=0 ; i<grp_main.grd_ItemCheckList.rowcount ; i++ ){
  235. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == "ITM002" ){
  236. ITM002 = i;
  237. }else if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == "ITM023" ){
  238. ITM003 = i;
  239. }else if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == "ITM022" ){
  240. ITM022 = i;
  241. }
  242. }
  243. }
  244. /* ------------------------------------------------- */
  245. /* type : function */
  246. /* access : public */
  247. /* desc : 병동과 수술실을 Check 수행한다 */
  248. /* return : */
  249. /*
  250. /* 2008-08-04 오전 11:01:30 수술실일 경우 병동 프로세스 작성이 가능하도록 수정 taebum
  251. /* --------------------------------------------------*/
  252. function fOpWardCheck() {
  253. ds_init.setColumn(0, "gpatcls", sPatCls);
  254. if( ds_main_operation_list.rowcount > 0 ){
  255. if( ds_main_operation_list.getColumn(0, "oppatflagcd") == "O" ){
  256. grp_main.txt_nurg.position.height = 60;
  257. grp_main.grp_bodyinfo.visible = true;
  258. }else{
  259. grp_main.txt_nurg.position.height = 122;
  260. grp_main.grp_bodyinfo.visible = false;
  261. }
  262. }else{
  263. if( ds_main_MnphccsrData_MnphccsrList.getColumn(0, "inoutflag") == "O" ){
  264. grp_main.txt_nurg.position.height = 60;
  265. grp_main.grp_bodyinfo.visible = true;
  266. }else{
  267. grp_main.txt_nurg.position.height = 122;
  268. grp_main.grp_bodyinfo.visible = false;
  269. }
  270. }
  271. if (sPatCls == "O") { //O:수술실, W:병동
  272. sBool1 = true;
  273. sBool2 = false;
  274. //txt_nurg.disabled = sBool1; //2008-08-04 오전 11:02:28
  275. //txt_nurg.disabled = sBool2; //2008-08-07 오전 9:02:09 taebum 주석처리
  276. grp_main.txt_nurg.enable = false; //2008-08-07 오전 9:02:47 taebum add
  277. grp_main.btn_pcainput.enable = false;
  278. grp_main.txt_oper.enable = true;
  279. grp_main.bbt_patarrv.enable = true;
  280. grp_main.inp_patarrvdt.enable = true;
  281. grp_main.inp_patarrvtm.enable = true;
  282. grp_main.grp_bodyinfo.ipt_oppatbdtp.enable = false;
  283. grp_main.grp_bodyinfo.ipt_oppatbdwt.enable = false;
  284. grp_main.grp_bodyinfo.ipt_oppatbdht.enable = false;
  285. grp_main.grp_bodyinfo.ipt_oppatsbp.enable = false;
  286. grp_main.grp_bodyinfo.ipt_oppatdbp.enable = false;
  287. //2008-09-06 오후 4:25:54 대기실, 수술실일경우 행추가, 행삭제 disable 처리
  288. grp_main.btn_ins_grid.enable = false;
  289. grp_main.btn_del_grid.enable = false;
  290. } else {
  291. sBool1 = false;
  292. sBool2 = true ;
  293. grp_main.txt_nurg.enable = true;
  294. grp_main.btn_pcainput.enable = true;
  295. grp_main.txt_oper.enable = false;
  296. grp_main.grp_bodyinfo.ipt_oppatbdtp.enable = true;
  297. grp_main.grp_bodyinfo.ipt_oppatbdwt.enable = true;
  298. grp_main.grp_bodyinfo.ipt_oppatbdht.enable = true;
  299. grp_main.grp_bodyinfo.ipt_oppatsbp.enable = true;
  300. grp_main.grp_bodyinfo.ipt_oppatdbp.enable = true;
  301. if (sPatCls == "B") { // 분만실, DSC
  302. grp_main.chk_stay.enable = true;
  303. grp_main.chk_oper.enable = true;
  304. }else{
  305. grp_main.chk_stay.enable = false;
  306. grp_main.chk_oper.enable = false; //2008-07-18 오전 10:09:51 taebum 17일 전수테스트 결과 수정사항
  307. }
  308. grp_main.bbt_wardstart.enable = true;
  309. grp_main.inp_wardstartdt.enable = true;
  310. grp_main.inp_wardstarttm.enable = true;
  311. //병동 도착 일시 활성/비활성
  312. grp_main.ipt_wardarrvdt.enable = true;
  313. grp_main.ipt_wardarrvtm.enable = true;
  314. grp_main.btn_wardarrv.enable = true;
  315. grp_main.bbt_patarrv.enable = true;
  316. grp_main.inp_patarrvdt.enable = true;
  317. grp_main.inp_patarrvtm.enable = true;
  318. }
  319. if (sPatCls == "O") { //O:수술실, W:병동
  320. var nFixRow = 2;
  321. if( xPath_curenurgstatspec.findRow("ItemCode", "ITM023") > -1 ){
  322. nFixRow = 3;
  323. }
  324. var chk_Syes = xPath_curenurgstatspec.getColumn(nFixRow, "Syes");
  325. var chk_Sno = xPath_curenurgstatspec.getColumn(nFixRow, "Sno");
  326. var chk_Snothing = xPath_curenurgstatspec.getColumn(nFixRow, "Snothing");
  327. var chk_Pyes = xPath_curenurgstatspec.getColumn(nFixRow, "Pyes");
  328. var chk_Pno = xPath_curenurgstatspec.getColumn(nFixRow, "Pno");
  329. var chk_Pnothing = xPath_curenurgstatspec.getColumn(nFixRow, "Pnothing");
  330. sBool1 = true; //2008-08-07 오전 9:04:30 taebum add
  331. if ( chk_Syes == "1" || chk_Sno == "1" || chk_Snothing == "1") {
  332. sBool2 = true;
  333. sBool3 = false;
  334. grp_main.chk_oper.value = "2";
  335. grp_main.radio1.value = "2";
  336. fStayOperCheck();
  337. } else if ( chk_Pyes == "0" && chk_Pno == "0" && chk_Pnothing == "0") {
  338. sBool2 = true;
  339. SBool3 = true;
  340. } else {
  341. sBool2 = false;
  342. sBool3 = true;
  343. grp_main.chk_stay.value = "1";
  344. fStayOperCheck();
  345. }
  346. }
  347. fControlAttribute(grp_main.grd_ItemCheckList);
  348. }
  349. /* ------------------------------------------------- */
  350. /* type : function */
  351. /* access : public */
  352. /* desc : Grid Attribute Control 시 수행한다 */
  353. /* return : */
  354. /* --------------------------------------------------*/
  355. function fControlAttribute(pGrid) {
  356. var opchkyn="";
  357. var onochkyn="";
  358. var dsBindpGrid = eval(pGrid.binddataset);
  359. // var sExprEdit = "expr:";
  360. // var sExprEdit2 = "expr:";
  361. // var sExprControlBg = "expr:";
  362. // var sExprControlBg2 = "expr:";
  363. // var sExprControlBr = "expr:";
  364. // var sExprControlBr2 = "expr:";
  365. if( sBool1 == false ){
  366. pGrid.setCellProperty("Body", 4, "controlbackground", "");
  367. pGrid.setCellProperty("Body", 5, "controlbackground", "");
  368. pGrid.setCellProperty("Body", 6, "controlbackground", "");
  369. pGrid.setCellProperty("Body", 4, "edittype", "checkbox");
  370. pGrid.setCellProperty("Body", 5, "edittype", "checkbox");
  371. pGrid.setCellProperty("Body", 6, "edittype", "checkbox");
  372. }else{
  373. pGrid.setCellProperty("Body", 4, "controlbackground", "silver");
  374. pGrid.setCellProperty("Body", 5, "controlbackground", "silver");
  375. pGrid.setCellProperty("Body", 6, "controlbackground", "silver");
  376. pGrid.setCellProperty("Body", 4, "controlborder", "1 solid #708090cc");
  377. pGrid.setCellProperty("Body", 5, "controlborder", "1 solid #708090cc");
  378. pGrid.setCellProperty("Body", 6, "controlborder", "1 solid #708090cc");
  379. pGrid.setCellProperty("Body", 4, "edittype", "none");
  380. pGrid.setCellProperty("Body", 5, "edittype", "none");
  381. pGrid.setCellProperty("Body", 6, "edittype", "none");
  382. }
  383. if( sBool2 == false ){
  384. pGrid.setCellProperty("Body", 7, "controlbackground", "");
  385. pGrid.setCellProperty("Body", 8, "controlbackground", "");
  386. pGrid.setCellProperty("Body", 9, "controlbackground", "");
  387. pGrid.setCellProperty("Body", 7, "edittype", "checkbox");
  388. pGrid.setCellProperty("Body", 8, "edittype", "checkbox");
  389. pGrid.setCellProperty("Body", 9, "edittype", "checkbox");
  390. }else{
  391. pGrid.setCellProperty("Body", 7, "controlbackground", "silver");
  392. pGrid.setCellProperty("Body", 8, "controlbackground", "silver");
  393. pGrid.setCellProperty("Body", 9, "controlbackground", "silver");
  394. pGrid.setCellProperty("Body", 7, "controlborder", "1 solid #708090cc");
  395. pGrid.setCellProperty("Body", 8, "controlborder", "1 solid #708090cc");
  396. pGrid.setCellProperty("Body", 9, "controlborder", "1 solid #708090cc");
  397. pGrid.setCellProperty("Body", 7, "edittype", "none");
  398. pGrid.setCellProperty("Body", 8, "edittype", "none");
  399. pGrid.setCellProperty("Body", 9, "edittype", "none");
  400. }
  401. // if( sBool3 == false ){
  402. // pGrid.setCellProperty("Body", 11, "controlbackground", "");
  403. // pGrid.setCellProperty("Body", 11, "edittype", "checkbox");
  404. // }else{
  405. // pGrid.setCellProperty("Body", 11, "controlbackground", "silver");
  406. // pGrid.setCellProperty("Body", 11, "edittype", "none");
  407. // }
  408. for( var iRow=0 ; iRow<pGrid.rowcount ; iRow++ ){
  409. opchkyn = dsBindpGrid.getColumn(iRow, "opchkyn");
  410. onochkyn = dsBindpGrid.getColumn(iRow, "onochkyn");
  411. if( sBool3 == false && (onochkyn == "N" || utlf_isNull(onochkyn)) ){
  412. dsBindpGrid.setColumn(iRow, "colEdit12", "checkbox");
  413. dsBindpGrid.setColumn(iRow, "colConBack12", "");
  414. dsBindpGrid.setColumn(iRow, "colConBor12", "");
  415. // sExprEdit += "currow == "+iRow+" ? 'checkbox' : ";
  416. // sExprControlBg += "currow == "+iRow+" ? '' : ";
  417. // sExprControlBr += "currow == "+iRow+" ? '' : ";
  418. }else{
  419. dsBindpGrid.setColumn(iRow, "colEdit12", "none");
  420. dsBindpGrid.setColumn(iRow, "colConBack12", "silver");
  421. dsBindpGrid.setColumn(iRow, "colConBor12", "1 solid #708090cc");
  422. }
  423. if( sBool3 == false && opchkyn != "N" ){
  424. dsBindpGrid.setColumn(iRow, "colEdit10", "checkbox");
  425. dsBindpGrid.setColumn(iRow, "colConBack10", "");
  426. dsBindpGrid.setColumn(iRow, "colConBor10", "");
  427. // sExprEdit2 += "currow == "+iRow+" ? 'checkbox' : ";
  428. // sExprControlBg2 += "currow == "+iRow+" ? '' : ";
  429. // sExprControlBr2 += "currow == "+iRow+" ? '' : ";
  430. }else{
  431. dsBindpGrid.setColumn(iRow, "colEdit10", "none");
  432. dsBindpGrid.setColumn(iRow, "colConBack10", "silver");
  433. dsBindpGrid.setColumn(iRow, "colConBor10", "1 solid #708090cc");
  434. }
  435. //그리드 헤더클릭시 이벤트로 전환
  436. /*if(pGrid.row == 1 && pGrid.col == pGrid.colRef("Oyes") && opchkyn=="N") {
  437. pGrid.valueMatrix(iRow, pGrid.colRef("Oyes")) = false;
  438. }*/
  439. }
  440. // sExprEdit += "'none'";
  441. // sExprEdit2 += "'none'";
  442. // sExprControlBg += "'silver'";
  443. // sExprControlBg2 += "'silver'";
  444. // sExprControlBr += "'1 solid #708090cc'";
  445. // sExprControlBr2 += "'1 solid #708090cc'";
  446. //
  447. // pGrid.setCellProperty("Body", 12, "edittype", sExprEdit);
  448. // pGrid.setCellProperty("Body", 12, "controlbackground", sExprControlBg);
  449. // pGrid.setCellProperty("Body", 12, "controlborder", sExprControlBr);
  450. //
  451. // pGrid.setCellProperty("Body", 10, "edittype", sExprEdit2);
  452. // pGrid.setCellProperty("Body", 10, "controlbackground", sExprControlBg2);
  453. // pGrid.setCellProperty("Body", 10, "controlborder", sExprControlBr2);
  454. //
  455. // pGrid.setCellProperty("Body", 11, "edittype", sExprEdit2);
  456. // pGrid.setCellProperty("Body", 11, "controlbackground", sExprControlBg2);
  457. // pGrid.setCellProperty("Body", 11, "controlborder", sExprControlBr2);
  458. if( sBool1 ){
  459. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "displaytype", "normal");
  460. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "edittype", "none");
  461. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "expr", "");
  462. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "text", "");
  463. }else{
  464. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "displaytype", "checkbox");
  465. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "edittype", "checkbox");
  466. if( utlf_isNull(grp_main.grd_ItemCheckList.getCellProperty("Head", 11, "expr")) ){
  467. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "expr", "0");
  468. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "text", "");
  469. }
  470. }
  471. if( sBool2 ){
  472. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "displaytype", "normal");
  473. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "edittype", "none");
  474. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "expr", "");
  475. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "text", "");
  476. }else{
  477. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "displaytype", "checkbox");
  478. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "edittype", "checkbox");
  479. if( utlf_isNull(grp_main.grd_ItemCheckList.getCellProperty("Head", 15, "expr")) ){
  480. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "expr", "0");
  481. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "text", "");
  482. }
  483. }
  484. if( sBool3 ){
  485. grp_main.grd_ItemCheckList.setCellProperty("Head", 19, "displaytype", "normal");
  486. grp_main.grd_ItemCheckList.setCellProperty("Head", 19, "edittype", "none");
  487. grp_main.grd_ItemCheckList.setCellProperty("Head", 19, "expr", "");
  488. grp_main.grd_ItemCheckList.setCellProperty("Head", 19, "text", "");
  489. }else{
  490. grp_main.grd_ItemCheckList.setCellProperty("Head", 19, "displaytype", "checkbox");
  491. grp_main.grd_ItemCheckList.setCellProperty("Head", 19, "edittype", "checkbox");
  492. if( utlf_isNull(grp_main.grd_ItemCheckList.getCellProperty("Head", 19, "expr")) ){
  493. grp_main.grd_ItemCheckList.setCellProperty("Head", 19, "expr", "0");
  494. grp_main.grd_ItemCheckList.setCellProperty("Head", 19, "text", "");
  495. }
  496. }
  497. }
  498. /* ------------------------------------------------- */
  499. /* type : function */
  500. /* access : public */
  501. /* desc : 수술예약일시 가져오기 */
  502. /* param : 환자번호 */
  503. /* return : */
  504. /* --------------------------------------------------*/
  505. function Opschedd_Read() {
  506. // cmb_opdd.cmb_opdd.removeChild;
  507. var indexflag = "Y";
  508. var cnt = 0;
  509. ds_send.setColumn(0, "pid", ds_init_SendData.getColumn(0, "pid"));
  510. ds_send.setColumn(0, "instcd", ds_init_SendData.getColumn(0, "instcd"));
  511. ds_send.setColumn(0, "patposcls", sPatCls);
  512. var oParam = {};
  513. oParam.id = "TRMNP00201";
  514. oParam.service = "opanstapp.OpAnstPatMngt";
  515. oParam.method = "reqGetOpddInfo";
  516. oParam.inds = "req=ds_send";
  517. oParam.outds = "ds_main_OpddInfoList_OpddInfo=OpddInfo";
  518. oParam.async = false;
  519. //oParam.callback = "cf_TRMNP00201";
  520. tranf_submit(oParam); // 환자 수술전 처치 및 간호상태 확인 사항 수술예약일시
  521. var sGBOprsrvno = ds_main_operation_list.getColumn(0, "oprsrvno");
  522. //2008-11-26 오후 7:51:30 taebum 협진 수술일 경우에는 주수술예약번호를 setting함.
  523. var sGBMainOprsrvno = ds_main_operation_list.getColumn(0, "mainoprsrvno");
  524. if( !utlf_isNull(sGBMainOprsrvno) && sGBMainOprsrvno != "-" && sGBMainOprsrvno != sGBOprsrvno ){
  525. sGBOprsrvno = sGBMainOprsrvno;
  526. }
  527. if( !utlf_isNull(sGBOprsrvno) ){
  528. ds_init_SendData.setColumn(0, "oprsrvno", sGBOprsrvno);
  529. }else{
  530. if( ds_main_OpddInfoList_OpddInfo.rowcount > 0 &&
  531. !utlf_isNull(ds_main_OpddInfoList_OpddInfo.getColumn(ds_main_OpddInfoList_OpddInfo.findRow("opschedd", utlf_getCurrentDate()), "oprsrvno")) ){
  532. grp_main.cmb_opdd.value = ds_main_OpddInfoList_OpddInfo.getColumn(ds_main_OpddInfoList_OpddInfo.findRow("opschedd", utlf_getCurrentDate()), "oprsrvno");
  533. }else{
  534. //alert(model.getValue("/root/main/OpddInfoList/OpddInfo[indexflag = "+ indexflag +"]/oprsrvno"));
  535. var nodeCnt = ds_main_OpddInfoList_OpddInfo.rowcount;
  536. for( var i=0 ; i<nodeCnt ; i++ ){
  537. if( ds_main_OpddInfoList_OpddInfo.getColumn(i, "indexflag") == "Y" ){
  538. grp_main.cmb_opdd.value = ds_main_OpddInfoList_OpddInfo.getColumn(i, "oprsrvno");
  539. cnt++;
  540. }
  541. }
  542. if( cnt < 1 ) {//선택된 수술예약일시가 없으면 매처음 번호를 셋팅
  543. grp_main.cmb_opdd.value = ds_main_OpddInfoList_OpddInfo.getColumn(0, "oprsrvno");
  544. }
  545. //cmb_opdd.value = model.getValue("/root/main/OpddInfoList/OpddInfo[indexflag = "+ "Y" +"]/oprsrvno");
  546. //cmb_opdd.selectedIndex = 0;
  547. }
  548. }
  549. Query_Opdd_All();
  550. }
  551. /* ------------------------------------------------- */
  552. /* SMMNP00200_수술전처치 및 간호상태 확인 */
  553. /* 조회버튼 Click시 Call */
  554. /* ------------------------------------------------- */
  555. /* group : EMR 간호 */
  556. /* ver : 2007.05.03 */
  557. /* by : 최학록 */
  558. /* --------------------------------------------------*/
  559. /* type : function */
  560. /* access : public */
  561. /* desc : GRID 한줄 추가 */
  562. /* param : */
  563. /* return : */
  564. /* --------------------------------------------------*/
  565. function Query_Opdd_All(pFlag) {
  566. opIdx = grp_main.cmb_opdd.index;
  567. var cPath = ds_main_OpddInfoList_OpddInfo;
  568. //=======================================================================================================
  569. //2008-07-07 오후 7:52:27 taebum 협진 수술을 할 경우 주수술일 경우에만 기록을 작성 할수 있도록 변경함.
  570. var sTempMainoprsrvno = cPath.getColumn(opIdx, "mainoprsrvno");
  571. var sTempOprsrvno = cPath.getColumn(opIdx, "oprsrvno");
  572. if( (sTempMainoprsrvno != "-") && (sTempMainoprsrvno != sTempOprsrvno)){
  573. sysf_messageBox("협진수술 ","E008");
  574. grp_main.btn_del_grid.enable = false;
  575. grp_main.btn_ins_grid.enable = false;
  576. grp_main.btn_query.enable = false;
  577. grp_main.btn_rgst_tmp.enable = false;
  578. grp_main.btn_rgst_sct.enable = false;
  579. close();
  580. }else{
  581. grp_main.btn_del_grid.enable = true;
  582. grp_main.btn_ins_grid.enable = true;
  583. grp_main.btn_query.enable = true;
  584. grp_main.btn_rgst_tmp.enable = true;
  585. grp_main.btn_rgst_sct.enable = true;
  586. }
  587. //=======================================================================================================
  588. if( utlf_isNull(cPath.getColumn(opIdx, "oprsrvno")) ) {
  589. sysf_messageBox("수술환자가 아닙니다","I");
  590. return;
  591. }
  592. ds_main_MnphccsrData_MnwmpfifList.clearData();
  593. ds_send.setColumn(0, "pid", cPath.getColumn(opIdx, "pid"));
  594. ds_send.setColumn(0, "instcd", cPath.getColumn(opIdx, "instcd"));
  595. ds_send.setColumn(0, "oprsrvno", cPath.getColumn(opIdx, "oprsrvno"));
  596. ds_send.setColumn(0, "ophistno", cPath.getColumn(opIdx, "ophistno"));
  597. ds_send.setColumn(0, "opbfcureseqno", cPath.getColumn(opIdx, "opbfcureseqno"));
  598. var oParam = {};
  599. oParam.id = "TRMNP00202";
  600. oParam.service = "opanstapp.OpAnstPatMngt";
  601. oParam.method = "reqGetMnphccsrList";
  602. oParam.inds = "req=ds_send";
  603. oParam.outds = "ds_main_MnphccsrData_MnphccsrList=MnphccsrList ds_main_MnphccsrData_MnwmpfifList=MnwmpfifList ds_main_MnphccsrData_specimenlistnew=specimenlistnew";
  604. oParam.async = false;
  605. //oParam.callback = "cf_TRMNP00202";
  606. tranf_submit(oParam); // 환자 수술전 처치 및 간호상태 확인 사항
  607. ds_main_MnphccsrData_specimenlistnew.rowposition = -1;
  608. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList.getColumnInfo("msginfo")) ){
  609. ds_main_MnphccsrData_MnphccsrList.addColumn("msginfo", "string");
  610. }
  611. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList.getColumnInfo("lastupdtid")) ){
  612. ds_main_MnphccsrData_MnphccsrList.addColumn("lastupdtid", "string");
  613. }
  614. var sParamObj = new Object();
  615. sParamObj.pathYN = 'N';
  616. if( !utlf_isNull(this.objects["ds_data_InfectionList"]) ){
  617. ds_data_InfectionList.clearData();
  618. }
  619. if( !utlf_isNull(ds_main_MnphccsrData_MnphccsrList.getColumn(0, "infectspec")) ){
  620. lf_convertXmlToDs(ds_main_MnphccsrData_MnphccsrList.getColumn(0, "infectspec"), sParamObj); //ds_data_InfectionList
  621. }
  622. if( !utlf_isNull(this.objects["ds_data_AllergyList"]) ){
  623. ds_data_AllergyList.clearData();
  624. }
  625. if( !utlf_isNull(ds_main_MnphccsrData_MnphccsrList.getColumn(0, "allrgspec")) ){
  626. lf_convertXmlToDs(ds_main_MnphccsrData_MnphccsrList.getColumn(0, "allrgspec"), sParamObj); //ds_data_AllergyList
  627. }
  628. if( !utlf_isNull(this.objects["ds_data_ProductList"]) ){
  629. ds_data_ProductList.clearData();
  630. }
  631. if( !utlf_isNull(ds_main_MnphccsrData_MnphccsrList.getColumn(0, "sendgoodandmedspec")) ){
  632. lf_convertXmlToDs(ds_main_MnphccsrData_MnphccsrList.getColumn(0, "sendgoodandmedspec"), sParamObj); //ds_data_ProductList
  633. }
  634. if( !utlf_isNull(this.objects["ds_data_ItemCheckList"]) ){
  635. ds_data_ItemCheckList.clearData();
  636. }
  637. if( !utlf_isNull(ds_main_MnphccsrData_MnphccsrList.getColumn(0, "curenurgstatspec")) ){
  638. lf_convertXmlToDs(ds_main_MnphccsrData_MnphccsrList.getColumn(0, "curenurgstatspec"), sParamObj); //ds_data_ItemCheckList //데이터가 좀 이상함...
  639. }
  640. if( !utlf_isNull(this.objects["ds_data_CheckupList"]) ){
  641. ds_data_CheckupList.clearData();
  642. }
  643. if( !utlf_isNull(ds_main_MnphccsrData_MnphccsrList.getColumn(0, "testinfospec")) ){
  644. lf_convertXmlToDs(ds_main_MnphccsrData_MnphccsrList.getColumn(0, "testinfospec"), sParamObj); //ds_data_CheckupList
  645. }
  646. if( !utlf_isNull(this.objects["ds_data_MnwmpfifList"]) ){
  647. ds_data_MnwmpfifList.clearData();
  648. }
  649. if( !utlf_isNull(ds_main_MnphccsrData_MnphccsrList.getColumn(0, "famyinfo")) ){
  650. lf_convertXmlToDs(ds_main_MnphccsrData_MnphccsrList.getColumn(0, "famyinfo"), sParamObj); //ds_data_MnwmpfifList
  651. }
  652. ds_main_MnphccsrData_MnphccsrList_infectspec_InfectionLists_InfectionList.clearData();
  653. ds_main_MnphccsrData_MnphccsrList_allrgspec_AllergyLists_AllergyList.clearData();
  654. ds_main_MnphccsrData_MnphccsrList_sendgoodandmedspec_ProductLists_ProductList.clearData();
  655. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.clearData();
  656. ds_main_MnphccsrData_MnphccsrList_testinfospec_CheckupLists_CheckupList.clearData();
  657. ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.clearData();
  658. if( !utlf_isNull(this.objects["ds_data_InfectionList"]) ){
  659. ds_main_MnphccsrData_MnphccsrList_infectspec_InfectionLists_InfectionList.copyData(ds_data_InfectionList);
  660. }
  661. if( !utlf_isNull(this.objects["ds_data_AllergyList"]) ){
  662. ds_main_MnphccsrData_MnphccsrList_allrgspec_AllergyLists_AllergyList.copyData(ds_data_AllergyList);
  663. }
  664. if( !utlf_isNull(this.objects["ds_data_ProductList"]) ){
  665. ds_main_MnphccsrData_MnphccsrList_sendgoodandmedspec_ProductLists_ProductList.copyData(ds_data_ProductList);
  666. }
  667. if( !utlf_isNull(this.objects["ds_data_ItemCheckList"]) ){
  668. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.copyData(ds_data_ItemCheckList);
  669. // ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.insertRow(2);
  670. // ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.copyRow(2, ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList, 1);
  671. // ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(2, "ItemInfoBk", "마취동의서");
  672. // ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(2, "ItemCode", "ITM023");
  673. // ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(2, "referenceseq", "23");
  674. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("opchkyn")) ){
  675. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("opchkyn", "string");
  676. }
  677. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("onochkyn")) ){
  678. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("onochkyn", "string");
  679. }
  680. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("Snothing")) ){
  681. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("Snothing", "string");
  682. }
  683. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("Onothing")) ){
  684. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("Onothing", "string");
  685. }
  686. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colEdit10")) ){
  687. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colEdit10", "string");
  688. }
  689. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colEdit12")) ){
  690. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colEdit12", "string");
  691. }
  692. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBack10")) ){
  693. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBack10", "string");
  694. }
  695. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBack12")) ){
  696. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBack12", "string");
  697. }
  698. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBor10")) ){
  699. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBor10", "string");
  700. }
  701. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBor12")) ){
  702. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBor12", "string");
  703. }
  704. var nFindRow = ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.findRow("ItemCode", "ITM023");
  705. if( nFindRow > -1 ){
  706. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(nFindRow, "opchkyn", "N");
  707. }
  708. }
  709. if( !utlf_isNull(this.objects["ds_data_CheckupList"]) ){
  710. ds_main_MnphccsrData_MnphccsrList_testinfospec_CheckupLists_CheckupList.copyData(ds_data_CheckupList);
  711. }
  712. if( !utlf_isNull(this.objects["ds_data_MnwmpfifList"]) ){
  713. ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.copyData(ds_data_MnwmpfifList);
  714. }
  715. if( ds_main_MnphccsrData_MnwmpfifList.rowcount > 0 ){
  716. ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.appendData(ds_main_MnphccsrData_MnwmpfifList, true);
  717. }
  718. ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.rowposition = -1;
  719. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.enableevent = false;
  720. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.updatecontrol = false;
  721. for( var i=0 ; i<ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.rowcount ; i++ ){
  722. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "Pyes") == "true" ){
  723. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Pyes", "1");
  724. }else{
  725. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Pyes", "0");
  726. }
  727. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "Pno") == "true" ){
  728. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Pno", "1");
  729. }else{
  730. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Pno", "0");
  731. }
  732. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "Pnothing") == "true" ){
  733. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Pnothing", "1");
  734. }else{
  735. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Pnothing", "0");
  736. }
  737. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "Syes") == "true" ){
  738. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Syes", "1");
  739. }else{
  740. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Syes", "0");
  741. }
  742. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "Sno") == "true" ){
  743. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Sno", "1");
  744. }else{
  745. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Sno", "0");
  746. }
  747. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "Snothing") == "true" ){
  748. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Snothing", "1");
  749. }else{
  750. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Snothing", "0");
  751. }
  752. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "Oyes") == "true" ){
  753. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Oyes", "1");
  754. }else{
  755. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Oyes", "0");
  756. }
  757. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "Ono") == "true" ){
  758. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Ono", "1");
  759. }else{
  760. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Ono", "0");
  761. }
  762. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "Onothing") == "true" ){
  763. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Onothing", "1");
  764. }else{
  765. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(i, "Onothing", "0");
  766. }
  767. }
  768. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.updatecontrol = true;
  769. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.enableevent = true;
  770. var sSmsagreeyn = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "smsagreeyn");
  771. // 환자 및 보호자 연락처 체크 값 변경
  772. for( var i=0 ; i<ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.rowcount ; i++ )
  773. {
  774. if( ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(i, "chkyn") == "Y" )
  775. {
  776. ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.setColumn(i, "chkyn", "1");
  777. }
  778. else
  779. {
  780. ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.setColumn(i, "chkyn", "0");
  781. }
  782. }
  783. ds_main_SheetData3_SpecimenLists_specimenlistnew.copyData(ds_main_MnphccsrData_specimenlistnew);
  784. if(sSmsagreeyn == "Y") {
  785. grp_main.btn_smsagreeyn.enable = true;
  786. } else {
  787. grp_main.btn_smsagreeyn.enable = false;
  788. }
  789. // var nodelist = ds_main_MnphccsrData_MnwmpfifList;
  790. // var desnode = ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList;
  791. //
  792. // desnode.clearData();
  793. //
  794. // if( nodelist.rowcount > 0 ){
  795. // for( var i=0 ; i<nodelist.rowcount ; i++ ){
  796. // desnode.addRow();
  797. // desnode.copyRow(i, nodelist, i);
  798. // }
  799. // }
  800. var check = grp_main.grd_ItemCheckList.rowcount;
  801. var popwh1 = -1; // 수술동의서
  802. var popwh12 = -1; // 마취동의서
  803. var popwh2 = -1; // 알러지 유무
  804. var popwh3 = -1; // PCA 동의서
  805. var newflag = -1; //
  806. //20190405 김현석, 팝업 항목 추가
  807. var popwh17 = -1; // 전염설 질환
  808. var popwh20 = -1; // 처방된 혈액제제 있음
  809. // 20110704 wify 경북대병원 해당무 checkbox 추가로 인한 node추가
  810. for( var i=0 ; i<grp_main.grd_ItemCheckList.rowcount ; i++ ){
  811. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemInfoBk") == "수술동의서"
  812. // 20190405 김현석, 동의서 팝업 링크 걸기
  813. || ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == "ITM002" ){
  814. popwh1 = i;
  815. }
  816. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemInfoBk") == "마취동의서"
  817. // 20190405 김현석, 동의서 팝업 링크 걸기
  818. || ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == "ITM023" ){
  819. popwh12 = i;
  820. }
  821. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemInfoBk") == "알러지 유무"
  822. // 20190405 김현석, 동의서 팝업 링크 걸기
  823. || ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == "ITM008" ){
  824. popwh2 = i;
  825. }
  826. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemInfoBk") == "PCA동의서"
  827. // 20190405 김현석, 동의서 팝업 링크 걸기
  828. || ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == "ITM022" ){
  829. popwh3 = i;
  830. newflag = "Y";
  831. }
  832. //20190405 김현석, 팝업 항목 추가
  833. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == "ITM017" ){ // 전염성 질환
  834. popwh17 = i;
  835. }
  836. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == "ITM018" ){ // 처방된 혈액제제
  837. popwh20 = i;
  838. }
  839. //20190405 김현석, 팝업 항목 추가 _E
  840. }
  841. if( xPath_MnphccsrList.getColumn(0, "opbfcureseqno") == "-" ){ // 환자 수술전 처치 및 간호상태 확인사항 자료가 없는 경우
  842. xPath_allrgspec.copyData(xPath_Fmt_allrgspec); // 환자 알레르기 정보
  843. xPath_testinfospec.copyData(xPath_Fmt_testinfospec); // Lab 검사결과
  844. xPath_sendgoodandmedspec.copyData(xPath_Fmt_sendgoodandmedspec); // 보내는 물품/약품 내역
  845. xPath_curenurgstatspec.copyData(xPath_Fmt_curenurgstatspec); // 환자 수술전 처치 및 간호상태 확인 사항
  846. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("opchkyn")) ){
  847. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("opchkyn", "string");
  848. }
  849. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("onochkyn")) ){
  850. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("onochkyn", "string");
  851. }
  852. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("Snothing")) ){
  853. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("Snothing", "string");
  854. }
  855. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("Onothing")) ){
  856. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("Onothing", "string");
  857. }
  858. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colEdit10")) ){
  859. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colEdit10", "string");
  860. }
  861. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colEdit12")) ){
  862. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colEdit12", "string");
  863. }
  864. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBack10")) ){
  865. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBack10", "string");
  866. }
  867. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBack12")) ){
  868. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBack12", "string");
  869. }
  870. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBor10")) ){
  871. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBor10", "string");
  872. }
  873. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBor12")) ){
  874. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBor12", "string");
  875. }
  876. dsf_makeValue(xPath_MnphccsrList, "stat", "string", "I");
  877. fSrchPatLnkInfo("all"); // 알레르기 정보
  878. for( var i=0 ; i<ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.rowcount ; i++ ){
  879. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemInfoBk") == "수술동의서"
  880. // 20190405 김현석, 동의서 팝업 링크 걸기
  881. || ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == "ITM002" ){
  882. popwh1 = i;
  883. }
  884. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemInfoBk") == "마취동의서"
  885. // 20190405 김현석, 동의서 팝업 링크 걸기
  886. || ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == "ITM023" ){
  887. popwh12 = i;
  888. }
  889. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemInfoBk") == "알러지 유무"
  890. // 20190405 김현석, 동의서 팝업 링크 걸기
  891. || ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == "ITM008" ){
  892. popwh2 = i;
  893. }
  894. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemInfoBk") == "PCA동의서"
  895. // 20190405 김현석, 동의서 팝업 링크 걸기
  896. || ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == "ITM022" ){
  897. popwh3 = i;
  898. }
  899. //20190405 김현석, 팝업 항목 추가 _S
  900. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == "ITM017" ){ // 전염성 질환
  901. popwh17 = i;
  902. }
  903. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == "ITM018" ){ // 처방된 혈액제제
  904. popwh20 = i;
  905. }
  906. //20190405 김현석, 팝업 항목 추가 _E
  907. }
  908. }else {
  909. fSrchPatLnkInfo("all"); // 알레르기 정보
  910. dsf_makeValue(xPath_MnphccsrList, "stat", "string", "U");
  911. // 2008-10-05 오전 11:08:56 taebum 2번째 확인내역 상세정보가 merge 되는 현상 처리로 추가함.
  912. }
  913. //2008-10-30 오전 9:47:40 taebum curenurgstatspec xml column에 curenurgstatspec 최상위
  914. //노드가 생기는 버그가 발생되어 curenurgstatspec노드가 있을 경우 제거 작업
  915. //2008-10-31 오후 7:11:36 taebum 의뢰내역이 없을경우 script오류 수정
  916. if( !utlf_isNull(ds_init_SendData.getColumn(0, "oprsrvno")) ){
  917. // var sTmpCheckNode = instance1.selectSingleNode("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec");
  918. // if(sTmpCheckNode != null && sTmpCheckNode.childNodes(0).nodeName == "curenurgstatspec"){
  919. //
  920. // model.copyNode("/root/init/errorNode", "/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/curenurgstatspec");
  921. // model.removenode("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/curenurgstatspec");
  922. // model.copyNode("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec", "/root/init/errorNode");
  923. //
  924. // }
  925. //var sTmpCheckNode = instance1.selectSingleNode("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec");
  926. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_curenurgstatspec_ItemCheckLists_ItemCheckList.rowcount > 0 ){
  927. ds_init_errorNode_ItemCheckLists_ItemCheckList.copyData(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_curenurgstatspec_ItemCheckLists_ItemCheckList);
  928. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_curenurgstatspec_ItemCheckLists_ItemCheckList.clearData();
  929. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.copyData(ds_init_errorNode_ItemCheckLists_ItemCheckList);
  930. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("opchkyn")) ){
  931. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("opchkyn", "string");
  932. }
  933. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("onochkyn")) ){
  934. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("onochkyn", "string");
  935. }
  936. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("Snothing")) ){
  937. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("Snothing", "string");
  938. }
  939. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("Onothing")) ){
  940. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("Onothing", "string");
  941. }
  942. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colEdit10")) ){
  943. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colEdit10", "string");
  944. }
  945. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colEdit12")) ){
  946. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colEdit12", "string");
  947. }
  948. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBack10")) ){
  949. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBack10", "string");
  950. }
  951. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBack12")) ){
  952. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBack12", "string");
  953. }
  954. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBor10")) ){
  955. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBor10", "string");
  956. }
  957. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBor12")) ){
  958. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBor12", "string");
  959. }
  960. var nFindRow = ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.findRow("ItemCode", "ITM023");
  961. if( nFindRow > -1 ){
  962. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(nFindRow, "opchkyn", "N");
  963. }
  964. }
  965. }else{
  966. sysf_messageBox("수술예약일시가 존재하지 않습니다.","I000"); // 병실에서 기록한 후에 수술실에서 기록이
  967. grp_main.btn_rgst_tmp.enable = false;
  968. grp_main.btn_rgst_sct.enable = false;
  969. close();
  970. return;
  971. }
  972. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.rowposition = -1;
  973. //fRowSyle(grp_main.grd_ItemCheckList);
  974. var ordtype= xPath_MnphccsrList.getColumn(0, "ordtype");
  975. var wardtel="";
  976. if(ordtype == "E") {
  977. wardtel = "(t." + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "wardtel")) + ")";
  978. } else {
  979. wardtel = "";
  980. }
  981. var sPatInfo = utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "wardcd")) + " " // 병동
  982. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "roomcd")) + wardtel + " " // 병동
  983. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "patname2")) + " " // 환자명
  984. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "sa")) + " " // SA
  985. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "pid")) ; // 등록번호
  986. var sPatInfo2 = "";
  987. // 2008.02.21 변경
  988. if (sPatCls == "O") { //O:수술실, W:병동
  989. sPatInfo2= utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "perdeptnm")) + " "; // 집도과
  990. } else {
  991. sPatInfo2= utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "depthngnm")) + " "; // 진료과
  992. }
  993. sPatInfo2 += utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "oproomnm")) + " " // 수술실명
  994. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "perfdridnm")) + " " // 집도의
  995. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "opcdnm")) + " " // 수술명
  996. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "anstmthdnm")) ; // 마취방법
  997. ds_init_SendData.setColumn(0, "patinfo", sPatInfo);
  998. ds_init_SendData.setColumn(0, "patinfo2", sPatInfo2);
  999. if( !utlf_isNull(xPath_MnphccsrList.getColumn(0, "certno")) ){ // 인증저장후 자료 처리
  1000. // if (sPatCls != "O") { //O:수술실, W:병동
  1001. grp_main.btn_rgst_tmp.enable = false;
  1002. // }
  1003. }
  1004. // 20110711 wify 데이터 없는 row 제거
  1005. // for(var i = 1 ; i < grd_ItemCheckList.rows; i++) {
  1006. // if ( instance1.selectSingleNode(grd_ItemCheckList.nodeset + "["+ i +"]/ItemInfoBk") == null) {
  1007. // grd_ItemCheckList.deleteRow(i);
  1008. // }
  1009. // if ( grd_ItemCheckList.valueMatrix(i, grd_ItemCheckList.colRef("ItemInfoBk")) == "") {
  1010. // model.removeNodeset(grd_ItemCheckList.nodeset + "[" + i + "]/Snothing");
  1011. // model.removeNodeset(grd_ItemCheckList.nodeset + "[" + i + "]/Onothing");
  1012. // alert(i);
  1013. // grd_ItemCheckList.deleteRow(i+1);
  1014. // }
  1015. // }
  1016. var sExprImage = "EXPR(";
  1017. // grd_ItemCheckList.cellstyle("background-image" , 3, 1) = "../../../com/commonweb/images/icon_startend.gif";
  1018. // grd_ItemCheckList.cellstyle("background-position", 3, 1) = "center right";
  1019. sExprImage += "currow == "+popwh1+" ? "+'"'+"URL(IMG::mis/icon_startend.png) right middle"+'"'+" : ";
  1020. sExprImage += "currow == "+popwh12+" ? "+'"'+"URL(IMG::mis/icon_startend.png) right middle"+'"'+" : ";
  1021. // grd_ItemCheckList.cellstyle("background-image" , 5, 1) = "../../../com/commonweb/images/icon_startend.gif";
  1022. // grd_ItemCheckList.cellstyle("background-position", 5, 1) = "center right";
  1023. //2008-09-09 오전 10:07:40 taebum 12 알러지 여부 이미지버튼 추가
  1024. // if( getNodesetCount("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList") == 22 ) { //통증사정이 포함되어 있으면
  1025. sExprImage += "currow == "+popwh2+" ? "+'"'+"URL(IMG::mis/icon_startend.png) right middle"+'"'+" : ";
  1026. // grd_ItemCheckList.cellstyle("background-image" , popwh2, 1) = "../../../com/commonweb/images/icon_startend.gif";
  1027. // grd_ItemCheckList.cellstyle("background-position", popwh2, 1) = "center right";
  1028. //20190405 김현석, 팝업 항목 추가 _S
  1029. sExprImage += "currow == "+popwh17+" ? "+'"'+"URL(IMG::mis/icon_startend.png) right middle"+'"'+" : "; // 전염성 질환
  1030. sExprImage += "currow == "+popwh20+" ? "+'"'+"URL(IMG::mis/icon_startend.png) right middle"+'"'+" : "; // 처방된 혈액제제
  1031. //20190405 김현석, 팝업 항목 추가 _E
  1032. //alert(grd_ItemCheckList.rows);
  1033. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.rowcount-1, "ItemCode") != "ITM022" ){
  1034. // grd_ItemCheckList.deleteRow(grd_ItemCheckList.rows - 1);
  1035. if(check != "2") {
  1036. // grd_ItemCheckList.deleteRow(grd_ItemCheckList.rows);
  1037. } else if (check == "2") {
  1038. sExprImage += "currow == "+popwh3+" ? "+'"'+"URL(IMG::mis/icon_startend.png) right middle"+'"'+" : ";
  1039. }
  1040. } else {
  1041. sExprImage += "currow == "+(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.rowcount-1)+" ? "+'"'+"URL(IMG::mis/icon_startend.png) right middle"+'"'+" : ";
  1042. }
  1043. // grd_ItemCheckList.cellstyle("background-image" , 23, 1) = "../../../com/commonweb/images/icon_startend.gif";
  1044. // grd_ItemCheckList.cellstyle("background-position", 23, 1) = "center right";
  1045. // }else {
  1046. // grd_ItemCheckList.cellstyle("background-image" , 14, 1) = "../../../com/commonweb/images/icon_startend.gif";
  1047. // grd_ItemCheckList.cellstyle("background-position", 14, 1) = "center right";
  1048. // }
  1049. sExprImage += "'')";
  1050. grp_main.grd_ItemCheckList.setCellProperty("Body", 2, "text", sExprImage);
  1051. //2008-09-09 오전 10:41:12 전자 인증시 해당없음을 제외한 내역만 인증하기 위한 Temp Node default 설정
  1052. //combobox 변경시 저장 버튼 활성화 비활성화 관련.
  1053. if(pFlag == "changed"){
  1054. var sCnt = parseInt(xPathGride.getCaseCount("ItemCode=='ITM013'")); // 수술전 투약 건수
  1055. wDrgIdx = sCnt + 18; // 수술전 투약 건수
  1056. wFixGrid += (sCnt - 1);
  1057. var sCnt2 = parseInt(xPathGride.getCaseCount("ItemCode=='ITM018'")); // 혈액준비사항 건수
  1058. wBolIdx = sCnt + sCnt2 + 18; // 혈액준비사항 건수
  1059. wFixGrid += (sCnt - 1);
  1060. fOpWardCheck();
  1061. if( (sPatCls == "O" || sPatCls == "B") && (utlf_isNull(xPath_MnphccsrList.getColumn(0, "wardstartdt")) || utlf_isNull(xPath_MnphccsrList.getColumn(0, "wardstarttm"))) ){
  1062. sysf_messageBox("간호단위에서 기록한 후에 기록이","I006"); // 병실에서 기록한 후에 수술실에서 기록이
  1063. grp_main.btn_rgst_tmp.enable = false;
  1064. grp_main.btn_rgst_sct.enable = false;
  1065. }
  1066. }
  1067. }
  1068. /* ------------------------------------------------- */
  1069. /* group : EMR 간호 */
  1070. /* ver : 2007.05.03 */
  1071. /* by : 최학록 */
  1072. /* --------------------------------------------------*/
  1073. /* type : function */
  1074. /* access : public */
  1075. /* desc : GRID 한줄 추가 */
  1076. /* param : pGridNm : DataGrid Name */
  1077. /* pLine : DataGrid Row */
  1078. /* return : */
  1079. /* --------------------------------------------------*/
  1080. function fAddItem(pDsNm,pLine){
  1081. DsNm = eval(pDsNm)
  1082. if( utlf_isNull(pLine) ){
  1083. DsNm.addRow();
  1084. }
  1085. else {
  1086. DsNm.addItem();
  1087. }
  1088. }
  1089. /* --------------------------------------------------*/
  1090. /* type : function */
  1091. /* access : public */
  1092. /* desc : GRID 한줄 삭제 */
  1093. /* param : pGridNm : DataGrid Name */
  1094. /* pLine : DataGrid Row */
  1095. /* return : */
  1096. /* --------------------------------------------------*/
  1097. function fDeleteItem(pDsNm,pLine){
  1098. DsNm = eval(pDsNm)
  1099. if( utlf_isNull(pLine) ){
  1100. DsNm.deleteRow(DsNm.rowcount-1);
  1101. }
  1102. else {
  1103. DsNm.deleteRow(pLine);
  1104. }
  1105. }
  1106. /* --------------------------------------------------*/
  1107. /* type : function */
  1108. /* access : public */
  1109. /* desc : GRID CheckBox 값변경 */
  1110. /* param : pGridNm : DataGrid Name */
  1111. /* pRow : DataGrid Row */
  1112. /* pCol : DataGrid Col */
  1113. /* pTrueFase : 논린값 */
  1114. /* return : */
  1115. /* --------------------------------------------------*/
  1116. function fCheckBox(pGridNm,pRow,pCol,pTrueFase){
  1117. var objDsGrid = eval(pGridNm.binddataset);
  1118. objDsGrid.setColumn(pRow, pCol, pTrueFase);
  1119. }
  1120. /* ------------------------------------------------- */
  1121. /* type : function */
  1122. /* access : public */
  1123. /* desc : GRID CheckBox 값변경 */
  1124. /* param : pGridNm : DataGrid Name */
  1125. /* return : */
  1126. /* -------------------------------------------------*/
  1127. function fGridValueChangedCheckBox(pGridNm, columnid){
  1128. var wTrueFase;
  1129. GridNm = eval(pGridNm);
  1130. DsNm = eval(GridNm.binddataset);
  1131. if( GridNm.currentcol > 3 ){
  1132. wTrueFase = DsNm.getColumn(GridNm.currentrow, columnid);
  1133. if (wTrueFase == "1") {
  1134. switch(GridNm.currentcol){
  1135. case 4 : //Pyes
  1136. // if( GridNm.row == "1" ) { // 전체 '예' 체크 시
  1137. // fCheckBox(GridNm, ITM002 ,GridNm.colRef("Pyes"),"false");
  1138. // fCheckBox(GridNm, ITM022 ,GridNm.colRef("Pyes"),"false");
  1139. // }
  1140. fCheckBox(GridNm, GridNm.currentrow ,"Pno","0");
  1141. fCheckBox(GridNm, GridNm.currentrow ,"Pnothing","0");
  1142. break;
  1143. case 6 : //Pno
  1144. fCheckBox(GridNm,GridNm.currentrow ,"Pyes","0");
  1145. fCheckBox(GridNm,GridNm.currentrow ,"Pnothing","0");
  1146. break;
  1147. case 7 : //Pnothing
  1148. fCheckBox(GridNm,GridNm.currentrow ,"Pyes","0");
  1149. fCheckBox(GridNm,GridNm.currentrow ,"Pno","0");
  1150. break;
  1151. case 8 : //Syes
  1152. // if( GridNm.row == "1" ) { // 전체 '예' 체크 시
  1153. // fCheckBox(GridNm, ITM002 ,GridNm.colRef("Syes"),"false");
  1154. // fCheckBox(GridNm, ITM022 ,GridNm.colRef("Syes"),"false");
  1155. // }
  1156. fCheckBox(GridNm,GridNm.currentrow ,"Sno","0");
  1157. fCheckBox(GridNm,GridNm.currentrow ,"Snothing","0");
  1158. break;
  1159. case 10 : //Sno
  1160. fCheckBox(GridNm,GridNm.currentrow ,"Syes","0");
  1161. fCheckBox(GridNm,GridNm.currentrow ,"Snothing","0");
  1162. break;
  1163. case 11 : //Snothing
  1164. fCheckBox(GridNm,GridNm.currentrow ,"Syes","0");
  1165. fCheckBox(GridNm,GridNm.currentrow ,"Sno","0");
  1166. break;
  1167. case 12 : //Oyes
  1168. // if( GridNm.row == "1" ) { // 전체 '예' 체크 시
  1169. // fCheckBox(GridNm, ITM002 ,GridNm.colRef("Oyes"),"false");
  1170. // fCheckBox(GridNm, ITM022 ,GridNm.colRef("Oyes"),"false");
  1171. // }
  1172. fCheckBox(GridNm,GridNm.currentrow ,"Ono","0");
  1173. fCheckBox(GridNm,GridNm.currentrow ,"Onothing","0");
  1174. break;
  1175. case 14 : //Ono
  1176. fCheckBox(GridNm,GridNm.currentrow ,"Oyes","0");
  1177. fCheckBox(GridNm,GridNm.currentrow ,"Onothing","0");
  1178. break;
  1179. case 15 : //Onothing
  1180. fCheckBox(GridNm,GridNm.currentrow ,"Oyes","0");
  1181. fCheckBox(GridNm,GridNm.currentrow ,"Ono","0");
  1182. break;
  1183. }
  1184. }
  1185. }
  1186. }
  1187. /* ---------------------------------------------------------------*/
  1188. /* type : function */
  1189. /* access : public */
  1190. /* desc : 환자 수술전 처치 및 간호상태 확인 사항 INSERT저장 */
  1191. /* param : EMR.MNPHCCSR 전체 */
  1192. /* return : */
  1193. /* ---------------------------------------------------------------*/
  1194. //20180719 이돈희 : 수술전처치 및 간호상태 확인 전체 삭제를 위한 pDelete 파라미터 추가
  1195. function fSave(pFlag, pDelete){
  1196. ds_send.setColumn(0, "oprsrvno", ds_init_SendData.getColumn(0, "oprsrvno"));
  1197. var sPid = xPath_MnphccsrList.getColumn(0, "pid"); // 01 환자번호
  1198. var sOprsrvno = xPath_MnphccsrList.getColumn(0, "oprsrvno"); // 02 의뢰번호(년도(4) + 일련번호(6))
  1199. var sOphistno = xPath_MnphccsrList.getColumn(0, "ophistno"); // 03 예약번호에 따른 이력번호
  1200. var sInstcd = xPath_MnphccsrList.getColumn(0, "instcd"); // 04 원무외래/입원등록정보 PK
  1201. var sOprsrvdd = xPath_MnphccsrList.getColumn(0, "oprsrvdd"); // 05 수술일시:수술이확정된 일시
  1202. var sOprsrvtmcd = xPath_MnphccsrList.getColumn(0, "oprsrvtmcd"); // 06 수술예약시간코드
  1203. var sInoutflag = xPath_MnphccsrList.getColumn(0, "inoutflag"); // 07 외래입원구분
  1204. var sOpPatflagcd = ds_main_operation_list.getColumn(0, "oppatflagcd"); // 11 환자구분
  1205. var sOrddd = xPath_MnphccsrList.getColumn(0, "orddd"); // 08 진료일자
  1206. var sOrddeptcd = xPath_MnphccsrList.getColumn(0, "orddeptcd"); // 09 진료부서
  1207. var sInday = xPath_MnphccsrList.getColumn(0, "inday"); // 10 입원일자
  1208. var sEtctel1 = xPath_MnphccsrList.getColumn(0, "etctel1"); // 47 보호자연락처1
  1209. var sEtctel2 = xPath_MnphccsrList.getColumn(0, "etctel2"); // 48 보호자연락처2
  1210. var sSmsagreeyn = xPath_MnphccsrList.getColumn(0, "smsagreeyn"); // 49 SMS동의여부
  1211. var sTempStaycls = ds_init.getColumn(0, "staycls");
  1212. var message = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "msginfo");
  1213. //2017년11월29일 이돈희 추가
  1214. //석명숙과장 요청사항 : 기본으로 SMS 동의 여부는 선택되어 있지 않음, 선택되어있지 않은 경우 알림창 띄움
  1215. // : 칠곡과 협의된 사항임
  1216. if(sSmsagreeyn == "-")
  1217. {
  1218. sysf_messageBox("SMS 동의여부를 선택하십시오.", "I000");
  1219. return;
  1220. }
  1221. if(sSmsagreeyn == "Y") {
  1222. //if(message == "" || message == null) {
  1223. // messageBox("SMS동의시에는 SMS문구를 입력하셔야합니다.", "E");
  1224. // return
  1225. //}
  1226. }
  1227. if( sInoutflag != sOpPatflagcd && !utlf_isNull(sOpPatflagcd) ){
  1228. //기록지데이터랑 스케쥴 데이터랑 틀릴경우 스케쥴데이터로 처리 2010.03.10 K. J. M
  1229. //수술준비확인 기록이후 외래에서 입원으로 스케쥴이 변경된경우 점검리스트 처방 콤보가 제대로 끌려오지 않음
  1230. sInoutflag = sOpPatflagcd;
  1231. }
  1232. if(pFlag == "C" && ( sPatCls == "W" || sPatCls == "B" )) {
  1233. if( utlf_isNull(xPath_MnphccsrList.getColumn(0, "wardstartdt")) || utlf_isNull(xPath_MnphccsrList.getColumn(0, "wardstarttm")) ){
  1234. sysf_messageBox("병동출발일시를 입력하십시요!", "I000");
  1235. return;
  1236. } else {
  1237. if( xPath_MnphccsrList.getColumn(0, "wardstarttm").length < 4 ){
  1238. sysf_messageBox("병동출발일시를 입력하십시요!", "I000");
  1239. return;
  1240. }
  1241. }
  1242. }
  1243. // 인증저장된 병동 환자의 경우 CP 기록이랑 연결한다 2012.11.22 KJS
  1244. if(pFlag == "C" && ( sPatCls == "W" || sPatCls == "B" )) {
  1245. fNrCpRecord();
  1246. }
  1247. if( !utlf_isNull(xPath_MnphccsrList.getColumn(0, "patarrvdt")) &&
  1248. utlf_isNull(xPath_MnphccsrList.getColumn(0, "wardstartdt")) ){
  1249. sysf_messageBox("병동출발일시를 입력하십시요!", "I000");
  1250. //messageBox("병동출발일시를 ","C001" );
  1251. xPath_MnphccsrList.setColumn(0, "patarrvdt", "");
  1252. xPath_MnphccsrList.setColumn(0, "patarrvtm", "");
  1253. return;
  1254. }
  1255. if( pFlag == "C" && ( sPatCls == "O" || (sPatCls == "B" && ( grp_main.chk_stay.value== "1" || grp_main.chk_oper.value == "2" ))) ){
  1256. if( utlf_isNull(xPath_MnphccsrList.getColumn(0, "patarrvdt")) || utlf_isNull(xPath_MnphccsrList.getColumn(0, "patarrvtm")) ){
  1257. sysf_messageBox("환자도착일시를 입력하십시요!", "I000");
  1258. return;
  1259. }
  1260. if( xPath_MnphccsrList.getColumn(0, "patarrvtm").length < 4 ){
  1261. sysf_messageBox("환자도착일시를 입력하십시요!", "I000");
  1262. return;
  1263. }
  1264. if( utlf_isNull(ds_init.getColumn(0, "staycls")) ){
  1265. sysf_messageBox("환자위치(대기실,수술실)를 선택하십시요!", "I000");
  1266. return;
  1267. }
  1268. if( ds_init.getColumn(0, "staycls") == "2" && utlf_isNull(xPath_MnphccsrList.getColumn(0, "staychfid")) ){
  1269. sysf_messageBox("대기실 기록을 확인하십시요!", "I000");
  1270. return;
  1271. }
  1272. }
  1273. var sOpcnfmtm = utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "opcnfmtm")).replace(':', '');
  1274. var sOpcnfmdt = utlf_transNullToEmpty(sOprsrvdd) // 05 수술일시:수술이확정된 일시
  1275. + utlf_transNullToEmpty(sOpcnfmtm).substr(0,4); // 수술일시:수술이확정시간
  1276. var sWardstartdttm = utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "wardstartdt"))
  1277. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "wardstarttm")); // 11 병동출발일시통원환자인경우 null' )
  1278. var sPatarrvdttm = utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "patarrvdt"))
  1279. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "patarrvtm")); // 12 환자도착일시
  1280. var sWardarrvdttm = utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "wardarrvdt"))
  1281. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "wardarrvtm")); // 12_1 병동도착일시
  1282. xPath_MnphccsrList.setColumn(0, "wardstartdttm", sWardstartdttm);
  1283. xPath_MnphccsrList.setColumn(0, "wardarrvdttm", sWardarrvdttm);
  1284. // alert("==>"+sWardstartdttm +"<"+ sPatarrvdttm +"<"+ sOpcnfmdt+"<==");
  1285. // if (sPatCls != "O" && sWardstartdttm != "" && sWardstartdttm > sOpcnfmdt){
  1286. // messageBox("병동 출발일시가 수술예약일시 보다 시간이 이릅니다. 다시","C001");
  1287. // model.setValue(xPath_MnphccsrList + "/wardstartdt" ,"");
  1288. // model.setValue(xPath_MnphccsrList + "/wardstarttm" ,"");
  1289. // model.refresh();
  1290. // return;
  1291. // }
  1292. //
  1293. // if (sPatCls != "W" && sPatarrvdttm != "" && sPatarrvdttm > sOpcnfmdt){
  1294. // messageBox("환자 도착일시가 수술예약일시 보다 시간이 이릅니다. 다시","C001");
  1295. // //model.setValue(xPath_MnphccsrList + "/patarrvdt" ,"");
  1296. // //model.setValue(xPath_MnphccsrList + "/patarrvtm" ,"");
  1297. // model.refresh();
  1298. // return;
  1299. // }
  1300. // 환자 도착일시가 병동 출발일시보다 시간 Check
  1301. if( !utlf_isNull(sWardstartdttm) && !utlf_isNull(sPatarrvdttm) && sWardstartdttm > sPatarrvdttm ){
  1302. sysf_messageBox("환자 도착일시를 확인하십시요!","C000");
  1303. // model.setValue(xPath_MnphccsrList + "/patarrvdt","");
  1304. // model.setValue(xPath_MnphccsrList + "/patarrvtm","");
  1305. return;
  1306. }
  1307. if( fGridCheckConfirm() ){
  1308. sysf_messageBox("확인사항을 Check 하지 않은 항목이 있습니다. ","I000");
  1309. return;
  1310. }
  1311. var pParam = new Object();
  1312. pParam.cDataYN = "N";
  1313. var ds_infectspec_XML = "<InfectionLists><InfectionList><mode/><SubInfo/></InfectionList></InfectionLists>";
  1314. var sParamObjArr = [{ds: "ds_init_XmlFormat_infectspec_InfectionLists_InfectionList", path:"InfectionLists/InfectionList", filter: ""}];
  1315. var ds_infectspec_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_infectspec_XML,pParam);
  1316. var sInfectspec = ds_infectspec_XML_RSLT;//xPath_Fmt_infectspec.saveXML(); // 13 감염정보
  1317. var ds_allrgspec_XML = "<AllergyLists><AllergyList><GENRDD/><TYPE/><DRUGNM/><TEXT/><DRUGCD/></AllergyList></AllergyLists>";
  1318. var sParamObjArr = [{ds: "ds_init_XmlFormat_allrgspec_AllergyLists_AllergyList", path:"AllergyLists/AllergyList", filter: ""}];
  1319. var ds_allrgspec_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_allrgspec_XML,pParam);
  1320. var sAllrgspec = ds_allrgspec_XML_RSLT;//xPath_Fmt_allrgspec.saveXML(); // 14 알러지정보
  1321. var ds_sendgoodandmedspec_XML = "<ProductLists><ProductList><mode/><SubInfo/></ProductList></ProductLists>";
  1322. var sParamObjArr = [{ds: "ds_init_XmlFormat_sendgoodandmedspec_ProductLists_ProductList", path:"ProductLists/ProductList", filter: ""}];
  1323. var ds_sendgoodandmedspec_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_sendgoodandmedspec_XML,pParam);
  1324. var sSendgoodandmedspec = ds_sendgoodandmedspec_XML_RSLT;//xPath_Fmt_sendgoodandmedspec.saveXML(); // 15 보낸물품및약품정보
  1325. //20110711 wify 경북대병원 통증사정 사용하지 않음
  1326. // if( getNodesetCount("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList") == 22 ) {//통증사정이 있을경우
  1327. // var sCurenurgstatspec = instance1.selectSingleNode(xPath_Fmt_curenurgstatspecT).xml; // 16 처치및간호상태정보
  1328. // }else {
  1329. xPath_Fmt_curenurgstatspec.enableevent = false;
  1330. xPath_Fmt_curenurgstatspec.updatecontrol = false;
  1331. for( var i=0 ; i<xPath_Fmt_curenurgstatspec.rowcount ; i++ ){
  1332. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Pyes") == "1" ){
  1333. xPath_Fmt_curenurgstatspec.setColumn(i, "Pyes", "true");
  1334. }else{
  1335. xPath_Fmt_curenurgstatspec.setColumn(i, "Pyes", "false");
  1336. }
  1337. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Pno") == "1" ){
  1338. xPath_Fmt_curenurgstatspec.setColumn(i, "Pno", "true");
  1339. }else{
  1340. xPath_Fmt_curenurgstatspec.setColumn(i, "Pno", "false");
  1341. }
  1342. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Pnothing") == "1" ){
  1343. xPath_Fmt_curenurgstatspec.setColumn(i, "Pnothing", "true");
  1344. }else{
  1345. xPath_Fmt_curenurgstatspec.setColumn(i, "Pnothing", "false");
  1346. }
  1347. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Syes") == "1" ){
  1348. xPath_Fmt_curenurgstatspec.setColumn(i, "Syes", "true");
  1349. }else{
  1350. xPath_Fmt_curenurgstatspec.setColumn(i, "Syes", "false");
  1351. }
  1352. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Sno") == "1" ){
  1353. xPath_Fmt_curenurgstatspec.setColumn(i, "Sno", "true");
  1354. }else{
  1355. xPath_Fmt_curenurgstatspec.setColumn(i, "Sno", "false");
  1356. }
  1357. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Snothing") == "1" ){
  1358. xPath_Fmt_curenurgstatspec.setColumn(i, "Snothing", "true");
  1359. }else{
  1360. xPath_Fmt_curenurgstatspec.setColumn(i, "Snothing", "false");
  1361. }
  1362. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Oyes") == "1" ){
  1363. xPath_Fmt_curenurgstatspec.setColumn(i, "Oyes", "true");
  1364. }else{
  1365. xPath_Fmt_curenurgstatspec.setColumn(i, "Oyes", "false");
  1366. }
  1367. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Ono") == "1" ){
  1368. xPath_Fmt_curenurgstatspec.setColumn(i, "Ono", "true");
  1369. }else{
  1370. xPath_Fmt_curenurgstatspec.setColumn(i, "Ono", "false");
  1371. }
  1372. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Onothing") == "1" ){
  1373. xPath_Fmt_curenurgstatspec.setColumn(i, "Onothing", "true");
  1374. }else{
  1375. xPath_Fmt_curenurgstatspec.setColumn(i, "Onothing", "false");
  1376. }
  1377. }
  1378. var ds_curenurgstatspec_XML = "<ItemCheckLists><ItemCheckList><ItemInfoBk/><ItemInfo/><Pyes/><Pno/><Pnothing/><Syes/><Sno/><Snothing/><Oyes/><Ono/><Onothing/><ItemCode/><referenceseq/><ItemState1/><ItemState2/><ItemState3/><opchkyn/><onochkyn/></ItemCheckList></ItemCheckLists>";
  1379. var sParamObjArr = [{ds: "ds_init_XmlFormat_curenurgstatspec_ItemCheckLists_ItemCheckList", path:"ItemCheckLists/ItemCheckList", filter: ""}];
  1380. var ds_curenurgstatspec_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_curenurgstatspec_XML,pParam);
  1381. var sCurenurgstatspec = ds_curenurgstatspec_XML_RSLT;//xPath_Fmt_curenurgstatspec.saveXML(); // 16 처치및간호상태정보
  1382. for( var i=0 ; i<xPath_Fmt_curenurgstatspec.rowcount ; i++ ){
  1383. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Pyes") == "true" ){
  1384. xPath_Fmt_curenurgstatspec.setColumn(i, "Pyes", "1");
  1385. }else{
  1386. xPath_Fmt_curenurgstatspec.setColumn(i, "Pyes", "0");
  1387. }
  1388. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Pno") == "true" ){
  1389. xPath_Fmt_curenurgstatspec.setColumn(i, "Pno", "1");
  1390. }else{
  1391. xPath_Fmt_curenurgstatspec.setColumn(i, "Pno", "0");
  1392. }
  1393. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Pnothing") == "true" ){
  1394. xPath_Fmt_curenurgstatspec.setColumn(i, "Pnothing", "1");
  1395. }else{
  1396. xPath_Fmt_curenurgstatspec.setColumn(i, "Pnothing", "0");
  1397. }
  1398. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Syes") == "true" ){
  1399. xPath_Fmt_curenurgstatspec.setColumn(i, "Syes", "1");
  1400. }else{
  1401. xPath_Fmt_curenurgstatspec.setColumn(i, "Syes", "0");
  1402. }
  1403. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Sno") == "true" ){
  1404. xPath_Fmt_curenurgstatspec.setColumn(i, "Sno", "1");
  1405. }else{
  1406. xPath_Fmt_curenurgstatspec.setColumn(i, "Sno", "0");
  1407. }
  1408. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Snothing") == "true" ){
  1409. xPath_Fmt_curenurgstatspec.setColumn(i, "Snothing", "1");
  1410. }else{
  1411. xPath_Fmt_curenurgstatspec.setColumn(i, "Snothing", "0");
  1412. }
  1413. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Oyes") == "true" ){
  1414. xPath_Fmt_curenurgstatspec.setColumn(i, "Oyes", "1");
  1415. }else{
  1416. xPath_Fmt_curenurgstatspec.setColumn(i, "Oyes", "0");
  1417. }
  1418. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Ono") == "true" ){
  1419. xPath_Fmt_curenurgstatspec.setColumn(i, "Ono", "1");
  1420. }else{
  1421. xPath_Fmt_curenurgstatspec.setColumn(i, "Ono", "0");
  1422. }
  1423. if( xPath_Fmt_curenurgstatspec.getColumn(i, "Onothing") == "true" ){
  1424. xPath_Fmt_curenurgstatspec.setColumn(i, "Onothing", "1");
  1425. }else{
  1426. xPath_Fmt_curenurgstatspec.setColumn(i, "Onothing", "0");
  1427. }
  1428. }
  1429. xPath_Fmt_curenurgstatspec.updatecontrol = true;
  1430. xPath_Fmt_curenurgstatspec.enableevent = true;
  1431. // }
  1432. var ds_testinfospec_XML = "<testinfospec><CheckupLists><CheckupList><checkdttm/><checknm/><checkrsult/><checkhl/><checkref/><checkinfo/><checkcode/></CheckupList></CheckupLists></testinfospec>";
  1433. var sParamObjArr = [{ds: "ds_init_XmlFormat_testinfospec_CheckupLists_CheckupList", path:"testinfospec/CheckupLists/CheckupList", filter: ""}];
  1434. var ds_testinfospec_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_testinfospec_XML,pParam);
  1435. var sTestinfospec = ds_testinfospec_XML_RSLT;//xPath_Fmt_testinfospec.saveXML(); // 17 검사정보내역
  1436. // 13 감염정보
  1437. if( xPath_Infection.rowcount > 0) {
  1438. ds_main_MnphccsrData_MnphccsrList_infectspec_InfectionLists_InfectionList.enableevent = false;
  1439. ds_main_MnphccsrData_MnphccsrList_infectspec_InfectionLists_InfectionList.updatecontrol = false;
  1440. if(!utlf_isNull(ds_main_MnphccsrData_MnphccsrList_infectspec_InfectionLists_InfectionList.getColumnInfo("sortinfo")))
  1441. {
  1442. ds_main_MnphccsrData_MnphccsrList_infectspec_InfectionLists_InfectionList.deleteColumn("sortinfo");
  1443. }
  1444. ds_main_MnphccsrData_MnphccsrList_infectspec_InfectionLists_InfectionList.updatecontrol = true;
  1445. ds_main_MnphccsrData_MnphccsrList_infectspec_InfectionLists_InfectionList.enableevent = true;
  1446. var ds_Infection_XML = "<InfectionLists><InfectionList><genrdd/><testcd/><tclsscrnnm/><checkrsult/></InfectionList></InfectionLists>";
  1447. var sParamObjArr = [{ds: "ds_main_MnphccsrData_MnphccsrList_infectspec_InfectionLists_InfectionList", path:"InfectionLists/InfectionList", filter: ""}];
  1448. var ds_Infection_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_Infection_XML,pParam);
  1449. sInfectspec = ds_Infection_XML_RSLT;//xPath_Infection.saveXML();
  1450. }else{
  1451. sInfectspec = "<InfectionLists/>";
  1452. }
  1453. // 14 알러지정보
  1454. if( xPath_Allergy.rowcount > 0 ){
  1455. var ds_Allergy_XML = "<AllergyLists><AllergyList><genrdd/><type/><drugnm/><text/><drugcd/></AllergyList></AllergyLists>";
  1456. var sParamObjArr = [{ds: "ds_main_MnphccsrData_MnphccsrList_allrgspec_AllergyLists_AllergyList", path:"AllergyLists/AllergyList", filter: ""}];
  1457. var ds_Allergy_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_Allergy_XML,pParam);
  1458. sAllrgspec = ds_Allergy_XML_RSLT;//xPath_Allergy.saveXML();
  1459. }else{
  1460. sAllrgspec = "<AllergyLists/>";
  1461. }
  1462. // 15 보낸물품및약품정보
  1463. if( xPath_Product.rowcount > 0 ){
  1464. var ds_Product_XML = "<ProductLists><ProductList><mode/><SubInfo/></ProductList></ProductLists>";
  1465. var sParamObjArr = [{ds: "ds_main_MnphccsrData_MnphccsrList_sendgoodandmedspec_ProductLists_ProductList", path:"ProductLists/ProductList", filter: ""}];
  1466. var ds_Product_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_Product_XML,pParam);
  1467. sSendgoodandmedspec = ds_Product_XML_RSLT;//xPath_Product.saveXML();
  1468. }else{
  1469. sSendgoodandmedspec = "<ProductLists/>";
  1470. }
  1471. xPath_ItemCheck.enableevent = false;
  1472. xPath_ItemCheck.updatecontrol = false;
  1473. for( var i=0 ; i<xPath_ItemCheck.rowcount ; i++ ){
  1474. if( xPath_ItemCheck.getColumn(i, "Pyes") == "1" ){
  1475. xPath_ItemCheck.setColumn(i, "Pyes", "true");
  1476. }else{
  1477. xPath_ItemCheck.setColumn(i, "Pyes", "false");
  1478. }
  1479. if( xPath_ItemCheck.getColumn(i, "Pno") == "1" ){
  1480. xPath_ItemCheck.setColumn(i, "Pno", "true");
  1481. }else{
  1482. xPath_ItemCheck.setColumn(i, "Pno", "false");
  1483. }
  1484. if( xPath_ItemCheck.getColumn(i, "Pnothing") == "1" ){
  1485. xPath_ItemCheck.setColumn(i, "Pnothing", "true");
  1486. }else{
  1487. xPath_ItemCheck.setColumn(i, "Pnothing", "false");
  1488. }
  1489. if( xPath_ItemCheck.getColumn(i, "Syes") == "1" ){
  1490. xPath_ItemCheck.setColumn(i, "Syes", "true");
  1491. }else{
  1492. xPath_ItemCheck.setColumn(i, "Syes", "false");
  1493. }
  1494. if( xPath_ItemCheck.getColumn(i, "Sno") == "1" ){
  1495. xPath_ItemCheck.setColumn(i, "Sno", "true");
  1496. }else{
  1497. xPath_ItemCheck.setColumn(i, "Sno", "false");
  1498. }
  1499. if( xPath_ItemCheck.getColumn(i, "Snothing") == "1" ){
  1500. xPath_ItemCheck.setColumn(i, "Snothing", "true");
  1501. }else{
  1502. xPath_ItemCheck.setColumn(i, "Snothing", "false");
  1503. }
  1504. if( xPath_ItemCheck.getColumn(i, "Oyes") == "1" ){
  1505. xPath_ItemCheck.setColumn(i, "Oyes", "true");
  1506. }else{
  1507. xPath_ItemCheck.setColumn(i, "Oyes", "false");
  1508. }
  1509. if( xPath_ItemCheck.getColumn(i, "Ono") == "1" ){
  1510. xPath_ItemCheck.setColumn(i, "Ono", "true");
  1511. }else{
  1512. xPath_ItemCheck.setColumn(i, "Ono", "false");
  1513. }
  1514. if( xPath_ItemCheck.getColumn(i, "Onothing") == "1" ){
  1515. xPath_ItemCheck.setColumn(i, "Onothing", "true");
  1516. }else{
  1517. xPath_ItemCheck.setColumn(i, "Onothing", "false");
  1518. }
  1519. }
  1520. // 16 처치및간호상태정보
  1521. if( xPath_ItemCheck.rowcount > 0 ){
  1522. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.copyData(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList);
  1523. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.enableevent = false;
  1524. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.updatecontrol = false;
  1525. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.deleteColumn("colEdit10");
  1526. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.deleteColumn("colEdit12");
  1527. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.deleteColumn("colConBack10");
  1528. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.deleteColumn("colConBack12");
  1529. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.deleteColumn("colConBor10");
  1530. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.deleteColumn("colConBor12");
  1531. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.updatecontrol = true;
  1532. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.enableevent = true;
  1533. var ds_ItemCheck_XML = "<ItemCheckLists><ItemCheckList><ItemInfoBk/><ItemInfo/><Pyes/><Pno/><Pnothing/><Syes/><Sno/><Snothing/><Oyes/><Ono/><Onothing/><ItemCode/><referenceseq/><ItemState1/><ItemState2/><ItemState3/><opchkyn/><onochkyn/></ItemCheckList></ItemCheckLists>";
  1534. var sParamObjArr = [{ds: "ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList", path:"ItemCheckLists/ItemCheckList", filter: ""}];
  1535. var ds_ItemCheck_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_ItemCheck_XML,pParam);
  1536. sCurenurgstatspec = ds_ItemCheck_XML_RSLT;//xPath_ItemCheck.saveXML();
  1537. }else{
  1538. sCurenurgstatspec = "<ItemCheckLists/>";
  1539. }
  1540. for( var i=0 ; i<xPath_ItemCheck.rowcount ; i++ ){
  1541. if( xPath_ItemCheck.getColumn(i, "Pyes") == "true" ){
  1542. xPath_ItemCheck.setColumn(i, "Pyes", "1");
  1543. }else{
  1544. xPath_ItemCheck.setColumn(i, "Pyes", "0");
  1545. }
  1546. if( xPath_ItemCheck.getColumn(i, "Pno") == "true" ){
  1547. xPath_ItemCheck.setColumn(i, "Pno", "1");
  1548. }else{
  1549. xPath_ItemCheck.setColumn(i, "Pno", "0");
  1550. }
  1551. if( xPath_ItemCheck.getColumn(i, "Pnothing") == "true" ){
  1552. xPath_ItemCheck.setColumn(i, "Pnothing", "1");
  1553. }else{
  1554. xPath_ItemCheck.setColumn(i, "Pnothing", "0");
  1555. }
  1556. if( xPath_ItemCheck.getColumn(i, "Syes") == "true" ){
  1557. xPath_ItemCheck.setColumn(i, "Syes", "1");
  1558. }else{
  1559. xPath_ItemCheck.setColumn(i, "Syes", "0");
  1560. }
  1561. if( xPath_ItemCheck.getColumn(i, "Sno") == "true" ){
  1562. xPath_ItemCheck.setColumn(i, "Sno", "1");
  1563. }else{
  1564. xPath_ItemCheck.setColumn(i, "Sno", "0");
  1565. }
  1566. if( xPath_ItemCheck.getColumn(i, "Snothing") == "true" ){
  1567. xPath_ItemCheck.setColumn(i, "Snothing", "1");
  1568. }else{
  1569. xPath_ItemCheck.setColumn(i, "Snothing", "0");
  1570. }
  1571. if( xPath_ItemCheck.getColumn(i, "Oyes") == "true" ){
  1572. xPath_ItemCheck.setColumn(i, "Oyes", "1");
  1573. }else{
  1574. xPath_ItemCheck.setColumn(i, "Oyes", "0");
  1575. }
  1576. if( xPath_ItemCheck.getColumn(i, "Ono") == "true" ){
  1577. xPath_ItemCheck.setColumn(i, "Ono", "1");
  1578. }else{
  1579. xPath_ItemCheck.setColumn(i, "Ono", "0");
  1580. }
  1581. if( xPath_ItemCheck.getColumn(i, "Onothing") == "true" ){
  1582. xPath_ItemCheck.setColumn(i, "Onothing", "1");
  1583. }else{
  1584. xPath_ItemCheck.setColumn(i, "Onothing", "0");
  1585. }
  1586. }
  1587. xPath_ItemCheck.updatecontrol = true;
  1588. xPath_ItemCheck.enableevent = true;
  1589. var sNurgpartid = xPath_MnphccsrList.getColumn(0, "nurgpartid"); // 18 간호단위기록자ID
  1590. var sNurgpartrecdttm = xPath_MnphccsrList.getColumn(0, "nurgpartrecdttm"); // 19 간호단위기록일시
  1591. var sNurgpartsavedttm = xPath_MnphccsrList.getColumn(0, "nurgpartsavedttm"); // 20 간호단위저장일시
  1592. var sOperchfid = xPath_MnphccsrList.getColumn(0, "operchfid"); // 21 수술실 기록자ID
  1593. var sOperchfrecdttm = xPath_MnphccsrList.getColumn(0, "operchfrecdttm"); // 22 수술실 기록일시
  1594. var sOperchfsavedttm = xPath_MnphccsrList.getColumn(0, "operchfsavedttm"); // 23 수술실 저장일시
  1595. var sOpercnfmpat = xPath_MnphccsrList.getColumn(0, "opercnfmpat"); // 24 수술실 환자명
  1596. var sOpercnfmid = xPath_MnphccsrList.getColumn(0, "opercnfmid"); // 25 수술실 등록번호
  1597. var sOpercnfmdr = xPath_MnphccsrList.getColumn(0, "opercnfmdr"); // 26 수술실 집도의
  1598. var sOpercnfmpart = xPath_MnphccsrList.getColumn(0, "opercnfmpart"); // 27 수술실 수술부위
  1599. var sOpercnfmpartdisp = xPath_MnphccsrList.getColumn(0, "opercnfmpartdisp"); // 28 수술실 수술부위표시
  1600. var sStaychfid = xPath_MnphccsrList.getColumn(0, "staychfid"); // 29 대기실 기록자ID
  1601. var sStaychfrecdttm = xPath_MnphccsrList.getColumn(0, "staychfrecdttm"); // 30 대기실 기록일시
  1602. var sStaychfsavedttm = xPath_MnphccsrList.getColumn(0, "staychfsavedttm"); // 31 대기실 저장일시
  1603. var sStaycnfmpat = xPath_MnphccsrList.getColumn(0, "staycnfmpat"); // 32 대기실 환자명
  1604. var sStaycnfmid = xPath_MnphccsrList.getColumn(0, "staycnfmid"); // 33 대기실 등록번호
  1605. var sStaycnfmdr = xPath_MnphccsrList.getColumn(0, "staycnfmdr"); // 34 대기실 집도의
  1606. var sStaycnfmpart = xPath_MnphccsrList.getColumn(0, "staycnfmpart"); // 35 대기실 수술부위
  1607. var sStaycnfmpartdisp = xPath_MnphccsrList.getColumn(0, "staycnfmpartdisp"); // 36 대기실 수술부위표시
  1608. var sNurgpartmemo = xPath_MnphccsrList.getColumn(0, "nurgpartmemo"); // 37 간호단위메모
  1609. var sOperchfmemo = xPath_MnphccsrList.getColumn(0, "operchfmemo"); // 38 수술,대기 단위메모
  1610. var sCertno = xPath_MnphccsrList.getColumn(0, "certno"); // 39 인증번호
  1611. var sFstrgstrid = xPath_MnphccsrList.getColumn(0, "fstrgstrid"); // 40 최초등록자ID
  1612. var sLastupdtid = xPath_MnphccsrList.getColumn(0, "lastupdtid"); // 41 최종수정자
  1613. var sStat = xPath_MnphccsrList.getColumn(0, "stat"); // 42 I : 추가, U : 없데이트, D : 삭제
  1614. var sOpbfcureseqno = xPath_MnphccsrList.getColumn(0, "opbfcureseqno"); // 43 의뢰번호(년도(4) + 일련번호(6))
  1615. var sOpstatcd = xPath_MnphccsrList.getColumn(0, "opstatcd"); // 44 진행상태
  1616. var sOpstatcdnew = xPath_MnphccsrList.getColumn(0, "opstatcd"); // 45 진행상태
  1617. var sNurgpartdeptcd = xPath_MnphccsrList.getColumn(0, "nurgpartdeptcd"); // 46 간호단위기록 부서코드
  1618. var sStaychfdeptcd = xPath_MnphccsrList.getColumn(0, "staychfdeptcd"); // 47 대기실기록 부서코드
  1619. var sOperchfdeptcd = xPath_MnphccsrList.getColumn(0, "operchfdeptcd"); // 48 수술실기록 부서코드
  1620. var sStaycnfmRemark = xPath_MnphccsrList.getColumn(0, "staycnfmpartdispremark"); // 57 대기실 수술부위표시Remark
  1621. var sOpercnfmRemark = xPath_MnphccsrList.getColumn(0, "opercnfmpartdispremark"); // 58 수술실 수술부위표시Remark
  1622. var sOpPatbdtp = xPath_MnphccsrList.getColumn(0, "oppatbdtp"); // 59 체온
  1623. var sOpPatbdwt = xPath_MnphccsrList.getColumn(0, "oppatbdwt"); // 60 체중
  1624. var sOpPatbdht = xPath_MnphccsrList.getColumn(0, "oppatbdht"); // 61 신장
  1625. var sOpPatsbp = xPath_MnphccsrList.getColumn(0, "oppatsbp"); // 62 SBP
  1626. var sOpPatdbp = xPath_MnphccsrList.getColumn(0, "oppatdbp"); // 63 DBP
  1627. for( var i=0 ; i<ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.rowcount ; i++ ){
  1628. if( ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(i, "chkyn") == "1" ){
  1629. ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.setColumn(i, "chkyn", "Y");
  1630. }else{
  1631. ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.setColumn(i, "chkyn", "N");
  1632. }
  1633. }
  1634. var sFamyList = "";
  1635. if( ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.rowcount > 0 ){
  1636. var ds_MnwmpfifList_XML = "<famylist><MnwmpfifList><chkyn/><cdnm/><tel/><mpphone/><rela/><hngnm/><addr/><detladdr/><indd/><instcd/><pid/><recflag/><remfact/></MnwmpfifList></famylist>";
  1637. var sParamObjArr = [{ds: "ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList", path:"famylist/MnwmpfifList", filter: ""}];
  1638. var ds_MnwmpfifList_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_MnwmpfifList_XML,pParam);
  1639. sFamyList = ds_MnwmpfifList_XML_RSLT;//ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.saveXML(); // 64 가족정보
  1640. }else{
  1641. sFamyList = "<famylist/>";
  1642. }
  1643. if( pFlag == "C" ) {
  1644. if(fValidForSendMsg() == false) return;
  1645. //동의여부 확인
  1646. if(sTempStaycls == "1"){//대기실일 경우.
  1647. var sSmsagreeyn = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "smsagreeyn");
  1648. if( utlf_isNull(sSmsagreeyn) ){
  1649. sysf_messageBox("수술진행상태 문자전송 동의여부를 확인하시기 바랍니다. ", "I000");
  1650. return;
  1651. } else if(sSmsagreeyn == "N"){
  1652. //메세지만 띄워진다.
  1653. //messageBox("수술진행상태 문자전송을 동의하지 않았습니다.", "I000");
  1654. } else if(sSmsagreeyn == "Y"){
  1655. var sArriTime = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "patarrvtm");
  1656. var sPatarrisndsmsid = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "patarrisndsmsid");
  1657. if( !utlf_isNull(sArriTime) && sSmsagreeyn == "Y" && utlf_isNull(sPatarrisndsmsid) ){
  1658. if(fValidForSendMsg()){
  1659. var sPatarrisndsmsid = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "patarrisndsmsid");
  1660. if( utlf_isNull(sPatarrisndsmsid) ){
  1661. ds_init_sms.setColumn(0, "arrsmssendflag", "Y");
  1662. }else{
  1663. ds_init_sms.setColumn(0, "arrsmssendflag", "N");
  1664. }
  1665. } else {
  1666. return;
  1667. }
  1668. }
  1669. }
  1670. }
  1671. }
  1672. if( utlf_isNull(sOpbfcureseqno) ){
  1673. sOpbfcureseqno = "-"; // 02의뢰번호(년도(4) + 일련번호(6))
  1674. }
  1675. //
  1676. var wUserId = sysf_getUserInfo("userid" ); // 사용자
  1677. var wUserNm = sysf_getUserInfo("usernm" ); // 사용자 명
  1678. var wDeptCd = sysf_getUserInfo("dutplcecd"); // 사용자 부서코드
  1679. var wDeptNm = sysf_getUserInfo("dutplcenm"); // 사용자 부서명
  1680. var wRecoDate = utlf_getCurrentDate() + utlf_getCurrentTime(); // 시스템일자 기록
  1681. var wSaveDate = utlf_getCurrentDate() + utlf_getCurrentTime(); // 시스템일자 기록
  1682. // 간호단위기록
  1683. if ( (sDutDSCFlag == "Y" && grp_main.chk_oper.value != "2" && sOpPatflagcd != "I")
  1684. || (sPatCls == "W")
  1685. || (sPatCls == "B" && ( grp_main.chk_stay.value != "1" && grp_main.chk_oper.value != "2" )) ) {
  1686. // 18 간호단위기록일시
  1687. if( ds_main_Conditions.getColumn(0, "Confirm") == "2" ){ // 사용자일자 기록
  1688. wRecoDate = utlf_transNullToEmpty(ds_init_HideData_ssDateTime.getColumn(0, "ssDate"))
  1689. + utlf_transNullToEmpty(ds_init_HideData_ssDateTime.getColumn(0, "ssTime"));
  1690. if(wRecoDate.replace(' ', '').length < 12){
  1691. sysf_messageBox("기록일시를 정확하게 입력 하시기 바랍니다.", "I000");
  1692. return;
  1693. }
  1694. } else{
  1695. wRecoDate = wSaveDate;
  1696. }
  1697. sNurgpartid = wUserId ; // 18 간호단위기록자ID
  1698. sNurgpartdeptcd = wDeptCd ;
  1699. sNurgpartsavedttm = wSaveDate; // 20 간호단위저장일시
  1700. // 임시저장의 경우는 기록일자를 넣지 않는다. 2008.01.23
  1701. if (pFlag != "C") {
  1702. wRecoDate =""; // 19 간호단위기록일시
  1703. }
  1704. sNurgpartrecdttm = wRecoDate; // 19 간호단위기록일시
  1705. var sWardarrvdept = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "wardarrvdept");
  1706. var startyn = "";
  1707. if( utlf_isNull(sWardarrvdept) ){
  1708. xPath_MnphccsrList.setColumn(0, "nurgpartid", wUserId); // 18 간호단위기록자ID
  1709. xPath_MnphccsrList.setColumn(0, "nurgpartidnm", wUserNm); // 사용자 명
  1710. xPath_MnphccsrList.setColumn(0, "nurgpartdeptcd", wDeptCd); // 사용자 부서코드
  1711. xPath_MnphccsrList.setColumn(0, "nurgpartiddept", wDeptNm); // 사용자 부서명
  1712. xPath_MnphccsrList.setColumn(0, "nurgpartrecdttm", wRecoDate); // 19 간호단위기록일시
  1713. xPath_MnphccsrList.setColumn(0, "nurgpartsavedttm", wSaveDate); // 20 간호단위저장일시
  1714. } else {
  1715. xPath_MnphccsrList.setColumn(0, "nurspartarrvdt", wRecoDate); // 사용자 부서명
  1716. xPath_MnphccsrList.setColumn(0, "nurspartarrvdept", wDeptNm); // 19 간호단위기록일시
  1717. xPath_MnphccsrList.setColumn(0, "nurspartarrvnursnm", wUserNm); // 20 간호단위저장일시
  1718. }
  1719. }
  1720. // 수술단위기록일시
  1721. if ((sPatCls == "O") ||(sPatCls == "B") ||(sPatCls == "W" && sWardOP == "Y")) {
  1722. wUserId = sysf_getUserInfo("userid" ); // 사용자
  1723. wUserNm = sysf_getUserInfo("usernm" ); // 사용자 명
  1724. wDeptCd = sysf_getUserInfo("dutplcecd"); // 사용자 부서코드
  1725. wDeptNm = sysf_getUserInfo("dutplcenm"); // 사용자 부서명
  1726. wRecoDate = utlf_getCurrentDate() + utlf_getCurrentTime(); // 시스템일자 기록
  1727. wSaveDate = utlf_getCurrentDate() + utlf_getCurrentTime(); // 시스템일자 기록
  1728. // 18 수술단위기록일시
  1729. if( ds_main_Conditions.getColumn(0, "Confirm") == "2" ){ // 사용자일자 기록
  1730. wRecoDate = utlf_transNullToEmpty(ds_init_HideData_ssDateTime.getColumn(0, "ssDate"))
  1731. + utlf_transNullToEmpty(ds_init_HideData_ssDateTime.getColumn(0, "ssTime"));
  1732. if(wRecoDate.replace(' ', '').length < 12){
  1733. sysf_messageBox("기록일시를 정확하게 입력 하시기 바랍니다.", "I000");
  1734. return;
  1735. }
  1736. } else{
  1737. wRecoDate = wSaveDate;
  1738. }
  1739. //대기실 기록을 선택했거나, 현장수술인 병동환자
  1740. if( grp_main.chk_stay.value == "1" || (sPatCls == "W" && sWardOP == "Y") ){
  1741. //2008-08-04 오후 12:54:02 taebum 수술실에서 병동정보도 입력가능하도록 수정
  1742. //2008-08-07 오전 9:06:29 taebum 수술실에서 병동정보 입력 못하도록 수정
  1743. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList.getColumn(0, "nurgpartrecdttm")) && sDutDSCFlag != "Y") {
  1744. sysf_messageBox("간호단위 인증저장이 되지 않았습니다. 간호단위 기록정보를 확인하십시요!","I000");
  1745. return;
  1746. }
  1747. sStaychfid = wUserId ; // 29 대기실 기록자ID
  1748. sStaychfdeptcd = wDeptCd ;
  1749. sStaychfsavedttm = wSaveDate; // 31 대기실 저장일시
  1750. // 임시저장의 경우는 기록일자를 넣지 않는다.
  1751. if (pFlag != "C") {
  1752. wRecoDate =""; // 19 간호단위기록일시
  1753. }
  1754. sStaychfrecdttm = wRecoDate; // 30 대기실 기록일시
  1755. xPath_MnphccsrList.setColumn(0, "staychfid", wUserId); // 29 대기실 기록자ID
  1756. xPath_MnphccsrList.setColumn(0, "staychfrecdttm", wRecoDate); // 30 대기실 기록일시
  1757. xPath_MnphccsrList.setColumn(0, "staychfsavedttm", wSaveDate); // 31 대기실 저장일시
  1758. xPath_MnphccsrList.setColumn(0, "staychfidnm", wUserNm);
  1759. xPath_MnphccsrList.setColumn(0, "staychfdeptcd", wDeptCd);
  1760. xPath_MnphccsrList.setColumn(0, "staychfiddept", wDeptNm);
  1761. //
  1762. }
  1763. if( grp_main.chk_stay.value == "2" && sPatCls != "W" ){
  1764. //
  1765. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList.getColumn(0, "staychfrecdttm")) ){
  1766. sysf_messageBox("대기실 인증저장이 되지 않았습니다. 대기실 기록정보를 확인하십시요!","I000");
  1767. return;
  1768. }
  1769. sOperchfid = wUserId ; // 21 수술실 기록자ID
  1770. sOperchfdeptcd = wDeptCd ;
  1771. sOperchfsavedttm = wSaveDate; // 23 수술실 저장일시
  1772. // 임시저장의 경우는 기록일자를 넣지 않는다.
  1773. if (pFlag != "C") {
  1774. wRecoDate =""; // 19 간호단위기록일시
  1775. }
  1776. sOperchfrecdttm = wRecoDate; // 22 수술실 기록일시
  1777. xPath_MnphccsrList.setColumn(0, "operchfid", wUserId); // 21 수술실 기록자ID
  1778. xPath_MnphccsrList.setColumn(0, "operchfrecdttm", wRecoDate); // 22 수술실 기록일시
  1779. xPath_MnphccsrList.setColumn(0, "operchfsavedttm", wSaveDate); // 23 수술실 저장일시
  1780. xPath_MnphccsrList.setColumn(0, "operchfidnm", wUserNm);
  1781. xPath_MnphccsrList.setColumn(0, "operchfdeptcd", wDeptCd);
  1782. xPath_MnphccsrList.setColumn(0, "operchfiddept", wDeptNm);
  1783. }
  1784. //****************************************************************************
  1785. //2008-08-04 오후 3:03:19 taebum
  1786. // 의뢰상태일때 기록을 저장할 경우에는 수술진행사항 Data를 손대지 않는다.
  1787. // 마취과에서 확정 시 의뢰에서 준비확인 상태로 변경
  1788. // 간호기록이 작성되었을 경우 OPSTATCD(수술진행상태)를 30(대기)로 update하기로 함.
  1789. if(sOpstatcd == "10"){
  1790. sOpstatcdnew = "10";
  1791. } else{
  1792. if( !utlf_isNull(sPatarrvdttm) && sOpstatcd == "20" ){
  1793. sOpstatcdnew = "30";
  1794. }
  1795. }
  1796. //****************************************************************************
  1797. }
  1798. var patarrisndsmsid = xPath_MnphccsrList.getColumn(0, "patarrisndsmsid"); // sms전송id
  1799. var patnm = appf_getPatientName();
  1800. var sOppatflagnm = ds_main_OpddInfoList_OpddInfo.getColumn(grp_main.cmb_opdd.index, "oppatflagnm");
  1801. var message = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "msginfo");
  1802. var arrsmssendflag = ds_init_sms.getColumn(0, "arrsmssendflag");
  1803. var nurspartarrvdt = xPath_MnphccsrList.getColumn(0, "nurspartarrvdt");
  1804. var sWardarrvnursid = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "wardarrvnursid");
  1805. var sWardarrvdept = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "wardarrvdept");
  1806. var startyn = "";
  1807. var famylist = "";
  1808. if( ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.rowcount > 0 ){
  1809. var ds_MnwmpfifList_XML = "<famylist><MnwmpfifList><chkyn/><cdnm/><tel/><mpphone/><rela/><hngnm/><addr/><detladdr/><indd/><instcd/><pid/><recflag/><remfact/></MnwmpfifList></famylist>";
  1810. var sParamObjArr = [{ds: "ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList", path:"famylist/MnwmpfifList", filter: ""}];
  1811. var ds_MnwmpfifList_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_MnwmpfifList_XML,pParam);
  1812. famylist = ds_MnwmpfifList_XML_RSLT;//ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.saveXML();
  1813. }else{
  1814. famylist = "<famylist/>";
  1815. }
  1816. if( utlf_isNull(sWardarrvdept) ){
  1817. startyn = "S";
  1818. } else {
  1819. startyn = "E";
  1820. }
  1821. var chkyn;
  1822. var mpphone;
  1823. var msgHeader="mpphone▩";
  1824. var msgData = "";
  1825. //환자 보호자 연락처 초기화
  1826. sEtctel1 = "";
  1827. sEtctel2 = "";
  1828. var varMpphoneIndex = 0;
  1829. for( var i=0 ; i<grp_main.grd_famylist.rowcount ; i++ ){
  1830. chkyn = ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(i, "chkyn");
  1831. mpphone = utlf_transNullToEmpty(ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(i, "mpphone"));
  1832. if(chkyn == "Y") {
  1833. if(mpphone.length < 11 || utlf_isNull(mpphone) ){
  1834. sysf_messageBox("선택하신 보호자의 연락처가 잘못되었습니다.", "E");
  1835. return;
  1836. } else {
  1837. msgData += mpphone + "▩";
  1838. //20171129 이돈희 수정 : 기존 etctel1에는 원무에서 입력한 보호자 연락처가 들어가 있음
  1839. // : 실제로는 원무에서 보호자 연락처를 잘 입력하지 않으므로
  1840. // : 간호기초평가의 보호자 연락처를 새로 셋팅함
  1841. if(varMpphoneIndex == 0)
  1842. {
  1843. sEtctel1 = mpphone;
  1844. varMpphoneIndex = varMpphoneIndex + 1;
  1845. }
  1846. else if(varMpphoneIndex == 1)
  1847. {
  1848. sEtctel2 = mpphone;
  1849. varMpphoneIndex = varMpphoneIndex + 1;
  1850. }
  1851. }
  1852. }
  1853. }
  1854. //TEST (삭제 예정)
  1855. // sysf_messageBox(sEtctel1);
  1856. // sysf_messageBox(sEtctel2);
  1857. //20180719 이돈희 : 수술전처치 및 간호상태 확인 전체 삭제 추가
  1858. if (pFlag == "C") {
  1859. if(pDelete == "D"){
  1860. sStat = "D";
  1861. }
  1862. }
  1863. // Title Set
  1864. var sMnphccsrData = "pid" + "▦" // 01 환자번호
  1865. + "oprsrvno" + "▦" // 02 수술에대한의뢰번호(년도(4) + 일련번호(6))
  1866. + "ophistno" + "▦" // 03 예약번호에 따른 이력번호
  1867. + "instcd" + "▦" // 04 원무외래/입원등록정보 PK
  1868. + "oprsrvdd" + "▦" // 05 수술일시:수술이확정된 일시
  1869. + "oprsrvtmcd" + "▦" // 06 수술예약시간코드
  1870. + "inoutflag" + "▦" // 07 외래입원구분
  1871. + "orddd" + "▦" // 08 진료일자
  1872. + "orddeptcd" + "▦" // 09 진료부서
  1873. + "inday" + "▦" // 10 입원일자
  1874. + "wardstartdttm" + "▦" // 11 병동출발일시통원환자인경우 null' )
  1875. + "patarrvdttm" + "▦" // 12 환자도착일시
  1876. + "wardarrvdttm" + "▦" // 12_1 병동도착일시
  1877. + "wardarrvdept" + "▦" // 12_2 도착부서
  1878. + "wardarrvnursid" + "▦" // 12_3 도착기록자
  1879. + "startyn" + "▦" // 12_4 출발도착여부
  1880. + "nurspartarrvdt" + "▦" // 12_5 간호단위기록시간
  1881. + "infectspec" + "▦" // 13 감염정보
  1882. + "allrgspec" + "▦" // 14 알러지정보
  1883. + "sendgoodandmedspec" + "▦" // 15 보낸물품및약품정보
  1884. + "curenurgstatspec" + "▦" // 16 처치및간호상태정보
  1885. + "testinfospec" + "▦" // 17 검사정보내역
  1886. + "nurgpartid" + "▦" // 18 간호단위기록자ID
  1887. + "nurgpartrecdttm" + "▦" // 19 간호단위기록일시
  1888. + "nurgpartsavedttm" + "▦" // 20 간호단위저장일시
  1889. + "operchfid" + "▦" // 21 수술실 기록자ID
  1890. + "operchfrecdttm" + "▦" // 22 수술실 기록일시
  1891. + "operchfsavedttm" + "▦" // 23 수술실 저장일시
  1892. + "opercnfmpat" + "▦" // 24 수술실 환자명
  1893. + "opercnfmid" + "▦" // 25 수술실 등록번호
  1894. + "opercnfmdr" + "▦" // 26 수술실 집도의
  1895. + "opercnfmpart" + "▦" // 27 수술실 수술부위
  1896. + "opercnfmpartdisp" + "▦" // 28 수술실 수술부위표시
  1897. + "staychfid" + "▦" // 29 대기실 기록자ID
  1898. + "staychfrecdttm" + "▦" // 30 대기실 기록일시
  1899. + "staychfsavedttm" + "▦" // 31 대기실 저장일시
  1900. + "staycnfmpat" + "▦" // 32 대기실 환자명
  1901. + "staycnfmid" + "▦" // 33 대기실 등록번호
  1902. + "staycnfmdr" + "▦" // 34 대기실 집도의
  1903. + "staycnfmpart" + "▦" // 35 대기실 수술부위
  1904. + "staycnfmpartdisp" + "▦" // 36 대기실 수술부위표시
  1905. + "nurgpartmemo" + "▦" // 37 간호단위메모
  1906. + "operchfmemo" + "▦" // 38 수술,대기 단위메모
  1907. + "certno" + "▦" // 39 인증번호
  1908. + "fstrgstrid" + "▦" // 40 최초등록자ID
  1909. + "lastupdtid" + "▦" // 41 최종수정자
  1910. + "opbfcureseqno" + "▦" // 42 수술에대한의뢰번호(년도(4) + 일련번호(6))
  1911. + "opstatcd" + "▦" // 43 진행상태
  1912. + "opstatcdnew" + "▦" // 44 진행상태
  1913. + "stat" + "▦" // 45 상태
  1914. + "certflag" + "▦" // 46 임시/인증 저장 여부(C : 인증, T : 임시)
  1915. + "etctel1" + "▦" // 47 보호자연락처1
  1916. + "etctel2" + "▦" // 48 보호자연락처2
  1917. + "smsagreeyn" + "▦" // 49 SMS동의여부
  1918. + "patarrisndsmsid" + "▦" // 50 SMS전송ID
  1919. + "message" + "▦" // 51 SMS message
  1920. + "arrsmssendflag" + "▦" // 52 sms전송 flag
  1921. + "nurgpartdeptcd" + "▦" // 53 간호단위 기록부서코드
  1922. + "staychfdeptcd" + "▦" // 54 대기실 기록부서코드
  1923. + "operchfdeptcd" + "▦" // 55 수술실 기록부서코드
  1924. + "patnm" + "▦" // 56 환자명
  1925. + "staycnfmpartdispremark" + "▦" // 57 대기실 수술부위표시Remark
  1926. + "opercnfmpartdispremark" + "▦" // 58 수술실 수술부위표시Remark
  1927. + "oppatbdtp" + "▦" // 59 체온
  1928. + "oppatbdwt" + "▦" // 60 체중
  1929. + "oppatbdht" + "▦" // 61 신장
  1930. + "oppatsbp" + "▦" // 62 SBP
  1931. + "oppatdbp" + "▦" // 63 DBP
  1932. + "wardop" + "▦"
  1933. + "famylist" + "▩"; // 64 현장수술여부
  1934. // Title Set
  1935. sMnphccsrData += utlf_transNullToEmpty(sPid) + "▦" // 01 환자번호
  1936. + utlf_transNullToEmpty(sOprsrvno) + "▦" // 02 수술에대한의뢰번호(년도(4) + 일련번호(6))
  1937. + utlf_transNullToEmpty(sOphistno) + "▦" // 03 예약번호에 따른 이력번호
  1938. + utlf_transNullToEmpty(sInstcd) + "▦" // 04 원무외래/입원등록정보 PK
  1939. + utlf_transNullToEmpty(sOprsrvdd) + "▦" // 05 수술일시:수술이확정된 일시
  1940. + utlf_transNullToEmpty(sOprsrvtmcd) + "▦" // 06 수술예약시간코드
  1941. + utlf_transNullToEmpty(sInoutflag) + "▦" // 07 외래입원구분
  1942. + utlf_transNullToEmpty(sOrddd) + "▦" // 08 진료일자
  1943. + utlf_transNullToEmpty(sOrddeptcd) + "▦" // 09 진료부서
  1944. + utlf_transNullToEmpty(sInday) + "▦" // 10 입원일자
  1945. + utlf_transNullToEmpty(sWardstartdttm) + "▦" // 11 병동출발일시통원환자인경우 null' )
  1946. + utlf_transNullToEmpty(sPatarrvdttm) + "▦" // 12 환자도착일시
  1947. + utlf_transNullToEmpty(sWardarrvdttm) + "▦" // 12_1 병동도착일시
  1948. + utlf_transNullToEmpty(sWardarrvdept) + "▦" // 12_2 도착부서
  1949. + utlf_transNullToEmpty(sWardarrvnursid) + "▦" // 12_3 도착기록자
  1950. + utlf_transNullToEmpty(startyn) + "▦" // 12_4 출발도착여부
  1951. + utlf_transNullToEmpty(nurspartarrvdt) + "▦" // 12_5 간호단위 도착 기록시간
  1952. + utlf_transNullToEmpty(sInfectspec) + "▦" // 13 감염정보
  1953. + utlf_transNullToEmpty(sAllrgspec) + "▦" // 14 알러지정보
  1954. + utlf_transNullToEmpty(sSendgoodandmedspec) + "▦" // 15 보낸물품및약품정보
  1955. + utlf_transNullToEmpty(sCurenurgstatspec) + "▦" // 16 처치및간호상태정보
  1956. + utlf_transNullToEmpty(sTestinfospec) + "▦" // 17 검사정보내역
  1957. + utlf_transNullToEmpty(sNurgpartid) + "▦" // 18 간호단위기록자ID
  1958. + utlf_transNullToEmpty(sNurgpartrecdttm) + "▦" // 19 간호단위기록일시
  1959. + utlf_transNullToEmpty(sNurgpartsavedttm) + "▦" // 20 간호단위저장일시
  1960. + utlf_transNullToEmpty(sOperchfid) + "▦" // 21 수술실 기록자ID
  1961. + utlf_transNullToEmpty(sOperchfrecdttm) + "▦" // 22 수술실 기록일시
  1962. + utlf_transNullToEmpty(sOperchfsavedttm) + "▦" // 23 수술실 저장일시
  1963. + utlf_transNullToEmpty(sOpercnfmpat) + "▦" // 24 수술실 환자명
  1964. + utlf_transNullToEmpty(sOpercnfmid) + "▦" // 25 수술실 등록번호
  1965. + utlf_transNullToEmpty(sOpercnfmdr) + "▦" // 26 수술실 집도의
  1966. + utlf_transNullToEmpty(sOpercnfmpart) + "▦" // 27 수술실 수술부위
  1967. + utlf_transNullToEmpty(sOpercnfmpartdisp) + "▦" // 28 수술실 수술부위표시
  1968. + utlf_transNullToEmpty(sStaychfid) + "▦" // 29 대기실 기록자ID
  1969. + utlf_transNullToEmpty(sStaychfrecdttm) + "▦" // 30 대기실 기록일시
  1970. + utlf_transNullToEmpty(sStaychfsavedttm) + "▦" // 31 대기실 저장일시
  1971. + utlf_transNullToEmpty(sStaycnfmpat) + "▦" // 32 대기실 환자명
  1972. + utlf_transNullToEmpty(sStaycnfmid) + "▦" // 33 대기실 등록번호
  1973. + utlf_transNullToEmpty(sStaycnfmdr) + "▦" // 34 대기실 집도의
  1974. + utlf_transNullToEmpty(sStaycnfmpart) + "▦" // 35 대기실 수술부위
  1975. + utlf_transNullToEmpty(sStaycnfmpartdisp) + "▦" // 36 대기실 수술부위표시
  1976. + utlf_transNullToEmpty(sNurgpartmemo) + "▦" // 37 간호단위메모
  1977. + utlf_transNullToEmpty(sOperchfmemo) + "▦" // 38 수술,대기 단위메모
  1978. + utlf_transNullToEmpty(sCertno) + "▦" // 39 인증번호
  1979. + utlf_transNullToEmpty(sFstrgstrid) + "▦" // 40 최초등록자ID
  1980. + utlf_transNullToEmpty(sLastupdtid) + "▦" // 41 최종수정자
  1981. + utlf_transNullToEmpty(sOpbfcureseqno) + "▦" // 42 수술에대한의뢰번호(년도(4) + 일련번호(6))
  1982. + utlf_transNullToEmpty(sOpstatcd) + "▦" // 43 진행상태
  1983. + utlf_transNullToEmpty(sOpstatcdnew) + "▦" // 44 진행상태
  1984. + utlf_transNullToEmpty(sStat) + "▦" // 45 상태
  1985. + utlf_transNullToEmpty(pFlag) + "▦" // 46 임시/인증 저장 여부(C : 인증, T : 임시)
  1986. + utlf_transNullToEmpty(sEtctel1) + "▦" // 47 보호자연락처1
  1987. + utlf_transNullToEmpty(sEtctel2) + "▦" // 48 보호자연락처2
  1988. + utlf_transNullToEmpty(sSmsagreeyn) + "▦" // 49 SMS동의여부
  1989. + utlf_transNullToEmpty(patarrisndsmsid) + "▦" // 50 SMS전송ID 대기실도착
  1990. + utlf_transNullToEmpty(message) + "▦" // 51 SMS message
  1991. + utlf_transNullToEmpty(arrsmssendflag) + "▦" // 52 sms전송 flag
  1992. + utlf_transNullToEmpty(sNurgpartdeptcd) + "▦" // 53 간호단위 기록 부서코드
  1993. + utlf_transNullToEmpty(sStaychfdeptcd) + "▦" // 54 대기실 기록 부서코드
  1994. + utlf_transNullToEmpty(sOperchfdeptcd) + "▦" // 55 수술실 기록 부서코드
  1995. + utlf_transNullToEmpty(patnm) + "▦" // 56 환자명
  1996. + utlf_transNullToEmpty(sStaycnfmRemark) + "▦" // 57 대기실 수술부위표시Remark
  1997. + utlf_transNullToEmpty(sOpercnfmRemark) + "▦" // 58 수술실 수술부위표시Remark
  1998. + utlf_transNullToEmpty(sOpPatbdtp) + "▦" // 59 체온
  1999. + utlf_transNullToEmpty(sOpPatbdwt) + "▦" // 60 체중
  2000. + utlf_transNullToEmpty(sOpPatbdht) + "▦" // 61 신장
  2001. + utlf_transNullToEmpty(sOpPatsbp) + "▦" // 62 SBP
  2002. + utlf_transNullToEmpty(sOpPatdbp) + "▦" // 63 DBP
  2003. + utlf_transNullToEmpty(sWardOP) + "▦" // 64 현장수술
  2004. + utlf_transNullToEmpty(sFamyList) + "▩"; // 환자 및 보호자 연락처
  2005. dsf_setCSVToDs("ds_send_MnphccsrList", sMnphccsrData);
  2006. dsf_setCSVToDs("ds_send_msglist", msgHeader +msgData);
  2007. var CertFlag = true;
  2008. if (pFlag == "C") {
  2009. //20180719 이돈희 : 수술전처치 및 간호상태 확인 전체 삭제 추가
  2010. if(pDelete == "D"){
  2011. CertFlag = fSignProcessSet("D");
  2012. }
  2013. else{
  2014. CertFlag = fSignProcessSet();
  2015. }
  2016. }
  2017. if (CertFlag == false){
  2018. //2008-10-01 오전 5:54:13 taebum 인증저 취소시 통합기록 조회관련 요구사항 처리로 인한 오류발생 .
  2019. //화면 close 시킴.
  2020. //close();
  2021. return; // 인증실패
  2022. }
  2023. var oParam = {};
  2024. oParam.id = "TXMNP00201";
  2025. oParam.service = "opanstapp.OpAnstPatMngt";
  2026. oParam.method = "reqExeMnphccsrInfo";
  2027. oParam.inds = "MnphccsrList=ds_send_MnphccsrList signinfo=ds_send_signinfo msglist=ds_send_msglist";
  2028. oParam.outds = "ds_temp_retdata=retdata";
  2029. oParam.async = false;
  2030. oParam.callback = "cf_TXMNP00201";
  2031. tranf_submit(oParam);
  2032. if( arErrorCode.pop("TXMNP00201") > -1 ){
  2033. opIdx = grp_main.cmb_opdd.index;
  2034. ds_main_OpddInfoList_OpddInfo.setColumn(opIdx, "opbfcureseqno", ds_temp_retdata.getColumn(0, "opbfcureseqno"));
  2035. if( pFlag == "C" ) {
  2036. xPath_MnphccsrList.setColumn(0, "certno", ds_temp_retdata.getColumn(0, "certno"));
  2037. }
  2038. Query_Opdd_All();
  2039. if( (sPatCls == "O") ||(sPatCls == "B") ) {
  2040. //fStayOperCheck(); // 대기실 수술실 Check
  2041. fOpWardCheck();
  2042. }else{
  2043. fOpWardCheck();
  2044. }
  2045. }
  2046. }
  2047. function cf_TXMNP00201(sSvcId, nErrorCode, sErrorMsg) {
  2048. arErrorCode.push(sSvcId, nErrorCode);
  2049. }
  2050. /* ------------------------------------------------- */
  2051. /* type : function */
  2052. /* access : public */
  2053. /* desc : 확인정보 Check 여부을 Check한다 */
  2054. /* return : */
  2055. /* --------------------------------------------------*/
  2056. function fGridCheckConfirm() {
  2057. var BoolCheck = false;
  2058. var GridNm = grp_main.grd_ItemCheckList;
  2059. var opchkyn ="";
  2060. var cnt = 0;
  2061. for( var iRow=0 ; iRow<GridNm.rowcount ; iRow++ ){
  2062. opchkyn = ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "opchkyn");
  2063. if( grp_main.chk_stay.value == "1" ){
  2064. if( (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Syes") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Syes"))) &&
  2065. (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Sno") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Sno"))) &&
  2066. (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Snothing") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Snothing"))) ){
  2067. BoolCheck = true;
  2068. break;
  2069. }
  2070. } else if( grp_main.chk_stay.value == "2" ){
  2071. if( (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Oyes") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Oyes"))) &&
  2072. (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Ono") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Ono"))) &&
  2073. (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Onothing") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Onothing"))) &&
  2074. (opchkyn == "Y" || utlf_isNull(opchkyn)) ){
  2075. BoolCheck = true;
  2076. break;
  2077. }
  2078. } else {
  2079. if( (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Pyes") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Pyes"))) &&
  2080. (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Pno") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Pno"))) &&
  2081. (ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Pnothing") == "0" || utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(iRow, "Pnothing"))) ){
  2082. BoolCheck = true;
  2083. break;
  2084. }
  2085. }
  2086. }
  2087. return BoolCheck;
  2088. }
  2089. /* ------------------------------------------------- */
  2090. /* SMMNP00200_수술전처치 및 간호상태 확인 */
  2091. /* 조회버튼 Click시 Call */
  2092. /* ------------------------------------------------- */
  2093. function select_opdd() {
  2094. submit("TRMNP00201"); // 환자 수술전 처치 및 간호상태 확인 사항
  2095. }
  2096. function fRowSyleColor(pGrid, pRow, pColor ){
  2097. pGrid.rowstyle( pRow , "data", "background-color") = pColor;
  2098. }
  2099. //function fRowSyle(pGrid){
  2100. // var sColor = "#ffc0cb"; // "#ffc0cb"; //FF69B4
  2101. // /*
  2102. // var sRowCnt = pGrid.rows - pGrid.fixedrows;
  2103. //
  2104. //
  2105. // for (var i=2; i<= sRowCnt; i++){
  2106. // if (model.getValue(xPathGride+"["+(i - 1)+"]/ItemState1") == "Y") {
  2107. // fRowSyleColor(pGrid, i, sColor);
  2108. // }
  2109. // }
  2110. // */
  2111. // var iRowCnt = pGrid.rowcount;
  2112. // var sExprBack = "EXPR(";
  2113. //
  2114. // for( var i=0 ; i<iRowCnt ; i++ ){
  2115. // // if (pGrid.valueMatrix(i, 12) == "Y") {
  2116. // if( pGrid.getCellValue(i, pGrid.getBindCellIndex("body", "ItemState1")) == "Y" ){
  2117. // sExprBack += "currow == "+i+" ? '"+sColor+"' : ";
  2118. // }
  2119. // }
  2120. //
  2121. // sExprBack += "'')";
  2122. //
  2123. // for( var i=1 ; i<pGrid.getCellCount("Body") ; i++ ){
  2124. // pGrid.setCellProperty("Body", i, "background", sExprBack);
  2125. // pGrid.setCellProperty("Body", i, "background2", sExprBack);
  2126. // }
  2127. //}
  2128. function fPopUpCall(pFlag){
  2129. var xPathProduct = xPath_Product;
  2130. var sItemCode = "";
  2131. var iRow = grp_main.grd_ItemCheckList.currentrow;
  2132. var inoutflag = xPath_MnphccsrList.getColumn(0, "inoutflag");
  2133. var oppatflagcd = ds_main_operation_list.getColumn(0, "oppatflagcd");
  2134. if( inoutflag != oppatflagcd && !utlf_isNull(oppatflagcd) ){
  2135. //기록지데이터랑 스케쥴 데이터랑 틀릴경우 스케쥴데이터로 처리 2010.03.10 K. J. M
  2136. //수술준비확인 기록이후 외래에서 입원으로 스케쥴이 변경된경우 점검리스트 처방 콤보가 제대로 끌려오지 않음
  2137. inoutflag = oppatflagcd;
  2138. }
  2139. var sParam = "pid▦orddd▦cretno▦instcd▦inoutflag▩"
  2140. + xPath_MnphccsrList.getColumn(0, "pid") + "▦"
  2141. + xPath_MnphccsrList.getColumn(0, "orddd") + "▦"
  2142. + xPath_MnphccsrList.getColumn(0, "cretno") + "▦"
  2143. + xPath_MnphccsrList.getColumn(0, "instcd") + "▦"
  2144. + inoutflag + "▩";
  2145. //+ model.getValue(xPath_MnphccsrList+"/inoutflag") + "▩";
  2146. frmf_setParameter("SMMNP00201_Param", sParam);
  2147. var ParaItem = "ITM010 " // 금식
  2148. + "ITM012 " // 수술부위 피부준비
  2149. + "ITM013 " // 수술전투약
  2150. + "ITM018 " // 혈액준비사항
  2151. + "ITM019 " // 물품/약품
  2152. + "ITM011 " // 관장
  2153. + "ITM008 " // 알러지여부
  2154. + "ITM017 " // 전염성질환
  2155. + "ITM021 " // 약품(2009-02-19 YCD 물품과 약품 정보 분리)
  2156. ;
  2157. var ParamItm = "ItemCode▦ItemInfo▩";
  2158. var sRowCnt = grp_main.grd_ItemCheckList.rowcount;
  2159. for( var i=0 ; i<sRowCnt ; i++ ){
  2160. sItemCode = xPathGride.getColumn(i, "ItemCode");
  2161. if( ParaItem.indexOf(sItemCode) != -1 ){
  2162. ParamItm += sItemCode + "▦"
  2163. + utlf_transNullToEmpty(xPathGride.getColumn(i, "ItemInfo"))+ "▩";
  2164. }
  2165. }
  2166. frmf_setParameter("SMMNP00201_Item", ParamItm);
  2167. frmf_modal("SMMNP00201","SMMNP00201",null,"","","","","","","","","","M"); //yjh
  2168. var sCnt = "";
  2169. var sITM013 = "";
  2170. var sPopParam = utlf_transNullToEmpty(frmf_getParameter("SendData"));
  2171. for( var i=1 ; i < sPopParam.split("▩").length-1 ; i++ ){
  2172. sItemCode = getArrayData(sPopParam,i,0);
  2173. if (sItemCode =="ITM013" || sItemCode =="ITM018") { // ITM013:수술전투약 ,ITM018:혈액
  2174. sItemData = getArrayData(sPopParam,i,1);
  2175. // sItemData = sItemData.replace('\n', '★');
  2176. fItemCode1318(sItemCode, sItemData);
  2177. sCnt = parseInt(xPathGride.getCaseCount("ItemCode=='ITM013'"));
  2178. sCnt += parseInt(xPathGride.getCaseCount("ItemCode=='ITM018'"));
  2179. wFixGrid = sCnt + 21;
  2180. } else {
  2181. xPathGride.setColumn(xPathGride.findRow("ItemCode", sItemCode), "ItemInfo", getArrayData(sPopParam,i,1));
  2182. }
  2183. }
  2184. }
  2185. //
  2186. function fItemCode1318(pItemCode, pParam){
  2187. sParam = pParam.split("★");
  2188. if (sParam.length < 1) return;
  2189. //
  2190. wIdx = 0;
  2191. //var sRowCnt = grd_ItemCheckList.rows - grd_ItemCheckList.fixedrows;
  2192. //var OldCnt = parseInt(getNodesetCount(xPathGride+"[ItemCode ='"+pItemCode+"']")); // 수술전 투약 건수
  2193. //기존에 등록되어 있는 정보는 clear후 다시 생성한다.
  2194. var iTempRows = grp_main.grd_ItemCheckList.rowcount;
  2195. var iFirstSamePos = -1;
  2196. var iDeleCnt = 0;
  2197. var sItemState1 = "";
  2198. var sItemState2 = "";
  2199. var sItemState3 = "";
  2200. var sReferenceseq = "";
  2201. for( var i=(iTempRows-1) ; i>=0 ; i-- ){
  2202. // if(grd_ItemCheckList.valueMatrix(i, 10) == pItemCode){
  2203. if( ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemCode") == pItemCode ){
  2204. if(iFirstSamePos == -1){
  2205. // sReferenceseq = grd_ItemCheckList.valueMatrix(i, 11);
  2206. // sItemState1 = grd_ItemCheckList.valueMatrix(i, 12);
  2207. // sItemState2 = grd_ItemCheckList.valueMatrix(i, 13);
  2208. // sItemState3 = grd_ItemCheckList.valueMatrix(i, 14);
  2209. sReferenceseq = ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "referenceseq");
  2210. sItemState1 = ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemState1");
  2211. sItemState2 = ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemState2");
  2212. sItemState3 = ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(i, "ItemState3");
  2213. }
  2214. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.deleteRow(i);
  2215. iFirstSamePos = i;
  2216. }
  2217. }
  2218. var sTempInfoBk = ds_init_XmlFormat_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumn(ds_init_XmlFormat_curenurgstatspec_ItemCheckLists_ItemCheckList.findRow("ItemCode", pItemCode), "ItemInfoBk");
  2219. //alert("iFirstSamePos : "+iFirstSamePos);
  2220. /*
  2221. if(pItemCode == ""){
  2222. iFirstSamePos = 18;
  2223. }else if(pItemCode == ""){
  2224. iFirstSamePos = 17;
  2225. }
  2226. */
  2227. var sColor = "#ffc0cb"; // "#ffc0cb"; //FF69B4
  2228. for( var j=0 ; j<sParam.length ; j++ ){
  2229. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.insertRow(iFirstSamePos);
  2230. xPathGride.copyRow(iFirstSamePos, ds_init_ItemCheckList, 0);
  2231. // alert("cur infobk : "+grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 1)+" , sTempInfoBk : "+sTempInfoBk + " , pItemCode : "+pItemCode);
  2232. // grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 1) = sTempInfoBk;
  2233. // grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 2) = sParam[j];
  2234. // grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 12) = pItemCode;
  2235. // grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 13) = sReferenceseq;
  2236. // grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 14) = sItemState1;
  2237. // grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 15) = sItemState2;
  2238. // grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 16) = sItemState3;
  2239. xPathGride.setColumn(iFirstSamePos, "ItemInfoBk", sTempInfoBk);
  2240. xPathGride.setColumn(iFirstSamePos, "ItemInfo", sParam[j]);
  2241. xPathGride.setColumn(iFirstSamePos, "ItemCode", pItemCode);
  2242. xPathGride.setColumn(iFirstSamePos, "referenceseq", sReferenceseq);
  2243. xPathGride.setColumn(iFirstSamePos, "ItemState1", sItemState1);
  2244. xPathGride.setColumn(iFirstSamePos, "ItemState2", sItemState2);
  2245. xPathGride.setColumn(iFirstSamePos, "ItemState3", sItemState3);
  2246. //fRowSyleColor(grd_ItemCheckList, iFirstSamePos+1, sColor);
  2247. //grd_ItemCheckList.isReadOnly(iFirstSamePos+1, grd_ItemCheckList.colRef("Oyes"), iFirstSamePos+1, grd_ItemCheckList.colRef("Onothing"))=sBool3;
  2248. if( sBool3 == true ){
  2249. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(iFirstSamePos, "colEdit10", "none");
  2250. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(iFirstSamePos, "colConBack10", "silver");
  2251. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(iFirstSamePos, "colConBor10", "1 solid #708090cc");
  2252. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(iFirstSamePos, "colEdit12", "none");
  2253. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(iFirstSamePos, "colConBack12", "silver");
  2254. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(iFirstSamePos, "colConBor12", "1 solid #708090cc");
  2255. // var sExprEdit = grp_main.grd_ItemCheckList.getCellProperty("Body", 10, "edittype").replace("'none'", "")
  2256. // + "currow == "+(iFirstSamePos)+" ? 'checkbox' : "
  2257. // + "'none'";
  2258. // var sExprEdit2 = grp_main.grd_ItemCheckList.getCellProperty("Body", 12, "edittype").replace("'none'", "")
  2259. // + "currow == "+(iFirstSamePos)+" ? 'checkbox' : "
  2260. // + "'none'";
  2261. //
  2262. // grp_main.grd_ItemCheckList.setCellProperty("Body", 10, "edittype", sExprEdit);
  2263. // grp_main.grd_ItemCheckList.setCellProperty("Body", 12, "edittype", sExprEdit);
  2264. }else{
  2265. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(iFirstSamePos, "colEdit10", "checkbox");
  2266. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(iFirstSamePos, "colConBack10", "");
  2267. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(iFirstSamePos, "colConBor10", "");
  2268. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(iFirstSamePos, "colEdit12", "checkbox");
  2269. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(iFirstSamePos, "colConBack12", "");
  2270. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.setColumn(iFirstSamePos, "colConBor12", "");
  2271. }
  2272. // grd_ItemCheckList.isReadOnly(iFirstSamePos+1, 3, iFirstSamePos+1, 5)=sBool1;
  2273. // grd_ItemCheckList.isReadOnly(iFirstSamePos+1, 6, iFirstSamePos+1, 8)=sBool2;
  2274. // grd_ItemCheckList.isReadOnly(iFirstSamePos+1, 9, iFirstSamePos+1, 11)=sBool3;
  2275. iFirstSamePos = iFirstSamePos+1;
  2276. }
  2277. }
  2278. function fPopUpCall_bak(pFlag){
  2279. var xPathGride = xPath_ItemCheck+"/ItemCheckList";
  2280. var xPathProduct = xPath_Product+"/ProductList";
  2281. var sItemCode = "";
  2282. var iRow = grd_ItemCheckList.row - 1;
  2283. var sParam = "pid▦orddd▦cretno▦instcd▩"
  2284. + model.getValue(xPath_MnphccsrList+"/pid" ) + "▦"
  2285. + model.getValue(xPath_MnphccsrList+"/orddd" ) + "▦"
  2286. + model.getValue(xPath_MnphccsrList+"/cretno") + "▦"
  2287. + model.getValue(xPath_MnphccsrList+"/instcd") + "▩";
  2288. setParameter("SMMNP00201_Param", sParam);
  2289. modal("SMMNP00201");
  2290. var sCnt = "";
  2291. var sITM013 = "";
  2292. var sPopParam = getParameter("SendData");
  2293. for(var i=1; i< sPopParam.split("▩").length-1; i++){
  2294. sItemCode = getArrayData(sPopParam,i,0);
  2295. if (sItemCode =="ITM013" || sItemCode =="ITM018") { // ITM013:수술전투약 ,ITM018:혈액
  2296. if (sItemCode =="ITM013") {
  2297. sItmCnt = wDrgIdx;
  2298. model.setValue("/root/init/ItemCheckList/ItemInfoBk", "수술전투약");
  2299. } else {
  2300. sItmCnt = wBolIdx;
  2301. model.setValue("/root/init/ItemCheckList/ItemInfoBk", "혈액준비사항");
  2302. }
  2303. sITM013 = getArrayData(sPopParam,i,1).split("★");
  2304. var jj = sItmCnt + 1; // 14
  2305. var sColor = "#ffc0cb"; // "#ffc0cb"; //FF69B4
  2306. //alert("var "+jj+" = "+sItmCnt+" - 1;")
  2307. if (sITM013.length > 1){
  2308. for(var j=0; j< sITM013.length; j++){
  2309. if ((j > 0) && (sItmCnt <= jj)) {
  2310. grd_ItemCheckList.insertRow(jj,"above", false);
  2311. fRowSyleColor(grd_ItemCheckList, jj, sColor);
  2312. // 20110705 wify 경북대병원 grid.col을 grid.colRef로 정의
  2313. // grd_ItemCheckList.isReadOnly(jj, 3, jj, 5)=sBool1;
  2314. // grd_ItemCheckList.isReadOnly(jj, 6, jj, 7)=sBool2;
  2315. // grd_ItemCheckList.isReadOnly(jj, 8, jj, 9)=sBool3;
  2316. grd_ItemCheckList.isReadOnly(jj, grd_ItemCheckList.colRef("Pyes"), jj, grd_ItemCheckList.colRef("Pnothing"))=sBool1;
  2317. grd_ItemCheckList.isReadOnly(jj, grd_ItemCheckList.colRef("Syes"), jj, grd_ItemCheckList.colRef("Snothing"))=sBool2;
  2318. grd_ItemCheckList.isReadOnly(jj, grd_ItemCheckList.colRef("Oyes"), jj, grd_ItemCheckList.colRef("Onothing"))=sBool3;
  2319. }
  2320. model.setValue("/root/init/ItemCheckList/ItemInfo", sITM013[j]);
  2321. model.copyNode(xPathGride+"["+(jj-1)+"]", "/root/init/ItemCheckList");
  2322. jj++;
  2323. }
  2324. jj--;
  2325. if (sItemCode =="ITM018") {
  2326. wBolCnt = sITM013.length;
  2327. } else {
  2328. wDrgCnt = sITM013.length;
  2329. }
  2330. sItmCnt = sITM013.length;
  2331. }
  2332. //
  2333. // alert("("+wDrgIdx+" > "+jj+")" );
  2334. if (wDrgIdx > jj) {
  2335. for(var j=wDrgIdx; j >= jj; j--){
  2336. grd_ItemCheckList.deleteRow(j, false);
  2337. }
  2338. }
  2339. var sCnt = parseInt(getNodesetCount(xPathGride+"[ItemCode ='ITM013']")); // 수술전 투약 건수
  2340. wDrgIdx = sCnt + 18; // 수술전 투약 건수
  2341. wFixGrid = (sCnt - 1)+ 22;
  2342. // wDrgIdx = parseInt(getNodesetCount(xPathGride+"[ItemCode ='ITM013']")) + 13;
  2343. } else {
  2344. model.setValue(xPathGride+"[ItemCode ='"+sItemCode+"']/ItemInfo", getArrayData(sPopParam,i,1));
  2345. }
  2346. }
  2347. grd_ItemCheckList.rebuild();
  2348. }
  2349. /* ---------------------------------------------------------------*/
  2350. /* type : function */
  2351. /* access : public */
  2352. /* desc : 환자별 타업무 연계 정보 조회 */
  2353. /* param : EMR.MNPHCCSR 전체 */
  2354. /* return : */
  2355. /* ---------------------------------------------------------------*/
  2356. function fSrchPatLnkInfo(pFlag){
  2357. var NodeCnt = 0;
  2358. ds_send.setColumn(0, "pid", xPath_MnphccsrList.getColumn(0, "pid"));
  2359. ds_send.setColumn(0, "oprsrvdd", xPath_MnphccsrList.getColumn(0, "oprsrvdd"));
  2360. ds_send.setColumn(0, "flag", pFlag);
  2361. var oParam = {};
  2362. oParam.id = "TRMNP00204";
  2363. oParam.service = "opanstapp.OpAnstPatMngt";
  2364. oParam.method = "reqGetPatLnkInfoList";
  2365. oParam.inds = "reqdata=ds_send";
  2366. oParam.outds = "ds_temp_patlnkinfo_AllergyList=AllergyList ds_main_MnphccsrData_MnphccsrList_infectspec_InfectionLists_InfectionList=InfectionList ds_temp_patlnkinfo_CheckupList=CheckupList";
  2367. oParam.async = false;
  2368. oParam.callback = "cf_TRMNP00204";
  2369. tranf_submit(oParam);
  2370. ds_main_MnphccsrData_MnphccsrList_infectspec_InfectionLists_InfectionList.rowposition = -1;
  2371. if( arErrorCode.pop("TRMNP00204") > -1 ){
  2372. // 알레르기 정보
  2373. if ("all" == pFlag || "allergy" == pFlag){
  2374. NodeCnt = xPath_PatLnkInfo.rowcount;
  2375. if( NodeCnt > 0 ){
  2376. xPath_Allergy.copyData(xPath_PatLnkInfo);
  2377. }
  2378. }
  2379. // 감염정보
  2380. if ("all" == pFlag || "infection" == pFlag){
  2381. NodeCnt = ds_temp_patlnkinfo_InfectionList.rowcount;
  2382. if( NodeCnt > 0 ){
  2383. xPath_Infection.copyData(xPath_PatLnkInfo);
  2384. }
  2385. }
  2386. }
  2387. }
  2388. function cf_TRMNP00204(sSvcId, nErrorCode, sErrorMsg) {
  2389. arErrorCode.push(sSvcId, nErrorCode);
  2390. }
  2391. // ------------------------------------------------------
  2392. // ICNP 용어 조회 팝업(SMMNP00201.xfm - JScript )
  2393. // ------------------------------------------------------
  2394. var xPathItem = "/root/main/ItemInfo/ItemCheckList";
  2395. var xPathItemTemp = "/root/ItemCheckLists/ItemCheckList";
  2396. var xPathItemList = "/root/main/ItemInfo/ItemCheckList/ItemList";
  2397. var xFastItemInfoPath = "ds_main_ItemInfo_FastItemInfo"; // 금식
  2398. var xAlgyItemListPath = "ds_main_ItemInfo_AlgyItemInfo_ItemList"; // 알러지
  2399. var xContagSickItemListPath = "ds_main_ItemInfo_ContagSickInfo_ItemList"; // 전염성 질환
  2400. var xEtcItemInfoPath = "ds_main_ItemInfo_EtcItemInfo"; // 기타 항목
  2401. var xPrcpListPath = "/root/main/prcpinfo/prcplist"; // 수술전 처방 목록
  2402. //===================================
  2403. //========================================
  2404. /**
  2405. * @group :
  2406. * @ver : 2007.03.16
  2407. * @by : 최학록
  2408. * @---------------------------------------------------
  2409. * @type : function
  2410. * @access : public
  2411. * @desc : 항목 보내기
  2412. * @param :
  2413. * @return :
  2414. * @---------------------------------------------------
  2415. */
  2416. function fSendItem(){
  2417. var SendData = "itemcd▦iteminfo▩";
  2418. var sCnts = "";
  2419. var iRow = 0;
  2420. var sFastFlag = "";
  2421. var sFastFromDD = "";
  2422. var sFastFromTM = "";
  2423. // 금식
  2424. sCnts = model.getValue(xFastItemInfoPath+"/FastCnts");
  2425. sFastFlag = model.getValue(xFastItemInfoPath+"/FastFlag");
  2426. if(sCnts != "" || sFastFlag != ""){
  2427. if(sFastFlag != ""){
  2428. if (sCnts != "") sCnts += ", ";
  2429. if(sFastFlag == "9"){
  2430. sFastFromDD = model.getValue(xFastItemInfoPath+"/FastFromDD").toDate("YYYYMMDD").getDateFormat("YYYY-MM-DD");
  2431. sFastFromTM = model.getValue(xFastItemInfoPath+"/FastFromTM").toDate("hhmm").getDateFormat("hh:mm");
  2432. sCnts += sFastFromDD+" "+sFastFromTM+"부터 금식 시작";
  2433. }else{
  2434. sCnts += model.getValue("/root/init/FastCheckLists/FastCheckList[itemcd ='"+sFastFlag+"']/itemnm");
  2435. }
  2436. }
  2437. SendData += model.getValue(xFastItemInfoPath+"/ItmCode") + "▦" + sCnts + "▩";
  2438. }
  2439. // 수술부위 피부준비
  2440. sCnts = model.getValue(xEtcItemInfoPath+"/SkinPrepCnts");
  2441. if (sCnts != ""){
  2442. SendData += model.getValue(xEtcItemInfoPath+"/SkinPrepItmCode") + "▦" + sCnts + "▩";
  2443. }
  2444. // 수술전 투약
  2445. sCnts = "";
  2446. if (grd_Drug.rows > 0) {
  2447. var wCnts = "";
  2448. var ii = 0 ;
  2449. for (var iRow = 1; iRow <= grd_Drug.rows; iRow++){
  2450. wCnts = model.getValue("/root/main/ItemInfo/DrugInfo/DrugList["+iRow+"]/DrugData");
  2451. wCnts.replace(/(^\s*)|(\s*$)/g,"");//공백제거됨
  2452. if (wCnts !="") {
  2453. if(ii > 0) sCnts += "★";
  2454. sCnts += wCnts;
  2455. ii++;
  2456. }
  2457. }
  2458. }
  2459. //sCnts = model.getValue(xEtcItemInfoPath+"/MediCnts");
  2460. if (sCnts != ""){
  2461. SendData += model.getValue(xEtcItemInfoPath+"/MediItmCode" ) + "▦" + sCnts + "▩";
  2462. }
  2463. // 혈액준비사항
  2464. // sCnts = model.getValue(xEtcItemInfoPath+"/BlodPrepCnts");
  2465. sCnts = "";
  2466. if (grd_Blod.rows > 0) {
  2467. var wCnts = "";
  2468. var ii = 0 ;
  2469. for (var iRow = 1; iRow <= grd_Blod.rows; iRow++){
  2470. wCnts = model.getValue("/root/main/ItemInfo/BlodInfo/BlodList["+iRow+"]/BlodData");
  2471. wCnts.replace(/(^\s*)|(\s*$)/g,"");//공백제거됨
  2472. if (wCnts !="") {
  2473. if(ii > 0) sCnts += "★";
  2474. sCnts += wCnts;
  2475. ii++;
  2476. }
  2477. }
  2478. }
  2479. // sCnts = model.getValue(xEtcItemInfoPath+"/BlodCnts");
  2480. if (sCnts != ""){
  2481. SendData += model.getValue(xEtcItemInfoPath+"/BlodPrepItmCode") + "▦" + sCnts + "▩";
  2482. }
  2483. // 보내는 물품/약품 --> 약품 물품 분리 작업 기존 사용하던 인스턴스 유지 약품 관련 아이템 추가 : SendDrugCode
  2484. sCnts = model.getValue(xEtcItemInfoPath+"/SendGoodsCnts");
  2485. if (sCnts != ""){
  2486. SendData += model.getValue(xEtcItemInfoPath+"/SendGoodsCode" ) + "▦" + sCnts + "▩";
  2487. }
  2488. //2009-02-24 ycd 보내는 약품
  2489. sCnts = model.getValue(xEtcItemInfoPath+"/SendDrugCnts");
  2490. if (sCnts != ""){
  2491. SendData += model.getValue(xEtcItemInfoPath+"/SendDrugCode" ) + "▦" + sCnts + "▩";
  2492. }
  2493. // 보내는 물품/약품
  2494. sCnts = model.getValue(xEtcItemInfoPath+"/SendITM011Cnts");
  2495. if (sCnts != ""){
  2496. SendData += model.getValue(xEtcItemInfoPath+"/SendITM011" ) + "▦" + sCnts + "▩";
  2497. }
  2498. // 알러지 여부
  2499. sCnts = "";
  2500. for (var i=grd_AlgyItemList.fixedrows; i<= grd_AlgyItemList.rows - grd_AlgyItemList.fixedrows; i++){
  2501. if (model.getValue(xAlgyItemListPath+"["+i+"]/ItmCheck") == "true"){
  2502. if (sCnts != "") {
  2503. sCnts += ",";
  2504. }
  2505. sCnts += model.getValue(xAlgyItemListPath+"["+i+"]/ItmName");
  2506. }
  2507. }
  2508. if (model.getValue("/root/main/ItemInfo/AlgyItemInfo/ItemOther") != ""){
  2509. if (sCnts != "") sCnts += ",";
  2510. sCnts += model.getValue("/root/main/ItemInfo/AlgyItemInfo/ItemOther");
  2511. }
  2512. if( sCnts != ""){
  2513. SendData += model.getValue("/root/main/ItemInfo/AlgyItemInfo/ItemCode") + "▦" + sCnts + "▩";
  2514. }
  2515. // 전염성 질환
  2516. sCnts = "";
  2517. for (var i=grd_ContagSickList.fixedrows; i<= grd_ContagSickList.rows - grd_ContagSickList.fixedrows; i++){
  2518. if (model.getValue(xContagSickItemListPath+"["+i+"]/ItmCheck") == "true"){
  2519. if (sCnts != "") {
  2520. sCnts += ",";
  2521. }
  2522. sCnts += model.getValue(xContagSickItemListPath+"["+i+"]/ItmName");
  2523. }
  2524. }
  2525. if (model.getValue("/root/main/ItemInfo/ContagSickInfo/ItemOther") != ""){
  2526. if (sCnts != "") sCnts += ",";
  2527. sCnts += model.getValue("/root/main/ItemInfo/ContagSickInfo/ItemOther");
  2528. }
  2529. if (sCnts != ""){
  2530. SendData += model.getValue("/root/main/ItemInfo/ContagSickInfo/ItemCode") + "▦" + sCnts + "▩";
  2531. }
  2532. opener.javascript.setParameter("SendData", SendData);
  2533. // model.makeValue("/root/hidden/refinfo/ItemInfo",SendData);
  2534. //
  2535. // if (checkOpener()){
  2536. // model.copyNode(opener.root.HideData.recinfo, root.hidden.refinfo);
  2537. // } else{
  2538. // alert("상위화면이 변경되어 데이터를 전달할 수 없습니다.");
  2539. // }
  2540. // alert(SendData);
  2541. model.close();
  2542. }
  2543. /**
  2544. * @group :
  2545. * @ver : 2007.03.16
  2546. * @by : 최학록
  2547. * @---------------------------------------------------
  2548. * @type : function
  2549. * @access : public
  2550. * @desc : 조회
  2551. * @param :
  2552. * @return :
  2553. * @---------------------------------------------------
  2554. */
  2555. function fSearch(){
  2556. var sTerm = model.getValue(xRefPath+"/terminfo");
  2557. model.removenode("/root/send");
  2558. model.makeValue("/root/send/attrcnts",model.getValue(xRefPath+"/terminfo"));
  2559. submit("TRMNR01501");
  2560. }
  2561. /**
  2562. * @group :
  2563. * @ver : 2007.03.16
  2564. * @by : 최학록
  2565. * @---------------------------------------------------
  2566. * @type : function
  2567. * @access : public
  2568. * @desc : 팝업 호출
  2569. * @param :
  2570. * @return :
  2571. * @---------------------------------------------------
  2572. */
  2573. function fPopUpCall2222(){
  2574. // var xpos = event.screenX-800;
  2575. // var ypos = event.screenY-400;
  2576. var iRow = grd_icnpinfo.row;
  2577. if(iRow < 1){
  2578. messageBox("ICNP 매핑할 용어가","I004");
  2579. return;
  2580. }
  2581. model.makeValue("/root/hidden/refinfo/flag","p");
  2582. open("SMMNR01200",1, 100, 100,"SMMNR01200",xRefPath,xRefPath);
  2583. var sTermInfo = getParameter("terminfo");
  2584. var sValue = sTermInfo.split("▦");
  2585. if(sTermInfo == "") return;
  2586. model.setValue(xICNPListPath+"["+iRow+"]/semantictype", sValue[0]);
  2587. model.setValue(xICNPListPath+"["+iRow+"]/itemcd" , sValue[1]);
  2588. model.setValue(xICNPListPath+"["+iRow+"]/icnphngterm" , sValue[2]);
  2589. model.setValue(xICNPListPath+"["+iRow+"]/icnpengterm" , sValue[3]);
  2590. grd_icnpinfo.rebuild();
  2591. }
  2592. /**
  2593. * @group :
  2594. * @ver : 2007.03.16
  2595. * @by : 최학록
  2596. * @---------------------------------------------------
  2597. * @type : function
  2598. * @access : public
  2599. * @desc : 처방목록
  2600. * @param :
  2601. * @return :
  2602. * @---------------------------------------------------
  2603. */
  2604. function fDdlClickGridRow(){
  2605. var iRow = grd_preopprcplist.row;
  2606. var sItemCD = "";
  2607. var sPrcpNM = "";
  2608. var sPrcpVol = "";
  2609. var sPrcpQty = "";
  2610. var sPrcpTims = "";
  2611. var sPrcpDayNo = "";
  2612. var sAbbrNM = "";
  2613. var sCnts = "";
  2614. var sCnts2 = "";
  2615. var sPrcpKindCd = "";
  2616. //
  2617. if(iRow < 1 || !grd_preopprcplist.isCell(event.target)) return;
  2618. //
  2619. sItemCD = model.getValue("/root/init/cond/itemcd" );
  2620. sPrcpFlag = model.getValue(xPrcpListPath+"["+iRow+"]/flag" );
  2621. sPrcpNM = model.getValue(xPrcpListPath+"["+iRow+"]/prcpnm" );
  2622. sPrcpVol = model.getValue(xPrcpListPath+"["+iRow+"]/prcpvol" )+model.getValue(xPrcpListPath+"["+iRow+"]/prcpvolunitflag");
  2623. sPrcpQty = model.getValue(xPrcpListPath+"["+iRow+"]/prcpqty" )+model.getValue(xPrcpListPath+"["+iRow+"]/prcpqtyunitflag");
  2624. sPrcpTims = model.getValue(xPrcpListPath+"["+iRow+"]/prcptims" );
  2625. // sPrcpDayNo = model.getValue(xPrcpListPath+"["+iRow+"]/prcpdayno" );
  2626. sAbbrNM = model.getValue(xPrcpListPath+"["+iRow+"]/abbrnm" );
  2627. sPrcpKindCd = model.getValue(xPrcpListPath+"["+iRow+"]/prcpkindcd" );
  2628. if (sPrcpFlag != "[Nurse]") {
  2629. if(sPrcpVol != "") sPrcpNM += "/" + sPrcpVol ;
  2630. if(sPrcpQty != "") sPrcpNM += "/" + sPrcpQty ;
  2631. if(sPrcpTims != "") sPrcpNM += "/" + sPrcpTims ;
  2632. if(sPrcpDayNo != "") sPrcpNM += "/" + sPrcpDayNo;
  2633. if(sAbbrNM != "-" && sAbbrNM != ""){
  2634. sPrcpNM += "/" + sAbbrNM;
  2635. }
  2636. }
  2637. //
  2638. if(sItemCD == "") return;
  2639. //
  2640. switch(sItemCD){
  2641. case "ITM010" : // 금식
  2642. sCnts = model.getValue(xFastItemInfoPath+"/FastCnts");
  2643. if (sCnts != "") sCnts += ", ";
  2644. sCnts += sPrcpNM;
  2645. model.setValue(xFastItemInfoPath+"/FastCnts", sCnts);
  2646. break;
  2647. case "ITM012" : // 수술부위 피부준비
  2648. sCnts = model.getValue(xEtcItemInfoPath+"/SkinPrepCnts");
  2649. if (sCnts != "") sCnts += ", ";
  2650. sCnts += sPrcpNM;
  2651. model.setValue(xEtcItemInfoPath+"/SkinPrepCnts", sCnts);
  2652. break;
  2653. case "ITM013" : // 수술전투약
  2654. /*
  2655. // ====== 2008-11-17 오전 9:57:53 taebum add ============================
  2656. if((model.getValue("/root/init/cond/rgstdata")).substr(0,3) != "수술전"){
  2657. alert("수술전 처방만 선택 가능합니다.");
  2658. return;
  2659. }
  2660. // ======================================================================
  2661. */
  2662. if ((sPrcpFlag == "[주사]") || (sPrcpFlag == "[경구]") || (sPrcpFlag == "[외용]")) {
  2663. } else {
  2664. alert("[주사],[경구],[외용] 약만 선택 가능합니다.");
  2665. return;
  2666. }
  2667. RowCnt = grd_Drug.rows;
  2668. for (var iRow = 0; iRow <= RowCnt; iRow++){
  2669. if (iRow == grd_Drug.rows) {
  2670. grd_Drug.addRow();
  2671. }
  2672. //
  2673. if (model.getValue("/root/main/ItemInfo/DrugInfo/DrugList["+(iRow+1)+"]/DrugData") =="") {
  2674. model.setValue("/root/main/ItemInfo/DrugInfo/DrugList["+(iRow+1)+"]/DrugData", sPrcpNM);
  2675. break;
  2676. }
  2677. }
  2678. grd_Blod.rebuild();
  2679. break;
  2680. case "ITM018" : // 혈액준비사항
  2681. if (sPrcpFlag != "[수혈]") {
  2682. alert("[수혈]만 선택 가능합니다.");
  2683. return;
  2684. }
  2685. RowCnt = grd_Blod.rows;
  2686. for (var iRow = 0; iRow <= RowCnt; iRow++){
  2687. if (iRow == grd_Blod.rows) {
  2688. grd_Blod.addRow();
  2689. }
  2690. //
  2691. if (model.getValue("/root/main/ItemInfo/BlodInfo/BlodList["+(iRow+1)+"]/BlodData") =="") {
  2692. model.setValue("/root/main/ItemInfo/BlodInfo/BlodList["+(iRow+1)+"]/BlodData", sPrcpNM);
  2693. break;
  2694. }
  2695. }
  2696. grd_Blod.rebuild();
  2697. break;
  2698. case "ITM019" : // 보내는 물품/약품 --> 보내는 물품 정보만 등록
  2699. if ((sPrcpFlag == "[주사]") || (sPrcpFlag == "[경구]") || (sPrcpFlag == "[외용]")) {
  2700. messageBox("약품은 선택 불가능합니다.", "I000");
  2701. return;
  2702. }
  2703. sCnts = model.getValue(xEtcItemInfoPath+"/SendGoodsCnts");
  2704. if (sCnts != "") sCnts += ", ";
  2705. sCnts += sPrcpNM;
  2706. model.setValue(xEtcItemInfoPath+"/SendGoodsCnts", sCnts);
  2707. break;
  2708. // 2009-02-24 ycd 보낸는 물품, 약품 분리
  2709. case "ITM021" : // 보내는 약품
  2710. if ((sPrcpFlag == "[주사]") || (sPrcpFlag == "[경구]") || (sPrcpFlag == "[외용]")) {
  2711. } else {
  2712. messageBox("[주사],[경구],[외용] 약만 선택 가능합니다.", "I000");
  2713. return;
  2714. }
  2715. sCnts = model.getValue(xEtcItemInfoPath+"/SendDrugCnts");
  2716. if (sCnts != "") sCnts += ", ";
  2717. sCnts += sPrcpNM;
  2718. model.setValue(xEtcItemInfoPath+"/SendDrugCnts", sCnts);
  2719. break;
  2720. case "ITM011" : // 관장
  2721. sCnts = model.getValue(xEtcItemInfoPath+"/SendITM011Cnts");
  2722. if (sCnts != "") sCnts += ", ";
  2723. sCnts += sPrcpNM;
  2724. model.setValue(xEtcItemInfoPath+"/SendITM011Cnts", sCnts);
  2725. break;
  2726. }
  2727. model.refresh();
  2728. }
  2729. // 대기실 수술실 Check
  2730. function fStayOperCheck(){
  2731. // 일일수술실 환자 or 현장수술은 대기실 같이 기록
  2732. if( sDutDSCFlag != "Y" && sWardOP != "Y" && (utlf_isNull(grp_main.output1.value) || utlf_isNull(grp_main.output2.value)) ){
  2733. sysf_messageBox("간호단위에서 기록한 후에 선택이 가능합니다.", "I000");
  2734. grp_main.chk_stay.value = "";
  2735. grp_main.chk_oper.value = "";
  2736. return;
  2737. }
  2738. grp_main.btn_ins_grid.enable = false;
  2739. grp_main.btn_del_grid.enable = false;
  2740. if( !utlf_isNull(ds_init_SendData.getColumn(0, "oprsrvno")) ){
  2741. if(sPatCls == "B"){ //분만실, DSC 일경우, 병원
  2742. if( utlf_isNull(ds_init.getColumn(0, "staycls")) ){
  2743. grp_main.txt_nurg.enable = true;
  2744. grp_main.btn_pcainput.enable = true;
  2745. grp_main.grp_bodyinfo.ipt_oppatbdtp.enable = true;
  2746. grp_main.grp_bodyinfo.ipt_oppatbdwt.enable = true;
  2747. grp_main.grp_bodyinfo.ipt_oppatbdht.enable = true;
  2748. grp_main.grp_bodyinfo.ipt_oppatsbp.enable = true;
  2749. grp_main.grp_bodyinfo.ipt_oppatdbp.enable = true;
  2750. grp_main.inp_wardstartdt.enable = true;
  2751. grp_main.inp_wardstarttm.enable = true;
  2752. grp_main.bbt_wardstart.enable = true;
  2753. //병동 도착 일시 활성/비활성
  2754. grp_main.ipt_wardarrvdt.enable = true;
  2755. grp_main.ipt_wardarrvtm.enable = true;
  2756. grp_main.btn_wardarrv.enable = true;
  2757. grp_main.txt_oper.enable = false;
  2758. grp_main.inp_patarrvdt.enable = false;
  2759. grp_main.inp_patarrvtm.enable = false;
  2760. grp_main.bbt_patarrv.enable = false;
  2761. sBool1 = false;
  2762. } else {
  2763. if (sDutDSCFlag != "Y") {
  2764. grp_main.txt_nurg.enable = false;
  2765. grp_main.btn_pcainput.enable = false;
  2766. grp_main.grp_bodyinfo.ipt_oppatbdtp.enable = false;
  2767. grp_main.grp_bodyinfo.ipt_oppatbdwt.enable = false;
  2768. grp_main.grp_bodyinfo.ipt_oppatbdht.enable = false;
  2769. grp_main.grp_bodyinfo.ipt_oppatsbp.enable = false;
  2770. grp_main.grp_bodyinfo.ipt_oppatdbp.enable = false;
  2771. grp_main.inp_wardstartdt.enable = false;
  2772. grp_main.inp_wardstarttm.enable = false;
  2773. grp_main.bbt_wardstart.enable = false;
  2774. }
  2775. //병동 도착 일시 활성/비활성
  2776. grp_main.ipt_wardarrvdt.enable = true;
  2777. grp_main.ipt_wardarrvtm.enable = true;
  2778. grp_main.btn_wardarrv.enable = true;
  2779. grp_main.txt_oper.enable = true;
  2780. grp_main.inp_patarrvdt.enable = true;
  2781. grp_main.inp_patarrvtm.enable = true;
  2782. grp_main.bbt_patarrv.enable = true;
  2783. sBool1 = true;
  2784. }
  2785. } else {
  2786. grp_main.txt_nurg.enable = false;
  2787. grp_main.btn_pcainput.enable = false;
  2788. grp_main.grp_bodyinfo.ipt_oppatbdtp.enable = false;
  2789. grp_main.grp_bodyinfo.ipt_oppatbdwt.enable = false;
  2790. grp_main.grp_bodyinfo.ipt_oppatbdht.enable = false;
  2791. grp_main.grp_bodyinfo.ipt_oppatsbp.enable = false;
  2792. grp_main.grp_bodyinfo.ipt_oppatdbp.enable = false;
  2793. grp_main.inp_wardstartdt.enable = false;
  2794. grp_main.inp_wardstarttm.enable = false;
  2795. //병동 도착 일시 활성/비활성
  2796. grp_main.ipt_wardarrvdt.enable = false;
  2797. grp_main.ipt_wardarrvtm.enable = false;
  2798. grp_main.btn_wardarrv.enable = false;
  2799. grp_main.bbt_wardstart.enable = false;
  2800. grp_main.txt_oper.enable = true;
  2801. grp_main.inp_patarrvdt.enable = true;
  2802. grp_main.inp_patarrvtm.enable = true;
  2803. grp_main.bbt_patarrv.enable = true;
  2804. sBool1 = true;
  2805. }
  2806. }
  2807. if( ds_init.getColumn(0, "staycls") == "1" ){
  2808. if( utlf_isNull(xPath_MnphccsrList.getColumn(0, "staycnfmpat")) ){
  2809. xPath_MnphccsrList.setColumn(0, "staycnfmpat", "1");
  2810. xPath_MnphccsrList.setColumn(0, "staycnfmid", "2");
  2811. xPath_MnphccsrList.setColumn(0, "staycnfmdr", "3");
  2812. xPath_MnphccsrList.setColumn(0, "staycnfmpart", "4");
  2813. xPath_MnphccsrList.setColumn(0, "staycnfmpartdisp", "Y");
  2814. }
  2815. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "displaytype", "checkbox");
  2816. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "edittype", "checkbox");
  2817. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "expr", "0");
  2818. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "text", "");
  2819. sBool2 = false;
  2820. fControlAttribute(grp_main.grd_ItemCheckList);
  2821. if( utlf_isNull(xPath_MnphccsrList.getColumn(0, "staychfrecdttm")) ){
  2822. grp_main.btn_rgst_tmp.enable = true;
  2823. } else {
  2824. grp_main.btn_rgst_tmp.enable = false;
  2825. }
  2826. } else {
  2827. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "displaytype", "normal");
  2828. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "edittype", "none");
  2829. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "expr", "");
  2830. grp_main.grd_ItemCheckList.setCellProperty("Head", 11, "text", "");
  2831. sBool2 = true;
  2832. fControlAttribute(grp_main.grd_ItemCheckList);
  2833. }
  2834. //
  2835. if( ds_init.getColumn(0, "staycls") == "2" ){
  2836. if( utlf_isNull(xPath_MnphccsrList.getColumn(0, "opercnfmpat")) ){
  2837. xPath_MnphccsrList.setColumn(0, "opercnfmpat", "1");
  2838. xPath_MnphccsrList.setColumn(0, "opercnfmid", "2");
  2839. xPath_MnphccsrList.setColumn(0, "opercnfmdr", "3");
  2840. xPath_MnphccsrList.setColumn(0, "opercnfmpart", "4");
  2841. xPath_MnphccsrList.setColumn(0, "opercnfmpartdisp", "Y");
  2842. }
  2843. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "displaytype", "checkbox");
  2844. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "edittype", "checkbox");
  2845. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "expr", "0");
  2846. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "text", "");
  2847. sBool3 = false;
  2848. fControlAttribute(grp_main.grd_ItemCheckList);
  2849. if( utlf_isNull(xPath_MnphccsrList.getColumn(0, "operchfrecdttm")) ){
  2850. grp_main.btn_rgst_tmp.enable = true;
  2851. } else {
  2852. grp_main.btn_rgst_tmp.enable = false;
  2853. }
  2854. } else {
  2855. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "displaytype", "normal");
  2856. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "edittype", "none");
  2857. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "expr", "");
  2858. grp_main.grd_ItemCheckList.setCellProperty("Head", 15, "text", "");
  2859. sBool3 = true;
  2860. fControlAttribute(grp_main.grd_ItemCheckList);
  2861. }
  2862. grp_main.ipt_wardarrvdt.enable = false;
  2863. grp_main.ipt_wardarrvtm.enable = false;
  2864. grp_main.btn_wardarrv.enable = false;
  2865. // 20190515, 김현석, 확인사항 조정
  2866. // if (ds_init.getColumn(0, "staycls") == "2")
  2867. // grp_main.Button00.visible = true;
  2868. // else
  2869. // grp_main.Button00.visible = false;
  2870. }
  2871. var rStyleData = "473*470#0*943";
  2872. var rStyle = rStyleData.split("#");
  2873. //
  2874. var tColWidth = "52,159,29,28,29,27,28,43,54,0#52,477,50,50,50,50,50,50,94,0";
  2875. var tWidth = tColWidth.split("#");
  2876. // --------------------------------------------------
  2877. // Grid 속성변경 처리하는 함수
  2878. // --------------------------------------------------
  2879. function fSetAttribute(pIdx) {
  2880. var Idx = pIdx;
  2881. //if (grd_preopprcplist.attribute("left") == "490px" || grd_preopprcplist.attribute("left") == "490") {
  2882. // Idx = 0;
  2883. //}
  2884. var sStyle = rStyle[Idx].split("*");
  2885. //alert(grd_preopprcplist.attribute("left")+"=="+sStyle[0]+"=="+sStyle[1]);
  2886. grd_preopprcplist.attribute("left" ) = sStyle[0];
  2887. grd_preopprcplist.attribute("width" ) = sStyle[1];
  2888. var cIdx = 1;
  2889. var sWidth = tWidth[Idx].split(",");
  2890. for (i = 0; i < sWidth.length; i++) {
  2891. grd_preopprcplist.colwidth(i) = sWidth[i];
  2892. cIdx++;
  2893. }
  2894. grd_preopprcplist.refresh();
  2895. }
  2896. // ※ 전자서명 호출
  2897. //20180719 이돈희 : 수술전처치 및 간호상태 확인 전체 삭제 파라미터 추가
  2898. function fSignProcessSet(strFlag) {
  2899. //2009-02-25 YCD 인증서 호출 설정 주석 처리
  2900. //Sign.certreload = true;
  2901. var strStatus = "";
  2902. if(strFlag == "D"){
  2903. strStatus = "d";
  2904. }
  2905. var sInoutflag = xPath_MnphccsrList.getColumn(0, "inoutflag"); // 07 외래입원구분
  2906. var sOpPatflagcd = ds_main_operation_list.getColumn(0, "oppatflagcd"); // 11 환자구분
  2907. if( sInoutflag != sOpPatflagcd && !utlf_isNull(sOpPatflagcd) ){
  2908. //기록지데이터랑 스케쥴 데이터랑 틀릴경우 스케쥴데이터로 처리 2010.03.10 K. J. M
  2909. //수술준비확인 기록이후 외래에서 입원으로 스케쥴이 변경된경우 점검리스트 처방 콤보가 제대로 끌려오지 않음
  2910. sInoutflag = sOpPatflagcd;
  2911. }
  2912. if( Sign.signprocess() == true ){ // ▶ 전자인증 관련 환자 인적 정보를 보내줌.
  2913. var wSigninfo = "pid" +"▦" // 등록번호
  2914. + "orddd" +"▦" // 입원일자(입원,응급)/진료일자(외래)
  2915. + "cretno" +"▦" // 생성번호
  2916. + "status" +"▦" // 기록 삭제시 : d
  2917. + "signno" +"▦" // 서명번호(인증번호)
  2918. + "recdd" +"▦" // 실제 기록이 이루어진 기록일자
  2919. + "rectm" +"▦" // 실제 기록이 이루어진 기록시간
  2920. + "recsaveflag" +"▦" // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  2921. + "signflag" +"▦" // 서명자료구분(01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  2922. + "signgenrflag" +"▦" // 외래/입원구분(코드정의서 M0010 참조)
  2923. + "formcd" +"▦" // 각 기록지별 서식코드 0000002473 N57 간호 수술간호기록
  2924. + "orddeptcd" +"▦" // 진료부서코드
  2925. + "orddrid" +"▦" // 진료의사ID (집도의)
  2926. + "signbfcnts" +"▦" // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  2927. + "signaftcnts" +"▩" // ▶ 공인인증 처리후 데이터
  2928. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "pid"))+"▦" // 등록번호
  2929. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "orddd"))+"▦" // 입원일자(입원,응급)/진료일자(외래)
  2930. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "cretno"))+"▦" // 생성번호
  2931. + strStatus +"▦" // 기록 삭제시 : d
  2932. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "certno"))+"▦" // 서명번호(인증번호)
  2933. + utlf_getCurrentDate() +"▦" // 실제 기록이 이루어진 기록일자
  2934. + utlf_getCurrentTime() +"▦" // 실제 기록이 이루어진 기록시간
  2935. + "N" +"▦" // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  2936. + "02" +"▦" // 서명자료구분(01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  2937. + utlf_transNullToEmpty(sInoutflag) +"▦" // 외래/입원구분(코드정의서 M0010 참조)
  2938. + "0000002431" +"▦" // 각 기록지별 서식코드 0000002473 N57 간호 수술간호기록
  2939. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "orddeptcd"))+"▦" // 진료부서코드
  2940. + utlf_transNullToEmpty(xPath_MnphccsrList.getColumn(0, "perfdrid"))+"▦" // 진료의사ID (집도의)
  2941. + Sign.signedInfos[1] +"▦" // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  2942. + Sign.signedInfos[2] +"▩"; // ▶ 공인인증 처리후 데이터
  2943. dsf_setCSVToDs("ds_send_signinfo", wSigninfo);
  2944. }else{
  2945. return false;
  2946. }
  2947. }
  2948. // ※ 인증데이터 생성함수 만들기
  2949. function fMake_SignData(){
  2950. //2008-08-29 오전 11:18:34 사용자 요구사항
  2951. //간호상태 확인 사항이 예인 경우에만 통합기록조회에서 보여지도록 수정중... 완료된 상태 아님. 주석처리
  2952. // signdata 생성 장소 : /root/temp/SignData/SignInfo/MnphccsrList/curenurgstatspec/ItemCheckLists
  2953. // check 항목 : /root/temp/SignData/SignInfo/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList/
  2954. //1. 원본 간호상태 확인 사항을 복사한다.
  2955. ds_Hide_org_statspec_ItemCheckList.copyData(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList);
  2956. //2.
  2957. var iCurrentStatCnt = ds_Hide_org_statspec_ItemCheckList.rowcount;
  2958. var sTempStateCopyNodePath = ds_Hide_signstatspec_ItemCheckList;
  2959. var sPyesFlag = "";
  2960. var sSyesFlag = "";
  2961. var sOyesFlag = "";
  2962. //model.removenode(sTempStateCopyNodePath);
  2963. if(iCurrentStatCnt > 0){
  2964. ds_Hide_signstatspec_ItemCheckList.clearData();
  2965. for( var i=0 ; i<iCurrentStatCnt ; i++ ){
  2966. sPyesFlag = ds_Hide_org_statspec_ItemCheckList.getColumn(i, "Pyes");
  2967. sSyesFlag = ds_Hide_org_statspec_ItemCheckList.getColumn(i, "Syes");
  2968. sOyesFlag = ds_Hide_org_statspec_ItemCheckList.getColumn(i, "Oyes");
  2969. // 20191202, 김현석, 체크리스트 전체 저장될 수 있도록 함, 요청번호:20191128008
  2970. //if( sPyesFlag == "1" || sSyesFlag == "1"|| sOyesFlag == "1" ){
  2971. if( true ){
  2972. var nRow = ds_Hide_signstatspec_ItemCheckList.addRow();
  2973. ds_Hide_signstatspec_ItemCheckList.copyRow(nRow, ds_Hide_org_statspec_ItemCheckList, i);
  2974. }
  2975. }
  2976. }
  2977. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.copyData(sTempStateCopyNodePath);
  2978. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("opchkyn")) ){
  2979. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("opchkyn", "string");
  2980. }
  2981. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("onochkyn")) ){
  2982. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("onochkyn", "string");
  2983. }
  2984. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("Snothing")) ){
  2985. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("Snothing", "string");
  2986. }
  2987. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("Onothing")) ){
  2988. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("Onothing", "string");
  2989. }
  2990. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colEdit10")) ){
  2991. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colEdit10", "string");
  2992. }
  2993. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colEdit12")) ){
  2994. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colEdit12", "string");
  2995. }
  2996. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBack10")) ){
  2997. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBack10", "string");
  2998. }
  2999. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBack12")) ){
  3000. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBack12", "string");
  3001. }
  3002. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBor10")) ){
  3003. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBor10", "string");
  3004. }
  3005. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBor12")) ){
  3006. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBor12", "string");
  3007. }
  3008. dsf_setDefaultVal(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList, "all");
  3009. var pParam = new Object();
  3010. pParam.cDataYN = "N";
  3011. // 13 감염정보
  3012. if( xPath_Infection.rowcount > 0 &&
  3013. (xPath_Infection.rowcount != 1 ||
  3014. !utlf_isNull(xPath_Infection.getColumn(0, "genrdd")) || !utlf_isNull(xPath_Infection.getColumn(0, "testcd")) ||
  3015. !utlf_isNull(xPath_Infection.getColumn(0, "tclsscrnnm")) || !utlf_isNull(xPath_Infection.getColumn(0, "checkrsult"))) ){
  3016. var ds_Infection_XML = "<InfectionLists><InfectionList><genrdd/><testcd/><tclsscrnnm/><checkrsult/></InfectionList></InfectionLists>";
  3017. var sParamObjArr = [{ds: "ds_main_MnphccsrData_MnphccsrList_infectspec_InfectionLists_InfectionList", path:"InfectionLists/InfectionList", filter: ""}];
  3018. var ds_Infection_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_Infection_XML,pParam);
  3019. xPath_MnphccsrList.setColumn(0, "infectspec", ds_Infection_XML_RSLT);//xPath_Infection.saveXML();
  3020. }else{
  3021. xPath_MnphccsrList.setColumn(0, "infectspec", "");
  3022. }
  3023. // 14 알러지정보
  3024. if( xPath_Allergy.rowcount > 0 &&
  3025. (xPath_Allergy.rowcount != 1 ||
  3026. !utlf_isNull(xPath_Allergy.getColumn(0, "GENRDD")) || !utlf_isNull(xPath_Allergy.getColumn(0, "TYPE")) ||
  3027. !utlf_isNull(xPath_Allergy.getColumn(0, "DRUGNM")) || !utlf_isNull(xPath_Allergy.getColumn(0, "TEXT")) ||
  3028. !utlf_isNull(xPath_Allergy.getColumn(0, "DRUGCD"))) ){
  3029. var ds_Allergy_XML = "<AllergyLists><AllergyList><genrdd/><type/><drugnm/><text/><drugcd/></AllergyList></AllergyLists>";
  3030. var sParamObjArr = [{ds: "ds_main_MnphccsrData_MnphccsrList_allrgspec_AllergyLists_AllergyList", path:"AllergyLists/AllergyList", filter: ""}];
  3031. var ds_Allergy_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_Allergy_XML,pParam);
  3032. xPath_MnphccsrList.setColumn(0, "allrgspec", ds_Allergy_XML_RSLT);//xPath_Allergy.saveXML();
  3033. }else{
  3034. xPath_MnphccsrList.setColumn(0, "allrgspec", "");
  3035. }
  3036. // 15 보낸물품및약품정보
  3037. if( xPath_Product.rowcount > 0 &&
  3038. (xPath_Product.rowcount != 1 ||
  3039. !utlf_isNull(xPath_Product.getColumn(0, "mode")) || !utlf_isNull(xPath_Product.getColumn(0, "SubInfo"))) ){
  3040. var ds_Product_XML = "<ProductLists><ProductList><mode/><SubInfo/></ProductList></ProductLists>";
  3041. var sParamObjArr = [{ds: "ds_main_MnphccsrData_MnphccsrList_sendgoodandmedspec_ProductLists_ProductList", path:"ProductLists/ProductList", filter: ""}];
  3042. var ds_Product_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_Product_XML,pParam);
  3043. xPath_MnphccsrList.setColumn(0, "sendgoodandmedspec", ds_Product_XML_RSLT);//xPath_Product.saveXML();
  3044. }else{
  3045. xPath_MnphccsrList.setColumn(0, "sendgoodandmedspec", "");
  3046. }
  3047. xPath_ItemCheck.enableevent = false;
  3048. xPath_ItemCheck.updatecontrol = false;
  3049. for( var i=0 ; i<xPath_ItemCheck.rowcount ; i++ ){
  3050. if( xPath_ItemCheck.getColumn(i, "Pyes") == "1" ){
  3051. xPath_ItemCheck.setColumn(i, "Pyes", "true");
  3052. }else{
  3053. xPath_ItemCheck.setColumn(i, "Pyes", "false");
  3054. }
  3055. if( xPath_ItemCheck.getColumn(i, "Pno") == "1" ){
  3056. xPath_ItemCheck.setColumn(i, "Pno", "true");
  3057. }else{
  3058. xPath_ItemCheck.setColumn(i, "Pno", "false");
  3059. }
  3060. if( xPath_ItemCheck.getColumn(i, "Pnothing") == "1" ){
  3061. xPath_ItemCheck.setColumn(i, "Pnothing", "true");
  3062. }else{
  3063. xPath_ItemCheck.setColumn(i, "Pnothing", "false");
  3064. }
  3065. if( xPath_ItemCheck.getColumn(i, "Syes") == "1" ){
  3066. xPath_ItemCheck.setColumn(i, "Syes", "true");
  3067. }else{
  3068. xPath_ItemCheck.setColumn(i, "Syes", "false");
  3069. }
  3070. if( xPath_ItemCheck.getColumn(i, "Sno") == "1" ){
  3071. xPath_ItemCheck.setColumn(i, "Sno", "true");
  3072. }else{
  3073. xPath_ItemCheck.setColumn(i, "Sno", "false");
  3074. }
  3075. if( xPath_ItemCheck.getColumn(i, "Snothing") == "1" ){
  3076. xPath_ItemCheck.setColumn(i, "Snothing", "true");
  3077. }else{
  3078. xPath_ItemCheck.setColumn(i, "Snothing", "false");
  3079. }
  3080. if( xPath_ItemCheck.getColumn(i, "Oyes") == "1" ){
  3081. xPath_ItemCheck.setColumn(i, "Oyes", "true");
  3082. }else{
  3083. xPath_ItemCheck.setColumn(i, "Oyes", "false");
  3084. }
  3085. if( xPath_ItemCheck.getColumn(i, "Ono") == "1" ){
  3086. xPath_ItemCheck.setColumn(i, "Ono", "true");
  3087. }else{
  3088. xPath_ItemCheck.setColumn(i, "Ono", "false");
  3089. }
  3090. if( xPath_ItemCheck.getColumn(i, "Onothing") == "1" ){
  3091. xPath_ItemCheck.setColumn(i, "Onothing", "true");
  3092. }else{
  3093. xPath_ItemCheck.setColumn(i, "Onothing", "false");
  3094. }
  3095. }
  3096. // 16 처치및간호상태정보
  3097. if( xPath_ItemCheck.rowcount > 0 &&
  3098. (xPath_ItemCheck.rowcount != 1 ||
  3099. !utlf_isNull(xPath_ItemCheck.getColumn(0, "ItemInfoBk")) || !utlf_isNull(xPath_ItemCheck.getColumn(0, "ItemInfo")) ||
  3100. !utlf_isNull(xPath_ItemCheck.getColumn(0, "Pyes")) || !utlf_isNull(xPath_ItemCheck.getColumn(0, "Pno")) ||
  3101. !utlf_isNull(xPath_ItemCheck.getColumn(0, "Pnothing")) || !utlf_isNull(xPath_ItemCheck.getColumn(0, "Syes")) ||
  3102. !utlf_isNull(xPath_ItemCheck.getColumn(0, "Sno")) || !utlf_isNull(xPath_ItemCheck.getColumn(0, "Snothing")) ||
  3103. !utlf_isNull(xPath_ItemCheck.getColumn(0, "Oyes")) || !utlf_isNull(xPath_ItemCheck.getColumn(0, "Ono")) ||
  3104. !utlf_isNull(xPath_ItemCheck.getColumn(0, "Onothing")) || !utlf_isNull(xPath_ItemCheck.getColumn(0, "ItemCode")) ||
  3105. !utlf_isNull(xPath_ItemCheck.getColumn(0, "referenceseq")) || !utlf_isNull(xPath_ItemCheck.getColumn(0, "ItemState1")) ||
  3106. !utlf_isNull(xPath_ItemCheck.getColumn(0, "ItemState2")) || !utlf_isNull(xPath_ItemCheck.getColumn(0, "ItemState3")) ||
  3107. !utlf_isNull(xPath_ItemCheck.getColumn(0, "opchkyn")) || !utlf_isNull(xPath_ItemCheck.getColumn(0, "onochkyn"))) ){
  3108. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.copyData(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList);
  3109. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.enableevent = false;
  3110. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.updatecontrol = false;
  3111. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.deleteColumn("colEdit10");
  3112. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.deleteColumn("colEdit12");
  3113. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.deleteColumn("colConBack10");
  3114. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.deleteColumn("colConBack12");
  3115. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.deleteColumn("colConBor10");
  3116. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.deleteColumn("colConBor12");
  3117. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.updatecontrol = true;
  3118. ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.enableevent = true;
  3119. var ds_ItemCheck_XML = "<ItemCheckLists><ItemCheckList><ItemInfoBk/><ItemInfo/><Pyes/><Pno/><Pnothing/><Syes/><Sno/><Snothing/><Oyes/><Ono/><Onothing/><ItemCode/><referenceseq/><ItemState1/><ItemState2/><ItemState3/><opchkyn/><onochkyn/></ItemCheckList></ItemCheckLists>";
  3120. var sParamObjArr = [{ds: "ds_Temp_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList", path:"ItemCheckLists/ItemCheckList", filter: ""}];
  3121. var ds_ItemCheck_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_ItemCheck_XML,pParam);
  3122. xPath_MnphccsrList.setColumn(0, "curenurgstatspec", ds_ItemCheck_XML_RSLT);//xPath_ItemCheck.saveXML();
  3123. }else{
  3124. xPath_MnphccsrList.setColumn(0, "curenurgstatspec", "");
  3125. }
  3126. for( var i=0 ; i<xPath_ItemCheck.rowcount ; i++ ){
  3127. if( xPath_ItemCheck.getColumn(i, "Pyes") == "true" ){
  3128. xPath_ItemCheck.setColumn(i, "Pyes", "1");
  3129. }else{
  3130. xPath_ItemCheck.setColumn(i, "Pyes", "0");
  3131. }
  3132. if( xPath_ItemCheck.getColumn(i, "Pno") == "true" ){
  3133. xPath_ItemCheck.setColumn(i, "Pno", "1");
  3134. }else{
  3135. xPath_ItemCheck.setColumn(i, "Pno", "0");
  3136. }
  3137. if( xPath_ItemCheck.getColumn(i, "Pnothing") == "true" ){
  3138. xPath_ItemCheck.setColumn(i, "Pnothing", "1");
  3139. }else{
  3140. xPath_ItemCheck.setColumn(i, "Pnothing", "0");
  3141. }
  3142. if( xPath_ItemCheck.getColumn(i, "Syes") == "true" ){
  3143. xPath_ItemCheck.setColumn(i, "Syes", "1");
  3144. }else{
  3145. xPath_ItemCheck.setColumn(i, "Syes", "0");
  3146. }
  3147. if( xPath_ItemCheck.getColumn(i, "Sno") == "true" ){
  3148. xPath_ItemCheck.setColumn(i, "Sno", "1");
  3149. }else{
  3150. xPath_ItemCheck.setColumn(i, "Sno", "0");
  3151. }
  3152. if( xPath_ItemCheck.getColumn(i, "Snothing") == "true" ){
  3153. xPath_ItemCheck.setColumn(i, "Snothing", "1");
  3154. }else{
  3155. xPath_ItemCheck.setColumn(i, "Snothing", "0");
  3156. }
  3157. if( xPath_ItemCheck.getColumn(i, "Oyes") == "true" ){
  3158. xPath_ItemCheck.setColumn(i, "Oyes", "1");
  3159. }else{
  3160. xPath_ItemCheck.setColumn(i, "Oyes", "0");
  3161. }
  3162. if( xPath_ItemCheck.getColumn(i, "Ono") == "true" ){
  3163. xPath_ItemCheck.setColumn(i, "Ono", "1");
  3164. }else{
  3165. xPath_ItemCheck.setColumn(i, "Ono", "0");
  3166. }
  3167. if( xPath_ItemCheck.getColumn(i, "Onothing") == "true" ){
  3168. xPath_ItemCheck.setColumn(i, "Onothing", "1");
  3169. }else{
  3170. xPath_ItemCheck.setColumn(i, "Onothing", "0");
  3171. }
  3172. }
  3173. xPath_ItemCheck.updatecontrol = true;
  3174. xPath_ItemCheck.enableevent = true;
  3175. if( ds_init_XmlFormat_testinfospec_CheckupLists_CheckupList.rowcount > 0 &&
  3176. (ds_init_XmlFormat_testinfospec_CheckupLists_CheckupList.rowcount != 1 ||
  3177. !utlf_isNull(ds_init_XmlFormat_testinfospec_CheckupLists_CheckupList.getColumn(0, "checkdttm")) || !utlf_isNull(ds_init_XmlFormat_testinfospec_CheckupLists_CheckupList.getColumn(0, "checknm")) ||
  3178. !utlf_isNull(ds_init_XmlFormat_testinfospec_CheckupLists_CheckupList.getColumn(0, "checkrsult")) || !utlf_isNull(ds_init_XmlFormat_testinfospec_CheckupLists_CheckupList.getColumn(0, "checkhl")) ||
  3179. !utlf_isNull(ds_init_XmlFormat_testinfospec_CheckupLists_CheckupList.getColumn(0, "checkref")) || !utlf_isNull(ds_init_XmlFormat_testinfospec_CheckupLists_CheckupList.getColumn(0, "checkinfo")) ||
  3180. !utlf_isNull(ds_init_XmlFormat_testinfospec_CheckupLists_CheckupList.getColumn(0, "checkcode"))) ){
  3181. var ds_testinfospec_XML = "<testinfospec><CheckupLists><CheckupList><checkdttm/><checknm/><checkrsult/><checkhl/><checkref/><checkinfo/><checkcode/></CheckupList></CheckupLists></testinfospec>";
  3182. var sParamObjArr = [{ds: "ds_init_XmlFormat_testinfospec_CheckupLists_CheckupList", path:"testinfospec/CheckupLists/CheckupList", filter: ""}];
  3183. var ds_testinfospec_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_testinfospec_XML,pParam);
  3184. xPath_MnphccsrList.setColumn(0, "testinfospec", ds_testinfospec_XML_RSLT);//xPath_Fmt_testinfospec.saveXML(); // 17 검사정보내역
  3185. }else{
  3186. xPath_MnphccsrList.setColumn(0, "testinfospec", "");
  3187. }
  3188. if( ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.rowcount > 0 &&
  3189. (ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.rowcount != 1 ||
  3190. !utlf_isNull(ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(0, "chkyn")) || !utlf_isNull(ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(0, "cdnm")) ||
  3191. !utlf_isNull(ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(0, "tel")) || !utlf_isNull(ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(0, "mpphone")) ||
  3192. !utlf_isNull(ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(0, "rela")) || !utlf_isNull(ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(0, "hngnm")) ||
  3193. !utlf_isNull(ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(0, "addr")) || !utlf_isNull(ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(0, "detladdr")) ||
  3194. !utlf_isNull(ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(0, "indd")) || !utlf_isNull(ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(0, "instcd")) ||
  3195. !utlf_isNull(ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(0, "pid")) || !utlf_isNull(ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(0, "recflag")) ||
  3196. !utlf_isNull(ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.getColumn(0, "remfact"))) ){
  3197. var ds_MnwmpfifList_XML = "<famylist><MnwmpfifList><chkyn/><cdnm/><tel/><mpphone/><rela/><hngnm/><addr/><detladdr/><indd/><instcd/><pid/><recflag/><remfact/></MnwmpfifList></famylist>";
  3198. var sParamObjArr = [{ds: "ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList", path:"famylist/MnwmpfifList", filter: ""}];
  3199. var ds_MnwmpfifList_XML_RSLT= lf_convertDsToXml(sParamObjArr,ds_MnwmpfifList_XML,pParam);
  3200. xPath_MnphccsrList.setColumn(0, "famyinfo", ds_MnwmpfifList_XML_RSLT);//ds_main_MnphccsrData_MnphccsrList_famyinfo_famylist_MnwmpfifList.saveXML(); // 64 가족정보
  3201. }else{
  3202. xPath_MnphccsrList.setColumn(0, "famyinfo", "");
  3203. }
  3204. // ▶ 인스턴스 copy 후에 콤보나 체크박스 같은 경우 코드값은 명칭으로 변경해야 함.
  3205. // fSetSignData();
  3206. // Ex)
  3207. // var xRecinfoPath = Sign.XPATH_SIGNINFO+"/recinfo/recinfolists";
  3208. // // 투석장?
  3209. // var sDialPlacCd = model.getValue(xRecinfoPath+"/dialplaccd";
  3210. // if (sDialPlacCd != ""){
  3211. // model.setValue(xRecinfoPath+"/dialplaccd", model.getValue("/root/init/M0129list/M0129[cdid='"+sDialPlacCd+"']/cdnm"));
  3212. // }
  3213. // ▶ 기록 관련 인스턴스 전체를 copy, 인증에 저장할 모든 Instance AddNode한다.
  3214. // for( var i=0 ; i<ds_main_MnphccsrData_MnphccsrList.rowcount ; i++ ){
  3215. // ds_main_MnphccsrData_MnphccsrList.setColumn(i, "nurgpartmemo", "<![CDATA["+ds_main_MnphccsrData_MnphccsrList.getColumn(i, "nurgpartmemo")+"]]]]><![CDATA[>");
  3216. // }
  3217. //
  3218. dsf_setDefaultVal(ds_main_MnphccsrData_MnphccsrList, "all");
  3219. dsf_setDefaultVal(ds_main_MnphccsrData_specimenlistnew, "all");
  3220. var arrSignPath = new Array();
  3221. arrSignPath[0] = "/MnphccsrList";
  3222. arrSignPath[1] = "/specimenlistnew";
  3223. var arrSignDs = new Array();
  3224. arrSignDs[0] = ds_main_MnphccsrData_MnphccsrList.saveXML();
  3225. arrSignDs[1] = ds_main_MnphccsrData_specimenlistnew.saveXML();
  3226. Sign.addnodeset(arrSignPath, arrSignDs, true); //CData 사용여부(false:미사용, 그외:사용)
  3227. //select * from emr.mrihebec where signno='1600000073336614';
  3228. // for( var i=0 ; i<ds_main_MnphccsrData_MnphccsrList.rowcount ; i++ ){
  3229. // ds_main_MnphccsrData_MnphccsrList.setColumn(i, "nurgpartmemo", utlf_transNullToEmpty(ds_main_MnphccsrData_MnphccsrList.getColumn(i, "nurgpartmemo")).replace("<![CDATA[", "").replace("]]]]><![CDATA[>", ""));
  3230. // }
  3231. //2008-09-09 오전 10:18:07 taebum 기존에 기록된 내역을 copy한다.
  3232. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.copyData(ds_Hide_org_statspec_ItemCheckList);
  3233. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("opchkyn")) ){
  3234. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("opchkyn", "string");
  3235. }
  3236. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("onochkyn")) ){
  3237. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("onochkyn", "string");
  3238. }
  3239. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("Snothing")) ){
  3240. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("Snothing", "string");
  3241. }
  3242. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("Onothing")) ){
  3243. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("Onothing", "string");
  3244. }
  3245. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colEdit10")) ){
  3246. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colEdit10", "string");
  3247. }
  3248. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colEdit12")) ){
  3249. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colEdit12", "string");
  3250. }
  3251. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBack10")) ){
  3252. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBack10", "string");
  3253. }
  3254. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBack12")) ){
  3255. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBack12", "string");
  3256. }
  3257. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBor10")) ){
  3258. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBor10", "string");
  3259. }
  3260. if( utlf_isNull(ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.getColumnInfo("colConBor12")) ){
  3261. ds_main_MnphccsrData_MnphccsrList_curenurgstatspec_ItemCheckLists_ItemCheckList.addColumn("colConBor12", "string");
  3262. }
  3263. }
  3264. /**
  3265. * 환자 도착일시 값 변경 시 이벤트
  3266. *
  3267. */
  3268. function fValueChangedPatArrOpRoom(){
  3269. var sArriTime = model.getValue("/root/main/MnphccsrData/MnphccsrList/patarrvtm");
  3270. //시간에 입력된 자릿수가 4이상일 경우 바코드에서 넘어온 데이터 이므로 현재 시/분을 넣는다.
  3271. if(sArriTime.length != null && sArriTime.length > 4){
  3272. //alert("barcode reading 구현 부분입니다.");
  3273. //********************************************************************
  3274. //환자 정보 꼭 확인 해야하는 로직 추가
  3275. //********************************************************************
  3276. sArriTime = getCurrentTime().substr(0, 4);
  3277. model.setValue("/root/main/MnphccsrData/MnphccsrList/patarrvtm", sArriTime);
  3278. inp_patarrvtm.refresh();
  3279. }
  3280. var sSmsYn = model.getValue("/root/main/MnphccsrData/MnphccsrList/smsagreeyn");
  3281. var sPatarrisndsmsid = model.getValue("/root/main/MnphccsrData/MnphccsrList/patarrisndsmsid");
  3282. if(sArriTime != "" && sArriTime != null && sArriTime != "undefined" && sSmsYn == "Y" && sPatarrisndsmsid == ""){
  3283. if(fValidForSendMsg()){
  3284. //재확인
  3285. setParameter("SPMNP00305_message", "메세지 SMS 문자전송 동의 하시겠습니까?");
  3286. setParameter("SPMNP00305_button1", "동 의");
  3287. setParameter("SPMNP00305_button2", "취 소");
  3288. setParameter("SPMNP00305_buttonFocus", "button2");
  3289. setParameter("SPMNP00305_capinfo", "대기실 입실저장 SMS전송");
  3290. modal("SPMNP00305", "", 300, 400, "SPMNP00305", "width:510px;height:130px;");
  3291. var sResult = getParameter("SPMNP00305_result");
  3292. //alert(sResult);
  3293. if (sResult != "true"){
  3294. return;
  3295. }
  3296. var sPatarrisndsmsid = model.getValue("/root/main/MnphccsrData/MnphccsrList/patarrisndsmsid");
  3297. if(sPatarrisndsmsid == "" || sPatarrisndsmsid == null || sPatarrisndsmsid == "undefinded"){
  3298. model.setValue("/root/init/sms/arrsmssendflag","Y");
  3299. }else{
  3300. model.setValue("/root/init/sms/arrsmssendflag","N");
  3301. }
  3302. //설정 후 인증저장 proccess를 그대로 이용한다고 함.
  3303. fSave("C");
  3304. }else{
  3305. return;
  3306. }
  3307. }else{
  3308. fSave("C");
  3309. }
  3310. }
  3311. /**
  3312. * SMS 전송시 연락처1 체크
  3313. *
  3314. */
  3315. function fValidForSendMsg(pFlag){
  3316. var sSmsTel = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "etctel1");
  3317. /*
  3318. if(sSmsTel.length != 10 && sSmsTel.length != 11){
  3319. messageBox("SMS 전송할 연락처는 10자리 또는 11자리 입니다.", "");
  3320. return false;
  3321. }
  3322. */
  3323. /*
  3324. if(sSmsTel.substr(0,2) != "01"){
  3325. messageBox("SMS 입력형식은 01XXXXXXXX 또는 01XXXXXXXXX 입니다.", "");
  3326. return false;
  3327. }
  3328. */
  3329. /*
  3330. if(sSmsTel == "" || sSmsTel == null || sSmsTel == "undefined"){
  3331. if(pFlag != true ){
  3332. messageBox("SMS 입력형식은 XXX-XXX-XXXX 또는 XXX-XXXX-XXXX 입니다.", "");
  3333. return false;
  3334. }
  3335. }else{
  3336. var sTelArr = sSmsTel.split("-");
  3337. if(sTelArr.length != 3){
  3338. messageBox("SMS 입력형식은 XXX-XXX-XXXX 또는 XXX-XXXX-XXXX 입니다.", "");
  3339. return false;
  3340. }
  3341. if(sTelArr[0] == null || sTelArr[0] == "" || sTelArr[0] == "undefined" || sTelArr[0].length != 3 || sTelArr[0].substr(0,2) != "01"){
  3342. if(isNaN(sTelArr[0]) == true){
  3343. messageBox("SMS 첫번째자리 입력형식은 숫자형이 아닙니다.", "");
  3344. return false;
  3345. }
  3346. messageBox("SMS 첫번째자리 입력형식은 01X 입니다.", "");
  3347. return false;
  3348. }else{
  3349. if(isNaN(sTelArr[0]) == true){ //9: 숫자 0 : 숫자아님
  3350. messageBox("SMS 첫번째자리 입력형식은 숫자형이 아닙니다.", "");
  3351. return false;
  3352. }
  3353. }
  3354. if(sTelArr[1] == null || sTelArr[1] == "" || sTelArr[1] == "undefined" || sTelArr[1].length < 3 || sTelArr[1].length > 4 ){
  3355. if(isNaN(sTelArr[1]) == true){
  3356. messageBox("SMS 두번째자리 입력형식은 숫자형이 아닙니다.", "");
  3357. return false;
  3358. }
  3359. messageBox("SMS 두번째 자리 입력형식은 XXX 또는 XXXX 입니다.", "");
  3360. return false;
  3361. }else{
  3362. if(isNaN(sTelArr[1]) == true){
  3363. messageBox("SMS 두번째자리 입력형식은 숫자형이 아닙니다.", "");
  3364. return false;
  3365. }
  3366. }
  3367. if(sTelArr[2] == null || sTelArr[2] == "" || sTelArr[2] == "undefined" || (sTelArr[2].length != 4) ){
  3368. if(isNaN(sTelArr[2]) == true){
  3369. messageBox("SMS 세번째자리 입력형식은 숫자형이 아닙니다.", "");
  3370. return false;
  3371. }
  3372. messageBox("SMS 세번째 자리 입력형식은 XXXX 입니다.", "");
  3373. return false;
  3374. }else{
  3375. if(isNaN(sTelArr[2]) == true){
  3376. messageBox("SMS 세번째자리 입력형식은 숫자형이 아닙니다.", "");
  3377. return false;
  3378. }
  3379. }
  3380. }
  3381. */
  3382. return true;
  3383. }
  3384. /**
  3385. * CheckBox를 check 선택했을 경우 이벤트
  3386. *
  3387. */
  3388. function fOnSelectCheckBox(pDsNm, pCell){
  3389. pDsNm.enableevent = false;
  3390. pDsNm.updatecontrol = false;
  3391. for (var iRow=0 ; iRow<pDsNm.rowcount ; iRow++ ){
  3392. if( grp_main.chk_stay.value == "1" ){ //환자확인 : 대기실 선택시
  3393. pDsNm.setColumn(iRow, "Sno", "0");
  3394. pDsNm.setColumn(iRow, "Snothing", "0");
  3395. pDsNm.setColumn(ITM002, "Syes", "0");
  3396. pDsNm.setColumn(ITM003, "Syes", "0");
  3397. pDsNm.setColumn(ITM022, "Syes", "0");
  3398. } else if( grp_main.chk_stay.value == "2" ){//환자확인 : 수술실 선택시
  3399. pDsNm.setColumn(iRow, "Ono", "0");
  3400. pDsNm.setColumn(iRow, "Onothing", "0");
  3401. pDsNm.setColumn(ITM002, "Oyes", "0");
  3402. pDsNm.setColumn(ITM003, "Oyes", "0");
  3403. pDsNm.setColumn(ITM022, "Oyes", "0");
  3404. } else if( pCell == 11 ){ //간호단위에 예 체크시
  3405. pDsNm.setColumn(iRow, "Pno", "0");
  3406. pDsNm.setColumn(iRow, "Pnothing", "0");
  3407. pDsNm.setColumn(ITM002, "Pyes", "0");
  3408. pDsNm.setColumn(ITM003, "Pyes", "0");
  3409. pDsNm.setColumn(ITM022, "Pyes", "0");
  3410. }else{
  3411. pDsNm.setColumn(iRow, "Pno", "0");
  3412. pDsNm.setColumn(iRow, "Pnothing", "0");
  3413. }
  3414. }
  3415. pDsNm.updatecontrol = true;
  3416. pDsNm.enableevent = true;
  3417. fControlAttribute(grp_main.grd_ItemCheckList);
  3418. }
  3419. /**
  3420. * CheckBox를 check 해제 선택했을 경우 이벤트
  3421. */
  3422. function fOnUnSelectCheckBox(pDsNm, pCell){
  3423. pDsNm.enableevent = false;
  3424. pDsNm.updatecontrol = false;
  3425. for( var iRow=0 ; iRow<pDsNm.rowcount ; iRow++ ){
  3426. if( grp_main.chk_stay.value == "1" ){
  3427. pDsNm.setColumn(iRow, "Syes", "0");
  3428. } else if( grp_main.chk_stay.value == "2" ){
  3429. pDsNm.setColumn(iRow, "Oyes", "0");
  3430. } else if( pCell == 11 ){
  3431. pDsNm.setColumn(iRow, "Pyes", "0");
  3432. } else {
  3433. // GridNm.valueMatrix(iRow ,GridNm.colRef("Pyes")) = "false";
  3434. }
  3435. }
  3436. pDsNm.updatecontrol = true;
  3437. pDsNm.enableevent = true;
  3438. fControlAttribute(grp_main.grd_ItemCheckList);
  3439. }
  3440. function fDscRecCopy() {
  3441. // //kjs 수정 시작
  3442. // var item3 = "";
  3443. // var item4 = "";
  3444. // var item5 = "";
  3445. //
  3446. // for (var i = 1; i <= grd_ItemCheckList.rows-2; i++) {
  3447. // item3 = model.getValue("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList[" + i + "]/Pyes");
  3448. // item4 = model.getValue("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList[" + i + "]/Pno");
  3449. // item5 = model.getValue("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList[" + i + "]/Pnothing");
  3450. //
  3451. // model.makeValue("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList[" + i + "]/Syes", item3);
  3452. // model.makeValue("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList[" + i + "]/Sno", item4);
  3453. // model.makeValue("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList[" + i + "]/Snothing", item5);
  3454. // }
  3455. // //grd_ItemCheckList.refresh();
  3456. // //fStayOperCheck();
  3457. // chk_stay.select(0);
  3458. }
  3459. /* ------------------------------------------------- */
  3460. /* ------End Of List ------------------------------- */
  3461. /* -------------------------------------------------- */
  3462. function fNrCpRecord() {
  3463. var cpPid = ds_main_paminfo_list.getColumn(0, "pid");
  3464. var cpIndd = ds_main_paminfo_list.getColumn(0, "indd");
  3465. var cpCretno = ds_main_paminfo_list.getColumn(0, "cretno");
  3466. var cpPatnm = ds_main_paminfo_list.getColumn(0, "hngnm2");
  3467. var cpRoom = ds_main_paminfo_list.getColumn(0, "roomcd");
  3468. var cpSexage = utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "sex")) + "/" + utlf_transNullToEmpty(ds_main_paminfo_list.getColumn(0, "age"));
  3469. var cpOrddeptcd = ds_main_paminfo_list.getColumn(0, "orddeptcd");
  3470. var cpMedispclid = ds_main_paminfo_list.getColumn(0, "medispclid");
  3471. var cpWardstartdt = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "wardstartdt");
  3472. var cpWardstarttm = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "wardstarttm");
  3473. var cpWardarrvdt = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "wardarrvdt");
  3474. var cpWardarrvtm = ds_main_MnphccsrData_MnphccsrList.getColumn(0, "wardarrvtm");
  3475. var cpSupcdid = "";
  3476. ds_send_recinfo.setColumn(0, "pid", cpPid);
  3477. ds_send_recinfo.setColumn(0, "indd", cpIndd);
  3478. ds_send_recinfo.setColumn(0, "cretno", cpCretno);
  3479. ds_send_recinfo.setColumn(0, "checkdate", utlf_getCurrentDate());
  3480. var oParam = {};
  3481. oParam.id = "TRMNR02903";
  3482. oParam.service = "carerecapp.NursingRecord";
  3483. oParam.method = "reqGetCpYn";
  3484. oParam.inds = "req=ds_send_recinfo";
  3485. oParam.outds = "ds_temp_cpinfo=cpinfo";
  3486. oParam.async = false;
  3487. oParam.callback = "cf_TRMNR02903";
  3488. tranf_submit(oParam);
  3489. //CP 대상 환자여부
  3490. if( arErrorCode.pop("TRMNR02903") > -1 ){
  3491. var cpCpyn = ds_temp_cpinfo.getColumn(0, "cpyn");
  3492. var cpCpgno = ds_temp_cpinfo.getColumn(0, "cpgno");
  3493. var cpRecType = "CP5";
  3494. var cpOrigincd = "";
  3495. if (cpCpyn == "Y" && cpCpgno != 0) {
  3496. //출발일시 기록이면 수술전 간호기록 _ CP3
  3497. //도착일시 기록이면 수술후 간호기록 _ CP4
  3498. if( utlf_isNull(cpWardarrvdt) || utlf_isNull(cpWardarrvtm) ){
  3499. cpRecType = "CP3";
  3500. } else{
  3501. cpRecType = "CP4";
  3502. }
  3503. //기록여부 확인
  3504. ds_temp_cpinfo.setColumn(0, "cdgrupid", cpRecType);
  3505. var oParam = {};
  3506. oParam.id = "TRMNW01107";
  3507. oParam.service = "wardcareapp.WardCareMngt";
  3508. oParam.method = "reqGetCpNrTermCode";
  3509. oParam.inds = "req=ds_temp_cpinfo";
  3510. oParam.outds = "ds_main_cpinfo_termcd=termcd";
  3511. oParam.async = false;
  3512. oParam.callback = "cf_TRMNW01107";
  3513. tranf_submit(oParam);
  3514. if( arErrorCode.pop("TRMNW01107") > -1 ){ //간호기록 코드 가지고 오기
  3515. cpOrigincd = ds_main_cpinfo_termcd.getColumn(0, "cdid");
  3516. cpSupcdid = ds_main_cpinfo_termcd.getColumn(0, "supcdid");
  3517. if( utlf_isNull(cpOrigincd) ){
  3518. } else {
  3519. ds_send_recinfo.setColumn(0, "origincd", cpOrigincd);
  3520. var oParam = {};
  3521. oParam.id = "TRMNR02902";
  3522. oParam.service = "carerecapp.NursingRecord";
  3523. oParam.method = "reqGetNrCpRecodeYn";
  3524. oParam.inds = "req=ds_send_recinfo";
  3525. oParam.outds = "ds_temp_recinfo=recinfo";
  3526. oParam.async = false;
  3527. oParam.callback = "cf_TRMNR02902";
  3528. tranf_submit(oParam);
  3529. if( arErrorCode.pop("TRMNR02902") > -1 ){
  3530. var recyn = ds_temp_recinfo.getColumn(0, "recyn");
  3531. if (recyn != "Y") {
  3532. var rtnval = "";
  3533. if (cpRecType == "CP3") {
  3534. rtnval = sysf_messageBox("CP 대상환자입니다. 해당 CP에 구성되어있는 [수술 전 간호기록]을 진행하시겠습니까?", "Q999");
  3535. } else {
  3536. rtnval = sysf_messageBox("CP 대상환자입니다. 해당 CP에 구성되어있는 [수술 후 간호기록]을 진행하시겠습니까?", "Q999");
  3537. }
  3538. if (rtnval == "6") {
  3539. //기록 화면으로 연결
  3540. frmf_setParameter("pid", cpPid);
  3541. frmf_setParameter("indd", cpIndd);
  3542. frmf_setParameter("cretno", cpCretno);
  3543. frmf_setParameter("patnm", cpPatnm);
  3544. frmf_setParameter("room", cpRoom);
  3545. frmf_setParameter("sexage", cpSexage);
  3546. frmf_setParameter("orddeptcd", cpOrddeptcd);
  3547. frmf_setParameter("medispclid", cpMedispclid);
  3548. frmf_setParameter("cdid", cpOrigincd);
  3549. frmf_setParameter("supcdid", cpSupcdid);
  3550. frmf_modal("SMMNR02900","SMMNR02900",null,"",1,0,0,"","","","","","M"); //yjh
  3551. }
  3552. }
  3553. }
  3554. }
  3555. }
  3556. }
  3557. }
  3558. }
  3559. function cf_TRMNR02903(sSvcId, nErrorCode, sErrorMsg) {
  3560. arErrorCode.push(sSvcId, nErrorCode);
  3561. }
  3562. function cf_TRMNW01107(sSvcId, nErrorCode, sErrorMsg) {
  3563. arErrorCode.push(sSvcId, nErrorCode);
  3564. }
  3565. function cf_TRMNR02902(sSvcId, nErrorCode, sErrorMsg) {
  3566. arErrorCode.push(sSvcId, nErrorCode);
  3567. }
  3568. // 20190404 김현석, 수술 전 간호 확인 항목 불러오기
  3569. function fGetBaseCheckList() {
  3570. dsf_createDs("ds_send_tmp");
  3571. dsf_makeValue(ds_send_tmp, "cdgrupid", "string", "S07");
  3572. dsf_makeValue(ds_send_tmp, "currentdate", "string", utlf_getCurrentDate());
  3573. dsf_createDs("xPath_Fmt_curenurgstatspec_tmp");
  3574. //trace(ds_init_XmlFormat_curenurgstatspec_ItemCheckLists_ItemCheckList.saveXML());
  3575. var oParam = {};
  3576. oParam.id = "TRMNP00215";
  3577. oParam.service = "opanstapp.OpAnstPatMngt";
  3578. oParam.method = "reqGetOpItemInfo";
  3579. oParam.inds = "req=ds_send_tmp";
  3580. oParam.outds = "xPath_Fmt_curenurgstatspec_tmp=ItemCheckList";
  3581. //oParam.outds = "ds_init_XmlFormat_curenurgstatspec_ItemCheckLists_ItemCheckList=ItemCheckList";
  3582. oParam.async = false;
  3583. //oParam.callback = "cf_TRMNP00215";
  3584. tranf_submit(oParam);
  3585. xPath_Fmt_curenurgstatspec.clearData();
  3586. xPath_curenurgstatspec.enableevent = false;
  3587. xPath_curenurgstatspec.updatecontrol = false;
  3588. for (var i = 0; i < xPath_Fmt_curenurgstatspec_tmp.rowcount; i++)
  3589. {
  3590. var rowindex = xPath_Fmt_curenurgstatspec.addRow();
  3591. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "ItemInfoBk" , xPath_Fmt_curenurgstatspec_tmp.getColumn(i, "iteminfobk"));
  3592. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "ItemInfo" , xPath_Fmt_curenurgstatspec_tmp.getColumn(i, "iteminfo"));
  3593. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "Pyes" , (xPath_Fmt_curenurgstatspec_tmp.getColumn(i, "pyes") == "true"? "1": "0"));
  3594. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "Pno" , (xPath_Fmt_curenurgstatspec_tmp.getColumn(i, "pno") == "true"? "1": "0"));
  3595. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "Pnothing" , "0" );
  3596. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "Syes" , (xPath_Fmt_curenurgstatspec_tmp.getColumn(i, "syes") == "true"? "1": "0"));
  3597. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "Sno" , (xPath_Fmt_curenurgstatspec_tmp.getColumn(i, "sno") == "true"? "1": "0"));
  3598. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "Snothing" , "0" );
  3599. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "Oyes" , "0" );
  3600. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "Ono" , "0" );
  3601. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "Onothing" , "0" );
  3602. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "ItemCode" , xPath_Fmt_curenurgstatspec_tmp.getColumn(i, "itemcode") );
  3603. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "referenceseq" , xPath_Fmt_curenurgstatspec.getColumn(i, "ItemCode").substr(4,2) );
  3604. // todo 아래값 용도를 찾아야 된다.
  3605. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "ItemState1" , xPath_Fmt_curenurgstatspec_tmp.getColumn(i, "itemstate1"));
  3606. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "ItemState2" , xPath_Fmt_curenurgstatspec_tmp.getColumn(i, "itemstate2"));
  3607. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "ItemState3" , xPath_Fmt_curenurgstatspec_tmp.getColumn(i, "itemstate3"));
  3608. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "opchkyn" , xPath_Fmt_curenurgstatspec_tmp.getColumn(i, "opchkyn"));
  3609. xPath_Fmt_curenurgstatspec.setColumn(rowindex, "onochkyn" , xPath_Fmt_curenurgstatspec_tmp.getColumn(i, "onochkyn"));
  3610. }
  3611. xPath_curenurgstatspec.updatecontrol = true;
  3612. xPath_curenurgstatspec.enableevent = true;
  3613. xPath_curenurgstatspec.rowposition = -1;
  3614. }]]></Script>