SPMNR05800.js 25 KB

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