SMMNR04101.js 87 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194
  1. /*
  2. 간호수행/기본간호(NEW)(SMMNR04101.xrw - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var xPatInfoPath = "/root/main/paminfo/pamlist";
  7. var xCareExecRecPath = "/root/main/careexecinfo/careexeclist";
  8. var xCareExecAttrPath = "/root/main/careexecinfo/attrlist";
  9. var xNurseBasicInfoPath = "/root/main/nurseinfo/nursebasicinfo";
  10. var xNurseBasicSignPath = "/root/hidden/nursebasicinfo/nursebasiclist";
  11. var xNurseBasicSignPath2 = "/root/hidden/nursebasicinfo/nursebasicinfo";
  12. var xNurseBasicParamPath = "/root/temp/nursebasicparam";
  13. var xTempNurseInfoPath = "/root/temp/nursebasicinfo";
  14. var xTempCareExecRecPath = "/root/temp/careexecinfo/careexeclist";
  15. var xTempCareExecAttrPath = "/root/temp/careexecinfo/attrlist";
  16. var xViewAttrNodePath = "/root/temp/viewinfo/rtnattrlist";
  17. var xViewSizeNodePath = "/root/temp/viewinfo/rtnallsizelist";
  18. var currentdate = "";//오늘날짜
  19. var currenttime = "";//현재시간
  20. var grd_title = "수행^미해당^구분^기본간호 항목^최소 시행주기^최소 시행주기"; //그리드 타이틀
  21. var col_cnt = new Array();//Row별 컬럼 개수
  22. var grd_ColCnt = 6;//fixed 컬럼 개수
  23. var max_colcnt = 0;//컬럼 추가 개수
  24. var instance_seq = 0;
  25. var sOrdDD = "";
  26. var sPid = "";
  27. var sCretNo = "";
  28. var sInstcd = "";
  29. var sOrdType= "";
  30. var sWardCD = "";
  31. var sRoomCD = "";
  32. var sIntm = "";
  33. var sSaveDataFlag = "";
  34. var sMakeSingFunc = "sign";
  35. var sRecDD = new Array();
  36. var sBasicNursCurrRow = 0;//20091104 김홍점 데이타수정한 행이 그대로 보이도록 수정하기위한 라인지정
  37. var eERDEPTCD = ""; //응급실코드
  38. var eERFLAG = "";
  39. /**
  40. * @group :
  41. * @ver : 2007.07.26
  42. * @by : 이은영
  43. * @---------------------------------------------------
  44. * @type : function
  45. * @access : public
  46. * @desc : 화면 초기화
  47. * @param :
  48. * @return :
  49. * @---------------------------------------------------
  50. */
  51. function fInitialize(pFlag){
  52. var dutplcecd = getUserInfo("dutplceinstcd");
  53. if (dutplcecd != "031") {
  54. group2.attribute("visibility") = "hidden";
  55. }
  56. model.setValue(ipt_recdd.attribute("ref"), getCurrentDate());
  57. model.setValue(ipt_rectm.attribute("ref"), getCurrentTime().substr(0,4));
  58. ipt_recdd.refresh();
  59. ipt_rectm.refresh();
  60. var instcd = getUserInfo("dutplceinstcd");
  61. if(pFlag == null){
  62. currentdate = getCurrentDate();
  63. currenttime = getCurrentTime();
  64. //병동코드 조회
  65. fGetCareComWardList();
  66. }
  67. // 환자정보 조회
  68. model.removenode("/root/main/paminfo");
  69. var sPamInfo = getGlobalVariable("paminfo");
  70. if(sPamInfo.length > 0) {
  71. model.makeNode("/root/main/paminfo");
  72. setCSVToNode("/root/main/paminfo",sPamInfo,"pamlist"); //환자정보내리기
  73. }
  74. sOrdType = model.getValue(xPatInfoPath+"/ioflag");
  75. sPid = model.getValue(xPatInfoPath+"/pid");
  76. sInstcd = model.getValue(xPatInfoPath+"/instcd");
  77. sCretNo = model.getValue(xPatInfoPath+"/cretno");
  78. sWardCD = model.getValue(xPatInfoPath+"/wardcd");
  79. sRoomCD = model.getValue(xPatInfoPath+"/roomcd");
  80. //상단에 INTM 정보가 존재하지 않아 임시 세팅
  81. //sIntm = model.getValue(xPatInfoPath+"/intm");
  82. sIntm = "0000";
  83. if(sOrdType == "O"){ // 외래
  84. sOrdDD = model.getValue(xPatInfoPath+"/orddd");
  85. }else{ // 입원, 특수주사, 가정간호, 응급실
  86. sOrdDD = model.getValue(xPatInfoPath+"/indd");
  87. }
  88. //----------------------------------------------
  89. // 응급의료센터 부서코드 추출_ 경북대 (2011.03.03 Ahn)
  90. model.makeValue("/root/send/cdgrupid", "'002'");
  91. model.makeValue("/root/send/srchdd" , getCurrentDate()); // 조회기준일자
  92. model.makeNode("/root/code/codeinfo");
  93. if(submit("TRMNW00001", false)){
  94. eERDEPTCD = model.getvalue("/root/code/codeinfo/codelist[cdgrupid='002']/cdid");
  95. }
  96. //-----------------------------------------------
  97. // 상단 정보가 없는 경우
  98. if(sPid == ""){
  99. messageBox("환자를 선택하십시요","I");
  100. }else{
  101. ipt_nursesrchdd.value = getCurrentDate();
  102. ipt_nursesrchtm.value = getCurrentTime().substring(0,4);
  103. model.setValue("/root/main/cond/careexeccond/pid",sPid);
  104. model.setValue("/root/main/cond/careexeccond/hngnm",model.getValue(xPatInfoPath+"/hngnm2"));
  105. model.setValue("/root/main/cond/careexeccond/sa",model.getValue(xPatInfoPath+"/sex")+"/"+model.getValue(xPatInfoPath+"/age"));
  106. model.setValue("/root/main/cond/careexeccond/stnddd",getCurrentDate());
  107. model.setValue("/root/main/cond/careexeccond/stndtm",getCurrentTime().substr(0,4));
  108. model.setValue("/root/main/cond/careexeccond/srchflag","N");
  109. // 응급실인 경우 구역정보 추가
  110. fGetWardChngInfo("Y", pFlag);
  111. if(pFlag == null || pFlag == "SettingPat"){
  112. cmb_wardcd.value = sWardCD;
  113. cmb_pid.value = sPid;
  114. ipt_pid.value = sPid;
  115. }
  116. if(model.getValue("/root/main/cond/settingrnid") == ""){
  117. fSettingnurid();
  118. }
  119. fGetWardPatList(); //환자목록조회
  120. model.removenodeset(xCareExecRecPath);
  121. grd_careexecreclist.rebuild();
  122. fGetCareExecInfo(); // 간호수행 조회
  123. fGetNurseRecord(); // 기본간호 조회
  124. model.refresh();
  125. }
  126. }
  127. /**
  128. * @group :
  129. * @ver : 2007.09.04
  130. * @by : 최경용
  131. * @---------------------------------------------------
  132. * @type : function
  133. * @access : public
  134. * @desc : 기본간호 등록 조회
  135. * @param :
  136. * @return :
  137. * @---------------------------------------------------
  138. */
  139. function fGetNurseRecord(){
  140. model.removenode("/root/send");
  141. model.removeNodeSet("/root/temp/nursebasicinfo");
  142. ipt_nursesrchtm.value = "2359";
  143. model.makeValue("/root/send/pid", model.getValue(xPatInfoPath + "/pid"));
  144. model.makeValue("/root/send/indd", model.getValue(xPatInfoPath + "/indd"));
  145. model.makeValue("/root/send/cretno", model.getValue(xPatInfoPath + "/cretno"));
  146. model.makeValue("/root/send/nursesrchdd", model.getValue("/root/main/cond/nursesrchdd"));
  147. model.makeValue("/root/send/nursesrchtm", model.getValue("/root/main/cond/nursesrchtm"));
  148. if(submit("TRMNR04109",false)){
  149. model.removeNodeSet("/root/main/nurseinfo");
  150. model.makeNode("/root/main/nurseinfo/nursebasicinfo");
  151. model.refresh();
  152. model.copyNode("/root/main/nurseinfo/nursebasicinfo", "/root/temp/nursebasicinfo");
  153. grd_nursebasic.mergeCol(2) = true;
  154. grd_nursebasic.mergeCol(0) = false;
  155. grd_nursebasic.mergeCol(1) = false;
  156. grd_nursebasic.mergeCol(3) = false;
  157. grd_nursebasic.mergeCol(4) = false;
  158. grd_nursebasic.mergeCol(5) = false;
  159. grd_nursebasic.mergeCol(6) = false;
  160. grd_nursebasic.mergeCol(7) = false;
  161. grd_nursebasic.mergeCol(8) = false;
  162. grd_nursebasic.mergeCol(9) = false;
  163. grd_nursebasic.mergeCol(10) = false;
  164. grd_nursebasic.mergeCol(11) = false;
  165. grd_nursebasic.mergeCol(12) = false;
  166. grd_nursebasic.mergeCol(13) = false;
  167. grd_nursebasic.mergeCol(14) = false;
  168. grd_nursebasic.mergeCol(15) = false;
  169. grd_nursebasic.mergeCol(16) = false;
  170. grd_nursebasic.mergeCol(17) = false;
  171. grd_nursebasic.mergeCol(18) = false;
  172. grd_nursebasic.mergeCol(19) = false;
  173. grd_nursebasic.mergeCol(20) = false;
  174. grd_nursebasic.mergeCol(21) = false;
  175. grd_nursebasic.mergeCol(22) = false;
  176. grd_nursebasic.mergeCol(23) = false;
  177. grd_nursebasic.mergeCol(24) = false;
  178. grd_nursebasic.mergeCol(25) = false;
  179. grd_nursebasic.mergeCol(26) = false;
  180. grd_nursebasic.mergeCol(27) = false;
  181. grd_nursebasic.mergeCol(28) = false;
  182. grd_nursebasic.mergeCol(29) = false;
  183. grd_nursebasic.mergeCol(30) = false;
  184. grd_nursebasic.mergeCol(31) = false;
  185. grd_nursebasic.mergeCol(32) = false;
  186. grd_nursebasic.mergeCol(33) = false;
  187. grd_nursebasic.mergeCol(34) = false;
  188. grd_nursebasic.mergeCol(35) = false;
  189. grd_nursebasic.mergeCol(36) = false;
  190. grd_nursebasic.mergeCol(37) = false;
  191. grd_nursebasic.mergeCol(38) = false;
  192. grd_nursebasic.mergeCol(39) = false;
  193. grd_nursebasic.mergeCol(40) = false;
  194. // fGridSetNurseBasic();
  195. model.refresh();
  196. fGridColorChange();
  197. grd_nursebasic.toprow = sBasicNursCurrRow;
  198. }
  199. }
  200. /**
  201. * @group :
  202. * @ver : 2007.09.27
  203. * @by :
  204. * @---------------------------------------------------
  205. * @type : function
  206. * @access : public
  207. * @desc : 간호수행 기록 조회
  208. * @param :
  209. * @return :
  210. * @---------------------------------------------------
  211. */
  212. function fGetCareExecInfo(){
  213. if(radio2.value == "E"){
  214. btn_reccncl.disabled = false;
  215. }else{
  216. btn_reccncl.disabled = true;
  217. }
  218. model.removenode("/root/send");
  219. model.makeValue("/root/send/pid", sPid);
  220. model.makeValue("/root/send/orddd", sOrdDD);
  221. model.makeValue("/root/send/cretno", sCretNo);
  222. model.makeValue("/root/send/recflag","E");
  223. model.makeValue("/root/send/srchflag", model.getValue("/root/main/cond/careexeccond/srchflag"));
  224. if(submit("TRMNR04110")){
  225. fSettingCareExec();
  226. }
  227. }
  228. /**
  229. * @group :
  230. * @ver : 2007.09.27
  231. * @by :
  232. * @---------------------------------------------------
  233. * @type : function
  234. * @access : public
  235. * @desc : 간호수행 기록 Setting
  236. * @param :
  237. * @return :
  238. * @---------------------------------------------------
  239. */
  240. function fSettingCareExec(){
  241. var sCareExecRecCnt = 0;
  242. var sNewItemCD = "";
  243. var sNewItemSeqNo = 0;
  244. var sItemCD = "";
  245. var sItemSeqNO = 0;
  246. var sExecDD = "";
  247. var sEexecTM = "";
  248. var sRsrvDD = "";
  249. var sToDT = "";
  250. var sAttrCD = "";
  251. var sCarePrid = "0";
  252. var sCarePridUnit = "";
  253. var sCareRecRow = 0;
  254. var sItemRow = 0;
  255. var sTmpExecDD = "";
  256. var sTmpExecTM = "";
  257. var sTmpItemCD = "";
  258. var sTmpItemSeqNo = "";
  259. var sExecPrindUnint = "";
  260. var sExtYn = "";
  261. model.removenodeset(xTempCareExecRecPath);
  262. //sCareExecRecCnt = getNodesetCount(xCareExecRecPath);
  263. model.copyNode("/root/temp/careexecinfo", "/root/main/careexecinfo");
  264. //grd_careexecreclist.rebuild();
  265. for(var iRow = 1; iRow <= grd_careexecreclist.rows ; iRow++){
  266. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("loc")) = false;
  267. sAttrCD = grd_careexecreclist.valueMatrix(iRow, grd_careexecreclist.colRef("attrcd"));
  268. sExecDD = grd_careexecreclist.valueMatrix(iRow, grd_careexecreclist.colRef("execdd"));
  269. sRsrvDD = grd_careexecreclist.valueMatrix(iRow, grd_careexecreclist.colRef("rsrvdt"));
  270. sExecPrindUnint = grd_careexecreclist.valueMatrix(iRow, grd_careexecreclist.colRef("execpridunit"));
  271. sExtYn = grd_careexecreclist.valueMatrix(iRow, grd_careexecreclist.colRef("extyn"));
  272. grd_careexecreclist.cellComboNodeset(iRow, grd_careexecreclist.colRef("elmtcd")) = xCareExecAttrPath+"[supcd ='"+sAttrCD+"']";
  273. grd_careexecreclist.rowStatus(iRow) = 0;
  274. //실행일자가 존재할 경우
  275. if( !isNull(sExecDD) ){
  276. if ( model.getValue(xCareExecRecPath+"[" + (iRow) + "]/lastrecyn") == "Y" ){
  277. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("rsrvyn"), iRow, grd_careexecreclist.colRef("rsrvyn")) = false;
  278. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("execprid"), iRow, grd_careexecreclist.colRef("execprid")) = false;
  279. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("execpridunit"), iRow, grd_careexecreclist.colRef("execpridunit")) = false;
  280. } else {
  281. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("rsrvyn"), iRow, grd_careexecreclist.colRef("rsrvyn")) = true;
  282. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("execprid"), iRow, grd_careexecreclist.colRef("execprid")) = true;
  283. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("execpridunit"), iRow, grd_careexecreclist.colRef("execpridunit")) = true;
  284. }
  285. } else {
  286. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("rsrvyn")) = false;
  287. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("execprid")) = false;
  288. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("execpridunit")) = false;
  289. }
  290. //예약주기 구분이 수시,Duty일 경우
  291. if(sExecPrindUnint == "T" || sExecPrindUnint =="M"){
  292. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("execprid"), iRow, grd_careexecreclist.colRef("execprid")) = true;
  293. }
  294. //기록ITEM이 확장가능 항목이 아닐 경우
  295. if(sExtYn == "N"){
  296. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("loc"), iRow, grd_careexecreclist.colRef("loc")) = true;
  297. }
  298. }
  299. model.refresh();
  300. }
  301. /**
  302. * @group :
  303. * @ver : 2007.09.04
  304. * @by : 최경용
  305. * @---------------------------------------------------
  306. * @type : function
  307. * @access : public
  308. * @desc : 기본간호 등록 그리드 셋팅
  309. * @param :
  310. * @return :
  311. * @---------------------------------------------------
  312. */
  313. function fGridSetNurseBasic(){
  314. max_colcnt = 0;
  315. col_cnt = new Array();
  316. model.removeNodeSet(xNurseBasicInfoPath + "/nursebasicinfo");
  317. model.removeNodeSet(xNurseBasicInfoPath + "/nursebasiclist");
  318. model.duplicate(xNurseBasicInfoPath, xTempNurseInfoPath + "/nursebasicinfo");
  319. var nodecnt = getNodesetCount(xTempNurseInfoPath + "/nursebasiclist");
  320. var seqno = "";
  321. var temp_title = "";
  322. var pid = "";
  323. var indd = "";
  324. var cretno = "";
  325. var supcd = "";
  326. var supnm = "";
  327. var itemcd = "";
  328. var itemnm = "";
  329. var periodtime = "";
  330. var periodflag = "";
  331. var itemspec = "";
  332. instance_seq = 0;
  333. for(var i = 1; i <= nodecnt; i++){
  334. //처음일 경우 또는 아이템코드가 바뀐경우
  335. if(i == 1 ||
  336. (model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/itemcd") != model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + (i-1) + "]/itemcd") ||
  337. model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/supcd") != model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + (i-1) + "]/supcd")) ){
  338. instance_seq++;
  339. pid = model.getValue(xPatInfoPath + "/pid");
  340. indd = model.getValue(xPatInfoPath + "/indd");
  341. cretno = model.getValue(xPatInfoPath + "/cretno");
  342. supcd = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/supcd");
  343. supnm = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/supnm");
  344. itemcd = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/itemcd");
  345. itemnm = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/itemnm");
  346. periodtime = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/periodtime");
  347. periodflag = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/periodflag");
  348. itemspec = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/itemspec");
  349. model.makeNode(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/act");
  350. model.makeNode(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/nact");
  351. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/pid", pid);
  352. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/indd", indd);
  353. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/cretno", cretno);
  354. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/supcd", supcd);
  355. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/supnm", supnm);
  356. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/itemcd", itemcd);
  357. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/itemnm", itemnm);
  358. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/periodtime", periodtime);
  359. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/periodflag", periodflag);
  360. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/itemspec", itemspec);
  361. if(model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/recid") == ""){
  362. col_cnt[instance_seq] = 0;
  363. }else{
  364. col_cnt[instance_seq] = 1;
  365. }
  366. }else{
  367. col_cnt[instance_seq]++;
  368. }
  369. if(max_colcnt < col_cnt[instance_seq]){
  370. max_colcnt = col_cnt[instance_seq];
  371. }
  372. }
  373. var cols = grd_nursebasic.cols;
  374. /* 컬럼 초기화 */
  375. for(var removeCol = grd_ColCnt; removeCol < cols; removeCol++){
  376. grd_nursebasic.removeColumn("false");
  377. }
  378. /* Add 컬럼 */
  379. for(var j = 1; j <= max_colcnt; j++){
  380. fAddGridColumn(j);
  381. }
  382. /* 인스턴스 매핑 */
  383. var actingyn = "";
  384. var recdd = "";
  385. var rectm = "";
  386. var recnm = "";
  387. var recid = "";
  388. var remark = "";
  389. var actremarkcd = "";
  390. instance_seq = 0;
  391. col_cnt = new Array();
  392. for(var i = 1; i <= nodecnt; i++){
  393. //처음일 경우 또는 아이템코드가 바뀐경우
  394. if(i == 1 ||
  395. (model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/itemcd") != model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + (i-1) + "]/itemcd") ||
  396. model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/supcd") != model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + (i-1) + "]/supcd")) ){
  397. instance_seq++;
  398. col_cnt[instance_seq] = 1;
  399. if(model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/recid") == ""){
  400. col_cnt[instance_seq] = 0;
  401. }else{
  402. col_cnt[instance_seq] = 1;
  403. }
  404. }else{
  405. col_cnt[instance_seq]++;
  406. }
  407. if(col_cnt[instance_seq] > 0){
  408. actingyn = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/actingyn");
  409. recdd = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/recdd");
  410. rectm = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/rectm");
  411. recnm = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/recnm");
  412. recid = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/recid");
  413. remark = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/remark");
  414. actremarkcd = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/actremarkcd");
  415. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/iudflag" + col_cnt[instance_seq], "-");
  416. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/actingyn" + col_cnt[instance_seq], actingyn);
  417. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/recdd" + col_cnt[instance_seq], recdd);
  418. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/rectm" + col_cnt[instance_seq], rectm);
  419. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/recnm" + col_cnt[instance_seq], recnm);
  420. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/recid" + col_cnt[instance_seq], recid);
  421. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/remark" + col_cnt[instance_seq], remark);
  422. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/actremarkcd" + col_cnt[instance_seq], actremarkcd);
  423. }
  424. }
  425. /* 그리드 타이틀명 변경*/
  426. fGridTitleChange();
  427. fMergeGrid();
  428. grd_nursebasic.rebuild();
  429. model.refresh();
  430. }
  431. /**
  432. * @group :
  433. * @ver : 2007.09.04
  434. * @by : 최경용
  435. * @---------------------------------------------------
  436. * @type : function
  437. * @access : public
  438. * @desc : 중증도와 욕창위험사정점수에 따른 그리드와 아이템 컬러변경
  439. * 중증도는 3점 이상인경우, 욕창은 고위험군인경우 변경됨
  440. *
  441. * @param :
  442. * @return :
  443. * @---------------------------------------------------
  444. */
  445. function fGridColorChange(){
  446. var timsval01 = model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/timsval01");
  447. var timsval02 = model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/timsval02");
  448. var timsval03 = model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/timsval03");
  449. var toppntnm = model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/toppntnm");
  450. var inicudate = model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/inicudate");
  451. var ventilatoryn = model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/ventilatoryn");
  452. var toppnt = model.getvalue(xNurseBasicInfoPath + "/nursebasicinfo/toppnt");
  453. var toppnt8 = model.getvalue(xNurseBasicInfoPath + "/nursebasicinfo/toppnt8"); // 추가개발 사항 _ 11.05.30_ 손성훈
  454. var toppntnm8 = model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/toppntnm8"); // 추가개발 사항 _ 11.05.30_ 손성훈
  455. instance_seq = grd_nursebasic.rows - grd_nursebasic.fixedRows;
  456. for(var i = 1; i <= getNodesetCount(xNurseBasicInfoPath + "/nursebasiclist"); i++){
  457. if( model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/chgcolor") == "true"){
  458. grd_nursebasic.cellStyle("background-color", i, 2) = "#FFFF00";
  459. grd_nursebasic.cellStyle("background-color", i, 3) = "#FFFF00";
  460. grd_nursebasic.cellStyle("background-color", i, 4) = "#FFFF00";
  461. } else {
  462. grd_nursebasic.cellStyle("background-color", i, 2) = "#f2f2f2";
  463. grd_nursebasic.cellStyle("background-color", i, 3) = "#f2f2f2";
  464. grd_nursebasic.cellStyle("background-color", i, 4) = "#f2f2f2";
  465. }
  466. if(inicudate != "00000000" && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "01" ) {
  467. grd_nursebasic.cellStyle("background-color", i, 2) = "#FFFF00";
  468. grd_nursebasic.cellStyle("background-color", i, 3) = "#FFFF00";
  469. grd_nursebasic.cellStyle("background-color", i, 4) = "#FFFF00";
  470. }
  471. if(ventilatoryn == "Y" && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "05" ) {
  472. grd_nursebasic.cellStyle("background-color", i, 2) = "#FFFF00";
  473. grd_nursebasic.cellStyle("background-color", i, 3) = "#FFFF00";
  474. grd_nursebasic.cellStyle("background-color", i, 4) = "#FFFF00";
  475. }
  476. }
  477. /*
  478. for(var i = 1; i <= getNodesetCount(xNurseBasicInfoPath + "/nursebasiclist"); i++){
  479. // if ( isNull(inicudate) || inicudate == "00000000" ){
  480. if((timsval01 >= 3 && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "01") ||
  481. (timsval02 >= 3 && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "02") ||
  482. // (timsval03 >= 3 && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "03")) // 추가개발을 위해 삭제.
  483. (toppnt <= 18 && toppnt >=1 && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "03") || // 추가개발 사항 _ 11.05.09_ 손성훈
  484. (toppnt8 >= 51 && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "06")|| // 추가개발 사항 _ 11.05.30_ 손성훈
  485. model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "07" // 2013.04.29 정맥염예방간호 무조건 노랗게
  486. ){
  487. grd_nursebasic.cellStyle("background-color", i, 2) = "#FFFF00";
  488. grd_nursebasic.cellStyle("background-color", i, 3) = "#FFFF00";
  489. grd_nursebasic.cellStyle("background-color", i, 4) = "#FFFF00";
  490. //grd_nursebasic.cellStyle("background-color", i, 5) = "#FFFF00";
  491. } else {
  492. grd_nursebasic.cellStyle("background-color", i, 2) = "#f2f2f2";
  493. grd_nursebasic.cellStyle("background-color", i, 3) = "#f2f2f2";
  494. grd_nursebasic.cellStyle("background-color", i, 4) = "#f2f2f2";
  495. //grd_nursebasic.cellStyle("background-color", i, 5) = "#f2f2f2";
  496. }
  497. // }
  498. if(inicudate != "00000000" && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "01" ) {
  499. grd_nursebasic.cellStyle("background-color", i, 2) = "#FFFF00";
  500. grd_nursebasic.cellStyle("background-color", i, 3) = "#FFFF00";
  501. grd_nursebasic.cellStyle("background-color", i, 4) = "#FFFF00";
  502. }
  503. if(ventilatoryn == "Y" && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "05" ) {
  504. grd_nursebasic.cellStyle("background-color", i, 2) = "#FFFF00";
  505. grd_nursebasic.cellStyle("background-color", i, 3) = "#FFFF00";
  506. grd_nursebasic.cellStyle("background-color", i, 4) = "#FFFF00";
  507. }
  508. }
  509. */
  510. if(timsval01 >= 3){//위생관리 : 3점이상
  511. opt_timsval01.attribute("background-color") = "#FFFF00";
  512. } else {
  513. opt_timsval01.attribute("background-color") = "#f2f2f2";
  514. }
  515. opt_timsval01.refresh();
  516. if(timsval02 >= 3){ //영양 : 3점이상
  517. opt_timsval02.attribute("background-color") = "#FFFF00";
  518. } else {
  519. opt_timsval02.attribute("background-color") = "#f2f2f2";
  520. }
  521. opt_timsval02.refresh();
  522. if(toppnt <= 18 && toppnt >=1 ){// 욕창 : 1점이상 18점이하
  523. opt_toppnt.attribute("background-color") = "#FFFF00";
  524. opt_toppntnm.attribute("background-color") = "#FFFF00";
  525. } else {
  526. opt_toppnt.attribute("background-color") = "#f2f2f2";
  527. opt_toppntnm.attribute("background-color") = "#f2f2f2";
  528. }
  529. opt_toppnt.refresh();
  530. opt_toppntnm.refresh();
  531. if(toppntnm8 == "고위험군"){ //낙상 : 성인 51점 이상, 소아 12점이상
  532. opt_toppnt8.attribute("background-color") = "#FFFF00";
  533. opt_toppntnm8.attribute("background-color") = "#FFFF00";
  534. } else {
  535. opt_toppnt8.attribute("background-color") = "#f2f2f2";
  536. opt_toppntnm8.attribute("background-color") = "#f2f2f2";
  537. }
  538. opt_toppnt8.refresh();
  539. opt_toppntnm8.refresh();
  540. if(inicudate != "00000000"){
  541. if ( model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/execdt4") >= inicudate ){
  542. grp_icusfdr.visible = true;
  543. }else {
  544. grp_icusfdr.visible = true;
  545. opt_execdt4.value = "";
  546. opt_exectm4.value = "";
  547. opt_icutoppnt.value = "";
  548. opt_icutoppntnm.value = "";
  549. }
  550. model.makeValue(xNurseBasicInfoPath + "/nursebasicinfo/inicuyn","Y");
  551. opt_inicuyn.attribute("background-color") = "#FFFF00";
  552. }else{
  553. grp_icusfdr.visible = false;
  554. model.makeValue(xNurseBasicInfoPath + "/nursebasicinfo/inicuyn","N");
  555. opt_inicuyn.attribute("background-color") = "#f2f2f2";
  556. }
  557. opt_inicuyn.refresh();
  558. grp_icusfdr.refresh();
  559. if(ventilatoryn == "Y"){
  560. opt_ventilatoryn.attribute("background-color") = "#FFFF00";
  561. }else{
  562. opt_ventilatoryn.attribute("background-color") = "#f2f2f2";
  563. }
  564. opt_ventilatoryn.refresh();
  565. model.refresh();
  566. }
  567. /**
  568. * @group :
  569. * @ver : 2007.09.04
  570. * @by : 최경용
  571. * @---------------------------------------------------
  572. * @type : function
  573. * @access : public
  574. * @desc : 기본간호 등록 그리드 추가(수행일자/수행시간/수행여부/수행자)
  575. * @param :
  576. * @return :
  577. * @---------------------------------------------------
  578. */
  579. function fAddGridColumn(j){
  580. grd_nursebasic.addColumn("ref:recdd" + j + "; type:inputdate;", false);
  581. grd_nursebasic.colWidth(grd_nursebasic.cols - 1) = 85;
  582. grd_nursebasic.addColumn("ref:rectm" + j + "; type:input; format:hh:nn; maxlength:4;", false);
  583. grd_nursebasic.colWidth(grd_nursebasic.cols - 1) = 40;
  584. grd_nursebasic.addColumn("ref:remark" + j + "; type:output;", false);
  585. grd_nursebasic.colWidth(grd_nursebasic.cols - 1) = 80;
  586. grd_nursebasic.addColumn("ref:recnm" + j + "; type:output;", false);
  587. grd_nursebasic.colWidth(grd_nursebasic.cols - 1) = 60;
  588. for(var i = 1; i <= instance_seq; i++){
  589. model.makeNode(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/iudflag" + j);
  590. model.makeNode(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/seqno" + j);
  591. model.makeNode(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/actingyn" + j);
  592. model.makeNode(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/actremarkcd" + j);
  593. model.makeNode(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/recid" + j);
  594. }
  595. }
  596. /**
  597. * @group :
  598. * @ver : 2007.09.10
  599. * @by : 최경용
  600. * @---------------------------------------------------
  601. * @type : function
  602. * @access : public
  603. * @desc : 그리드 타이틀 변경
  604. * @param :
  605. * @return :
  606. * @---------------------------------------------------
  607. */
  608. function fGridTitleChange(){
  609. for(var k = 0; k < max_colcnt; k++){
  610. for(var l = 0; l < 4; l++){
  611. grd_title += "^시행내역";
  612. }
  613. }
  614. grd_nursebasic.caption = grd_title;
  615. }
  616. /**
  617. * @group :
  618. * @ver : 2007.09.10
  619. * @by : 최경용
  620. * @---------------------------------------------------
  621. * @type : function
  622. * @access : public
  623. * @desc : 그리드 머지
  624. * @param :
  625. * @return :
  626. * @---------------------------------------------------
  627. */
  628. function fMergeGrid(){
  629. //grd_nursebasic.mergeCellsFixedRows = "byrow";//그리드 타이틀 부분 머지
  630. /*구분명 머지*/
  631. grd_nursebasic.mergecells = "bycol";
  632. for(var i = 0; i < grd_nursebasic.cols; i++){
  633. if(i == 2){
  634. grd_nursebasic.mergecol(i) = true;
  635. }else{
  636. grd_nursebasic.mergecol(i) = false;
  637. }
  638. }
  639. }
  640. /**
  641. * @group :
  642. * @ver : 2007.09.10
  643. * @by : 최경용
  644. * @---------------------------------------------------
  645. * @type : function
  646. * @access : public
  647. * @desc : 기본간호등록 수행 체크시
  648. * @param :
  649. * @return :
  650. * @---------------------------------------------------
  651. */
  652. function fActNurseInfo(arow){
  653. var irow = arow;
  654. if(irow == null){
  655. irow = grd_nursebasic.row;
  656. }
  657. var nact = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + irow+ "]/nact");
  658. var act = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/act");
  659. sBasicNursCurrRow = irow;
  660. var recdd;
  661. var rectm;
  662. recdd = model.getValue(ipt_recdd.attribute("ref"));
  663. rectm = model.getValue(ipt_rectm.attribute("ref"));
  664. if ( act == "N" ){//수행 uncheck선택시 화면을 띄우지 않고 클리어 시킨다.
  665. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/iudflag" ,"");
  666. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/actingyn","");
  667. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/recdd","");
  668. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/rectm","");
  669. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/recnm" ,"");
  670. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/recid","");
  671. model.refresh();
  672. } else {
  673. if ( (nact == "Y") && (act == "Y")){// 미수행이 체크가 되어 있을경우에 수행체크선택하면 수행체크만 남긴다.
  674. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/nact" , "N");
  675. model.removenode(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/actremarkcd" );
  676. model.removenode(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/actremarknm" );
  677. model.removenode(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/etcactremark");
  678. }
  679. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/iudflag" , "I");
  680. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/actingyn" , "Y");
  681. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/recdd" , recdd);
  682. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/rectm" , rectm);
  683. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/recnm" , getUserName());
  684. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/recid" , getUserId());
  685. model.setValue (xNurseBasicInfoPath + "/nursebasiclist[" + irow + "]/act" , "Y");
  686. ipt_nursesrchdd.value = getCurrentDate();
  687. ipt_nursesrchtm.value = getCurrentTime().substring(0,4);
  688. }
  689. }
  690. /**
  691. * @group :
  692. * @ver : 2007.09.10
  693. * @by : 최경용
  694. * @---------------------------------------------------
  695. * @type : function
  696. * @access : public
  697. * @desc : 기본간호등록 미해당 체크시
  698. * @param :
  699. * @return :
  700. * @---------------------------------------------------
  701. */
  702. function fNactNurseInfo(){
  703. var nact = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/nact");
  704. var act = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/act");
  705. var msupcd = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/msupcd");
  706. var mitemcd = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/mitemcd");
  707. sBasicNursCurrRow = grd_nursebasic.row;
  708. var sNactParma = "";
  709. var recdd;
  710. var rectm;
  711. recdd = model.getValue(ipt_recdd.attribute("ref"));
  712. rectm = model.getValue(ipt_rectm.attribute("ref"));
  713. if ( nact == "N" ){//수행 uncheck선택시 화면을 띄우지 않고 클리어 시킨다.
  714. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/iudflag","" );
  715. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actingyn","");
  716. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recdd","");
  717. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/rectm","");
  718. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recnm" ,"");
  719. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recid","");
  720. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actremarkcd","");
  721. model.refresh();
  722. } else {
  723. sNactParma = "N" + "▦" + msupcd + "▦" + mitemcd + "▦"+ "▦";
  724. //정맥염 예방간호 - IV route 관찰일 경우 바로 '불필요' 저장되도록 함
  725. if (msupcd == "07" && mitemcd == "01") {
  726. var sReturnMsg = "actingyn▦recdd▦rectm▦basetypecd▦typenm▦etcactremark▩";
  727. actingyn = "N"
  728. sReturnMsg += actingyn + "▦"
  729. + recdd + "▦"
  730. + rectm + "▦"
  731. + "06▦"
  732. + "불필요▦"
  733. + "▩";
  734. var sReturnYN = "Y";
  735. } else {
  736. setParameter("SPMNR05100_actionyn", sNactParma);
  737. setParameter("SPMNR05100_popyn" , "N");
  738. modal("SPMNR05100", "", "", "326", "SPMNR05100", "", "");
  739. setParameter("SPMNR05100_actionyn", "");
  740. setParameter("SPMNR05100_popyn" , "");
  741. var sReturnMsg = getParameter("SPMNR03400_RtnParam");
  742. var sReturnYN = getParameter("SPMNR03400_RtnParamYN");
  743. setParameter("SPMNR03400_RtnParam", "");
  744. setParameter("SPMNR03400_RtnParamYN", "");
  745. }
  746. if(sReturnYN == "Y"){
  747. if ( (nact == "Y") && (act == "Y")){
  748. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/act" , "N");
  749. grd_nursebasic.refresh();
  750. }
  751. sRecDD[0] =getArrayData(sReturnMsg,1,1);
  752. //인스턴스 매핑
  753. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/iudflag" , "I");
  754. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actingyn", "N");
  755. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recdd", recdd);
  756. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/rectm", rectm);
  757. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recnm", getUserName());
  758. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recid", getUserId());
  759. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actremarkcd", getArrayData(sReturnMsg,1,3));
  760. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actremarknm", getArrayData(sReturnMsg,1,4));
  761. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/etcactremark", getArrayData(sReturnMsg,1,5));
  762. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/nact", "Y");
  763. ipt_nursesrchdd.value = getCurrentDate();
  764. ipt_nursesrchtm.value = getCurrentTime().substring(0,4);
  765. } else {
  766. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/nact", "N");
  767. }
  768. }
  769. }
  770. /**
  771. * @group :
  772. * @ver : 2007.06.15
  773. * @by : 김홍점
  774. * @---------------------------------------------------
  775. * @type : function
  776. * @access : public
  777. * @desc : 인증로직
  778. * @param :
  779. * @return :
  780. * @---------------------------------------------------
  781. */
  782. function fSign(pRow){
  783. var sRow = 1;
  784. if(pRow != ""){
  785. sRow = pRow;
  786. }
  787. //Sign.certreload = true ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
  788. if ( sSaveDataFlag == "2"){//기본간호등록
  789. if(Sign.signprocess() == true){
  790. var sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  791. //전자인증 관련 환자 인적 정보를 보내줌.
  792. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid" , sPid );//등록번호
  793. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd" , sOrdDD);//입원일자(입원,응급)/진료일자(외래)
  794. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno" , "");//서명번호
  795. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno" , sCretNo); //생성번호
  796. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd" , getCurrentDate());// 실제 기록이 이루어진 기록일자
  797. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm" , getCurrentTime());//실제 기록이 이루어진 기록시간
  798. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recsaveflag" , "Y"); //전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  799. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag" , "02" ); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  800. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag" , model.getValue("/root/main/paminfo/pamlist/ioflag")); //외래/입원구분(코드정의서 M0010 참조)
  801. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd" , "0000002465" ); //각 기록지별 서식코드0000002465 기본간호등록
  802. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddeptcd" , model.getValue("/root/main/paminfo/pamlist/orddeptcd")); //진료부서코드
  803. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddrid" , model.getValue("/root/main/paminfo/pamlist/medispclid")); //진료의사ID
  804. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/dispyn" , "N");
  805. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signrownum" , sRow);
  806. // 인증할 데이터 정보(미기록 노드 제거된 정보)
  807. // 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  808. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts" , Sign.signedInfos[1]);
  809. // 공인인증 처리후 데이터
  810. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signaftcnts", Sign.signedInfos[2]);
  811. }else{
  812. return false;
  813. }
  814. model.makeValue("/root/send/signdata/screenid", getScreenID());
  815. }
  816. return true;
  817. }
  818. /**
  819. * @group :
  820. * @ver : 2007.09.10
  821. * @by : 최경용
  822. * @---------------------------------------------------
  823. * @type : function
  824. * @access : public
  825. * @desc : 기본간호등록 저장()
  826. * @param :
  827. * @return :
  828. * @---------------------------------------------------
  829. */
  830. function fSaveNurseBasic(){
  831. model.removenode("/root/send");
  832. model.makeNode("/root/send");
  833. //xNurseBasicSignPath2
  834. model.removenode(xNurseBasicSignPath);
  835. model.makeNode(xNurseBasicSignPath);
  836. sSaveDataFlag = "2";
  837. var retrecdd = "";
  838. var retrectm = "";
  839. var sendcnt = 0;
  840. var msg = messageBox('기본간호기록내역의 인증저장을', 'Q004');//실행 하시겠습니까? yes=6, no=7
  841. if(Number(msg) != 6){//예
  842. fGetNurseRecord();
  843. return;
  844. }
  845. model.removenode("/root/hidden/nursebasicinfo");
  846. model.makeNode("/root/hidden/nursebasicinfo");
  847. for(var i = 1; i <= grd_nursebasic.rows; i++){
  848. if(model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/iudflag") == "I" ){
  849. retrecdd = model.getValue(ipt_recdd.attribute("ref"));
  850. retrectm = model.getValue(ipt_rectm.attribute("ref"));
  851. sendcnt++;
  852. model.makeNode("/root/send/nursebasiclist[" + sendcnt + "]");
  853. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/pid", model.getValue(xPatInfoPath + "/pid"));
  854. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/indd", model.getValue(xPatInfoPath + "/indd"));
  855. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/cretno", model.getValue(xPatInfoPath + "/cretno"));
  856. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/supcd", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd"));
  857. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/itemcd", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/mitemcd"));
  858. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/iudflag", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/iudflag"));
  859. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/seqno", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/seqno"));
  860. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/actingyn", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/actingyn"));
  861. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/actremarkcd", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/actremarkcd"));
  862. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/recdd", retrecdd);
  863. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/rectm", retrectm);
  864. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/recid", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/recid"));
  865. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/etcactremark", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/etcactremark"));
  866. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/signrownum", sendcnt);
  867. model.makeNode(xNurseBasicSignPath + "[" + sendcnt + "]");
  868. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/status", "I");
  869. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/supnm", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/supnm"));
  870. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/itemnm", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/itemnm"));
  871. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/periodtime", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/periodtime"));
  872. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/recdt",
  873. retrecdd.substring(4,6) + "-" + retrecdd.substring(6) + " " +
  874. retrectm.substring(0,2) + ":" + retrectm.substring(2,4) );
  875. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]" +"/recnm", getUserName());
  876. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]" +"/actingcon",
  877. ( model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/actingyn") == "Y"
  878. ? "수행"
  879. : "미해당-" + model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/actremarknm") ));
  880. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/etcatcremark", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/etcactremark"));
  881. }
  882. }
  883. if (!fSign(sendcnt)){
  884. fGetNurseRecord();
  885. return;
  886. }
  887. if(sendcnt > 0){
  888. //인증저장
  889. if(submit("TXMNR04104",false)){
  890. fMakeViewData("B");
  891. var i = grd_wardpatlist.row;
  892. if(model.getValue("/root/main/cond/nextyn")=='Y'){
  893. if((grd_wardpatlist.rows-1) > i){
  894. i = i+1 ;
  895. }else if((grd_wardpatlist.rows-1) == i){
  896. messageBox('다음 환자가 없습니다.', 'E');
  897. }
  898. }
  899. // 환자 넘기기
  900. var patPid = model.getValue("/root/main/wardpatinfo/wardpatlist[" + i + "]/pid");
  901. var patIdx = "";
  902. fGetWardPatList();
  903. // 해당 환자 인덱스 선택 재 지정
  904. for(i=1; i<=grd_wardpatlist.rows; i++){
  905. if(patPid == grd_wardpatlist.valueMatrix(i,grd_wardpatlist.colRef("pid"))){
  906. model.setFocus("grd_wardpatlist");
  907. patIdx = i;
  908. break;
  909. }
  910. }
  911. grd_wardpatlist.row = patIdx;
  912. fSearch();
  913. }else{
  914. fGetNurseRecord();
  915. }
  916. }else{
  917. messageBox("저장할 내용이","I004");
  918. fGetNurseRecord();
  919. }
  920. }
  921. /**
  922. * @group :
  923. * @ver : 2014.11.12
  924. * @by : 이윤주
  925. * @---------------------------------------------------
  926. * @type : function
  927. * @access : public
  928. * @desc : 기본간호등록 일괄저장()
  929. * @param :
  930. * @return :
  931. * @---------------------------------------------------
  932. */
  933. function fSaveNurseBasicAll(flag){
  934. model.removenode(xNurseBasicSignPath);
  935. model.makeNode(xNurseBasicSignPath);
  936. sSaveDataFlag = "2";
  937. var retrecdd = "";
  938. var retrectm = "";
  939. var sendcnt = 0;
  940. var actcnt = 0;
  941. var recdd = model.getValue(ipt_recdd.attribute("ref"));
  942. var rectm = model.getValue(ipt_rectm.attribute("ref"));
  943. // model.makeValue("/root/send/reqdata/recdd",recdd);
  944. // model.makeValue("/root/send/reqdata/rectm",rectm);
  945. // model.makeValue("/root/send/reqdata/wardcd",model.getValue("/root/main/cond/wardcd"));
  946. //
  947. // if (submit("TRMNW05001")== false) {
  948. // messageBox("대상환자 조회시 에러","I");
  949. // return;
  950. // }
  951. var chk = "Y";
  952. var cnt = getNodesetCount("/root/main/wardpatinfo/wardpatlist[chk = '" + chk + "']");
  953. if (flag == "A") {
  954. var msg = messageBox(cnt+'명의 기본간호기록내역중 노란색 항목을 일괄 인증저장 하시겠습니까?', 'Q');
  955. }
  956. else if (flag == "B"){
  957. var msg = messageBox(cnt+'명의 기본간호기록내역중 Duty 당 2회수행의 노란색 항목을 일괄 인증저장 하시겠습니까?', 'Q');
  958. }
  959. if(Number(msg) != 6){
  960. return;
  961. }
  962. cap_all.text = cnt;
  963. var sendcnt = 0;
  964. var chk = "N";
  965. var totcnt = getNodesetCount("/root/main/wardpatinfo/wardpatlist");
  966. for ( var j = 1; j <= totcnt; j++) {
  967. sPid = model.getValue("/root/main/wardpatinfo/wardpatlist[" + j + "]/pid");
  968. sOrdDD = model.getValue("/root/main/wardpatinfo/wardpatlist[" + j + "]/indd");
  969. sCretNo = model.getValue("/root/main/wardpatinfo/wardpatlist[" + j + "]/cretno");
  970. chk = model.getValue("/root/main/wardpatinfo/wardpatlist[" + j + "]/chk");
  971. if (chk != "Y"){
  972. continue;
  973. }
  974. model.makeValue("/root/main/paminfo/pamlist/ioflag",model.getValue("/root/main/wardpatinfo/wardpatlist[" + j + "]/ordtype"));
  975. model.makeValue("/root/main/paminfo/pamlist/orddeptcd",model.getValue("/root/main/wardpatinfo/wardpatlist[" + j + "]/orddeptcd"));
  976. model.makeValue("/root/main/paminfo/pamlist/medispclid",model.getValue("/root/main/wardpatinfo/wardpatlist[" + j + "]/medispclid"));
  977. model.makeValue("/root/dsend/reqdata/pid",sPid);
  978. model.makeValue("/root/dsend/reqdata/indd",sOrdDD);
  979. model.makeValue("/root/dsend/reqdata/cretno",sCretNo);
  980. model.makeValue("/root/dsend/reqdata/flag",flag);
  981. if (submit("TRMNW05002")) {
  982. model.removenode("/root/send");
  983. model.makeNode("/root/send");
  984. model.removenode("/root/hidden/nursebasicinfo");
  985. model.makeNode("/root/hidden/nursebasicinfo");
  986. var dcnt = getNodesetCount("/root/main/basicwarddpatinfo/basicwarddpatlist");
  987. for ( var i = 1; i <= dcnt; i++) {
  988. sendcnt++;
  989. model.makeNode("/root/send/nursebasiclist[" + sendcnt + "]");
  990. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/pid", model.getValue("/root/main/basicwarddpatinfo/basicwarddpatlist[" + i + "]/pid"));
  991. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/indd", model.getValue("/root/main/basicwarddpatinfo/basicwarddpatlist[" + i + "]/indd"));
  992. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/cretno", model.getValue("/root/main/basicwarddpatinfo/basicwarddpatlist[" + i + "]/cretno"));
  993. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/supcd", model.getValue("/root/main/basicwarddpatinfo/basicwarddpatlist[" + i + "]/supcd"));
  994. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/itemcd", model.getValue("/root/main/basicwarddpatinfo/basicwarddpatlist[" + i + "]/itemcd"));
  995. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/actingyn", model.getValue("/root/main/basicwarddpatinfo/basicwarddpatlist[" + i + "]/actingyn"));
  996. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/actremarkcd", model.getValue("/root/main/basicwarddpatinfo/basicwarddpatlist[" + i + "]/actremarkcd"));
  997. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/recdd", recdd);
  998. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/rectm", rectm);
  999. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/recid", getUserInfo("userid"));
  1000. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/iudflag", "I");
  1001. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/signrownum", sendcnt);
  1002. model.makeNode(xNurseBasicSignPath + "[" + sendcnt + "]");
  1003. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/status", "I");
  1004. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/supnm", model.getValue("/root/main/basicwarddpatinfo/basicwarddpatlist[" + i + "]/supnm"));
  1005. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/itemnm",model.getValue("/root/main/basicwarddpatinfo/basicwarddpatlist[" + i + "]/itemnm"));
  1006. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/periodtime",model.getValue("/root/main/basicwarddpatinfo/basicwarddpatlist[" + i + "]/periodtime"));
  1007. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/recdt",
  1008. recdd.substring(4,6) + "-" + recdd.substring(6) + " " +
  1009. rectm.substring(0,2) + ":" + rectm.substring(2,4) );
  1010. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]" +"/recnm", getUserName());
  1011. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]" +"/actingcon","수행")
  1012. }
  1013. if (!fSign(sendcnt)){
  1014. return;
  1015. }
  1016. if(submit("TXMNR04104",false)){
  1017. fMakeViewData("B");
  1018. }
  1019. }
  1020. actcnt++;
  1021. cap_cnt.text = actcnt;
  1022. }
  1023. fGetWardPatList();
  1024. fSearch();
  1025. cap_cnt.text = 0;
  1026. cap_all.text = 0;
  1027. }
  1028. /**
  1029. * @group :
  1030. * @ver : 2008.05.13
  1031. * @by : 김홍점
  1032. * @---------------------------------------------------
  1033. * @type : function
  1034. * @access : public
  1035. * @desc : 기본간호 수정을 위한 팝업띄우기 및 수정
  1036. * @param :
  1037. * @return :
  1038. * @---------------------------------------------------
  1039. */
  1040. function fActNurseUpdate(idx){
  1041. sSaveDataFlag = "2";
  1042. sBasicNursCurrRow = grd_nursebasic.row;
  1043. var msupcd = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/msupcd" );
  1044. var mitemcd = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/mitemcd" );
  1045. var recdd = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recdd" + idx );
  1046. var recid = getUserId();
  1047. var rectm = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/rectm" + idx );
  1048. var actingyn = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actingyn" + idx );
  1049. var actremarkcd = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actremarkcd" + idx );
  1050. var recdt = "";
  1051. var seqno = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/seqno" + idx );
  1052. var supnm = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/supnm" );
  1053. var itemnm = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/itemnm" );
  1054. var periodtime = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/periodtime" );
  1055. var sSingno = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/signno" + idx );
  1056. var etcactremark = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/etcactremark" + idx );
  1057. var sNactParma = "";
  1058. if(!isNull(recdd)){
  1059. model.makeValue(xNurseBasicParamPath + "/recdd", recdd);
  1060. model.makeValue(xNurseBasicParamPath + "/rectm", rectm);
  1061. model.makeValue(xNurseBasicParamPath + "/actremarkcd", actremarkcd);
  1062. model.makeValue(xNurseBasicParamPath + "/actingyn", actingyn);
  1063. model.makeValue(xNurseBasicParamPath + "/etcactremark", etcactremark);
  1064. sNactParma = "U" + "▦" + msupcd + "▦" + mitemcd + "▦" + etcactremark + "▦";
  1065. setParameter("SPMNR05100_actionyn", sNactParma);//update
  1066. modal("SPMNR05100", "", "", "326", "SPMNR05100", "/root/temp/nursebasicparam", "/root/main/nurseactinfo");
  1067. setParameter("SPMNR05100_actionyn", "");
  1068. var sReturnMsg = getParameter("SPMNR03400_RtnParam");
  1069. var sReturnYN = getParameter("SPMNR03400_RtnParamYN");
  1070. setParameter("SPMNR03400_RtnParam", "");
  1071. setParameter("SPMNR03400_RtnParamYN", "");
  1072. if(sReturnYN == "Y"){
  1073. model.removenode("/root/send");
  1074. model.makeNode("/root/send");
  1075. model.removenode("/root/hidden/nursebasicinfo");
  1076. model.makeNode("/root/hidden/nursebasicinfo");
  1077. //인스턴스 매핑
  1078. model.makeValue("/root/send/nursebasiclist/pid", model.getValue(xPatInfoPath + "/pid"));
  1079. model.makeValue("/root/send/nursebasiclist/indd", model.getValue(xPatInfoPath + "/indd"));
  1080. model.makeValue("/root/send/nursebasiclist/cretno", model.getValue(xPatInfoPath + "/cretno"));
  1081. model.makeValue("/root/send/nursebasiclist/supcd", msupcd);
  1082. model.makeValue("/root/send/nursebasiclist/itemcd", mitemcd);
  1083. model.makeValue("/root/send/nursebasiclist/iudflag", "U");
  1084. model.makeValue("/root/send/nursebasiclist/seqno", seqno);
  1085. model.makeValue("/root/send/nursebasiclist/actingyn", getArrayData(sReturnMsg,1,0));
  1086. model.makeValue("/root/send/nursebasiclist/actremarkcd", getArrayData(sReturnMsg,1,3));
  1087. model.makeValue("/root/send/nursebasiclist/recdd", getArrayData(sReturnMsg,1,1));
  1088. model.makeValue("/root/send/nursebasiclist/rectm", getArrayData(sReturnMsg,1,2));
  1089. model.makeValue("/root/send/nursebasiclist/recid", getUserId());
  1090. model.makeValue("/root/send/nursebasiclist/signrownum", "1");
  1091. model.makeValue("/root/send/nursebasiclist/etcactremark", getArrayData(sReturnMsg,1,5));
  1092. var retrecdd = getArrayData(sReturnMsg,1,1);
  1093. var retrectm = getArrayData(sReturnMsg,1,2);
  1094. //ipt_nursesrchdd.value = getCurrentDate();
  1095. //ipt_nursesrchtm.value = getCurrentTime().substring(0,4);
  1096. sRecDD[0] = recdd;//수정전 일자
  1097. sRecDD[1] = retrecdd;//수정후 일자
  1098. model.makeValue(xNurseBasicSignPath + "/status", "U");
  1099. model.makeValue(xNurseBasicSignPath + "/supnm", supnm);
  1100. model.makeValue(xNurseBasicSignPath + "/itemnm", itemnm);
  1101. model.makeValue(xNurseBasicSignPath + "/periodtime", periodtime);
  1102. model.makeValue(xNurseBasicSignPath + "/recdt",
  1103. retrecdd.substring(4,6) + "-" + retrecdd.substring(6) + " " +
  1104. retrectm.substring(0,2) + ":" + retrectm.substring(2,4) );
  1105. model.makeValue(xNurseBasicSignPath + "/recnm", getUserName());
  1106. model.makeValue(xNurseBasicSignPath + "/actingcon",
  1107. ( getArrayData(sReturnMsg,1,0) == "Y" ? "수행" : "미해당-" + getArrayData(sReturnMsg,1,4)));
  1108. model.makeValue(xNurseBasicSignPath +"/etcatcremark", getArrayData(sReturnMsg,1,5));
  1109. //인증저장
  1110. var msg = messageBox('기본간호기록내역의 인증저장을', 'Q004');//실행 하시겠습니까? yes=6, no=7
  1111. if(Number(msg) == 6){//예
  1112. if(Sign.signprocess() == true){
  1113. var sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  1114. //전자인증 관련 환자 인적 정보를 보내줌.
  1115. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid" , sPid );//등록번호
  1116. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd" , sOrdDD);//입원일자(입원,응급)/진료일자(외래)
  1117. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno" , sSingno);//서명번호
  1118. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno" , sCretNo); //생성번호
  1119. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd" , getCurrentDate());// 실제 기록이 이루어진 기록일자
  1120. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm" , getCurrentTime());//실제 기록이 이루어진 기록시간
  1121. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recsaveflag" , "Y"); //전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  1122. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag" , "02" ); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  1123. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag" , model.getValue("/root/main/paminfo/pamlist/ioflag")); //외래/입원구분(코드정의서 M0010 참조)
  1124. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd" , "0000002465" ); //각 기록지별 서식코드0000002465 기본간호등록
  1125. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddeptcd" , model.getValue("/root/main/paminfo/pamlist/orddeptcd")); //진료부서코드
  1126. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddrid" , model.getValue("/root/main/paminfo/pamlist/medispclid")); //진료의사ID
  1127. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/dispyn" , "N");
  1128. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signrownum" , "1");
  1129. // 인증할 데이터 정보(미기록 노드 제거된 정보)
  1130. // 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  1131. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts" , Sign.signedInfos[1]);
  1132. // 공인인증 처리후 데이터
  1133. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signaftcnts", Sign.signedInfos[2]);
  1134. } else {
  1135. fGetNurseRecord();
  1136. return false;
  1137. }
  1138. if(submit("TXMNR04104", false)){
  1139. fMakeViewData("B");
  1140. }
  1141. }else{
  1142. messageBox("저장할 내용이","I004");
  1143. }
  1144. fGetNurseRecord();
  1145. }
  1146. }
  1147. }
  1148. /**
  1149. * @group :
  1150. * @ver : 2007.09.28
  1151. * @by :
  1152. * @---------------------------------------------------
  1153. * @type : function
  1154. * @access : public
  1155. * @desc : 간호수행 기록의 변경사항 체크
  1156. * @param :
  1157. * @return :
  1158. * @---------------------------------------------------
  1159. */
  1160. function fChangedCareExecGrid(pRow, pCol){
  1161. var sRow = pRow;
  1162. var sCol = pCol;
  1163. if(pRow == null || pRow==""){
  1164. sRow = grd_careexecreclist.row;
  1165. }
  1166. if(pCol == null || pCol==""){
  1167. sCol = grd_careexecreclist.col;
  1168. }
  1169. //var sRow = grd_careexecreclist.row;
  1170. //var sCol = grd_careexecreclist.col;
  1171. var sItemCD = model.getValue(xCareExecRecPath+"["+sRow+"]/itemcd");
  1172. //var sItemSeqNo = model.getValue(xCareExecRecPath+"["+sRow+"]/itemseqno");
  1173. var sItemSeqNo = model.getValue(xCareExecRecPath+"["+sRow+"]/carerecseqno");
  1174. var sExecDD = "";
  1175. var sExecTM = "";
  1176. var sToDD = "";
  1177. var sToTM = "";
  1178. var sRsrvDt = "";
  1179. sExecDD = model.getValue(xCareExecRecPath+"["+sRow+"]/execdd");
  1180. if(sCol == grd_careexecreclist.colRef("execdd")){
  1181. sRsrvDt = model.getValue(xCareExecRecPath+"["+sRow+"]/rsrvdt");
  1182. }else if(sCol == grd_careexecreclist.colRef("exectm")){
  1183. sExecTM = model.getValue(xCareExecRecPath+"["+sRow+"]/exectm");
  1184. for(var iRow = grd_careexecreclist.fixedrows; iRow<=grd_careexecreclist.rows - grd_careexecreclist.fixedrows; iRow++){
  1185. if(sRow != iRow && model.getValue(xCareExecRecPath+"["+iRow+"]/itemcd")== sItemCD &&
  1186. model.getValue(xCareExecRecPath+"["+iRow+"]/carerecseqno")== sItemSeqNo &&
  1187. model.getValue(xCareExecRecPath+"["+iRow+"]/execdd")== sExecDD &&
  1188. model.getValue(xCareExecRecPath+"["+iRow+"]/exectm")== sExecTM ){
  1189. messageBox("동일한 수행일시 기록이 존재합니다. 수행일시를 확인하십시요","I");
  1190. model.setValue(xCareExecRecPath+"["+sRow+"]/exectm","");
  1191. //grd_careexecreclist.rebuild();
  1192. return;
  1193. }
  1194. }
  1195. }else if(sCol == grd_careexecreclist.colRef("execpridunit")){
  1196. sExecPridUnit = model.getValue(xCareExecRecPath+"["+sRow+"]/execpridunit");
  1197. if(sExecPridUnit == "T" || sExecPridUnit == "M"){ // 예약주기가 Duty 와 수시일 경우
  1198. model.setValue(xCareExecRecPath+"["+sRow+"]/execprid" , "");
  1199. grd_careexecreclist.isReadOnly(sRow, grd_careexecreclist.colRef("execprid")) = true;
  1200. }else{
  1201. grd_careexecreclist.isReadOnly(sRow, grd_careexecreclist.colRef("execprid")) = false;
  1202. }
  1203. }else if(sCol == grd_careexecreclist.colRef("rsrvyn")){
  1204. sRsrvYn = model.getValue(xCareExecRecPath+"["+sRow+"]/rsrvyn");
  1205. if(sRsrvYn == "N"){
  1206. model.setValue(xCareExecRecPath+"["+sRow+"]/execprid" , "");
  1207. model.setValue(xCareExecRecPath+"["+sRow+"]/execpridunit" , "");
  1208. grd_careexecreclist.isReadOnly(sRow, grd_careexecreclist.colRef("execprid")) = true;
  1209. grd_careexecreclist.isReadOnly(sRow, grd_careexecreclist.colRef("execpridunit")) = true;
  1210. }else{
  1211. grd_careexecreclist.isReadOnly(sRow, grd_careexecreclist.colRef("execprid")) = false;
  1212. grd_careexecreclist.isReadOnly(sRow, grd_careexecreclist.colRef("execpridunit")) = false;
  1213. }
  1214. }
  1215. }
  1216. /**
  1217. * @group :
  1218. * @ver : 2007.09.28
  1219. * @by :
  1220. * @---------------------------------------------------
  1221. * @type : function
  1222. * @access : public
  1223. * @desc : 간호수행 기록 저장
  1224. * @param :
  1225. * @return :
  1226. * @---------------------------------------------------
  1227. */
  1228. function fSaveCareExec(){
  1229. var sItemCD = "";
  1230. var sCareRecSeqNO = "";
  1231. var sExecDD = "";
  1232. var sExecTM = "";
  1233. var sExecPrid = "";
  1234. var sExecPridUnit = "";
  1235. var sToDD = "";
  1236. var sToTM = "";
  1237. var sElmtCD = "";
  1238. var sElmtCD_BK = "";
  1239. var sExecPrid_BK = "";
  1240. var sExecPridUnit_BK = "";
  1241. var sToDD_BK = "";
  1242. var sToTM_BK = "";
  1243. var sSaveFlag = false;
  1244. var sStatus = 0;
  1245. sSaveDataFlag = "1";
  1246. model.removenode("/root/send");
  1247. for(var iRow=grd_careexecreclist.fixedrows; iRow < grd_careexecreclist.rows ; iRow++){
  1248. sItemCD = model.getValue(xCareExecRecPath+"["+iRow+"]/itemcd");
  1249. sExecDD = model.getValue(xCareExecRecPath+"["+iRow+"]/execdd");
  1250. sExecTM = model.getValue(xCareExecRecPath+"["+iRow+"]/exectm");
  1251. sElmtCD = model.getValue(xCareExecRecPath+"["+iRow+"]/elmtcd");
  1252. sSingNo = model.getValue(xCareExecRecPath+"["+iRow+"]/signno");
  1253. sRsrvyn = model.getValue(xCareExecRecPath+"["+iRow+"]/rsrvyn");
  1254. sCareRecSeqNO = model.getValue(xCareExecRecPath+"["+iRow+"]/carerecseqno");
  1255. if(sExecTM.length == 4) sExecTM += "00";
  1256. sExecPrid = model.getValue(xCareExecRecPath+"["+iRow+"]/execprid");
  1257. sExecPridUnit = model.getValue(xCareExecRecPath+"["+iRow+"]/execpridunit");
  1258. sToDD = model.getValue(xCareExecRecPath+"["+iRow+"]/todd");
  1259. sToTM = model.getValue(xCareExecRecPath+"["+iRow+"]/totm");
  1260. if(instance1.selectSingleNode(xCareExecRecPath+"["+iRow+"]").xml == instance1.selectSingleNode(xTempCareExecRecPath+"["+iRow+"]").xml ){
  1261. grd_careexecreclist.rowStatus(iRow) = 0;
  1262. }else{
  1263. if(sExecDD != "" && sExecTM != ""){
  1264. if(model.getValue(xCareExecRecPath+"["+iRow+"]/execdd_bk") != "" && model.getValue(xCareExecRecPath+"["+iRow+"]/exectm_bk") != ""){
  1265. sElmtCD_BK = model.getValue(xTempCareExecRecPath+"["+iRow+"]/elmtcd");
  1266. sExecPrid_BK = model.getValue(xTempCareExecRecPath+"["+iRow+"]/execprid");
  1267. sExecPridUnit_BK = model.getValue(xTempCareExecRecPath+"["+iRow+"]/execpridunit");
  1268. sToDD_BK = model.getValue(xTempCareExecRecPath+"["+iRow+"]/todd");
  1269. sToTM_BK = model.getValue(xTempCareExecRecPath+"["+iRow+"]/totm");
  1270. if( sElmtCD_BK != sElmtCD || sExecPrid_BK != sExecPrid || sExecPridUnit_BK != sExecPridUnit || sToDD_BK != sToDD || sToTM_BK != sToTM){
  1271. grd_careexecreclist.rowStatus(iRow) = 2;
  1272. sSaveFlag = true;
  1273. }
  1274. }else{
  1275. grd_careexecreclist.rowStatus(iRow) = 1;
  1276. sSaveFlag = true;
  1277. }
  1278. if(sStatus != 0){
  1279. sSaveFlag = true;
  1280. }
  1281. }
  1282. }
  1283. if(sToTM.length == 4) sToTM += "00";
  1284. sStatus = grd_careexecreclist.rowStatus(iRow);
  1285. if((sExecDD == "" || sExecTM == "") && sStatus != 0 ){
  1286. messageBox("수행일시를","C001");
  1287. grd_careexecreclist.row = iRow;
  1288. return;
  1289. }
  1290. if((sExecDD != "" || sExecTM != "") && !isValidDateTime(sExecDD+sExecTM,"YYYYMMDDhhmmss")){
  1291. messageBox("수행일시를 정확히","C001");
  1292. grd_careexecreclist.row = iRow;
  1293. return;
  1294. }
  1295. if(sRsrvyn == "" && sStatus != 0){
  1296. messageBox("예약설정을 정확히","C001");
  1297. grd_careexecreclist.row = iRow;
  1298. return;
  1299. }
  1300. if(((sExecPrid != "" && sExecPridUnit == "") || (sExecPrid == "" && sExecPridUnit != "T" && sExecPridUnit != "M" )) && sStatus != 0 ){
  1301. if(sRsrvyn == "Y"){
  1302. messageBox("예약주기를 정확히","C001");
  1303. grd_careexecreclist.row = iRow;
  1304. return;
  1305. }
  1306. }
  1307. if(grd_careexecreclist.rowStatus(iRow) != 0){
  1308. model.removeNodeset("/root/hidden/careexecinfo");
  1309. var sNodeCnt = eval(getNodesetCount("/root/hidden/careexecinfo/careexeclist")) + 1;
  1310. model.makeNode("/root/hidden/careexecinfo/careexeclist["+sNodeCnt+"]");
  1311. model.copyNode("/root/hidden/careexecinfo/careexeclist["+sNodeCnt+"]", "/root/main/careexecinfo/careexeclist["+iRow+"]");
  1312. //인증저장 구현 부분
  1313. if(Sign.signprocess() == true ){
  1314. var sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  1315. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid", sPid);
  1316. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sOrdDD);
  1317. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno", sSingNo);
  1318. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno", sCretNo);
  1319. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd", getCurrentDate());
  1320. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm", getCurrentTime());
  1321. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recsaveflag", "Y");
  1322. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag", "02");
  1323. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag", model.getValue("/root/main/paminfo/pamlist/ioflag"));
  1324. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd", "0000002456");
  1325. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddeptcd", model.getValue("/root/main/paminfo/pamlist/orddeptcd"));
  1326. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddrid", model.getValue("/root/main/paminfo/pamlist/medispclid"));
  1327. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/carerecseqno", sCareRecSeqNO);
  1328. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/itemcd", sItemCD);
  1329. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/execdd", sExecDD);
  1330. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/exectm", sExecTM);
  1331. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signrownum", iRow);
  1332. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/dispyn", "N");
  1333. // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  1334. // ▶ 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  1335. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts", Sign.signedInfos[1]);
  1336. // ▶ 공인인증 처리후 데이터
  1337. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signaftcnts", Sign.signedInfos[2]);
  1338. }else{
  1339. return false;
  1340. }
  1341. }
  1342. }
  1343. if(sSaveFlag == false){
  1344. messageBox("저장할 내용이","I004");
  1345. return;
  1346. }
  1347. model.makeValue("/root/send/pid", sPid);
  1348. model.makeValue("/root/send/orddd", sOrdDD);
  1349. model.makeValue("/root/send/cretno", sCretNo);
  1350. model.makeValue("/root/send/recflag","E");
  1351. model.makeValue("/root/send/srchflag", "E");
  1352. model.makeValue("/root/send/careexeclist", grd_careexecreclist.getUpdateData());
  1353. if(submit("TXMNR04105", false)){
  1354. fMakeViewData("E");
  1355. fGetCareExecInfo();
  1356. fSettingCareExec();
  1357. }
  1358. }
  1359. /**
  1360. * @group :
  1361. * @ver : 2008.06.12
  1362. * @by : 양천덕
  1363. * @---------------------------------------------------
  1364. * @type : function
  1365. * @access : public
  1366. * @desc : 그리드 팝업메뉴 SETTING
  1367. * @param : pFlag
  1368. * @return :
  1369. * @---------------------------------------------------
  1370. */
  1371. function fSettingPopUpMenu(pFlag){
  1372. model.setValue("/root/temp/popupflag", "");
  1373. switch(pFlag){
  1374. case "basic" :
  1375. grd_nursebasic.row = grd_nursebasic.mouseRow;
  1376. if(event.button == 3){
  1377. if(grd_nursebasic.isCell(event.target) && grd_nursebasic.mouseRow >= grd_nursebasic.fixedrows &&
  1378. grd_nursebasic.col >= grd_nursebasic.colRef("recdt1")){
  1379. window.setPopupMenu(true, "/root/hidden/popmenu/BaseItem/menu", "name", "func", false);
  1380. }else{
  1381. window.setPopupMenu(false);
  1382. }
  1383. }
  1384. break;
  1385. }
  1386. }
  1387. /**
  1388. * @group :
  1389. * @ver : 2008.07.02
  1390. * @by : 양천덕
  1391. * @---------------------------------------------------
  1392. * @type : function
  1393. * @access : public
  1394. * @desc :
  1395. * @param : 인증 데이터 생성
  1396. * @return :
  1397. * @---------------------------------------------------
  1398. */
  1399. function fMake_SignData(){
  1400. if(sMakeSingFunc == "sign"){
  1401. switch(sSaveDataFlag){
  1402. case "1": //간호수행등록 인증데이터 생성
  1403. Sign.addnode("/root/hidden/careexecinfo");
  1404. for(var i = 1 ; i <= getNodesetCount(Sign.XPATH_SIGNINFO+"/careexecinfo/careexeclist") ; i ++){
  1405. var sRecRslt = model.getValue(Sign.XPATH_SIGNINFO+"/careexecinfo/careexeclist["+i+"]/elmtcd");
  1406. var sAttrInfo = model.getValue(xTempCareExecAttrPath+"[attrcd='"+sRecRslt+"']/attrnm");
  1407. if(sRecRslt != "" && sAttrInfo != ""){
  1408. model.setValue(Sign.XPATH_SIGNINFO+"/careexecinfo/careexeclist["+i+"]/elmtcd", sAttrInfo );
  1409. }
  1410. var sRecRslt = model.getValue(Sign.XPATH_SIGNINFO+"/careexecinfo/careexeclist["+i+"]/execpridunit");
  1411. var sAttrInfo = model.getValue("/root/init/execpridlist/item[cd='"+sRecRslt+"']/nm");
  1412. if(sRecRslt != "" && sAttrInfo != ""){
  1413. model.setValue(Sign.XPATH_SIGNINFO+"/careexecinfo/careexeclist["+i+"]/execpridunit", sAttrInfo );
  1414. }
  1415. }
  1416. break;
  1417. case "2": //기본간호등록 인증데이터 생성
  1418. Sign.addnode("/root/hidden/nursebasicinfo");
  1419. break;
  1420. }
  1421. }else{ //통합기록 view data 생성
  1422. switch(sSaveDataFlag){
  1423. case "1": //간호수행등록 인증데이터 생성
  1424. Sign.addnode("/root/hidden/careexecinfo");
  1425. var xPathCathExecSignInfo = Sign.XPATH_SIGNINFO+"/careexecinfo/careexeclist";
  1426. //alert(getNodesetCount(xPathCathExecSignInfo));
  1427. for(var i = 1 ; i <= getNodesetCount(xPathCathExecSignInfo) ; i ++){
  1428. var sRecRslt = model.getValue(xPathCathExecSignInfo+"["+i+"]/elmtcd");
  1429. var sAttrInfo = model.getValue(xViewAttrNodePath+"[attrcd='"+sRecRslt+"']/attrnm");
  1430. if(sRecRslt != "" && sAttrInfo != ""){
  1431. model.setValue(xPathCathExecSignInfo+"["+i+"]/elmtcd", sAttrInfo );
  1432. }
  1433. var sRecRslt = model.getValue(xPathCathExecSignInfo+"["+i+"]/execpridunit");
  1434. var sAttrInfo = model.getValue("/root/init/execpridlist/item[cd='"+sRecRslt+"']/nm");
  1435. if(sRecRslt != "" && sAttrInfo != ""){
  1436. model.setValue(xPathCathExecSignInfo+"["+i+"]/execpridunit", sAttrInfo );
  1437. }
  1438. }
  1439. break;
  1440. case "2": //기본간호등록 인증데이터 생성
  1441. Sign.addnode("/root/hidden/nursebasicinfo");
  1442. break;
  1443. }
  1444. }
  1445. //Make View 프로세스 초기화
  1446. sMakeSingFunc = "sign";
  1447. }
  1448. /**
  1449. * @group :
  1450. * @ver : 2008.11.08
  1451. * @by : 양천덕
  1452. * @---------------------------------------------------
  1453. * @type : function
  1454. * @access : public
  1455. * @desc :
  1456. * @param : 기본간호기록 삭제 처리
  1457. * @return :
  1458. * @---------------------------------------------------
  1459. */
  1460. function fDelNurseBasicRec(){
  1461. var sDelRow = grd_nursebasic.row;
  1462. var sDelCol = grd_nursebasic.col;
  1463. var sDelIndx = "";
  1464. sBasicNursCurrRow = grd_nursebasic.row;
  1465. if(grd_nursebasic.valueMatrix(sDelRow,sDelCol) == ""){
  1466. messageBox("삭제할 기록내역을 선택하십시요","E");
  1467. return;
  1468. }
  1469. var msg = messageBox("선택한 기록내역을","Q001");
  1470. if(msg == "6"){
  1471. model.removenodeSet("/root/send");
  1472. switch (sDelCol){
  1473. case 5 :
  1474. case 6 :
  1475. case 7 :
  1476. sDelIndx ="1";
  1477. break;
  1478. case 8 :
  1479. case 9 :
  1480. case 10 :
  1481. sDelIndx ="2";
  1482. break;
  1483. case 11 :
  1484. case 12 :
  1485. case 13 :
  1486. sDelIndx ="3";
  1487. break;
  1488. case 14 :
  1489. case 15 :
  1490. case 16 :
  1491. sDelIndx ="4";
  1492. break;
  1493. case 17 :
  1494. case 18 :
  1495. case 19 :
  1496. sDelIndx ="5";
  1497. break;
  1498. case 20 :
  1499. case 21 :
  1500. case 22 :
  1501. sDelIndx ="6";
  1502. break;
  1503. case 23 :
  1504. case 24 :
  1505. case 25 :
  1506. sDelIndx ="7";
  1507. break;
  1508. case 26 :
  1509. case 27 :
  1510. case 28 :
  1511. sDelIndx ="8";
  1512. break;
  1513. case 29 :
  1514. case 30 :
  1515. case 31 :
  1516. sDelIndx ="9";
  1517. break;
  1518. case 32 :
  1519. case 33 :
  1520. case 34 :
  1521. sDelIndx ="10";
  1522. break;
  1523. case 35 :
  1524. case 36 :
  1525. case 37 :
  1526. sDelIndx ="11";
  1527. break;
  1528. case 38 :
  1529. case 39 :
  1530. case 40 :
  1531. sDelIndx ="12";
  1532. break;
  1533. }
  1534. model.makeValue("/root/send/recflag" , "B");
  1535. model.makeValue("/root/send/supcd" , model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + sDelRow + "]/msupcd"));
  1536. model.makeValue("/root/send/itemcd" , model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + sDelRow + "]/mitemcd"));
  1537. model.makeValue("/root/send/signno" , model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + sDelRow + "]/signno" + sDelIndx ));
  1538. model.makeValue("/root/send/seqno" , model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + sDelRow + "]/seqno" + sDelIndx ));
  1539. model.makeValue("/root/send/pid" , sPid);
  1540. model.makeValue("/root/send/orddd" , sOrdDD);
  1541. model.makeValue("/root/send/indd" , sOrdDD);
  1542. model.makeValue("/root/send/cretno" , sCretNo);
  1543. sRecDD[0] = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + sDelRow + "]/recdd" + sDelIndx );
  1544. submit("TXMNR04107", false);
  1545. fMakeViewData("B");
  1546. fGetNurseRecord();
  1547. }else{
  1548. return;
  1549. }
  1550. }
  1551. /**
  1552. * @group :
  1553. * @ver : 2008.11.08
  1554. * @by : 양천덕
  1555. * @---------------------------------------------------
  1556. * @type : function
  1557. * @access : public
  1558. * @desc :
  1559. * @param : 간호수행기록 삭제 처리
  1560. * @return :
  1561. * @---------------------------------------------------
  1562. */
  1563. function fDelCareExecRec(){
  1564. var sDelRow = grd_careexecreclist.row;
  1565. if(sDelRow < 1){
  1566. messageBox("삭제할 기록내역을 선택하십시요","E");
  1567. return;
  1568. }
  1569. var msg = messageBox("선택한 기록내역을","Q001");
  1570. if(msg == "6"){
  1571. model.removenodeSet("/root/send");
  1572. model.makeValue("/root/send/recflag" , "E");
  1573. model.makeValue("/root/send/carerecseqno" , grd_careexecreclist.valueMatrix(sDelRow, grd_careexecreclist.colRef("carerecseqno")));
  1574. model.makeValue("/root/send/signno" , grd_careexecreclist.valueMatrix(sDelRow, grd_careexecreclist.colRef("signno")));
  1575. model.makeValue("/root/send/execseqno" , grd_careexecreclist.valueMatrix(sDelRow, grd_careexecreclist.colRef("execseqno")));
  1576. model.makeValue("/root/send/rsrvyn" , grd_careexecreclist.valueMatrix(sDelRow, grd_careexecreclist.colRef("rsrvyn")));
  1577. model.makeValue("/root/send/pid" , sPid);
  1578. model.makeValue("/root/send/orddd" , sOrdDD);
  1579. model.makeValue("/root/send/cretno" , sCretNo);
  1580. model.makeValue("/root/send/srchflag" , "E");
  1581. submit("TXMNR04107", false);
  1582. fMakeViewData("E");
  1583. fGetCareExecInfo();
  1584. }else{
  1585. return;
  1586. }
  1587. }
  1588. /**
  1589. * @group :
  1590. * @ver : 2008.11.08
  1591. * @by : 양천덕
  1592. * @---------------------------------------------------
  1593. * @type : function
  1594. * @access : public
  1595. * @desc :
  1596. * @param : 통합기록조회용 view 생성
  1597. * @return :
  1598. * @---------------------------------------------------
  1599. */
  1600. function fMakeViewData(pFlag){
  1601. sMakeSingFunc = "view";
  1602. var sFormCd = "";
  1603. var sMakeViewNode = "";
  1604. var sSignDataRowCnt = 0;
  1605. //통합기록조회용 view data 생성전 노드 삭제
  1606. model.removeNodeset("/root/send");
  1607. model.removeNodeset("/root/temp/SignData");
  1608. model.removeNodeset("/root/hidden/careexecinfo");
  1609. model.removeNodeset("/root/hidden/nursebasicinfo");
  1610. //기록 Flag별 Form코드, ViewNode 지정
  1611. switch(pFlag){
  1612. case "E" :
  1613. sSaveDataFlag = "1";
  1614. sFormCd = "0000002456";
  1615. sMakeViewNode += "/root/hidden/careexecinfo/careexeclist";
  1616. break;
  1617. case "B" :
  1618. sSaveDataFlag = "2";
  1619. sFormCd = "0000002465";
  1620. sMakeViewNode += "/root/hidden/nursebasicinfo/nursebasiclist";
  1621. break;
  1622. }
  1623. var sViewNodeCnt = getNodesetCount("/root/temp/viewinfo/rtnsignlist");
  1624. //20090410 기본간호기록은 하루간격으로 통합기록용데이타생성
  1625. //sRecDD.length 는 최대길이 2 : 수정시 수정전기록일자와 수정후 기록일자 모두 재기록을 해야하므로
  1626. //배열 인덱스는 0부터 시작, 노드는 1부터 시작
  1627. if(sRecDD.length == 0){ // 값이 없을경우 view용 인증저장이 되지 않아서 추가!!
  1628. sRecDD[0] = currentdate;
  1629. }
  1630. for ( var idx = 0 ; idx < (sSaveDataFlag == "2" ? sRecDD.length : 1 ) ; idx++){
  1631. model.removenodeset(sMakeViewNode);
  1632. if ( sViewNodeCnt > 0 && sSaveDataFlag != "2" ){
  1633. model.makeNode(sMakeViewNode);
  1634. copyNodeset(sMakeViewNode,"/root/temp/viewinfo/rtnsignlist");
  1635. } else if ( sViewNodeCnt > 0 && !isNull(sRecDD[idx]) && sSaveDataFlag == "2") {
  1636. model.makeNode(sMakeViewNode);
  1637. copyNodeset(sMakeViewNode,"/root/temp/viewinfo/rtnsignlist[recdd='"+sRecDD[idx]+"']");
  1638. }
  1639. if( getNodesetCount(sMakeViewNode) > 0 ){
  1640. if(Sign.signprocess() == true ){
  1641. sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  1642. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/pid", sPid);
  1643. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/orddd", sOrdDD);
  1644. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/signno", "");
  1645. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/cretno", sCretNo);
  1646. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/recdd", (sSaveDataFlag == "2" ? sRecDD[idx] : sOrdDD ));
  1647. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/rectm", "000000");
  1648. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/recsaveflag", "Y");
  1649. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/signflag", "02");
  1650. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/signgenrflag", model.getValue("/root/main/paminfo/pamlist/ioflag"));
  1651. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/formcd", sFormCd);
  1652. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/orddeptcd", model.getValue("/root/main/paminfo/pamlist/orddeptcd"));
  1653. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/orddrid", model.getValue("/root/main/paminfo/pamlist/medispclid"));
  1654. //▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  1655. //▶ 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  1656. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/signbfcnts", Sign.signedInfos[1]);
  1657. //▶ 공인인증 처리후 데이터
  1658. //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signaftcnts", Sign.signedInfos[2]);
  1659. }
  1660. }else if ( getNodesetCount(sMakeViewNode) < 1 ){
  1661. sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  1662. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/status", "d"); //삭제 상태
  1663. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid", sPid );//등록번호
  1664. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sOrdDD);//입원일자(입원,응급)/진료일자(외래)
  1665. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno", "");//서명번호
  1666. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno", sCretNo); //생성번호
  1667. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd",sFormCd ); //각 기록지별 서식코드
  1668. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag","02" ); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  1669. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag",model.getValue("/root/main/paminfo/pamlist/ioflag") );//외래/입원구분(코드정의서 M0010 참조)
  1670. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts", "삭제");
  1671. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd",(sSaveDataFlag == "2" ? sRecDD[idx] : sOrdDD ));// 기록이 이루어진 기록일자
  1672. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm","000000");// 실제 기록이 이루어진 기록일자
  1673. }
  1674. }
  1675. if ( getNodesetCount("/root/send/signdata") < 1 ){
  1676. return;
  1677. }
  1678. submit("TXMNR00904", false);
  1679. }
  1680. /**
  1681. * @group :
  1682. * @ver : 2011.03.03
  1683. * @by : 안도영
  1684. * @---------------------------------------------------
  1685. * @type : function
  1686. * @access : public
  1687. * @desc : 구역정보 조회 및 내환자정보 숨기기 (응급실인 경우)
  1688. * @param :
  1689. * @param :
  1690. * @return :
  1691. * @---------------------------------------------------
  1692. */
  1693. function fGetWardChngInfo(initFlag, pFlag){
  1694. var instcd = getUserInfo("dutplceinstcd");
  1695. if(initFlag=="Y") {
  1696. var sWardCD = model.getValue(xPatInfoPath+"/wardcd");
  1697. }
  1698. else{
  1699. var sWardCD = model.getValue("/root/main/cond/wardcd");
  1700. }
  1701. if ( sWardCD == eERDEPTCD) {
  1702. eERFLAG = "Y";
  1703. }else{
  1704. eERFLAG = "";
  1705. }
  1706. //응급실인 경우 구역정보 추가조회
  1707. if(eERFLAG == "Y"){ // 응급실
  1708. cap_settingrn.attribute("left") = 370;
  1709. cmb_settingrn.attribute("left") = 450;
  1710. caption8.attribute("left") = 562;
  1711. cmb_erpat.attribute("left") = 690;
  1712. cmb_pid.attribute("left") = 690;
  1713. ipt_pid.attribute("left") = 791;
  1714. fGetZoneList();
  1715. cap_ward.visible = "true";
  1716. cmb_zone.visible = "true";
  1717. cap_ward.attribute("text") = "구역:";
  1718. cmb_roomcd.visible = "false";
  1719. if(pFlag != "SrchPat"){ // 환자를 직접 선택한 경우엔 구역정보 보존
  1720. // 처음 상단 정보로 화면 열릴 때
  1721. if(initFlag=="Y"){
  1722. model.setValue("/root/main/cond/zonecd", (model.getValue(xPatInfoPath+"/sectioncd") == "") ? "-" : model.getValue(xPatInfoPath+"/sectioncd"));
  1723. }else{
  1724. model.setValue("/root/main/cond/zonecd", "-"); // 'All'로 default
  1725. }
  1726. }
  1727. }else{
  1728. if(instcd == '032'){
  1729. cmb_zone.visible = "false";
  1730. cap_ward.visible = "true";
  1731. cmb_roomcd.visible = "true";
  1732. cap_ward.attribute("text") = "병실:"
  1733. cmb_roomcd.visible = "true";
  1734. cap_settingrn.attribute("left") = 370;
  1735. cmb_settingrn.attribute("left") = 450;
  1736. caption8.attribute("left") = 562;
  1737. cmb_erpat.attribute("left") = 690;
  1738. cmb_pid.attribute("left") = 690;
  1739. ipt_pid.attribute("left") = 791;
  1740. }else{
  1741. cmb_zone.visible = "false";
  1742. cap_ward.visible = "false";
  1743. cmb_roomcd.visible = "false";
  1744. cap_settingrn.attribute("left") = 210;
  1745. cmb_settingrn.attribute("left") = 290;
  1746. caption8.attribute("left") = 402;
  1747. cmb_erpat.attribute("left") = 530;
  1748. cmb_pid.attribute("left") = 530;
  1749. ipt_pid.attribute("left") = 631;
  1750. }
  1751. model.setValue("/root/main/cond/zonecd", "");
  1752. }
  1753. model.refresh();
  1754. }
  1755. // 내환자 셋팅정보 조회
  1756. function fSettingnurid(){
  1757. model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/main/cond/wardcd") );
  1758. if(submit("TRMNW10910") == true){
  1759. //settingnurid = model.getValue("/root/init/settinginfo/settingrn[settingrnid='" + getUserInfo("userid") +"']/settingrnid");
  1760. model.setValue(cmb_settingrn.attribute("ref"), "");
  1761. }
  1762. }
  1763. // 환자 리스트 조회
  1764. function fGetWardPatList(recflag){
  1765. grd_wardpatlist.rebuildStyle();
  1766. if ( recflag != "" ){
  1767. model.makeValue("/root/send/reqdata/recflag", recflag); // 환자리스트에서 수행환자, 미수행환자 조건있을 시.
  1768. }
  1769. model.makeValue("/root/send/reqdata/wardcd",model.getValue("/root/main/cond/wardcd"));
  1770. model.makeValue("/root/send/reqdata/settingrnid",model.getValue("/root/main/cond/settingrnid"));
  1771. model.makeValue("/root/send/reqdata/zonecd",model.getValue("/root/main/cond/zonecd"));
  1772. model.makeValue("/root/send/reqdata/roomcd",model.getValue("/root/temp/mypatsettinginfo/roomcdgrup/roomcdgruplist"));
  1773. model.makeValue("/root/send/reqdata/todaydd",getCurrentDate());
  1774. if(eERFLAG == "Y"){
  1775. model.makeValue("/root/send/reqdata/emcflag", "Y");
  1776. }
  1777. submit("TRMNW05000");
  1778. grd_wardpatlist.row = grd_wardpatlist.findRow(sPid, 1, grd_wardpatlist.colRef("pid"));
  1779. grd_wardpatlist.topRow = grd_wardpatlist.findRow(sPid, 1, grd_wardpatlist.colRef("pid"))-1;
  1780. model.refresh();
  1781. fWardBasecareColor(); //기본간호 항목을 하나라도 해야되는 환자를 색깔로 표시.
  1782. }
  1783. // 조회버튼 클릭시
  1784. function fSearch(){
  1785. // 상단정보 올림
  1786. var condparam = model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/ordtype")
  1787. + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/pid")
  1788. + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/indd")
  1789. + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/cretno")
  1790. + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/instcd")
  1791. + "▦" + model.getValue("/root/main/cond/genrdd");
  1792. setParameter("condparam", condparam);
  1793. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  1794. cmb_pid.value = "";
  1795. ipt_pid.value = "";
  1796. cmb_erpat.value = "";
  1797. model.removenode("/root/main/paminfo");
  1798. var sPamInfo = getGlobalVariable("paminfo");
  1799. if(sPamInfo.length > 0) {
  1800. model.makeNode("/root/main/paminfo");
  1801. setCSVToNode("/root/main/paminfo",sPamInfo,"pamlist"); //환자정보내리기
  1802. }
  1803. sOrdType = model.getValue(xPatInfoPath+"/ioflag");
  1804. sPid = model.getValue(xPatInfoPath+"/pid");
  1805. sInstcd = model.getValue(xPatInfoPath+"/instcd");
  1806. sCretNo = model.getValue(xPatInfoPath+"/cretno");
  1807. sWardCD = model.getValue(xPatInfoPath+"/wardcd");
  1808. sRoomCD = model.getValue(xPatInfoPath+"/roomcd");
  1809. sIntm = "0000";
  1810. if(sOrdType == "O"){ // 외래
  1811. sOrdDD = model.getValue(xPatInfoPath+"/orddd");
  1812. }else{ // 입원, 특수주사, 가정간호, 응급실
  1813. sOrdDD = model.getValue(xPatInfoPath+"/indd");
  1814. }
  1815. ipt_nursesrchdd.value = getCurrentDate();
  1816. ipt_nursesrchtm.value = getCurrentTime().substring(0,4);
  1817. model.setValue("/root/main/cond/careexeccond/pid",sPid);
  1818. model.setValue("/root/main/cond/careexeccond/hngnm",model.getValue(xPatInfoPath+"/hngnm2"));
  1819. model.setValue("/root/main/cond/careexeccond/sa",model.getValue(xPatInfoPath+"/sex")+"/"+model.getValue(xPatInfoPath+"/age"));
  1820. model.setValue("/root/main/cond/careexeccond/stnddd",getCurrentDate());
  1821. model.setValue("/root/main/cond/careexeccond/stndtm",getCurrentTime().substr(0,4));
  1822. model.setValue("/root/main/cond/careexeccond/srchflag","N");
  1823. model.removenodeset(xCareExecRecPath);
  1824. grd_careexecreclist.rebuild();
  1825. fGetCareExecInfo(); // 간호수행 조회
  1826. fGetNurseRecord(); // 기본간호 조회
  1827. model.setValue("/root/main/cond/multicheck","N");
  1828. model.refresh();
  1829. }
  1830. /**
  1831. * @group :
  1832. * @ver : 2014.10.06
  1833. * @by : 임지원
  1834. * @---------------------------------------------------
  1835. * @type : function
  1836. * @access : public
  1837. * @desc : 기본간호 항목을 하나라도 해야되는 환자를 색깔로 표시.
  1838. * @param :
  1839. * @return :
  1840. * @---------------------------------------------------
  1841. */
  1842. function fWardBasecareColor(){
  1843. if( getNodesetCount("/root/main/wardpatinfo/wardpatlist") >0 ){
  1844. model.makeValue("/root/send/wardcd",model.getValue("/root/main/cond/wardcd"));
  1845. submit("TRMNR04117");
  1846. for(var i = 0; i <= getNodesetCount("/root/temp/nursebasicolor/nursebasicolor"); i++){
  1847. for( var j = 0; j <= getNodesetCount("/root/main/wardpatinfo/wardpatlist"); j++){
  1848. if( model.getValue("/root/temp/nursebasicolor/nursebasicolor["+ i +"]/pid") == model.getValue("/root/main/wardpatinfo/wardpatlist["+ j +"]/pid") ){
  1849. grd_wardpatlist.cellStyle("background-color", j, 1) = "#FFFF00";
  1850. }
  1851. }
  1852. }
  1853. grd_wardpatlist.refresh();
  1854. }
  1855. }