SMMMO00900.js.soonsu 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364
  1. var sCondPath = "/root/main/cond";
  2. var xChartHeaderListPath = "/root/main/chartheaderlist";
  3. var xStnddayClincObsRecListPath = "/root/main/clincobsrecinfo/stnddayclincobsrecinfo/stnddayclincobsreclist";
  4. var xFormerdayClincObsRecListPath = "/root/main/clincobsrecinfo/formerclincobsrecinfo/formerclincobsreclist";
  5. var xHoursClincObsRecList = "/root/main/clincobsrecinfo/hoursclincobsrecinfo/hoursclincobsreclist";
  6. var xDaysClincObsRecList = "/root/main/clincobsrecinfo/daysclincobsrecinfo/daysclincobsreclist";
  7. var xIntervalRecYNListPath = "/root/temp/clincobsrecinfo/intervalrecynlist";
  8. var xClincObsRecListPath = "/root/temp/clincobsrecinfo/clincobsreclist";
  9. var sAttrListPath = "/root/temp/clincobsrecinfo/attrlist";
  10. var sAttrListPath1 = "/root/temp/clincobsrecinfo/attrlist1";
  11. var xRecUserListPath = "/root/temp/clincobsrecinfo/recuserlist";
  12. var xTMSettingListPath = "/root/temp/clincobsrecinfo/tmsettinglist";
  13. var sAttrListTempPath = "/root/temp/attrinfo/attrlist";
  14. var sAttrListInitPath = "/root/temp/initcmblnfo/initcmblist";
  15. var xFormerIntervalRecYNListPath = "/root/temp/formerclincobsrecinfo/intervalrecynlist";
  16. var xFormerClincObsRecListPath = "/root/temp/formerclincobsrecinfo/clincobsreclist";
  17. var xFormerAttrListPath = "/root/temp/formerclincobsrecinfo/attrlist";
  18. var xFormerAttrListPath1 = "/root/temp/formerclincobsrecinfo/attrlist1";
  19. var xFormerRecUserListPath = "/root/temp/formerclincobsrecinfo/recuserlist";
  20. var xPamInfoPath = "/root/main/paminfo/pamlist";
  21. var xDayCountListPath = "/root/main/daycountinfo/daycountlist";
  22. var xFormerDayCountListPath = "/root/main/formerdaycountinfo/daycountlist";
  23. var xResultPath = "/root/certtemp/recinfo";
  24. var xResultAttrPath = "/root/certattrtemp/recattrinfo";
  25. var xPathViewData = "/root/temp/clincobsrecinfo/rtnsigndata";
  26. var xFormerRecPath = "/root/temp/formerclincobsrecinfo";
  27. var sHeader = new Array();
  28. var sFormerHeader = new Array();
  29. var sPid = "";
  30. var sIndd = "";
  31. var sCretNo = "";
  32. var sInstcd = "";
  33. var sIOFlag = "";
  34. var sWardCD = "";
  35. var sRoomCD = "";
  36. var sJobKindCD = "";
  37. var sIndschacptstat = "";
  38. var sDschdd = "";
  39. var sDayCountFlag = "";
  40. var sPopUpMenuFlag = "";
  41. var s4DateSrch = "";
  42. var sViewerRecDD = "";
  43. var sViewerFunc = "sign";
  44. var sMakeChartInfo = new Array();
  45. var sImageRecDD = "";
  46. var sPatNm = "";
  47. var sSexAge = "";
  48. var sDutplcecd = "";
  49. var sOrdDeptcd = "";
  50. var sMedispclid = "";
  51. var sUserFlag = "";
  52. var sUserDeptCd = "";
  53. var sUserId = "";
  54. var sSpParamInfo = "";
  55. var sParamInfo = "";
  56. function fInitialize(pFlag){
  57. if(pFlag == "init"){
  58. sParamInfo = "";
  59. sSpParamInfo = "";
  60. }
  61. browser1.setVisible(false);
  62. model.setValue(sCondPath+"/srchflag", "2");
  63. sUserFlag = "2";
  64. model.setValue(sCondPath+"/cmbstatusx", "0");
  65. model.setValue(sCondPath+"/cmbstatusy", "0");
  66. model.setValue(sCondPath+"/rectm","060000");
  67. model.setValue(sCondPath+"/timeflag", "60");
  68. model.setValue(sCondPath+"/vwctrl_button","24hours");
  69. model.setValue(sCondPath+"/daycountinfo", "1 2 3 4 5 6");
  70. model.setValue(sCondPath+"/formerdaycountinfo", "1 2 3 4 5 6");
  71. model.setValue("/root/main/cond/pid", model.getProperty("pid"));
  72. model.setValue("/root/main/cond/indd", model.getProperty("indd"));
  73. model.setValue("/root/main/cond/cretno", model.getProperty("cretno"));
  74. model.setValue("/root/main/cond/patnm", model.getProperty("hngnm"));
  75. model.setValue("/root/main/cond/sexage", model.getProperty("sexage"));
  76. model.setValue("/root/main/cond/orddeptnm", model.getProperty("deptnm"));
  77. model.setValue("/root/main/cond/orddrnm", model.getProperty("medispclnm"));
  78. model.setValue("/root/main/cond/wardroomnm", model.getProperty("wardroomnm"));
  79. model.setValue("/root/main/cond/ordtype", "I");
  80. model.setValue("/root/main/cond/indschacptstat", "A");
  81. model.setValue("/root/main/cond/dschdd", "99991231");
  82. var sRecdate = "";
  83. var sRectime = "";
  84. if(getCurrentTime().substr(0,4) < "0700"){
  85. sRecdate = getDateCalc(getCurrentDate(),1,"-");
  86. }else{
  87. sRecdate = getCurrentDate();
  88. }
  89. model.setValue(sCondPath+"/recdd",sRecdate);
  90. model.setValue(sCondPath+"/formerrecdd", getDateCalc(model.getValue(sCondPath+"/recdd"),1));
  91. fSearchClincObsRec();
  92. }
  93. function fDateCalc(pFlag, pVWFlag, pTerm){
  94. var sRecDT = model.getValue(sCondPath+"/recdd")+model.getValue(sCondPath+"/rectm");
  95. switch(pVWFlag){
  96. case "24hours" :
  97. var sTime = eval(model.getValue(sCondPath+"/timeflag")) * pTerm;
  98. sRecDT = sRecDT.toDate("YYYYMMDDhhmmss");
  99. if(pFlag == "-"){
  100. sRecDT.setMinutes(sRecDT.getMinutes() - sTime);
  101. }else{
  102. sRecDT.getAddDate(sTime, "m");
  103. }
  104. model.setValue(sCondPath+"/recdd",getDateTime(sRecDT,'기본').substr(0,8));
  105. model.setValue(sCondPath+"/rectm",getDateTime(sRecDT,'기본').substr(8,6));
  106. break;
  107. }
  108. fSearchClincObsRec(pVWFlag);
  109. }
  110. function fCalStartDate(pDate, pTimeFlag){
  111. var sStartDT = pDate.toDate("YYYYMMDDhhmmss");
  112. var sTime = "";
  113. var sRemainder = 0;
  114. if(pTimeFlag != 1 ){
  115. sRemainder = eval(pDate.substr(10,2))%pTimeFlag;
  116. }
  117. sStartDT.setMinutes(sStartDT.getMinutes()-sRemainder);
  118. return sStartDT;
  119. }
  120. function fCreateHeader(pFlag){
  121. var sRecDT = "";
  122. var sGridCapNm = "";
  123. var sTimeFlag = 0;
  124. var sCDay = new Array();
  125. var sDayInfo = "";
  126. var iDayRow = 0;
  127. var sDayCountInfo = "";
  128. var sDateList = "";
  129. sHeader[1] = new Array();
  130. sHeader[2] = new Array();
  131. sHeader[1][0] = "날 짜";
  132. sHeader[2][0] = "시 간";
  133. model.removenode("/root/send");
  134. model.makeValue("/root/send/pid", sPid);
  135. model.makeValue("/root/send/indd", sIndd);
  136. model.makeValue("/root/send/cretno", sCretNo);
  137. model.makeValue("/root/send/instcd", sInstcd);
  138. model.makeValue("/root/send/ioflag", sIOFlag);
  139. switch(pFlag){
  140. case "24hours" :
  141. sTimeFlag = eval(model.getValue(sCondPath+"/timeflag"));
  142. sRecDT = model.getValue(sCondPath+"/recdd")+model.getValue(sCondPath+"/rectm");
  143. var sStartDT = fCalStartDate(sRecDT,sTimeFlag);
  144. var sTime = 0;
  145. for(var i=1; i<=25; i++){
  146. if(i>1){
  147. sStartDT = sStartDT.getAddDate(sTimeFlag,"m");
  148. }
  149. sHeader[1][i] = getDateTime(sStartDT,'기본').substr(0,8);
  150. if(iDayRow == 0 || sCDay[iDayRow-1] != sHeader[1][i]){
  151. sCDay[iDayRow] = sHeader[1][i];
  152. iDayRow++;
  153. }
  154. sHeader[2][i] = getDateTime(sStartDT,'기본').substr(8,2);
  155. }
  156. for(var iRow=1; iRow<=2; iRow++){
  157. for(var iCol=0; iCol<=24; iCol++){
  158. if(iRow == 1){
  159. if(iCol == 0){
  160. sGridCapNm += sHeader[iRow][iCol];
  161. }else{
  162. sGridCapNm += sHeader[iRow][iCol].toDate("YYYYMMDD").getDateFormat("YYYY년 MM월 DD일")+
  163. " ("+sHeader[iRow][iCol].toDate("YYYYMMDD").getDayOfWeek("k")+")";
  164. }
  165. }else if(iRow == 2){
  166. sGridCapNm += sHeader[iRow][iCol];
  167. if(iCol != 0){
  168. sGridCapNm += "시";
  169. }
  170. }
  171. if(iCol != 24){
  172. sGridCapNm += "^";
  173. }
  174. }
  175. if(iRow != 2){
  176. sGridCapNm += "|";
  177. }
  178. }
  179. grd_24hoursclincobsreclist.setCaption(sGridCapNm);
  180. break;
  181. }
  182. }
  183. function fTPRviewInit(){
  184. model.removeNodeset(xHoursClincObsRecList);
  185. model.removeNodeset(xDaysClincObsRecList);
  186. model.removeNodeset(xStnddayClincObsRecListPath);
  187. model.removeNodeset(xFormerdayClincObsRecListPath);
  188. model.removeNodeset(xClincObsRecListPath);
  189. model.removeNodeset(xFormerRecPath);
  190. model.removeNodeset(xDayCountListPath);
  191. model.removeNodeset(xFormerDayCountListPath);
  192. model.removeNodeset(xPamInfoPath);
  193. model.removeNodeset(xRecUserListPath);
  194. model.removeNodeset(sAttrListPath1);
  195. model.removeNodeset(xFormerAttrListPath1);
  196. model.removeNodeset(xFormerRecUserListPath);
  197. model.removeNodeset("/root/init/clsinfo");
  198. model.removeNode("/root/temp/cond/patientgrup");
  199. grd_24hoursclincobsreclist.setCaption("");
  200. if(getNodesetCount("/root/main/patinfo") > 0){
  201. model.setValue("/root/main/patinfo/pid", "");
  202. model.setValue("/root/main/patinfo/indd", "");
  203. model.setValue("/root/main/patinfo/cretno", "");
  204. model.setValue("/root/main/patinfo/ordtype", "");
  205. model.setValue("/root/main/patinfo/indschacptstat", "");
  206. model.setValue("/root/main/patinfo/dschdd", "");
  207. model.setValue("/root/main/patinfo/eroutdd", "");
  208. model.setValue("/root/main/patinfo/patnm", "");
  209. model.setValue("/root/main/patinfo/sexage", "");
  210. model.setValue("/root/main/patinfo/wardcd", "");
  211. model.setValue("/root/main/patinfo/roomcd", "");
  212. }
  213. sPid = "";
  214. sIndd = "";
  215. sCretNo = "";
  216. sInstcd = "";
  217. sIOFlag = "";
  218. sWardCD = "";
  219. sRoomCD = "";
  220. sIndschacptstat = "";
  221. sDschdd = "";
  222. sOrdDeptcd = "";
  223. sMedispclid = "";
  224. model.setValue(sCondPath+"/pid", "");
  225. }
  226. function fSearchClincObsRec(pClsFlag){
  227. if(model.getValue("/root/main/cond/pid") == ""){
  228. messageBox("환자를 선택하십시요","I");
  229. return;
  230. }
  231. var sStrTime = "";
  232. var sRecCnt = 0;
  233. var pFlag = model.getValue(sCondPath+"/vwctrl_button");
  234. fCreateHeader(pFlag);
  235. model.removeNode("/root/send");
  236. model.makeValue("/root/send/pid", model.getValue(sCondPath+"/pid"));
  237. model.makeValue("/root/send/indd", model.getValue(sCondPath+"/indd"));
  238. model.makeValue("/root/send/cretno", model.getValue(sCondPath+"/cretno"));
  239. model.makeValue("/root/send/instcd", model.getValue(sCondPath+"/instcd"));
  240. model.makeValue("/root/send/timeflag", model.getValue(sCondPath+"/timeflag"));
  241. model.makeValue("/root/send/srchdd",model.getValue(sCondPath+"/recdd"));
  242. model.makeValue("/root/send/fromdt",sHeader[1][1]+sHeader[2][1]+"00");
  243. model.removeNodeset(xHoursClincObsRecList);
  244. switch(pFlag){
  245. case "24hours" :
  246. var iHoursRecRow = 0;
  247. var iHoursDataRow = 0;
  248. var sBizLnkFlag = model.getValue(sCondPath+"/bizlnkflag");
  249. model.makeValue("/root/send/todt",sHeader[1][25]+sHeader[2][25]+"0000");
  250. model.makeValue("/root/send/recflag", "24hours");
  251. for(var i=1; i <= 25; i++){
  252. if(sStrTime == ""){
  253. sStrTime += sHeader[1][i]+sHeader[2][i]+"0000";
  254. }else{
  255. sStrTime += ","+sHeader[1][i]+sHeader[2][i]+"0000";
  256. }
  257. }
  258. model.makeValue("/root/send/strtime", sStrTime);
  259. if(model.getValue("/root/main/cond/bizlnkflag") == "Y"){
  260. model.makeValue("/root/send/bizdeptcd", sDutplcecd);
  261. }
  262. if(pClsFlag == "selectedcls"){
  263. model.makeValue("/root/send/clsinfo", model.getValue(sCondPath+"/hoursclsinfo"));
  264. }else{
  265. model.setValue(sCondPath+"/hoursclsinfo","");
  266. }
  267. grd_24hoursclincobsreclist.rebuild();
  268. submit("TRMOB00903");
  269. break;
  270. }
  271. }
  272. function visibleChart(){
  273. var strChart = "line";
  274. var bPrint = false;
  275. var strTitle = "임상관찰기록";
  276. var strYTitle = model.getValue("/root/main/cond/recdd");
  277. strYTitle = strTitle.substr(0,4)+"년"+strTitle.substr(4,2)+"월"+strTitle.substr(6,2)+"일";
  278. var iRowCnt = getNodesetCount("/root/main/clincobsrecinfo/hoursclincobsrecinfo/hoursclincobsreclist");
  279. var strXdata = "";
  280. var strYdata = "";
  281. if(iRowCnt > 0){
  282. strXdata = "07시^08시^09시^10시^11시^12시^13시^14시^15시^16시^17시^18시^19시^20시^21시^22시^23시^00시^01시^02시^03시^04시^05시^06시";
  283. strYdata = "";
  284. for(var i = 1; i <= iRowCnt; i++){
  285. if(model.getValue("/root/main/clincobsrecinfo/hoursclincobsrecinfo/hoursclincobsreclist["+i+"]/itemnm") != "V/S"){
  286. for(var j = 0; j <25; j++){
  287. if(j == 0){
  288. strYdata = strYdata + (model.getValue("/root/main/clincobsrecinfo/hoursclincobsrecinfo/hoursclincobsreclist["+i+"]/itemnm")).replace("…","")+"^";
  289. }else if(j == 24){
  290. if(i == iRowCnt){
  291. strYdata = strYdata + grd_24hoursclincobsreclist.valueMatrix(i+1,j);
  292. }else{
  293. strYdata = strYdata + grd_24hoursclincobsreclist.valueMatrix(i+1,j)+"|";
  294. }
  295. }else{
  296. strYdata = strYdata + grd_24hoursclincobsreclist.valueMatrix(i+1,j)+"^";
  297. }
  298. }
  299. }
  300. }
  301. var nWidth = 1500;
  302. var nHeight = 270;
  303. browser1.window.dataCharPicture(strChart, bPrint, strTitle, strYTitle, strXdata, strYdata, nWidth, nHeight);
  304. browser1.setVisible(true);
  305. }else{
  306. browser1.setVisible(false);
  307. }
  308. }