SPMNR05800_SJH.js 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618
  1. /*
  2. IO조회(SMMNR05800.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var xPathMemoInfo = "/root/main/memoinfo/memolist";
  7. var xPathCondInfo = "/root/main/cond";
  8. /**
  9. * @group :
  10. * @ver : 2008.07.02
  11. * @by : 양천덕
  12. * @---------------------------------------------------
  13. * @type : function
  14. * @access : public
  15. * @desc : 화면 초기화
  16. * @param :
  17. * @return :
  18. * @---------------------------------------------------
  19. */
  20. function fInitialize(){
  21. //ipt_seardd.value = getCurrentDate();
  22. //if(checkOpener()){
  23. /**
  24. SPMNR05700_Param
  25. pid▦indd▦cretno▦wardcd▩ ==> 등록번호▦입원일자▦생성번호▦병동코드▩
  26. **/
  27. var sParamInfo = opener.javascript.getParameter("SPMNR05800_Param");
  28. //var sParamInfo = "pid▦indd▦cretno▦wardcd▦recdd▩18864191▦20080104▦800340900▦3050107000▦20080704▩"
  29. model.setValue("/root/main/cond/pid", getArrayData(sParamInfo,1,0));
  30. model.setValue("/root/main/cond/orddd", getArrayData(sParamInfo,1,1));
  31. model.setValue("/root/main/cond/cretno", getArrayData(sParamInfo,1,2));
  32. model.setValue("/root/main/cond/wardcd", getArrayData(sParamInfo,1,3));
  33. model.setValue("/root/main/cond/seardd", getArrayData(sParamInfo,1,4));
  34. //}
  35. if(model.getValue("/root/main/cond/seardd") == ""){
  36. ipt_seardd.value = getCurrentDate();
  37. }
  38. window.opener.javascript.clearParameter("SPMNR05800_Param");
  39. fSearIOInfo();
  40. }
  41. /**
  42. * @group :
  43. * @ver : 2008.07.02
  44. * @by : 양천덕
  45. * @---------------------------------------------------
  46. * @type : function
  47. * @access : public
  48. * @desc : IO정보 조회
  49. * @param :
  50. * @return :
  51. * @---------------------------------------------------
  52. */
  53. function fSearIOInfo(){
  54. model.removeNodeset("/root/main/ioinfo");
  55. model.removeNodeset("/root/main/memoinfo");
  56. model.removeNodeset("/root/main/patinfo");
  57. opt_breakdietprcpnm.value ="";
  58. opt_lunchdietprcpnm.value ="";
  59. opt_dinnerdietprcpnm.value ="";
  60. model.copynode("root/send", "root/main/cond");
  61. model.setValue("/root/main/cond/seartodd", getDateCalc(ipt_seardd.value, 1, "+"));
  62. model.makeValue("/root/send/pid", model.getValue("/root/main/cond/pid"));
  63. model.makeValue("/root/send/cretno", model.getValue("/root/main/cond/cretno"));
  64. model.makeValue("/root/send/orddd", model.getValue("/root/main/cond/orddd"));
  65. model.makeValue("/root/send/seardd", model.getValue("/root/main/cond/seardd"));
  66. model.makeValue("/root/send/wardcd", model.getValue("/root/main/cond/wardcd"));
  67. model.makeValue("/root/send/seartodd", model.getValue("/root/main/cond/seartodd"));
  68. model.makeValue("/root/send/memoitemflag", "08");
  69. model.makeValue("/root/send/iochkyn", model.getValue("/root/main/cond/iochkyn"));
  70. submit("TRMNR05801_SJH");
  71. fSettingPatlnfo(); // 160331_환자정보 추가
  72. fSettingIOlnfo();
  73. opt_breakdietprcpnm.refresh();
  74. opt_lunchdietprcpnm.refresh();
  75. opt_dinnerdietprcpnm.refresh();
  76. tar_memocnts.refresh();
  77. opt_patinfo.refresh();
  78. //alert(cap_breakdietprcpnm.text);
  79. }
  80. /**
  81. * @group :
  82. * @ver : 2008.07.02
  83. * @by : 양천덕
  84. * @---------------------------------------------------
  85. * @type : function
  86. * @access : public
  87. * @desc : 조회 정보 Setting
  88. * @param :
  89. * @return :
  90. * @---------------------------------------------------
  91. */
  92. function fSettingIOlnfo(){
  93. grd_ioinfo.rebuildStyle();
  94. var tRow = grd_ioinfo.rows;
  95. var OralSum = 0;
  96. var DrugSum = 0;
  97. var BloodSum = 0 ;
  98. var EtcSum = 0;
  99. var OutPutSum = 0;
  100. var IntakeTotalSum = 0;
  101. var OutputTotalSum = 0;
  102. var SpecSum = 0;
  103. var StartFlag = "";
  104. var sAddIntakeRow = "";
  105. var IntakeLastRow = 0;
  106. OralSum = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "01" + "' and itemnm = '"+""+"']/total");
  107. DrugSum = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "02" + "' and itemnm = '"+""+"']/total");
  108. BloodSum = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "03" + "' and itemnm = '"+""+"']/total");
  109. EtcSum = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "04" + "' and itemnm = '"+""+"']/total");
  110. OutPutSum = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "07" + "' and itemnm = '"+""+"']/total");
  111. var DayOralSum = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "01" + "' and itemnm = '"+"경구입력"+"']/dayrslt");
  112. var EvnOralSum = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "01" + "' and itemnm = '"+"경구입력"+"']/evnrslt");
  113. var NgtOralSum = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "01" + "' and itemnm = '"+"경구입력"+"']/ngtrslt");
  114. var totalOralSum = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "01" + "' and itemnm = '"+"경구입력"+"']/subtotal");
  115. var DaySum1 = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "01" + "' and itemnm = '"+""+"']/dayrslt");
  116. var DaySum2 = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "02" + "' and itemnm = '"+""+"']/dayrslt");
  117. var DaySum3 = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "03" + "' and itemnm = '"+""+"']/dayrslt");
  118. var DaySum4 = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "04" + "' and itemnm = '"+""+"']/dayrslt");
  119. var EvnSum1 = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "01" + "' and itemnm = '"+""+"']/evnrslt");
  120. var EvnSum2 = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "02" + "' and itemnm = '"+""+"']/evnrslt");
  121. var EvnSum3 = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "03" + "' and itemnm = '"+""+"']/evnrslt");
  122. var EvnSum4 = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "04" + "' and itemnm = '"+""+"']/evnrslt");
  123. var NgtSum1 = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "01" + "' and itemnm = '"+""+"']/ngtrslt");
  124. var NgtSum2 = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "02" + "' and itemnm = '"+""+"']/ngtrslt");
  125. var NgtSum3 = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "03" + "' and itemnm = '"+""+"']/ngtrslt");
  126. var NgtSum4 = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "04" + "' and itemnm = '"+""+"']/ngtrslt");
  127. var SubTotal1 = model.getValue("/root/main/ioinfo/iolist[lnkbizcd = '" + "01" + "' and itemnm = '"+""+"']/subtotal");
  128. if(DaySum1 == "")DaySum1=0;
  129. if(DaySum2 == "")DaySum2=0;
  130. if(DaySum3 == "")DaySum3=0;
  131. if(DaySum4 == "")DaySum4=0;
  132. if(EvnSum1 == "")EvnSum1=0;
  133. if(EvnSum2 == "")EvnSum2=0;
  134. if(EvnSum3 == "")EvnSum3=0;
  135. if(EvnSum4 == "")EvnSum4=0;
  136. if(NgtSum1 == "")NgtSum1=0;
  137. if(NgtSum2 == "")NgtSum2=0;
  138. if(NgtSum3 == "")NgtSum3=0;
  139. if(NgtSum4 == "")NgtSum4=0;
  140. var lnkbizcd;
  141. var itemnm;
  142. for(var i=grd_ioinfo.fixedRows; i < grd_ioinfo.rows; i++) {
  143. lnkbizcd = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("lnkbizcd"));
  144. itemnm = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm"));
  145. if(lnkbizcd == "01" && (itemnm == "" || itemnm == null) ) {
  146. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("dayrslt")) = parseFloat(DaySum1) + parseFloat(DayOralSum);
  147. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("evnrslt")) = parseFloat(EvnSum1) + parseFloat(EvnOralSum);
  148. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("ngtrslt")) = parseFloat(NgtSum1) + parseFloat(NgtOralSum);
  149. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("subtotal")) = parseFloat(SubTotal1) + parseFloat(totalOralSum);
  150. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("total")) = parseFloat(SubTotal1) + parseFloat(totalOralSum);
  151. }
  152. }
  153. if(tRow > 0){
  154. for(var i = grd_ioinfo.fixedRows ; i <= grd_ioinfo.rows - grd_ioinfo.fixedRows ; i ++){
  155. if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("setyn")) == "1"){
  156. IntakeLastRow = i;
  157. }
  158. var param = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("lnkbizcd"));
  159. //수치가 0인 항목 삭제 및 항목명 입력
  160. if(param == "01"){
  161. if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("d_lnkrecflag")) == "" && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm")) != ""){
  162. //if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("dayrslt")) == "0"){
  163. // grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("dayrslt")) = "";
  164. //}else{
  165. // grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("d_lnkrecflag")) = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm"));
  166. //}
  167. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("d_lnkrecflag")) = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm"));
  168. }
  169. if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("e_lnkrecflag")) == "" && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm")) != ""){
  170. //if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("evnrslt")) == "0"){
  171. // grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("evnrslt")) = "";
  172. //}else{
  173. // grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("e_lnkrecflag")) = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm"));
  174. //}
  175. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("e_lnkrecflag")) = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm"));
  176. }
  177. if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("n_lnkrecflag")) == "" && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm")) != ""){
  178. //if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("ngtrslt")) == "0"){
  179. // grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("ngtrslt")) = "";
  180. //}else{
  181. // grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("n_lnkrecflag")) = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm"));
  182. //}
  183. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("n_lnkrecflag")) = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm"));
  184. }
  185. }else{
  186. if( grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("d_lnkrecflag")) == ""){
  187. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("d_lnkrecflag")) = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm"))+
  188. ( param == "03"
  189. && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("daycnt")) != "0"
  190. && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm")) != ""
  191. ? " ("+ grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("daycnt")) + ")" : "");
  192. }else if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm")) != ""){
  193. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("dayrslt")) = "";
  194. }
  195. if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("e_lnkrecflag")) == ""){
  196. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("e_lnkrecflag")) = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm"))+
  197. ( param == "03"
  198. && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("evncnt")) != "0"
  199. && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm")) != ""
  200. ? " ("+ grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("evncnt")) + ")" : "");
  201. }else if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm")) != ""){
  202. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("evnrslt")) = "";
  203. }
  204. if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("n_lnkrecflag")) == ""){
  205. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("n_lnkrecflag")) = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm"))+
  206. ( param == "03"
  207. && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("ngtcnt")) != "0"
  208. && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm")) != ""
  209. ? " ("+ grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("ngtcnt")) + ")" : "");
  210. }else if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm")) != ""){
  211. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("ngtrslt")) = "";
  212. }
  213. }
  214. var fRow = grd_ioinfo.findrow(grd_ioinfo.valueMatrix( i, grd_ioinfo.colRef("lnkbizcd")), 1, grd_ioinfo.colRef("lnkbizcd"));
  215. /*
  216. if(fRow < i ){
  217. //같은 분류의 상위 행 데이터 존재 여부 확인 및 채우기
  218. if( grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm")) != "" && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("dayrslt")) != "" ){
  219. for(var k = fRow ; k < i ; k++){
  220. if(grd_ioinfo.valueMatrix(k, grd_ioinfo.colRef("dayrslt")) == "" ){
  221. grd_ioinfo.valueMatrix(k, grd_ioinfo.colRef("dayrslt")) = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("dayrslt"));
  222. grd_ioinfo.valueMatrix(k, grd_ioinfo.colRef("d_lnkrecflag")) = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm"))+
  223. ( param == "03"
  224. && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("daycnt")) != "0"
  225. && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm")) != ""
  226. ? " ("+ grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("daycnt")) + ")" : "");
  227. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("dayrslt")) = "";
  228. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("d_lnkrecflag")) = "";
  229. }
  230. }
  231. }
  232. if( grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm")) != "" && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("evnrslt")) != "" ){
  233. for(var k = fRow ; k < i ; k++){
  234. if(grd_ioinfo.valueMatrix(k, grd_ioinfo.colRef("evnrslt")) == "" ){
  235. grd_ioinfo.valueMatrix(k, grd_ioinfo.colRef("evnrslt")) = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("evnrslt"));
  236. grd_ioinfo.valueMatrix(k, grd_ioinfo.colRef("e_lnkrecflag")) = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm"))+
  237. ( param == "03"
  238. && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("evncnt")) != "0"
  239. && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm")) != ""
  240. ? " ("+ grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("evncnt")) + ")" : "");
  241. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("evnrslt")) = "";
  242. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("e_lnkrecflag")) = "";
  243. }
  244. }
  245. }else{
  246. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("e_lnkrecflag")) = "";
  247. }
  248. if( grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm")) != "" && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("ngtrslt")) != "" ){
  249. for(var k = fRow ; k < i ; k++){
  250. if(grd_ioinfo.valueMatrix(k, grd_ioinfo.colRef("ngtrslt")) == "" ){
  251. grd_ioinfo.valueMatrix(k, grd_ioinfo.colRef("ngtrslt")) = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("ngtrslt"));
  252. grd_ioinfo.valueMatrix(k, grd_ioinfo.colRef("n_lnkrecflag")) = grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm"))+
  253. ( param == "03"
  254. && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("ngtcnt")) != "0"
  255. && grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("itemnm")) != ""
  256. ? " ("+ grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("ngtcnt")) + ")" : "");
  257. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("ngtrslt")) = "";
  258. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("n_lnkrecflag")) = "";
  259. }
  260. }
  261. }else{
  262. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("n_lnkrecflag")) = "";
  263. }
  264. }
  265. */
  266. //구분별 합계 입력(Merge 작업을 하기위하여 머지할 행 데이터 일치시키기 위함)
  267. switch(param){
  268. case "01" :
  269. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("total")) = " " + OralSum;
  270. break;
  271. case "02" :
  272. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("total")) = " " + DrugSum;
  273. break;
  274. case "03" :
  275. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("total")) = " " + BloodSum;
  276. break;
  277. case "04" :
  278. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("total")) = " " + EtcSum;
  279. break;
  280. case "05" :
  281. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("total")) = " " + OutPutSum;
  282. break;
  283. }
  284. //구분필드 색상 변경
  285. grd_ioinfo.cellStyle("background-color", i, grd_ioinfo.colRef("setyn"), i, grd_ioinfo.colRef("lnkbizcd")) = "#ccccff";
  286. //SubTotal Row 색상 변경
  287. if(model.getValue("/root/main/ioinfo/iolist["+i+"]/itemnm") == ""){
  288. grd_ioinfo.cellStyle("background-color", i, grd_ioinfo.colRef("d_lnkrecflag"), i, grd_ioinfo.colRef("subtotal")) = "#ffff99";
  289. }
  290. //Total Output Row 색상변경
  291. if(model.getValue("/root/main/ioinfo/iolist["+i+"]/lnkbizcd") == "07"){
  292. grd_ioinfo.cellStyle("background-color", i, grd_ioinfo.colRef("setyn"), i, grd_ioinfo.colRef("total")) = "#ffff00";
  293. grd_ioinfo.cellStyle("font-size", i, grd_ioinfo.colRef("setyn"), i, grd_ioinfo.colRef("total")) = "12";
  294. grd_ioinfo.cellStyle("font-weight", i, grd_ioinfo.colRef("setyn"), i, grd_ioinfo.colRef("total")) = "bold";
  295. //grd_ioinfo.cellStyle("text-align", i, grd_ioinfo.colRef("total"), i, grd_ioinfo.colRef("total")) = "center";
  296. }
  297. }
  298. //Intake 합계 Row 추가
  299. var intaketotalsetrow = 0;
  300. if(IntakeLastRow > 0){
  301. grd_ioinfo.insertRow(IntakeLastRow, "below", false);
  302. intaketotalsetrow = IntakeLastRow + 1;
  303. }
  304. if(intaketotalsetrow > 0){
  305. grd_ioinfo.valueMatrix(intaketotalsetrow, grd_ioinfo.colRef("setyn")) = "06";
  306. grd_ioinfo.valueMatrix(intaketotalsetrow, grd_ioinfo.colRef("lnkbizcd")) = "06";
  307. grd_ioinfo.valueMatrix(intaketotalsetrow, grd_ioinfo.colRef("dayrslt")) = eval(DayOralSum) + eval(DaySum1) + eval(DaySum2) + eval(DaySum3)+ eval(DaySum4);
  308. grd_ioinfo.valueMatrix(intaketotalsetrow, grd_ioinfo.colRef("evnrslt")) = eval(EvnOralSum) + eval(EvnSum1) + eval(EvnSum2) + eval(EvnSum3)+ eval(EvnSum4);
  309. grd_ioinfo.valueMatrix(intaketotalsetrow, grd_ioinfo.colRef("ngtrslt")) = eval(NgtOralSum) + eval(NgtSum1) + eval(NgtSum2) + eval(NgtSum3)+ eval(NgtSum4);
  310. grd_ioinfo.cellStyle("background-color", intaketotalsetrow, grd_ioinfo.colRef("setyn"), intaketotalsetrow, grd_ioinfo.colRef("total")) = "#ffff00";
  311. grd_ioinfo.cellStyle("font-size", intaketotalsetrow, grd_ioinfo.colRef("setyn"), intaketotalsetrow, grd_ioinfo.colRef("total")) = "12";
  312. grd_ioinfo.cellStyle("font-weight", intaketotalsetrow, grd_ioinfo.colRef("setyn"), intaketotalsetrow, grd_ioinfo.colRef("total")) = "bold";
  313. }
  314. // 비고 Row 추가및 계산 정보 입력
  315. var insertRow = 0 ;
  316. var specRow = 0;
  317. var outputtotalsetrow = grd_ioinfo.findRow("07", 1, grd_ioinfo.colRef("setyn"));
  318. if(intaketotalsetrow > 0 && outputtotalsetrow > 0){
  319. grd_ioinfo.insertRow(outputtotalsetrow, "below", false);
  320. specRow = outputtotalsetrow+1;
  321. }
  322. if(specRow > 0 ){
  323. var d_spec = eval(grd_ioinfo.valueMatrix(intaketotalsetrow, grd_ioinfo.colRef("dayrslt"))) - eval(grd_ioinfo.valueMatrix(outputtotalsetrow, grd_ioinfo.colRef("dayrslt")));
  324. var e_spec = eval(grd_ioinfo.valueMatrix(intaketotalsetrow, grd_ioinfo.colRef("evnrslt"))) - eval(grd_ioinfo.valueMatrix(outputtotalsetrow, grd_ioinfo.colRef("evnrslt")));
  325. var n_spec = eval(grd_ioinfo.valueMatrix(intaketotalsetrow, grd_ioinfo.colRef("ngtrslt"))) - eval(grd_ioinfo.valueMatrix(outputtotalsetrow, grd_ioinfo.colRef("ngtrslt")));
  326. var t_spec = eval(d_spec) + eval(e_spec) + eval(n_spec);
  327. d_spec = Math.round(d_spec * Math.pow(10, (-4)*(-1)-1)) / Math.pow(10, (-4)*(-1)-1);
  328. e_spec = Math.round(e_spec * Math.pow(10, (-4)*(-1)-1)) / Math.pow(10, (-4)*(-1)-1);
  329. n_spec = Math.round(n_spec * Math.pow(10, (-4)*(-1)-1)) / Math.pow(10, (-4)*(-1)-1);
  330. t_spec = Math.round(t_spec * Math.pow(10, (-4)*(-1)-1)) / Math.pow(10, (-4)*(-1)-1);
  331. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("setyn")) = "08";
  332. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("lnkbizcd")) = "08";
  333. if(d_spec > 0){
  334. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("dayrslt"))= "+" + d_spec;
  335. grd_ioinfo.cellStyle("color", specRow, grd_ioinfo.colRef("dayrslt"), specRow, grd_ioinfo.colRef("dayrslt")) = "#ff0000";
  336. }else if(d_spec == 0){
  337. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("dayrslt"))= d_spec;
  338. }else{
  339. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("dayrslt"))= d_spec;
  340. grd_ioinfo.cellStyle("color", specRow, grd_ioinfo.colRef("dayrslt"), specRow, grd_ioinfo.colRef("dayrslt")) = "#0000ff";
  341. }
  342. if(e_spec > 0){
  343. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("evnrslt"))= "+" + e_spec;
  344. grd_ioinfo.cellStyle("color", specRow, grd_ioinfo.colRef("evnrslt"), specRow, grd_ioinfo.colRef("evnrslt")) = "#ff0000";
  345. }else if(e_spec == 0){
  346. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("evnrslt"))= e_spec;
  347. }else{
  348. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("evnrslt"))= e_spec;
  349. grd_ioinfo.cellStyle("color", specRow, grd_ioinfo.colRef("evnrslt"), specRow, grd_ioinfo.colRef("evnrslt")) = "#0000ff";
  350. }
  351. if(n_spec > 0){
  352. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("ngtrslt"))= "+" + n_spec;
  353. grd_ioinfo.cellStyle("color", specRow, grd_ioinfo.colRef("ngtrslt"), specRow, grd_ioinfo.colRef("ngtrslt")) = "#ff0000";
  354. }else if(n_spec == 0){
  355. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("ngtrslt"))= n_spec;
  356. }else{
  357. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("ngtrslt"))= n_spec;
  358. grd_ioinfo.cellStyle("color", specRow, grd_ioinfo.colRef("ngtrslt"), specRow, grd_ioinfo.colRef("ngtrslt")) = "#0000ff";
  359. }
  360. if(t_spec > 0){
  361. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("subtotal"))= "+" + t_spec;
  362. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("total"))= "+" + t_spec;
  363. grd_ioinfo.cellStyle("color", specRow, grd_ioinfo.colRef("subtotal"), specRow, grd_ioinfo.colRef("total")) = "#ff0000";
  364. }else if(t_spec == 0){
  365. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("subtotal"))= t_spec;
  366. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("total"))= t_spec;
  367. }else{
  368. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("subtotal"))= t_spec;
  369. grd_ioinfo.valueMatrix(specRow, grd_ioinfo.colRef("total"))= t_spec;
  370. grd_ioinfo.cellStyle("color", specRow, grd_ioinfo.colRef("subtotal"), specRow, grd_ioinfo.colRef("total")) = "#0000ff";
  371. }
  372. grd_ioinfo.cellStyle("background-color", specRow, grd_ioinfo.colRef("setyn"), specRow, grd_ioinfo.colRef("total")) = "#ffcc99";
  373. grd_ioinfo.cellStyle("font-size", specRow, grd_ioinfo.colRef("setyn"), specRow, grd_ioinfo.colRef("total")) = "12";
  374. grd_ioinfo.cellStyle("font-weight", specRow, grd_ioinfo.colRef("setyn"), specRow, grd_ioinfo.colRef("total")) = "bold";
  375. }
  376. //그리드 선택 제어 부분
  377. model.setFocus("btn_close");
  378. grd_ioinfo.row = 0;
  379. grd_ioinfo.isReadOnly(grd_ioinfo.fixedrows, grd_ioinfo.fixedcols, grd_ioinfo.rows-1, grd_ioinfo.cols-1) = true;
  380. //그리드 머지 작업
  381. grd_ioinfo.mergecells = "bycolrec"; // byrestriccol byrestricrow
  382. grd_ioinfo.mergecol(0) = true;
  383. grd_ioinfo.mergecol(1) = true;
  384. grd_ioinfo.mergecol(2) = false;
  385. grd_ioinfo.mergecol(3) = false;
  386. grd_ioinfo.mergecol(4) = false;
  387. grd_ioinfo.mergecol(5) = false;
  388. grd_ioinfo.mergecol(6) = false;
  389. grd_ioinfo.mergecol(7) = false;
  390. grd_ioinfo.mergecol(8) = false;
  391. grd_ioinfo.mergecol(9) = true;
  392. //Total Intake 합계 데이터 입력(Merge로 인하여 제일 하단에 추가)
  393. if(intaketotalsetrow > 0){
  394. grd_ioinfo.valueMatrix(intaketotalsetrow, grd_ioinfo.colRef("subtotal")) = " " + Math.round((eval(DaySum1) + eval(DaySum2) + eval(DaySum3)+ eval(DaySum4) + eval(EvnSum1) + eval(EvnSum2) + eval(EvnSum3)+ eval(EvnSum4) + eval(NgtSum1) + eval(NgtSum2) + eval(NgtSum3)+ eval(NgtSum4)) * Math.pow(10, (-4)*(-1)-1)) / Math.pow(10, (-4)*(-1)-1);
  395. grd_ioinfo.valueMatrix(intaketotalsetrow, grd_ioinfo.colRef("total")) = " " + Math.round((eval(DaySum1) + eval(DaySum2) + eval(DaySum3)+ eval(DaySum4) + eval(EvnSum1) + eval(EvnSum2) + eval(EvnSum3)+ eval(EvnSum4) + eval(NgtSum1) + eval(NgtSum2) + eval(NgtSum3)+ eval(NgtSum4)) * Math.pow(10, (-4)*(-1)-1)) / Math.pow(10, (-4)*(-1)-1);
  396. }
  397. }
  398. for(var i = grd_ioinfo.fixedRows ; i <= grd_ioinfo.rows - grd_ioinfo.fixedRows ; i ++){
  399. if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("dayrslt")) == ""){
  400. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("d_lnkrecflag")) ="";
  401. }
  402. if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("evnrslt")) == ""){
  403. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("e_lnkrecflag")) ="";
  404. }
  405. if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("ngtrslt")) == "" ){
  406. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("n_lnkrecflag")) ="";
  407. }
  408. }
  409. //수치량이 존재하지 않는 Row 삭제
  410. for(var i = grd_ioinfo.fixedRows ; i <= grd_ioinfo.rows - grd_ioinfo.fixedRows ; i ++){
  411. if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("dayrslt")) == "07"){
  412. grd_ioinfo.mergerow(i) = true;
  413. }
  414. if(grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("dayrslt")) == "" &&
  415. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("evnrslt")) == "" &&
  416. grd_ioinfo.valueMatrix(i, grd_ioinfo.colRef("ngtrslt")) == "" ){
  417. grd_ioinfo.deleteRow(i);
  418. i = i-1;
  419. }
  420. }
  421. model.refresh();
  422. }
  423. /**
  424. * @group :
  425. * @ver : 2009.07.01
  426. * @by : 김홍점
  427. * @---------------------------------------------------
  428. * @type : function
  429. * @access : public
  430. * @desc : 메모저장, 메모삭제
  431. * @param :PFlag : D - 메모삭제 , S - 저장
  432. * @return :
  433. * @---------------------------------------------------
  434. */
  435. function fMedrMomoSave(pFlag){
  436. var saveHearder = "m▦memocnts▦pid▦memoitemflag▦seqno▦recdd_b▦rectm_b▦recdd▦rectm▦indd▦cretno▩";
  437. var saveData = "";
  438. var status = "";
  439. if ( isNull(model.getValue(xPathCondInfo + "/pid")) ) {
  440. messageBox("해당 환자가 선택되지", "E007");
  441. return;
  442. } else {
  443. model.removeNodeset("/root/send/savedata");
  444. model.makeNode("/root/send/savedata");
  445. model.makeValue("/root/send/savedata/condinfo/wardcd", model.getValue(xPathCondInfo + "/wardcd"));
  446. model.makeValue("/root/send/savedata/condinfo/pid", model.getValue(xPathCondInfo + "/pid"));
  447. model.makeValue("/root/send/savedata/condinfo/indd", model.getValue(xPathCondInfo + "/orddd"));
  448. model.makeValue("/root/send/savedata/condinfo/cretno", model.getValue(xPathCondInfo + "/cretno"));
  449. model.makeValue("/root/send/savedata/condinfo/orddd", model.getValue(xPathCondInfo + "/seardd"));
  450. model.makeValue("/root/send/savedata/condinfo/seardd", model.getValue(xPathCondInfo + "/seardd"));
  451. model.makeValue("/root/send/savedata/condinfo/memoitemflag", "08");
  452. if( pFlag =="D"){
  453. saveData = "d" + "▦"
  454. + "" + "▦"
  455. + model.getValue(xPathCondInfo + "/pid") + "▦"
  456. + "08" + "▦"
  457. + model.getValue(xPathMemoInfo + "/seqno") + "▦"
  458. + model.getValue(xPathMemoInfo + "/recdd_b") + "▦"
  459. + model.getValue(xPathMemoInfo + "/rectm_b") + "▦"
  460. + model.getValue(xPathMemoInfo + "/recdd_b") + "▦"
  461. + model.getValue(xPathMemoInfo + "/rectm_b") + "▦"
  462. + model.getValue(xPathCondInfo + "/orddd") + "▦"
  463. + model.getValue(xPathCondInfo + "/cretno") + "▩";
  464. model.makeValue("/root/send/savedata/memoinfo",saveHearder+saveData);
  465. model.resetInstanceNode(xPathMemoInfo);
  466. if(submit("TXMNR05801","false")){
  467. messageBox("성공적으로", "I001");
  468. }
  469. }else{
  470. if ( isNull(model.getValue(xPathMemoInfo + "/memocnts")) ){
  471. messageBox("저장할 메모를", "C001");//" 입력하십시오."
  472. return;
  473. }
  474. if(isNull(model.getValue(xPathMemoInfo+"/status"))){
  475. status="i";
  476. saveData = status + "▦"
  477. + model.getValue(xPathMemoInfo+"/memocnts") + "▦"
  478. + model.getValue(xPathCondInfo + "/pid") + "▦"
  479. + "08" + "▦"
  480. + model.getValue(xPathMemoInfo + "/seqno") + "▦"
  481. + model.getValue(xPathMemoInfo + "/recdd_b") + "▦"
  482. + model.getValue(xPathMemoInfo + "/rectm_b") + "▦"
  483. + model.getValue(xPathCondInfo + "/seardd") + "▦"
  484. + "0000▦"
  485. + model.getValue(xPathCondInfo + "/orddd") + "▦"
  486. + model.getValue(xPathCondInfo + "/cretno") + "▩";
  487. }else{
  488. status="u";
  489. saveData = status + "▦"
  490. + model.getValue(xPathMemoInfo+"/memocnts") + "▦"
  491. + model.getValue(xPathCondInfo + "/pid") + "▦"
  492. + "08" + "▦"
  493. + model.getValue(xPathMemoInfo + "/seqno") + "▦"
  494. + model.getValue(xPathMemoInfo + "/recdd_b") + "▦"
  495. + model.getValue(xPathMemoInfo + "/rectm_b") + "▦"
  496. + model.getValue(xPathMemoInfo + "/recdd_b") + "▦"
  497. + model.getValue(xPathMemoInfo + "/rectm_b") + "▦"
  498. + model.getValue(xPathCondInfo + "/orddd") + "▦"
  499. + model.getValue(xPathCondInfo + "/cretno") + "▩";
  500. }
  501. model.makeValue("/root/send/savedata/memoinfo",saveHearder+saveData);
  502. model.resetInstanceNode(xPathMemoInfo);
  503. if(submit("TXMNR05801","false")){
  504. messageBox("성공적으로", "I001");
  505. }
  506. }
  507. tar_memocnts.refresh();
  508. }
  509. }
  510. // 환자 기본정보 조회('16.03.31) - AYS
  511. function fSettingPatlnfo(){
  512. var sPatBaseInfo = model.getValue("/root/main/patinfo/patinfo"+"/wardnm" ) + " " // 병동
  513. + model.getValue("/root/main/patinfo/patinfo"+"/roomcd" ) + " " // 병실
  514. + model.getValue("/root/main/patinfo/patinfo"+"/patnm" ) + "(" // 환자명
  515. + model.getValue("/root/main/patinfo/patinfo"+"/pid" ) + ") " // 등록번호
  516. + model.getValue("/root/main/patinfo/patinfo"+"/sexage" ) + " " // SA
  517. + model.getValue("/root/main/patinfo/patinfo"+"/orddeptnm" ); // 진료과
  518. //alert("sPatBaseInfo : " + sPatBaseInfo);
  519. model.makeValue("/root/main/patinfo", sPatBaseInfo);
  520. }