SMMNB00200.js 61 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606
  1. /*
  2. 카덱스관리(SMMNB00200_카덱스관리.xrw - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var ePID = "";
  7. var eINDD = "";
  8. var eCRETNO = "";
  9. //20110208_SMY추가
  10. var eORDTYPE = "";
  11. var eINSTCD = "";
  12. //20110211_SMY추가
  13. var eERDEPTCD = "";
  14. var eERFLAG = "";
  15. var ePRCPDD = "";
  16. var xPathPatDetlInfo = "/root/main/kardexinfo/patdetlinfo";//환자상세정보
  17. var xPathPatList = "/root/main/kardexinfo/ompatlist";
  18. var xPathHiddenPatList = "/root/hidden/kardexinfo/ompatlist";
  19. var xPathTodayScheduleList = "/root/main/kardexinfo/todayschedulelist";//오늘스케쥴
  20. var xPathTomorrowScheduleList = "/root/main/kardexinfo/tomorrowschedulelist";//내일스케쥴
  21. var xPathAssessInfo = "/root/main/kardexinfo/assessinfo";//최근Assess
  22. var xPathTodayList1 = "/root/main/kardexinfo/todaylist1";//욕창
  23. var xPathTodayList2 = "/root/main/kardexinfo/todaylist2";//통증
  24. var xPathTodayList3 = "/root/main/kardexinfo/todaylist3";//유지기구
  25. var xPathHiddenTodayList3 = "/root/hidden/kardexinfo/todaylist3";//유지기구
  26. var xPathCardexSetList = "/root/main/kardexinfo/cardexsetlist";//카덱스set정보
  27. var xPathHidCardexSetList = "/root/hidden/kardexinfo/cardexsetlist";//카덱스set정보
  28. var xPathMemoList = "/root/main/kardexinfo/memolist";
  29. var xPathHidMemoList = "/root/hidden/kardexinfo/memolist";
  30. var xPathConsultInfo = "/root/main/kardexinfo/consultinfo"
  31. var xPathNarcInfo = "/root/main/kardexinfo/narclist"
  32. var xPathHiddenNarcInfo = "/root/hidden/kardexinfo/narclist"
  33. var xPathHiddenCatheterList = "/root/hidden/kardexinfo/catheterlist";//조회시 hidden검사관리정보
  34. var xPathCatheterList = "/root/main/kardexinfo/catheterlist";//Catheter정보
  35. var xPathMedrMemoInfo = "/root/main/kardexinfo/medrmemoinfo";
  36. var xPathHidMedrMemoInfo = "/root/hidden/kardexinfo/medrmemoinfo";
  37. var xPathMedrList = "/root/main/kardexinfo/medrlist";
  38. var xPathMedrPrcpddList = "/root/main/kardexinfo/medrprcpdd";
  39. var xPathMedrPrcpList = "/root/main/kardexinfo/medrprcplist";
  40. var xPathHiddenTestList = "/root/hidden/kardexinfo/testlist";//조회시 hidden검사관리정보
  41. var xPathTestList = "/root/main/kardexinfo/testlist";//실제 보이는 검사관리정보
  42. /**
  43. * @group :
  44. * @ver : 2007.10.08
  45. * @by : 최경용
  46. * @---------------------------------------------------
  47. * @type : function
  48. * @access : public
  49. * @desc : 초기값 조회
  50. * @param :
  51. * @param :
  52. * @return :
  53. * @---------------------------------------------------
  54. */
  55. function fInitialize(){
  56. //fClearExceptPatList();
  57. //------------(20101019) 경북대
  58. //응급의료센터 부서코드 추출
  59. model.makeValue("/root/send/cdgrupid", "'002'");
  60. model.makeValue("/root/send/srchdd" , getCurrentDate()); // 조회기준일자
  61. if(submit("TRMNW00001", false)){
  62. eERDEPTCD = model.getvalue("/root/code/codeinfo/codelist/cdid");
  63. }
  64. btn_today.selected = true;
  65. model.makeValue(xPathPatDetlInfo + "/roomcd", "병실");
  66. model.makeValue(xPathPatDetlInfo + "/pid", "등록번호");
  67. model.makeValue(xPathPatDetlInfo + "/patnm", "환자명");
  68. model.makeValue(xPathPatDetlInfo + "/sexage", "S/A");
  69. //오늘 날짜로 초기화 하는 부분.(진료일자를 default로 오늘 날짜로 선택함)
  70. model.setValue("/root/main/cond/settingrnid", "");
  71. model.setValue("/root/main/cond/userid", getUserId());
  72. model.setValue("/root/main/cond/usernm", getUserName());
  73. model.setValue("/root/main/cond/orddd", getCurrentDate());
  74. // 환자정보 조회
  75. model.removenodeSet("/root/main/paminfo");
  76. model.makeNode("/root/main/paminfo");
  77. var sPamInfo = getGlobalVariable("paminfo");
  78. setCSVToNode("/root/main/paminfo",sPamInfo,"pamlist");
  79. ePID = model.getValue("/root/main/paminfo/pamlist/pid");
  80. eINDD = model.getValue("/root/main/paminfo/pamlist/indd");
  81. eCRETNO = model.getValue("/root/main/paminfo/pamlist/cretno");
  82. var sWardCd = model.getValue("/root/main/paminfo/pamlist/wardcd");
  83. if( !isNull(sWardCd)){
  84. model.setValue("/root/main/cond/wardcd", sWardCd);
  85. }else{
  86. model.setValue("/root/main/cond/wardcd", getUserInfo("dutplcecd"));
  87. }
  88. //공통함수로 수정_20110211_ SMY
  89. fGetWardChngInfo();
  90. /*
  91. model.removeNodeset("/root/send/reqdata");
  92. model.makeNode("/root/send/reqdata");
  93. model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/main/cond/wardcd"));
  94. submit("TRMNW00101");
  95. for(i=1; i <= getNodesetCount("/root/init/settingrn"); i++ ) {
  96. if (model.getValue("/root/main/cond/userid") == model.getValue("/root/init/settingrn["+ i +"]/settingrnid")) {
  97. model.setValue("/root/main/cond/settingrnid", model.getValue("/root/main/cond/userid"));
  98. }
  99. }
  100. */
  101. //응급실 구역정보 셋팅추가_20110216_SMY
  102. var sSectionCd = model.getValue("/root/main/paminfo/pamlist/sectioncd");
  103. if( !isNull(sSectionCd)){
  104. model.setValue("/root/main/cond/zonecd", sSectionCd);
  105. }
  106. // model.makeNode("/root/init/A0078list");
  107. // zbcfGetCodeList(new Array("A0078"), new Array("/root/init/A0078list")); // 예약상태구분(A0078)
  108. //환자리스트 조회
  109. if ( isNull(ePID) ){
  110. fGetMedSpccdList("pat");
  111. } else {
  112. fGetMedSpccdList("all");
  113. }
  114. }
  115. /**
  116. * @group :
  117. * @ver : 2011.02.11
  118. * @by : 성미연
  119. * @---------------------------------------------------
  120. * @type : function
  121. * @access : public
  122. * @desc : 병동, 내환자, 구역정보(응급실인 경우) 조회
  123. * @param :
  124. * @param :
  125. * @return :
  126. * @---------------------------------------------------
  127. */
  128. function fGetWardChngInfo(){
  129. if ( model.getValue("/root/main/cond/wardcd") == eERDEPTCD) {
  130. eERFLAG = "Y";
  131. }else{
  132. eERFLAG = "";
  133. }
  134. model.removeNodeset("/root/send/reqdata");
  135. model.makeNode("/root/send/reqdata");
  136. model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/main/cond/wardcd"));
  137. submit("TRMNW00101");
  138. model.setValue("/root/main/cond/settingrnid", "");
  139. for(i=1; i <= getNodesetCount("/root/init/settingrn"); i++ ) {
  140. if (model.getValue("/root/main/cond/userid") == model.getValue("/root/init/settingrn["+ i +"]/settingrnid")) {
  141. model.setValue("/root/main/cond/settingrnid", model.getValue("/root/main/cond/userid"));
  142. }
  143. }
  144. //응급실인 경우 구역정보 추가조회
  145. if(eERFLAG == "Y"){
  146. fGetZoneList();
  147. cmb_zone.visible = "true";
  148. cap_settingrnid.attribute("text") = "구 역:";
  149. btn_settingrnid.visible = "false";
  150. model.setValue("/root/main/cond/zonecd", "-");
  151. }else{
  152. cmb_zone.visible = "false";
  153. cap_settingrnid.attribute("text") = "내환자:"
  154. btn_settingrnid.visible = "true";
  155. model.setValue("/root/main/cond/zonecd", "");
  156. }
  157. cmb_zone.refresh();
  158. cap_settingrnid.refresh();
  159. btn_settingrnid.refresh();
  160. }
  161. /**
  162. * @group :
  163. * @ver : 2007.10.08
  164. * @by : 김홍점
  165. * @---------------------------------------------------
  166. * @type : function
  167. * @access : public
  168. * @desc : 환자리스트 클릭시 환자 상세정보 셋팅
  169. * @param :
  170. * @param :
  171. * @return :
  172. * @---------------------------------------------------
  173. */
  174. function fSettingPatDetlInfo(rowNo) {
  175. //assess 정보 셋팅 쿼리분리 20090109 김홍점
  176. // model.makeValue(xPathAssessInfo + "/weight", model.getValue(xPathPatList + "[" + rowNo + "]/weight"));
  177. // model.makeValue(xPathAssessInfo + "/height", model.getValue(xPathPatList + "[" + rowNo + "]/height"));
  178. // model.makeValue(xPathAssessInfo + "/serigrade", model.getValue(xPathPatList + "[" + rowNo + "]/serigrade"));
  179. // model.makeValue(xPathAssessInfo + "/bedsore", model.getValue(xPathPatList + "[" + rowNo + "]/bedsore"));
  180. // model.makeValue(xPathAssessInfo + "/fallhurt", model.getValue(xPathPatList + "[" + rowNo + "]/fallhurt"));
  181. //상단 환자 정보 셋팅
  182. model.makeValue(xPathPatDetlInfo + "/roomcd", model.getValue(xPathPatList + "[" + rowNo + "]/roomcd"));
  183. model.makeValue(xPathPatDetlInfo + "/pid", model.getValue(xPathPatList + "[" + rowNo + "]/pid"));
  184. model.makeValue(xPathPatDetlInfo + "/patnm", model.getValue(xPathPatList + "[" + rowNo + "]/patnm"));
  185. model.makeValue(xPathPatDetlInfo + "/sexage", model.getValue(xPathPatList + "[" + rowNo + "]/sexage"));
  186. model.makeValue(xPathPatDetlInfo + "/vipyn", model.getValue(xPathPatList + "[" + rowNo + "]/vipyn"));
  187. model.makeValue(xPathPatDetlInfo + "/rqstyn", model.getValue(xPathPatList + "[" + rowNo + "]/rqstyn"));
  188. model.makeValue(xPathPatDetlInfo + "/spcffactyn", model.getValue(xPathPatList + "[" + rowNo + "]/spcffactyn"));
  189. model.makeValue(xPathPatDetlInfo + "/clincstdyyn",model.getValue(xPathPatList + "[" + rowNo + "]/clincstdyyn"));
  190. model.makeValue(xPathPatDetlInfo + "/cpyn", model.getValue(xPathPatList + "[" + rowNo + "]/cpyn"));
  191. model.makeValue(xPathPatDetlInfo + "/indschstat", model.getValue(xPathPatList + "[" + rowNo + "]/indschstat"));
  192. model.makeValue(xPathPatDetlInfo + "/serdiag", model.getValue(xPathPatList + "[" + rowNo + "]/serdiag"));
  193. model.makeValue(xPathPatDetlInfo + "/rarediag", model.getValue(xPathPatList + "[" + rowNo + "]/rarediag"));
  194. model.makeValue(xPathPatDetlInfo + "/chngroomstat", model.getValue(xPathPatList + "[" + rowNo + "]/chngroomstat"));
  195. if(model.getValue(xPathPatDetlInfo + "/vipyn") !="" ){cap_vipyn.attribute('background-color') = '#ffff99';}
  196. else{ cap_vipyn.attribute('background-color') = '#ffffff';}
  197. if(model.getValue(xPathPatDetlInfo + "/rqstyn") !="" ){opt_rqstyn.attribute('background-color') = '#ffff99';}
  198. else{ opt_rqstyn.attribute('background-color') = '#ffffff';}
  199. if(model.getValue(xPathPatDetlInfo + "/spcffactyn") !="" ){opt_spcffactyn.attribute('background-color') = '#ffff99';}
  200. else{ opt_spcffactyn.attribute('background-color') = '#ffffff';}
  201. if(model.getValue(xPathPatDetlInfo + "/clincstdyyn") !="" ){cap_clincstdyyn.attribute('background-color') = '#ffff99';}
  202. else{ cap_clincstdyyn.attribute('background-color') = '#ffffff';}
  203. if(model.getValue(xPathPatDetlInfo + "/cpyn") !="" ){opt_cpyn.attribute('background-color') = '#ffff99';}
  204. else{ opt_cpyn.attribute('background-color') = '#ffffff';}
  205. if(model.getValue(xPathPatDetlInfo + "/blodprepyn") !="" ){opt_blodprepyn.attribute('background-color') = '#ffff99';}
  206. else{ opt_blodprepyn.attribute('background-color') = '#ffffff';}
  207. if(model.getValue(xPathPatDetlInfo + "/chngroomstat")!="" ){opt_chngroomstat.attribute('background-color') = '#ffff99';}
  208. else{ opt_chngroomstat.attribute('background-color') = '#ffffff';}
  209. if(model.getValue(xPathPatDetlInfo + "/indschstat") !="" ){opt_indschstat.attribute('background-color') = '#ffff99';}
  210. else{ opt_indschstat.attribute('background-color') = '#ffffff';}
  211. var blodprep = model.getValue(xPathPatList + "[" + rowNo + "]/blodprepyn");
  212. if (blodprep == "Y") {
  213. opt_blodprepyn.attribute("background-image") = "../../../emr/commonweb/images/blood.gif";
  214. } else {
  215. opt_blodprepyn.attribute("background-image") = "";
  216. }
  217. model.refresh();
  218. }
  219. /**
  220. * @group :
  221. * @ver : 2007.10.08
  222. * @by : 김홍점
  223. * @---------------------------------------------------
  224. * @type : function
  225. * @access : public
  226. * @desc : 환자리스트 클릭시
  227. * @param :
  228. * @param :
  229. * @return :
  230. * @---------------------------------------------------
  231. */
  232. function fClickPatList() {
  233. if (grd_patlist.row > 0 ) {
  234. //debugger;
  235. ePID = model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid");
  236. if(ePID == "3292911") { // 메르스 확정환자
  237. if (!fContainsHardCD("5703", getUserInfo("userid"))) {
  238. messageBox("환자번호 : " + pid + "\n개인정보보호 관리대상 환자로 접근권한을 제한 합니다.\n\n진료지원실장 양동헌", "E999");
  239. return ;
  240. }
  241. }
  242. //응급실 상단추가----------(20101018) 경북대
  243. if ( model.getValue("/root/main/cond/wardcd") != eERDEPTCD ) {
  244. //입원
  245. ePID = model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid");
  246. eINDD = model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd");
  247. eCRETNO = model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno");
  248. //fSettingPatDetlInfo( grd_patlist.row );
  249. // 상단 세팅을 위한 파라미터
  250. condparam = "I"+ "▦" + model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid")
  251. + "▦" + model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd")
  252. + "▦" + model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno")
  253. + "▦" + model.getValue(xPathPatList + "[" + grd_patlist.row + "]/instcd")
  254. + "▦" + model.getValue("/root/main/cond/orddd");
  255. setParameter("condparam", condparam);
  256. //상단 세팅 화면 사이즈 작게 띄움
  257. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  258. } else {
  259. //응급
  260. eORDTYPE = model.getValue(xPathPatList + "[" + grd_patlist.row + "]/ordtype" );
  261. ePID = model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid" );
  262. eINDD = model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd" );
  263. eCRETNO = model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno" );
  264. eINSTCD = model.getValue(xPathPatList + "[" + grd_patlist.row + "]/instcd" );
  265. //var sSrchdd = model.getValue(xPathPatList + "[" + grd_patlist.row + "]/dschdd" );
  266. var param = "E" + "▦"
  267. + ePID + "▦"
  268. + eINDD + "▦"
  269. + eCRETNO + "▦"
  270. + eINSTCD + "▦" ;
  271. //+ sSrchdd + "▦" ;
  272. setParameter("condparam", param);
  273. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  274. }
  275. //----------(20101018) 경북대
  276. //to-do list조회
  277. //fGetTodoList();
  278. //메모리스트 조회
  279. //fGetMemoList();
  280. //투약,검사관리 조회 20081216 카덱스정보 모두 조회 김홍점 수정
  281. fGetMedSpccdList("clickpat");
  282. }
  283. var mainObj = getMainViewer();
  284. if(mainObj != null) {
  285. scrid = mainObj.javascript.getScreenID();
  286. if(scrid == "SMMNW00100") {
  287. mainObj.javascript.fInqurySelectedPrgm();
  288. } else if(scrid == "SMMNE00100"){
  289. mainObj.javascript.fSeletedSrcTool();
  290. }
  291. }
  292. }
  293. function fActivitySave(pDelFlag){
  294. model.removeNodeset("/root/send/savedata");
  295. //alert()
  296. // if ( grd_cadexset.row != -1 ||
  297. // isNull(model.getValue(xPathCardexSetList + "["+grd_cadexset.row+"]/itemcnts")) ){
  298. //
  299. // messageBox("저장할 ","E013");
  300. // return;
  301. // }
  302. //
  303. var savecnt = 1;
  304. for( var idx = 1
  305. ; idx <= grd_cadexset.rows - grd_cadexset.fixedRows
  306. ; idx++ ){
  307. if( pDelFlag != "delete"
  308. && (model.getValue(xPathCardexSetList + "["+idx+"]/status") == "i"
  309. || model.getValue(xPathCardexSetList + "["+idx+"]/status") == "u") ){
  310. if ( isNull(model.getValue(xPathCardexSetList + "["+idx+"]/itemcnts")) ){
  311. messageBox("저장할 내용을 ", "C001");//입력하십시요
  312. return;
  313. }
  314. if(grd_cadexset.labelMatrix( idx , grd_cadexset.colRef("itemnm"))== "Activity"){
  315. model.makeValue("/root/send/savedata["+ savecnt +"]/status", model.getValue(xPathCardexSetList + "["+idx+"]/status"));
  316. model.makeValue("/root/send/savedata["+ savecnt +"]/pid", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid"));
  317. model.makeValue("/root/send/savedata["+ savecnt +"]/indd", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd"));
  318. model.makeValue("/root/send/savedata["+ savecnt +"]/cretno", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno"));
  319. model.makeValue("/root/send/savedata["+ savecnt +"]/orddd", model.getValue("/root/main/cond/orddd"));
  320. model.makeValue("/root/send/savedata["+ savecnt +"]/apntflag", "C");
  321. model.makeValue("/root/send/savedata["+ savecnt +"]/prcpcd", "-");
  322. model.makeValue("/root/send/savedata["+ savecnt +"]/bizspec", model.getValue(xPathCardexSetList + "["+idx+"]/itemcnts"));
  323. model.makeValue("/root/send/savedata["+ savecnt +"]/itemcd", "test");
  324. model.makeValue("/root/send/savedata["+ savecnt +"]/apntseqno", model.getValue(xPathCardexSetList + "["+idx+"]/flag"));
  325. model.makeValue("/root/send/savedata["+ savecnt +"]/memocnts", model.getValue(xPathCardexSetList + "["+idx+"]/itemcnts"));
  326. model.makeValue("/root/send/savedata["+ savecnt +"]/memoitemflag", "07");
  327. model.makeValue("/root/send/savedata["+ savecnt +"]/seqno", model.getValue(xPathCardexSetList + "["+idx+"]/flag"));
  328. model.makeValue("/root/send/savedata["+ savecnt +"]/recdd_b", model.getValue(xPathCardexSetList + "["+idx+"]/recdd").substring(0,8));//특이사항은 일시가 조회되어넘어옴.
  329. model.makeValue("/root/send/savedata["+ savecnt +"]/rectm_b", model.getValue(xPathCardexSetList + "["+idx+"]/recdd").substring(8));
  330. } else {
  331. model.makeValue("/root/send/savedata["+ savecnt +"]/status", model.getValue(xPathCardexSetList + "["+idx+"]/status"));
  332. model.makeValue("/root/send/savedata["+ savecnt +"]/pid", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid"));
  333. model.makeValue("/root/send/savedata["+ savecnt +"]/indd", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd"));
  334. model.makeValue("/root/send/savedata["+ savecnt +"]/cretno", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno"));
  335. model.makeValue("/root/send/savedata["+ savecnt +"]/orddd", model.getValue("/root/main/cond/orddd"));
  336. model.makeValue("/root/send/savedata["+ savecnt +"]/apntflag", "특이");
  337. model.makeValue("/root/send/savedata["+ savecnt +"]/prcpcd", "-");
  338. model.makeValue("/root/send/savedata["+ savecnt +"]/bizspec", model.getValue(xPathCardexSetList + "["+idx+"]/itemcnts"));
  339. model.makeValue("/root/send/savedata["+ savecnt +"]/itemcd", "test");
  340. model.makeValue("/root/send/savedata["+ savecnt +"]/apntseqno", model.getValue(xPathCardexSetList + "["+idx+"]/flag"));
  341. model.makeValue("/root/send/savedata["+ savecnt +"]/memocnts", model.getValue(xPathCardexSetList + "["+idx+"]/itemcnts"));
  342. model.makeValue("/root/send/savedata["+ savecnt +"]/memoitemflag", "07");
  343. model.makeValue("/root/send/savedata["+ savecnt +"]/seqno", model.getValue(xPathCardexSetList + "["+idx+"]/flag"));
  344. model.makeValue("/root/send/savedata["+ savecnt +"]/recdd_b", model.getValue(xPathCardexSetList + "["+idx+"]/recdd").substring(0,8));//특이사항은 일시가 조회되어넘어옴.
  345. model.makeValue("/root/send/savedata["+ savecnt +"]/rectm_b", model.getValue(xPathCardexSetList + "["+idx+"]/recdd").substring(8));
  346. }
  347. }else if ( pDelFlag == "delete"
  348. && model.getValue(xPathCardexSetList + "["+idx+"]/status") == "d"){
  349. if(grd_cadexset.labelMatrix( idx , grd_cadexset.colRef("itemnm"))== "Activity"){
  350. model.makeValue("/root/send/savedata["+ savecnt +"]/status", "d");
  351. model.makeValue("/root/send/savedata["+ savecnt +"]/apntflag", "C");
  352. model.makeValue("/root/send/savedata["+ savecnt +"]/apntseqno", model.getValue(xPathCardexSetList + "["+idx+"]/flag"));
  353. model.makeValue("/root/send/savedata["+ savecnt +"]/pid", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid"));
  354. model.makeValue("/root/send/savedata["+ savecnt +"]/indd", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd"));
  355. model.makeValue("/root/send/savedata["+ savecnt +"]/cretno", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno"));
  356. model.makeValue("/root/send/savedata["+ savecnt +"]/orddd", model.getValue("/root/main/cond/orddd"));
  357. model.makeValue("/root/send/savedata["+ savecnt +"]/memoitemflag", "07");
  358. model.makeValue("/root/send/savedata["+ savecnt +"]/seqno", model.getValue(xPathCardexSetList + "["+idx+"]/flag"));
  359. model.makeValue("/root/send/savedata["+ savecnt +"]/recdd_b", model.getValue(xPathCardexSetList + "["+idx+"]/recdd").substring(0,8));//특이사항은 일시가 조회되어넘어옴.
  360. model.makeValue("/root/send/savedata["+ savecnt +"]/rectm_b", model.getValue(xPathCardexSetList + "["+idx+"]/recdd").substring(8));
  361. } else {
  362. model.makeValue("/root/send/savedata["+ savecnt +"]/status", "d");
  363. model.makeValue("/root/send/savedata["+ savecnt +"]/apntflag", "특이");
  364. model.makeValue("/root/send/savedata["+ savecnt +"]/apntseqno", model.getValue(xPathCardexSetList + "["+idx+"]/flag"));
  365. model.makeValue("/root/send/savedata["+ savecnt +"]/pid", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid"));
  366. model.makeValue("/root/send/savedata["+ savecnt +"]/indd", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd"));
  367. model.makeValue("/root/send/savedata["+ savecnt +"]/cretno", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno"));
  368. model.makeValue("/root/send/savedata["+ savecnt +"]/orddd", model.getValue("/root/main/cond/orddd"));
  369. model.makeValue("/root/send/savedata["+ savecnt +"]/memoitemflag", "07");
  370. model.makeValue("/root/send/savedata["+ savecnt +"]/seqno", model.getValue(xPathCardexSetList + "["+idx+"]/flag"));
  371. model.makeValue("/root/send/savedata["+ savecnt +"]/recdd_b", model.getValue(xPathCardexSetList + "["+idx+"]/recdd").substring(0,8));//특이사항은 일시가 조회되어넘어옴.
  372. model.makeValue("/root/send/savedata["+ savecnt +"]/rectm_b", model.getValue(xPathCardexSetList + "["+idx+"]/recdd").substring(8));
  373. }
  374. }
  375. savecnt++;
  376. }
  377. if ( getNodesetCount("/root/send/savedata") <= 0 ){
  378. return;
  379. }
  380. model.removeNodeSet(xPathCardexSetList);
  381. if(submit("TXMNB00204","false")){
  382. //카덱스 정보 Setting
  383. if ( getNodesetCount(xPathHidCardexSetList) > 0 ){
  384. model.makeNode(xPathCardexSetList);
  385. copyNodesetType(xPathCardexSetList, xPathHidCardexSetList, "replace", model, model);
  386. }
  387. grd_cadexset.rebuild();
  388. }
  389. }
  390. /**
  391. * @group :
  392. * @ver : 2007.10.08
  393. * @by : 김홍점
  394. * @---------------------------------------------------
  395. * @type : function
  396. * @access : public
  397. * @desc : 환자번호가 없거나 내환자, 업무일자 value change시 환자리스트에
  398. * 전역변수에 환자정보와 일치하는 값이 존재할경우 all 이고 아니면 pat으로 조회
  399. * @param :
  400. * @param :
  401. * @return :
  402. * @---------------------------------------------------
  403. */
  404. function fGetKardexInfo() {
  405. }
  406. /**
  407. * @group :
  408. * @ver : 2007.10.08
  409. * @by : 최경용
  410. * @---------------------------------------------------
  411. * @type : function
  412. * @access : public
  413. * @desc : 투약, 검사관리 조회
  414. * @param :srchflag : cardex(카덱스 저장버튼 클릭 및 팝업화면에서 값 수정시 )
  415. , med(투약관리 저장클릭시)
  416. , test(검사관리의 조회버튼 클릭시)
  417. , all (환자리스트를 포함한 모든정보 조회할경우 )
  418. , pat (환자리스트만 조회)
  419. , clickpat (환자리스트를 클릭했을때 조회)
  420. , today (기구관리기록 화면닫을경우)
  421. * @param :
  422. * @return :
  423. * @---------------------------------------------------
  424. */
  425. function fGetMedSpccdList(srchflag){
  426. var medrcnt = 0;
  427. var prcpdd = "";
  428. var preprcpdd = "";
  429. var nodecnt = 1;
  430. var orddd = model.getValue("/root/main/cond/orddd");
  431. var SUBMIT201 = "TRMNB00201";// all 인경우 pat으로 호출해서 환자정보만 먼저 조회해서 copynode,pat,test,cath 인경우 조회해서 copynode
  432. var SUBMIT203 = "TRMNB00203";// all 인경우 clickpat 호출 , clickpat인경우의 속도향상을 위해 main 노드에 바로 받음.
  433. var submitID ="";
  434. var srcNodePath="";
  435. var destNodePath="";
  436. var destobj;
  437. //메모리스트 조회 조건 추가 20081216 김홍점
  438. model.removeNodeset("/root/send/reqdata");
  439. model.makeNode("/root/send/reqdata");
  440. model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/main/cond/wardcd"));
  441. model.makeValue("/root/send/reqdata/orddd", orddd);
  442. model.makeValue("/root/send/reqdata/orddd_1", getDateAddc(orddd, 1));
  443. //검사관리용 조건
  444. model.makeValue("/root/send/reqdata/twodaypreorddd", getDateAddc(orddd, -1));
  445. model.makeValue("/root/send/reqdata/twoweekpreorddd", getDateAddc(orddd, -14));
  446. model.makeValue("/root/send/reqdata/testprcpflag", model.getValue("/root/main/cond/testprcpflag"));
  447. model.makeValue("/root/send/reqdata/execflag", model.getValue("/root/main/cond/execflag"));
  448. //model.makeValue("/root/send/reqdata/srchflag", srchflag);
  449. model.makeValue("/root/send/reqdata/pid", ePID );
  450. model.makeValue("/root/send/reqdata/indd", eINDD );
  451. model.makeValue("/root/send/reqdata/cretno", eCRETNO );
  452. model.makeValue("/root/send/reqdata/settingrnid", model.getValue("/root/main/cond/settingrnid"));
  453. //응급실정보 추가_20110211_SMY
  454. model.makeValue("/root/send/reqdata/erflag", eERFLAG);
  455. model.makeValue("/root/send/reqdata/zonecd", model.getValue("/root/main/cond/zonecd"));
  456. if ( srchflag =="all" || srchflag =="clickpat" || srchflag == "pat" ){
  457. model.makeValue("/root/send/reqdata/srchflag", srchflag);
  458. submitID = SUBMIT203;
  459. //fClearExceptPatList();
  460. if(submit(submitID)){
  461. fSettingCardexDetlInfo();
  462. fCheckNacrCnt();
  463. }
  464. }else {
  465. model.makeValue("/root/send/reqdata/srchflag", srchflag);
  466. submitID = SUBMIT201;
  467. // model.removeNodeSet("/root/hidden/kardexinfo");
  468. destNodePath="";
  469. srcNodePath="";
  470. // if( srchflag == "pat"){
  471. // model.removeNodeSet(xPathPatList);
  472. // fClearExceptPatList();
  473. //
  474. // srcNodePath = xPathHiddenPatList;
  475. // destNodePath = xPathPatList;
  476. // destobj = grd_patlist;
  477. // }else
  478. if( srchflag == "test" ){
  479. model.removeNodeSet(xPathTestList);
  480. srcNodePath = xPathHiddenTestList;
  481. destNodePath = xPathTestList;
  482. destobj = grd_test;
  483. }else if ( srchflag == "cath" ){
  484. model.removeNodeSet(xPathCatheterList);
  485. srcNodePath = xPathHiddenCatheterList;
  486. destNodePath = xPathCatheterList;
  487. destobj = grd_catheter;
  488. }else if ( srchflag == "today" ){
  489. model.removeNodeSet(xPathTodayList3);
  490. srcNodePath = xPathHiddenTodayList3;
  491. destNodePath = xPathTodayList3;
  492. destobj = grd_today3;
  493. }else if ( srchflag == "narc" ){
  494. model.removeNodeSet(xPathNarcInfo);
  495. srcNodePath = xPathHiddenNarcInfo;
  496. destNodePath = xPathNarcInfo;
  497. destobj = grd_today3;
  498. }
  499. if(submit(submitID, false)){
  500. if ( getNodesetCount(srcNodePath) > 0 ){
  501. model.makeNode(destNodePath);
  502. copyNodesetType(destNodePath, srcNodePath, "replace", model, model);
  503. }
  504. destobj.rebuild();
  505. fCheckNacrCnt();
  506. }
  507. }
  508. fSettingGridColor();
  509. // model.removeNodeSet("/root/main/kardexinfo");
  510. // model.makeNode("/root/main/kardexinfo");
  511. //
  512. // if(submit(submitID, false)){
  513. //
  514. // //btn_medrsave.disabled = true;
  515. // //model.refresh();
  516. //
  517. // if( srchflag == "all" || srchflag == "clickpat" ){
  518. //
  519. ////
  520. //// //의뢰및 컨설트
  521. //// model.setValue("/root/main/consultinfo/reqcnt", model.getValue("/root/hidden/medspccdlist/consultinfo/reqcnt"));
  522. //// model.setValue("/root/main/consultinfo/repcnt", model.getValue("/root/hidden/medspccdlist/consultinfo/repcnt"));
  523. ////
  524. //// //카덱스 정보 Setting
  525. //// model.removeNodeSet(xPathCardexSetList);
  526. //// model.makeNode(xPathCardexSetList);
  527. //// copyNodesetType(xPathCardexSetList, "/root/hidden/medspccdlist/cardexsetlist", "replace", model, model);
  528. // grd_cadexset.rebuild();
  529. ////
  530. //// //메모 정보 Setting
  531. //// model.removeNodeSet(xPathMemoList);
  532. //// model.makeNode(xPathMemoList);
  533. //// copyNodesetType(xPathMemoList, "/root/hidden/medspccdlist/memolist", "replace", model, model);
  534. // grd_memo.rebuild();
  535. ////
  536. //// //투약관리 메모 Setting
  537. //// model.removeNodeSet(xPathMedrMemoInfo);
  538. //// model.makeNode(xPathMedrMemoInfo);
  539. //// model.copyNode(xPathMedrMemoInfo, "/root/hidden/medspccdlist/medrmemoinfo");
  540. // tar_remk1.refresh();
  541. ////
  542. //// //간호수행 정보 Setting 2008-05-22 1.카덱스_SMMNB00200_김숙인.xls 요구사항에 의한 삭제
  543. ////// model.removeNodeSet("/root/main/careexecinfo/careexeclist");
  544. ////// model.makeNode("/root/main/careexecinfo/careexeclist");
  545. ////// copyNodesetType("/root/main/careexecinfo/careexeclist", "/root/hidden/medspccdlist/careexeclist", "replace", model, model);
  546. ////// grd_careexec.rebuild();
  547. ////
  548. ////
  549. //// //투약정보 Setting
  550. //// medrcnt = getNodesetCount("/root/hidden/medspccdlist/medrlist");
  551. ////
  552. //// model.removeNodeSet(xPathMedrPrcpddList);
  553. //// model.removeNodeSet(xPathMedrPrcpList);
  554. ////
  555. //// //model.resetInstanceNode(xPathMedrMemoInfo + "");
  556. ////
  557. //// if(medrcnt > 0){
  558. //// for(var i = 1; i <= medrcnt; i++){
  559. //// prcpdd = model.getValue("/root/hidden/medspccdlist/medrlist[" + i + "]/prcpdd");
  560. //// if(i == 1){
  561. //// preprcpdd = prcpdd;
  562. //// grd_medi1.addrow(false);
  563. //// model.setValue("/root/main/medinfo/medrprcpdd[" + nodecnt + "]/prcpdd", prcpdd);
  564. //// nodecnt++;
  565. //// }else if(preprcpdd != prcpdd){
  566. //// preprcpdd = prcpdd;
  567. //// grd_medi1.addrow(false);
  568. //// model.setValue("/root/main/medinfo/medrprcpdd[" + nodecnt + "]/prcpdd", prcpdd);
  569. //// nodecnt++;
  570. //// }else{}
  571. //// }
  572. //// }
  573. // grd_medi1.rebuild();
  574. ////
  575. // var meprcpdd = getNodesetCount(xPathMedrPrcpddList);
  576. //
  577. // if (meprcpdd > 0) {
  578. // grd_medi1.row = grd_medi1.findRow(model.getValue("/root/main/cond/orddd"), 1, 0);
  579. // grd_medi1.topRow = grd_medi1.row-1;
  580. //
  581. // fDBClickMedr();
  582. // }
  583. // }
  584. //// //투약관리 메모조회
  585. //// //fDBClickMemo();
  586. ////
  587. // //환자세팅
  588. // if ( srchflag == "all" || srchflag == "pat" ){
  589. //
  590. // if( !isNull(ePID) && (srchflag =="all") ){
  591. // for(var i = 1; i <= getNodesetCount(xPathPatList); i++){
  592. // if(model.getValue(xPathPatList+"[" + i + "]/pid") == ePID){
  593. // model.setFocus("grd_patlist");
  594. // grd_patlist.row = i;
  595. // grd_patlist.dispatch("onentercell");
  596. // fSettingPatDetlInfo(grd_patlist.row);
  597. // break;
  598. // }
  599. // }
  600. // }
  601. //
  602. // grd_patlist.refresh();
  603. //
  604. // if ( srchflag == "pat" ){//환자리스트가 재조회되었을 경우 나머지 테이블은 클리어
  605. // fClearExceptPatList();
  606. // }
  607. // }
  608. //
  609. // //검사정보 Setting
  610. // if ( srchflag == "test" || srchflag == "clickpat" ){
  611. // model.removeNodeSet(xPathTestList);
  612. // model.makeNode(xPathTestList);
  613. // copyNodesetType(xPathTestList, xPathHiddenTestList, "replace", model, model);
  614. // grd_test.rebuild();
  615. // }
  616. //
  617. // //catheter Setting
  618. // if ( srchflag == "cath" || srchflag == "clickpat" ){
  619. // model.removeNodeSet(xPathCatheterList);
  620. // model.makeNode(xPathCatheterList);
  621. // copyNodesetType(xPathCatheterList, xPathHiddenCatheterList, "replace", model, model);
  622. // grd_catheter.rebuild();
  623. // }
  624. // }
  625. }
  626. /**
  627. * @group :
  628. * @ver : 2007.10.08
  629. * @by : 김홍점
  630. * @---------------------------------------------------
  631. * @type : function
  632. * @access : public
  633. * @desc : 환자리스트에 환자정보 존재하는지 체크
  634. * @param :
  635. * @param :
  636. * @return :
  637. * @---------------------------------------------------
  638. */
  639. function fCheckExistPid() {
  640. if( !isNull(ePID) ){
  641. for(var i = 1; i <= getNodesetCount(xPathPatList); i++){
  642. if(model.getValue(xPathPatList+"[" + i + "]/pid") == ePID){
  643. model.setFocus("grd_patlist");
  644. grd_patlist.row = i;
  645. break;
  646. }
  647. }
  648. }
  649. }
  650. /**
  651. * @group :
  652. * @ver : 2007.10.08
  653. * @by : 김홍점
  654. * @---------------------------------------------------
  655. * @type : function
  656. * @access : public
  657. * @desc : 환자의 카덱스 정보 조회후 세팅
  658. * @param :
  659. * @param :
  660. * @return :
  661. * @---------------------------------------------------
  662. */
  663. function fSettingCardexDetlInfo() {
  664. fCheckExistPid();
  665. if ( grd_patlist.row > 0 ){
  666. grd_patlist.dispatch("onentercell");
  667. fSettingPatDetlInfo(grd_patlist.row);
  668. grd_patlist.refresh();
  669. }
  670. cap_today.text = getNodesetCount(xPathTodayScheduleList);
  671. cap_tomorrow.text = getNodesetCount(xPathTomorrowScheduleList);
  672. var meprcpdd = getNodesetCount(xPathMedrPrcpddList);
  673. if (meprcpdd > 0) {
  674. grd_medi1.row = grd_medi1.findRow(model.getValue("/root/main/cond/orddd"), 1, 0);
  675. grd_medi1.topRow = grd_medi1.row-1;
  676. fDBClickMedr();
  677. }
  678. }
  679. /**
  680. * @group :
  681. * @ver : 2007.10.08
  682. * @by : 김홍점
  683. * @---------------------------------------------------
  684. * @type : function
  685. * @access : public
  686. * @desc : 환자리스트를 제외한 환자 상세정보 값 clear
  687. * @param :
  688. * @param :
  689. * @return :
  690. * @---------------------------------------------------
  691. */
  692. function fCheckNacrCnt() {
  693. //마약 미정리건 블러킹 20090504 김홍점
  694. if ( model.getValue(xPathNarcInfo + "/cnt") > "0" ){
  695. messageBox("정리되지 않은 마약이 존재합니다.","I007");
  696. model.setAttribute("Narc_Menu_Param", "");
  697. var sParam = "I,op";
  698. model.setAttribute("Narc_Menu_Param", sParam);
  699. model.setAttribute("SMADT30400_Fromdd", model.getValue(xPathNarcInfo+"/prcpdd"));
  700. modal("SMADT30400","1","15","128");
  701. model.setAttribute("SMADT30400_Fromdd", "");
  702. fGetMedSpccdList("narc");
  703. }
  704. }
  705. /**
  706. * @group :
  707. * @ver : 2007.10.08
  708. * @by : 김홍점
  709. * @---------------------------------------------------
  710. * @type : function
  711. * @access : public
  712. * @desc : 환자리스트를 제외한 환자 상세정보 값 clear
  713. * @param :
  714. * @param :
  715. * @return :
  716. * @---------------------------------------------------
  717. */
  718. function fClearExceptPatList() {
  719. model.resetInstanceNode(xPathConsultInfo);
  720. model.resetInstanceNode(xPathAssessInfo);
  721. model.resetInstanceNode(xPathMedrMemoInfo);
  722. model.resetInstanceNode(xPathPatDetlInfo);
  723. opt_blodprepyn.attribute("background-image") = "";
  724. model.setValue(xPathPatDetlInfo + "/roomcd", "병실");
  725. model.setValue(xPathPatDetlInfo + "/pid", "등록번호");
  726. model.setValue(xPathPatDetlInfo + "/patnm", "환자명");
  727. model.setValue(xPathPatDetlInfo + "/sexage", "S/A");
  728. model.removeNodeSet(xPathMemoList);
  729. model.removeNodeSet(xPathTodayScheduleList);
  730. model.removeNodeSet(xPathTomorrowScheduleList);
  731. model.removeNodeSet(xPathTodayList1);
  732. model.removeNodeSet(xPathTodayList2);
  733. model.removeNodeSet(xPathTodayList3);
  734. model.removeNodeSet(xPathCardexSetList);
  735. model.removeNodeSet(xPathHiddenCatheterList);
  736. model.removeNodeSet(xPathCatheterList);
  737. model.removeNodeSet(xPathMedrList);
  738. model.removeNodeSet(xPathMedrPrcpddList);
  739. model.removeNodeSet(xPathMedrPrcpList);
  740. model.removeNodeSet(xPathHiddenTestList);
  741. model.removeNodeSet(xPathTestList);
  742. }
  743. /**
  744. * @group :
  745. * @ver : 2007.10.08
  746. * @by : 최경용
  747. * @---------------------------------------------------
  748. * @type : function
  749. * @access : public
  750. * @desc : 투약관리 처방적용일 더블클릭시
  751. * @param :
  752. * @param :
  753. * @return :
  754. * @---------------------------------------------------
  755. */
  756. function fDBClickMedr(){
  757. var row = grd_medi1.row;
  758. var medrcnt = getNodesetCount(xPathMedrList);
  759. //model.copyNode("/root/main/medinfo/medrprcplist[" + 1 + "]", "/root/hidden/medspccdlist/medrlist[" + 1 + "]");//test
  760. //alert('test');
  761. //alert(model.getValue("/root/hidden/medspccdlist/medrlist[1]/prcpvol") + ' testdddd');
  762. //model.removeNode("/root/main/medinfo");
  763. var prcpdd = model.getValue(xPathMedrPrcpddList + "[" + row + "]/prcpdd");
  764. ePRCPDD = prcpdd;
  765. var hngnm = "";
  766. var prcpvol = "";
  767. var prcpvolunitflag = "";
  768. var prcpqty = "";
  769. var prcpqtyunitflag = "";
  770. var prcptims = "";
  771. var abbrnm = "";
  772. var drugmthdspccd = "";
  773. var prcpnm = "";
  774. var prcpstatnm = "";
  775. var count = 1;
  776. var icnt = 1;
  777. if(medrcnt > 0){
  778. model.removeNodeSet(xPathMedrPrcpList);
  779. model.makeNode(xPathMedrPrcpList);
  780. copyNodesetType(xPathMedrPrcpList, xPathMedrList + "[prcpdd = '" + prcpdd + "']", "replace", model, model);
  781. }
  782. grd_medi2.rebuild();
  783. }
  784. /**
  785. * @group :
  786. * @ver : 2007.10.08
  787. * @by : 최경용
  788. * 김홍점 20081216 사용안함 fGetMedSpccdList("all")에서 모두 조회 하는걸로 수정
  789. * @---------------------------------------------------
  790. * @type : function
  791. * @access : public
  792. * @desc : 메모리스트 조회
  793. * @param :
  794. * @param :
  795. * @return :
  796. * @---------------------------------------------------
  797. */
  798. function fGetMemoList(){
  799. //메모리스트 조회
  800. model.removeNodeset("/root/send/reqdata");
  801. model.makeNode("/root/send/reqdata");
  802. model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/main/cond/wardcd"));
  803. model.makeValue("/root/send/reqdata/orddd", model.getValue("/root/main/cond/orddd"));
  804. model.makeValue("/root/send/reqdata/pid", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid"));
  805. model.makeValue("/root/send/reqdata/indd", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd"));
  806. model.makeValue("/root/send/reqdata/cretno", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno"));
  807. model.makeValue("/root/send/reqdata/memoitemflag", '05');
  808. model.removeNodeset("/root/main/memoinfo");
  809. model.makeNode("/root/main/memoinfo");
  810. submit("TRMNB00202");
  811. }
  812. /**
  813. * @group :
  814. * @ver : 2007.10.08
  815. * @by : 최경용
  816. * @---------------------------------------------------
  817. * @type : function
  818. * @access : public
  819. * @desc : 투약관리 메모 조회
  820. * @param :
  821. * @param :
  822. * @return :
  823. * @---------------------------------------------------
  824. */
  825. function fDBClickMemo(){
  826. //메모리스트 조회
  827. model.removeNodeset("/root/send/reqdata");
  828. model.makeNode("/root/send/reqdata");
  829. model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/main/cond/wardcd"));
  830. //model.makeValue("/root/send/reqdata/orddd", ePRCPDD);
  831. model.makeValue("/root/send/reqdata/pid", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid"));
  832. model.makeValue("/root/send/reqdata/indd", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd"));
  833. model.makeValue("/root/send/reqdata/cretno", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno"));
  834. model.makeValue("/root/send/reqdata/memoitemflag", '06');
  835. submit("TRMNB00204");
  836. model.setValue(xPathMedrMemoInfo + "/memocnts", model.getValue("/root/hidden/memoinfo/memolist/memocnts"));
  837. model.setValue(xPathMedrMemoInfo + "/recdd_b", model.getValue("/root/hidden/memoinfo/memolist/recdd"));
  838. model.setValue(xPathMedrMemoInfo + "/rectm_b", model.getValue("/root/hidden/memoinfo/memolist/rectm"));
  839. model.setValue(xPathMedrMemoInfo + "/seqno", model.getValue("/root/hidden/memoinfo/memolist/seqno"));
  840. if( !isNull(model.getValue("/root/hidden/memoinfo/memolist/recdd"))){
  841. model.setValue(xPathMedrMemoInfo + "/status", "u")
  842. }
  843. model.refresh();
  844. }
  845. /**
  846. * @group :
  847. * @ver : 2007.10.08
  848. * @by : 최경용
  849. * 20081216 김홍점 not use 요구사항에 의해 사용안함.
  850. * @---------------------------------------------------
  851. * @type : function
  852. * @access : public
  853. * @desc : to-do 리스트 조회
  854. * @param :
  855. * @param :
  856. * @return :
  857. * @---------------------------------------------------
  858. */
  859. function fGetTodoList() {
  860. model.removeNodeset("/root/main_todo/todoinfo/todopatlist"); // 교육대상자리스트 Clear
  861. grd_todolist.refresh();
  862. model.removenode("/root/send");
  863. model.makeValue("/root/send/wardcd", model.getValue("/root/main/cond/wardcd"));
  864. model.makeValue("/root/send/orddd", model.getValue("/root/main/cond/orddd"));
  865. model.makeValue("/root/send/orddd_t", (model.getValue("/root/main/cond/orddd")).toDate().getAddDate(+1, "D").getDateFormat());
  866. model.makeValue("/root/send/settingrnid", model.getValue("/root/main/cond/settingrnid"));
  867. model.makeValue("/root/send/memoitemflag", '04');
  868. model.makeValue("/root/send/status", '01');
  869. model.makeValue("/root/send/patinfoyn", 'Y');
  870. grd_todolist.allStyle("data", "background-image") = "";
  871. model.makeValue("/root/send/pid", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid"));
  872. model.makeValue("/root/send/indd", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd"));
  873. model.makeValue("/root/send/cretno", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno"));
  874. for(var i = 1 ; i < grd_todolist.rows ; i++){
  875. for(var j = 17 ; j < 100 ;){
  876. grd_todolist.cellStyle("background-color", i, j, i,j) = "#FFFFFF";
  877. j = j+3;
  878. }
  879. }
  880. if (submit("TRMNW00401")) {
  881. for(var i = 1 ; i < grd_todolist.rows ; i++){
  882. var blodprep = model.getValue("/root/main_todo/todoinfo/todopatlist[" + i + "]/blodprepyn");
  883. if (blodprep == "Y") {
  884. model.setValue("/root/main_todo/todoinfo/todopatlist[" + i + "]/blodprepyn", "");
  885. grd_todolist.cellstyle("background-image", i , 7) = "../../../emr/commonweb/images/blood.gif";
  886. } else {
  887. grd_todolist.cellstyle("background-image", i , 7) = "";
  888. }
  889. for(var j = 17 ; j < 100 ;){
  890. if(grd_todolist.valueMatrix(i,j) == "MEMO"){
  891. grd_todolist.cellstyle("background-image", i, j+1) = "../../../com/commonweb/images/icon_list.gif";
  892. }
  893. j = j+3;
  894. }
  895. for(var j = 19 ; j < 100 ;){
  896. var execyn = (grd_todolist.valueMatrix(i,j)).substring(18,19);
  897. if( execyn == "Y"){
  898. grd_todolist.cellStyle("background-color", i, j-1, i,j-1) = "#F08080";
  899. }else{
  900. grd_todolist.cellStyle("background-color", i, j-1, i,j-1) = grd_todolist.cellStyle("background-color", i, j+1, i,j+1);
  901. }
  902. j = j+3;
  903. }
  904. }
  905. }//submit
  906. }
  907. /**
  908. * @group :
  909. * @ver : 2008.10.05
  910. * @by : 김홍점
  911. * @---------------------------------------------------
  912. * @type : function
  913. * @access : public
  914. * @desc : 특이사항 Activity 삭제
  915. * @param :
  916. * @param :
  917. * @return :
  918. * @---------------------------------------------------
  919. */
  920. function fDelCardexSet(){
  921. for ( var idx = 0 ; idx < grd_cadexset.selectedRows ; idx++){
  922. if( model.getValue(xPathCardexSetList + "["+grd_cadexset.selectedRow(idx)+"]/flag") != "0" ){
  923. model.makeValue(xPathCardexSetList + "["+grd_cadexset.selectedRow(idx)+"]/status", "d");
  924. }
  925. }
  926. fActivitySave("delete");
  927. }
  928. /**
  929. * @group :
  930. * @ver : 2007.10.08
  931. * @by : 최경용
  932. * @---------------------------------------------------
  933. * @type : function
  934. * @access : public
  935. * @desc : 메모리스트 저장
  936. * @param :
  937. * @param :
  938. * @return :
  939. * @---------------------------------------------------
  940. */
  941. function fExeMomoList() {
  942. if ( grd_patlist.row == -1) {
  943. messageBox("해당 환자가 선택되지", "E007");
  944. return;
  945. } else {
  946. var memocnts = grd_memo.getUpdateData();
  947. for( var cnt = 1 ; cnt < memocnts.split("▩").length-1 ; cnt++ ){
  948. if ( getArrayData(memocnts,cnt,2) == "" ){
  949. messageBox("저장할 메모를", "C001");//" 입력하십시오."
  950. return;
  951. }
  952. }
  953. model.removeNodeset("/root/send/savedata");
  954. model.makeNode("/root/send/savedata");
  955. //그리드 저장조건
  956. for (var i = 1; i < grd_memo.rows; i++) {
  957. model.setValue(xPathMemoList+"[" + i + "]/memoitemflag", '05');
  958. model.setValue(xPathMemoList + "[" + i + "]/recdd", model.getValue("/root/main/cond/orddd"));
  959. model.setValue(xPathMemoList + "[" + i + "]/rectm", getCurrentTime().substr(0, 4));
  960. model.setValue(xPathMemoList + "[" + i + "]/pid", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid"));
  961. model.setValue(xPathMemoList + "[" + i + "]/indd", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd"));
  962. model.setValue(xPathMemoList + "[" + i + "]/cretno", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno"));
  963. }
  964. model.makeValue("/root/send/savedata/memoinfo", grd_memo.getUpdateData());
  965. //조회조건
  966. model.makeValue("/root/send/savedata/condinfo/wardcd", model.getValue("/root/main/cond/wardcd"));
  967. model.makeValue("/root/send/savedata/condinfo/pid", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid"));
  968. model.makeValue("/root/send/savedata/condinfo/indd", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd"));
  969. model.makeValue("/root/send/savedata/condinfo/cretno", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno"));
  970. model.makeValue("/root/send/savedata/condinfo/orddd", model.getValue("/root/main/cond/orddd"));
  971. model.makeValue("/root/send/savedata/condinfo/memoitemflag", '05');
  972. model.removeNodeSet(xPathMemoList);
  973. if(submit("TXMNB00203",false)){
  974. if ( getNodesetCount(xPathHidMemoList) > 0 ){
  975. model.makeNode(xPathMemoList);
  976. copyNodesetType(xPathMemoList, xPathHidMemoList, "replace", model, model);
  977. }
  978. messageBox("성공적으로", "I001");
  979. }
  980. grd_memo.rebuild();
  981. }
  982. }
  983. /**
  984. * @group :
  985. * @ver : 2007.10.08
  986. * @by : 최경용
  987. * @---------------------------------------------------
  988. * @type : function
  989. * @access : public
  990. * @desc : 투약관리 메모 저장
  991. * @param :pFlag:"D" 삭제
  992. * @param :
  993. * @return :
  994. * @---------------------------------------------------
  995. */
  996. function fMedrMomoSave(pFlag){
  997. var saveHearder = "m▦memocnts▦pid▦memoitemflag▦seqno▦recdd_b▦rectm_b▦indd▦cretno▩";
  998. var saveData = "";
  999. var status = "";
  1000. if ( grd_patlist.row == -1) {
  1001. messageBox("해당 환자가 선택되지", "E007");
  1002. return;
  1003. } else {
  1004. if( pFlag =="D"){
  1005. saveData = "d" + "▦"
  1006. + "" + "▦"
  1007. + model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid") + "▦"
  1008. + "06" + "▦"
  1009. + model.getValue(xPathMedrMemoInfo + "/seqno") + "▦"
  1010. + model.getValue(xPathMedrMemoInfo + "/recdd_b") + "▦"
  1011. + model.getValue(xPathMedrMemoInfo + "/rectm_b") + "▦"
  1012. + model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd") + "▦"
  1013. + model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno") + "▩";
  1014. model.makeValue("/root/send/savedata/memoinfo",saveHearder+saveData);
  1015. model.makeValue("/root/send/savedata/condinfo/wardcd", model.getValue("/root/main/cond/wardcd"));
  1016. model.makeValue("/root/send/savedata/condinfo/pid", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid"));
  1017. model.makeValue("/root/send/savedata/condinfo/indd", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd"));
  1018. model.makeValue("/root/send/savedata/condinfo/cretno", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno"));
  1019. model.makeValue("/root/send/savedata/condinfo/orddd", model.getValue("/root/main/cond/orddd"));
  1020. model.makeValue("/root/send/savedata/condinfo/memoitemflag", "06");
  1021. model.resetInstanceNode(xPathMedrMemoInfo);
  1022. if(submit("TXMNB00203","false")){
  1023. model.setValue(xPathMedrMemoInfo + "/memocnts", model.getValue(xPathHidMedrMemoInfo + "/memocnts"));
  1024. model.setValue(xPathMedrMemoInfo + "/recdd_b", model.getValue(xPathHidMedrMemoInfo + "/recdd_b"));
  1025. model.setValue(xPathMedrMemoInfo + "/rectm_b", model.getValue(xPathHidMedrMemoInfo + "/rectm_b"));
  1026. model.setValue(xPathMedrMemoInfo + "/seqno", model.getValue(xPathHidMedrMemoInfo + "/seqno"));
  1027. if( !isNull(model.getValue(xPathMedrMemoInfo + "/recdd_b")) ){
  1028. model.setValue(xPathMedrMemoInfo + "/status", "i")
  1029. }else{
  1030. model.setValue(xPathMedrMemoInfo + "/status", "")
  1031. }
  1032. messageBox("성공적으로", "I001");
  1033. }
  1034. }else{
  1035. if ( isNull(model.getValue(xPathMedrMemoInfo + "/memocnts")) ){
  1036. messageBox("저장할 투약관리 메모를", "C001");//" 입력하십시오."
  1037. return;
  1038. }
  1039. model.removeNodeset("/root/send/savedata");
  1040. model.makeNode("/root/send/savedata");
  1041. //그리드 저장조건
  1042. // model.makeValue("/root/send/savedata/memoinfo/pid", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid"));
  1043. // model.makeValue("/root/send/savedata/memoinfo/indd", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd"));
  1044. // model.makeValue("/root/send/savedata/memoinfo/cretno", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno"));
  1045. // model.makeValue("/root/send/savedata/memoinfo/seqno", model.getValue(xPathMedrMemoInfo+"/seqno"));
  1046. // model.makeValue("/root/send/savedata/memoinfo/memoitemflag", "06");
  1047. // model.makeValue("/root/send/savedata/memoinfo/memocnts", model.getValue(xPathMedrMemoInfo+"/memocnts"));
  1048. // model.makeValue("/root/send/savedata/memoinfo/recdd", getCurrentDate());
  1049. // model.makeValue("/root/send/savedata/memoinfo/rectm", getCurrentTime().substr(0, 4));
  1050. // model.makeValue("/root/send/savedata/memoinfo/recdd_b", model.getValue(xPathMedrMemoInfo+"/recdd_b"));
  1051. // model.makeValue("/root/send/savedata/memoinfo/rectm_b", model.getValue(xPathMedrMemoInfo+"/rectm_b"));
  1052. // model.makeValue("/root/send/savedata/memoinfo/wardcd", model.getValue("/root/main/cond/wardcd"));
  1053. // model.makeValue("/root/send/savedata/memoinfo/orddd", model.getValue("/root/main/cond/orddd"));
  1054. // if(isNull(model.getValue(xPathMedrMemoInfo+"/status"))){
  1055. // model.makeValue("/root/send/savedata/memoinfo/status", "i");
  1056. // }else{
  1057. // model.makeValue("/root/send/savedata/memoinfo/status", "u");
  1058. // }
  1059. //
  1060. if(isNull(model.getValue(xPathMedrMemoInfo+"/status"))){
  1061. status="i";
  1062. }else{
  1063. status="u";
  1064. }
  1065. saveData = status + "▦"
  1066. + model.getValue(xPathMedrMemoInfo+"/memocnts") + "▦"
  1067. + model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid") + "▦"
  1068. + "06" + "▦"
  1069. + model.getValue(xPathMedrMemoInfo + "/seqno") + "▦"
  1070. + model.getValue(xPathMedrMemoInfo + "/recdd_b") + "▦"
  1071. + model.getValue(xPathMedrMemoInfo + "/rectm_b") + "▦"
  1072. + model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd") + "▦"
  1073. + model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno") + "▩";
  1074. model.makeValue("/root/send/savedata/memoinfo",saveHearder+saveData);
  1075. model.makeValue("/root/send/savedata/condinfo/wardcd", model.getValue("/root/main/cond/wardcd"));
  1076. model.makeValue("/root/send/savedata/condinfo/pid", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/pid"));
  1077. model.makeValue("/root/send/savedata/condinfo/indd", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/indd"));
  1078. model.makeValue("/root/send/savedata/condinfo/cretno", model.getValue(xPathPatList + "[" + grd_patlist.row + "]/cretno"));
  1079. model.makeValue("/root/send/savedata/condinfo/orddd", model.getValue("/root/main/cond/orddd"));
  1080. model.makeValue("/root/send/savedata/condinfo/memoitemflag", "06");
  1081. model.resetInstanceNode(xPathMedrMemoInfo);
  1082. if(submit("TXMNB00203","false")){
  1083. if ( getNodesetCount(xPathHidMedrMemoInfo) > 0 ){
  1084. copyNodesetType(xPathMedrMemoInfo, xPathHidMedrMemoInfo, "replace", model, model);
  1085. }
  1086. messageBox("성공적으로", "I001");
  1087. }
  1088. }
  1089. tar_remk1.refresh();
  1090. }
  1091. }
  1092. /**
  1093. * @group :
  1094. * @ver : 2007.10.08
  1095. * @by : 최경용
  1096. * @---------------------------------------------------
  1097. * @type : function
  1098. * @access : public
  1099. * @desc : 내환자 셋팅
  1100. * @param :
  1101. * @param :
  1102. * @return :
  1103. * @---------------------------------------------------
  1104. */
  1105. function fChangePidSetting(){
  1106. setParameter("wardcd", model.getValue("/root/main/cond/wardcd"));
  1107. setParameter("userid", model.getValue("/root/main/cond/userid"));
  1108. setParameter("usernm", model.getValue("/root/main/cond/usernm"));
  1109. modal("SMMNB00400","1" ,"868", "128");
  1110. //공통함수로 수정_20110211_ SMY
  1111. fGetWardChngInfo();
  1112. /*
  1113. model.removenode("/root/send");
  1114. model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/main/cond/wardcd"));
  1115. submit("TRMNW00101");
  1116. for(i = 1; i <= getNodesetCount("/root/init/settingrn"); i++ ) {
  1117. if (model.getValue("/root/main/cond/userid") == model.getValue("/root/init/settingrn["+ i +"]/settingrnid")) {
  1118. model.setValue("/root/main/cond/settingrnid", model.getValue("/root/main/cond/userid"));
  1119. }
  1120. }
  1121. */
  1122. fGetMedSpccdList("pat");
  1123. }
  1124. function fShowPopupMenu(gridID, menuPath)
  1125. {
  1126. var gridObj = document.controls.item(gridID);
  1127. if(event.button == 3) {
  1128. if(gridObj.isCell(event.target) && gridObj.mouseRow >= gridObj.fixedrows){
  1129. window.setPopupMenu(true, menuPath, "name", "func", false);
  1130. }else{
  1131. window.setPopupMenu(false);
  1132. }
  1133. }
  1134. }
  1135. //환자정보 오픈
  1136. //서브메뉴를 이용한 오픈은 기본으로 상단정보를 올리도록 적용.
  1137. function fOpenPrcpSpec()
  1138. {
  1139. fClickPatList();
  1140. var pid = model.getValue("/root/main/kardexinfo/ompatlist[" + grd_patlist.row + "]/pid");
  1141. var indd = model.getValue("/root/main/kardexinfo/ompatlist[" + grd_patlist.row + "]/indd");
  1142. var orddd = model.getValue("/root/main/cond/orddd");
  1143. var param = pid + "▩" + "I" + "▩" + indd + "▩" + orddd;
  1144. setParameter("SMMMO02500_pid", pid);
  1145. open("SMMMO02500","1","20","128");
  1146. }
  1147. //환자라벨출력
  1148. function fOpenLabelPrint(){
  1149. fClickPatList();
  1150. model.setValue("/root/main/printcnt","1");
  1151. group4.attribute("left") = event.ScreenX-window.screenleft-10;
  1152. group4.attribute("top") = event.ScreenY-window.screenTop-150;
  1153. model.setFocus("ipt_patcntctel");
  1154. model.refresh();
  1155. group4.visible = true;
  1156. }
  1157. //간호일지 오픈
  1158. function fOpenNursingRecord()
  1159. {
  1160. fClickPatList();
  1161. open("SMMNR00700","1","20","128");
  1162. }
  1163. //전실신청 오픈
  1164. function fOpenChngRoom()
  1165. {
  1166. fClickPatList();
  1167. open("SMPMI01700","1","20","128");
  1168. }
  1169. //투약기록 오픈
  1170. function fOpenMediRecord()
  1171. {
  1172. fClickPatList();
  1173. open("SMMNR00600","1","20","128");
  1174. }
  1175. //간호처방 오픈
  1176. function fOpenCarePrcp()
  1177. {
  1178. fClickPatList();
  1179. open("SMMNW10900","1","20","128");
  1180. }
  1181. //바코드관리 오픈
  1182. function fOpenBarcodeMngt()
  1183. {
  1184. fClickPatList();
  1185. open("SMLLC00200","1","20","128");
  1186. }
  1187. //검사결과조회 오픈
  1188. function fOpenTestRslt()
  1189. {
  1190. fClickPatList();
  1191. open("SMAER00800","1","20","128");
  1192. }
  1193. //임상관찰기록 오픈
  1194. function fOpenTPR()
  1195. {
  1196. fClickPatList();
  1197. open("SMMNR00900","1","20","128");
  1198. }
  1199. //퇴원정리 오픈
  1200. function fOpenDschArngnm()
  1201. {
  1202. fClickPatList();
  1203. open("SMMNW01200","1","20","128");
  1204. }
  1205. // 약품인계내역조회추가
  1206. function fOpenDrugList(){
  1207. fClickPatList();
  1208. setParameter("SPMNW12400_PARAM1", model.getValue("/root/main/kardexinfo/ompatlist[" + grd_patlist.row + "]/pid"));
  1209. setParameter("SPMNW12400_PARAM2", model.getValue("/root/main/kardexinfo/ompatlist[" + grd_patlist.row + "]/indd"));
  1210. open("SPMNW12400","1","20","128");
  1211. }
  1212. //2011.1.12, 주희경
  1213. //내환자 메모 출력
  1214. function fGetMypatMemo()
  1215. {
  1216. //var wardcd = model.getValue("/root/main/cond/wardcd");
  1217. if ( cmb_wardcd.label == "" )
  1218. {
  1219. messageBox("병동이 선택되지", "E007");
  1220. return;
  1221. }
  1222. //응급실인 경우 구역정보로 처리되도록 수정_20110214_SMY
  1223. if(eERFLAG == "Y"){
  1224. var zonecd = model.getValue("/root/main/cond/zonecd");
  1225. if ( zonecd == "-" || zonecd == "" )
  1226. {
  1227. messageBox("구역정보가 선택되지", "E007");
  1228. return;
  1229. }
  1230. }else{
  1231. var nursid = model.getValue("/root/main/cond/settingrnid");
  1232. if ( nursid == "-" || nursid == "" )
  1233. {
  1234. messageBox("내환자가 선택되지", "E007");
  1235. return;
  1236. }
  1237. }
  1238. model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/main/cond/wardcd"));
  1239. model.makeValue("/root/send/reqdata/nursid", model.getValue("/root/main/cond/settingrnid"));
  1240. model.makeValue("/root/send/reqdata/orddd", model.getValue("/root/main/cond/orddd"));
  1241. model.removeNodeset("/root/main/memoinfo");
  1242. model.makeNode("/root/main/mypatmemoinfo");
  1243. //응급실정보 추가_20110214_SMY
  1244. model.makeValue("/root/send/reqdata/erflag", eERFLAG);
  1245. model.makeValue("/root/send/reqdata/zonecd", model.getValue("/root/main/cond/zonecd"));
  1246. if ( submit("TRMNB00205") )
  1247. {
  1248. model.removeNodeSet("/root/main/rex_memolist");
  1249. var memolist= instance1.selectNodes("/root/main/mypatmemoinfo/memolist");
  1250. var pid = "";
  1251. var groupid = 0;
  1252. var arr = 0;
  1253. var memo = "";
  1254. var memolistcnt = 1;
  1255. var next_pid = "";
  1256. for(i=0; i<memolist.length; i++)
  1257. {
  1258. var new_pid = memolist.item(i).selectSingleNode("pid").value;
  1259. if ( i != memolist.length-1)
  1260. {
  1261. next_pid = memolist.item(i+1).selectSingleNode("pid").value;
  1262. }
  1263. else
  1264. next_pid = "0";
  1265. if ( pid != new_pid )
  1266. {
  1267. groupid++;
  1268. if ( groupid > 3 )
  1269. {
  1270. groupid = 1;
  1271. }
  1272. if ( groupid == 1 )
  1273. {
  1274. arr++;
  1275. model.makeNode("/root/main/rex_memolist/group["+arr+"]");
  1276. }
  1277. model.makeNode("/root/main/rex_memolist/group["+arr+"]/s_group"+groupid);
  1278. pid = new_pid;
  1279. memolistcnt = 1;
  1280. }
  1281. if ( memolistcnt == 1 )
  1282. {
  1283. var tarNode = instance1.selectSingleNode("/root/main/rex_memolist/group["+arr+"]/s_group"+groupid);
  1284. tarNode.appendChild( memolist.item(i).selectSingleNode("roomcd").cloneNode( false ));
  1285. tarNode.appendChild( memolist.item(i).selectSingleNode("pid").cloneNode( false ));
  1286. tarNode.appendChild( memolist.item(i).selectSingleNode("patnm").cloneNode( false ));
  1287. tarNode.appendChild( memolist.item(i).selectSingleNode("sa").cloneNode( false ));
  1288. tarNode.appendChild( memolist.item(i).selectSingleNode("atdoctnm").cloneNode( false ));
  1289. tarNode.appendChild( memolist.item(i).selectSingleNode("nzoneno").cloneNode( false ));
  1290. tarNode.appendChild( memolist.item(i).selectSingleNode("specldesc").cloneNode( false ));
  1291. tarNode.appendChild( memolist.item(i).selectSingleNode("activity").cloneNode( false ));
  1292. tarNode.appendChild( memolist.item(i).selectSingleNode("diagengnm").cloneNode( false ));
  1293. tarNode.appendChild( memolist.item(i).selectSingleNode("rectermnm").cloneNode( false ));
  1294. tarNode.appendChild( memolist.item(i).selectSingleNode("diet").cloneNode( false ));
  1295. tarNode.appendChild( memolist.item(i).selectSingleNode("vs").cloneNode( false ));
  1296. tarNode.appendChild( memolist.item(i).selectSingleNode("vsnm").cloneNode( false ));
  1297. memo = "";
  1298. }
  1299. var recdt = memolist.item(i).selectSingleNode("recdt").value;
  1300. recdt = recdt.substr(0,4) + "/" + recdt.substr(4,2) + "/" + recdt.substr(6,2) + " " + recdt.substr(8,2) + ":" + recdt.substr(10,2);
  1301. // memo = memo + "[" + memolist.item(i).selectSingleNode("writ").value + "] | " + recdt + "\n"+ memolist.item(i).selectSingleNode("memocnts").value + "\n\n";
  1302. memo = memo + memolist.item(i).selectSingleNode("memocnts").value + "\n";
  1303. memolistcnt++;
  1304. if ( new_pid != next_pid )
  1305. {
  1306. model.makeNode("/root/main/rex_memolist/group["+arr+"]/s_group"+groupid+"/memo");
  1307. model.setValue("/root/main/rex_memolist/group["+arr+"]/s_group"+groupid+"/memo", memo, true);
  1308. }
  1309. }
  1310. model.removeNodeset("/root/main/mypatmemoinfo");
  1311. exeReportPreview("RPMNB00200", "XMLSTR", "", "", "false", "", "", "", "", "false", "", "", "", "","","","","","","/root/main/rex_memolist/group");
  1312. }
  1313. }
  1314. /**
  1315. * @group :
  1316. * @ver : 2011.09.08
  1317. * @by : 김병국
  1318. * @---------------------------------------------------
  1319. * @type : function
  1320. * @access : public
  1321. * @desc : 검사관리 일자별 구분선
  1322. * @param :
  1323. * @param :
  1324. * @return :
  1325. * @---------------------------------------------------
  1326. */
  1327. function fSettingGridColor() {
  1328. var firstdd="";
  1329. var prcpdd ="";
  1330. if(grd_test.rows > grd_test.fixedRows) {
  1331. firstdd = grd_test.valueMatrix(1, grd_test.colRef("prcpdd"));
  1332. }
  1333. for(var i = grd_test.fixedRows; i < grd_test.rows; i++){
  1334. execdd = grd_test.valueMatrix(i, grd_test.colRef("execdd"));
  1335. prcpdd = grd_test.valueMatrix(i, grd_test.colRef("prcpdd"));
  1336. if(firstdd != prcpdd) {
  1337. firstdd = prcpdd;
  1338. //grd_test
  1339. grd_test.rowStyle(i-1, "all", "border-bottom-color") = "#ff0000";
  1340. grd_test.rowStyle(i-1, "all", "border-top-width") = "3";
  1341. } else {
  1342. grd_test.rowStyle(i-1, "all", "border-bottom-color") = "#b0b0b0";
  1343. grd_test.rowStyle(i-1, "all", "border-top-width") = "3";
  1344. }
  1345. if(execdd == "" || execdd == null) {
  1346. grd_test.rowstyle(i, "data", "background-color") = "#fff000";
  1347. } else {
  1348. grd_test.rowstyle(i, "data", "background-color") = "#ffffff";
  1349. }
  1350. }
  1351. grd_test.refresh();
  1352. }
  1353. /**
  1354. * @group :
  1355. * @ver : 2011.09.19
  1356. * @by : 김병국
  1357. * @---------------------------------------------------
  1358. * @type : function
  1359. * @access : public
  1360. * @desc : IO조회 저장
  1361. * @param :
  1362. * @param :
  1363. * @return :
  1364. * @---------------------------------------------------
  1365. */
  1366. function fSetIoInfo() {
  1367. model.makeValue("/root/send/savedata/pid", grd_patlist.valueMatrix(grd_patlist.row, grd_patlist.colRef("pid")) );
  1368. model.makeValue("/root/send/savedata/indd",grd_patlist.valueMatrix(grd_patlist.row, grd_patlist.colRef("indd")));
  1369. model.makeValue("/root/send/savedata/cretno",grd_patlist.valueMatrix(grd_patlist.row, grd_patlist.colRef("cretno")));
  1370. model.makeValue("/root/send/savedata/ioyn",model.getValue("/root/main/kardexinfo/ioinfo/ioyn"));
  1371. model.makeValue("/root/send/savedata/bstyn",model.getValue("/root/main/kardexinfo/ioinfo/bstyn"));
  1372. model.makeValue("/root/send/savedata/bwyn",model.getValue("/root/main/kardexinfo/ioinfo/bwyn"));
  1373. model.makeValue("/root/send/savedata/acyn",model.getValue("/root/main/kardexinfo/ioinfo/acyn"));
  1374. model.makeValue("/root/send/savedata/iokindcd",model.getValue("/root/main/kardexinfo/ioinfo/iokindcd"));
  1375. model.makeValue("/root/send/savedata/bstkindcd",model.getValue("/root/main/kardexinfo/ioinfo/bstkindcd"));
  1376. submit("TXMNB00212");
  1377. }