SMMMO02500.js 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 환자진료정보 (SMMMO02500_환자진료정보.xrw - JScript )
  4. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  5. */
  6. /**
  7. * @desc : 화면 초기화
  8. * @
  9. * @param :
  10. * @return :
  11. * @author : 오지훈
  12. * @---------------------------------------------------
  13. */
  14. function fInitialize_SMMMO02500(){
  15. model.removeNodeset("/root/main/cncrlist/cncrlist");
  16. button1.selected = true;
  17. model.toggle("case1");
  18. //"P0327","P0157"
  19. zbcfGetCodeList(new Array( "M0011",
  20. "M0003",
  21. "M0029",
  22. "M0013",
  23. "M0015",
  24. "M0017",
  25. "M0020",
  26. "M0022",
  27. "M0330",
  28. "P0341"),
  29. new Array( "/root/init/prcpstatcd",
  30. "/root/init/prcpkindcd",
  31. "/root/init/payflagcd",
  32. "/root/init/M0013",
  33. "/root/init/M0015",
  34. "/root/init/M0017",
  35. "/root/init/M0020",
  36. "/root/init/M0022",
  37. "/root/init/M0330",
  38. "/root/init/P0341"));
  39. //zbcfGetDeptCodeList(getUserInfo("dutplceinstcd"), "orduseyn", "D", "/root/init/orddept"); //부서코드 콤보조회
  40. mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept2", "I"); //시행부서
  41. //pid▩ioflag▩orddd▩prcpdd
  42. //등록번호▩외래입원구분▩수진일,입원일▩입원처방일
  43. if (!isNull(opener.javascript.getParameter( "SMMMO02500_cond" ))){ //화면을 띄우는 곳에서 수진정보를 넘겨줄 때 검색
  44. var cond = opener.javascript.getParameter ( "SMMMO02500_cond" ) + "^";
  45. var pid = getArrayData (cond, 0, 0, "^", "▩" );
  46. var ioflag = getArrayData (cond, 0, 1, "^", "▩" );
  47. var orddd = getArrayData (cond, 0, 2, "^", "▩" );
  48. var prcpdd = getArrayData (cond, 0, 3, "^", "▩" );
  49. if(!isNull(pid)) {
  50. model.setValue ( "/root/init/srchcond1", "1" );
  51. model.setValue ( "/root/init/srchcond2", pid );
  52. if ( !isNull ( ioflag ) && !isNull( orddd ) ) {
  53. model.setValue ( "/root/send/cond4", ioflag );
  54. model.setValue ( "/root/send/cond5", orddd );
  55. }
  56. btn_bfprcpsrch.dispatch("DOMActivate");
  57. if(grd_patchosinfo.rows>= 1){
  58. grd_patchosinfo.row = 1;
  59. fPatChosInfo();
  60. }
  61. if(!isNull(prcpdd)){
  62. model.setValue ( "/root/send/cond2", orddd);
  63. model.setValue ( "/root/send/cond4", prcpdd );
  64. submit("TRMMO00100");
  65. }
  66. }
  67. }else{
  68. var pamInfoCvs = getGlobalVariable("paminfo"); //상단정보가 있을 경우는 검색
  69. var pid = "";
  70. if(pamInfoCvs != null){ //cvs가 null이 아닌 경우에만 처리함.
  71. model.removeNodeSet ( "/root/paminfo/list" );
  72. setCSVToNode ( "/root/paminfo", pamInfoCvs );
  73. pid = model.getValue ( "/root/paminfo/list/pid" );
  74. if(!isNull(pid)){
  75. model.setValue("/root/init/srchcond1", "1");
  76. model.setValue("/root/init/srchcond2", pid);
  77. btn_bfprcpsrch.dispatch("DOMActivate");
  78. }
  79. }
  80. }
  81. }
  82. /**
  83. * @desc : 환자내원정보 조회
  84. * @
  85. * @param :
  86. * @return :
  87. * @author : 오지훈
  88. * @---------------------------------------------------
  89. */
  90. function fPatChosInfo () {
  91. model.removeNodeset("/root/patprcpday/patprcpdaylist");
  92. model.removeNodeset("/root/prcpsrch/prcplist");
  93. var pid = model.getValue("/root/patinfo/patchosinfolist[" + grd_patchosinfo.row + "]/pid");
  94. var orddd = model.getValue("/root/patinfo/patchosinfolist[" + grd_patchosinfo.row + "]/orddd");
  95. var cretno = model.getValue("/root/patinfo/patchosinfolist[" + grd_patchosinfo.row + "]/cretno");
  96. var prcpdd = "";
  97. var bfflag = "patinfo";
  98. var flag = "";
  99. var orddrid = model.getValue("/root/patinfo/patchosinfolist[" + grd_patchosinfo.row + "]/orddrid");
  100. var todd = "";
  101. var prcpgenrflag = model.getValue("/root/patinfo/patchosinfolist[" + grd_patchosinfo.row + "]/ordtype");
  102. var orddeptcd = model.getValue("/root/patinfo/patchosinfolist[" + grd_patchosinfo.row + "]/orddeptcd");
  103. if(prcpgenrflag == "O" || prcpgenrflag == "S"){ //외래, 건진환자의 경우
  104. grd_prcpdd.visible = false;
  105. grd_bfprcplist.attribute("left") = "2";
  106. grd_bfprcplist.attribute("width")= "1190";
  107. if(model.getValue("/root/init/incdc") == "Y"){
  108. var incdc = "incdc";
  109. }
  110. fBfPrcpSrchCom(pid, orddd, prcpdd, bfflag, flag, incdc, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", true);
  111. model.copyNode("/root/bfprcpsrch" , "/root/prcpsrch");
  112. model.refresh();
  113. var srcNodeList = model.instances(0).selectNodes("/root/bfprcpsrch/prcplist");
  114. for(var i=1; i <= srcNodeList.length; i++){
  115. var colorArray = model.getValue("/root/bfprcpsrch/prcplist[" + i + "]/tempcol10") + "^";
  116. var backgroundcolor = getArrayData(colorArray, 0, 0, "^", "|");
  117. var fontcolor = getArrayData(colorArray, 0, 1, "^", "|");
  118. var boldflag = getArrayData(colorArray, 0, 2, "^", "|");
  119. }
  120. }else{
  121. model.removeNodeset("/root/prcpsrch/prcplist");
  122. grd_prcpdd.visible = true;
  123. grd_bfprcplist.attribute ( "left" ) = "114";
  124. grd_bfprcplist.attribute ( "width" ) = "1078";
  125. if(model.getValue ( "/root/init/incdc" ) == "Y"){
  126. var flag = "incdc";
  127. }
  128. fBfPrcpSrchCom(pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO02502", true);
  129. }
  130. }
  131. /**
  132. * @desc : 환자 처방조회
  133. * @
  134. * @param :
  135. * @return :
  136. * @author : 오지훈
  137. * @---------------------------------------------------
  138. */
  139. function fGetBfPrcpList(){
  140. model.removeNodeset("/root/main/bfprcp/prcplist");
  141. model.removeNodeset("/root/main/bfprcpday/bfprcpday");
  142. var ioflag = model.getValue("/root/main/srchinfo/patchosinfolist[" + grd_patchosinfo.row + "]/ordtype");
  143. var pid = model.getValue("/root/main/srchinfo/patchosinfolist[" + grd_patchosinfo.row + "]/pid");
  144. var orddd = model.getValue("/root/main/srchinfo/patchosinfolist[" + grd_patchosinfo.row + "]/orddd");
  145. var orddeptcd = model.getValue("/root/main/srchinfo/patchosinfolist[" + grd_patchosinfo.row + "]/orddeptcd");
  146. var orddrid = model.getValue("/root/main/srchinfo/patchosinfolist[" + grd_patchosinfo.row + "]/orddrid");
  147. var cretno = model.getValue("/root/main/srchinfo/patchosinfolist[" + grd_patchosinfo.row + "]/cretno");
  148. var dcflag = model.getValue("/root/main/cond/dcflag");
  149. var ref = "/root/send/reqdata";
  150. //외래전처방조회
  151. if(ioflag == "O" || ioflag == "S"){ //외래인 경우 처방일자 그리드를 화면에서 숨기고, 전처방그리드의 위치를 좌측에 맞춤
  152. grd_prcpdd.visible = false;
  153. grd_bfprcplist.attribute("left") = 2;
  154. grd_bfprcplist.attribute("width")= 1190;
  155. fReqGetPatBfPrcpList(ref, pid, orddd, cretno, orddd, ioflag, dcflag, "", orddeptcd, orddrid);
  156. }else{ //입원전처방일자 조회, 입원환자 선택시 전처방일자 조회
  157. grd_prcpdd.visible = true;
  158. grd_bfprcplist.attribute("left")= 114;
  159. grd_bfprcplist.attribute("width")= 1078;
  160. fReqGetPatBfPrcpDay(ref, pid, orddd, cretno, dcflag);
  161. }
  162. }
  163. /**
  164. * @desc : 환자 입원처방조회
  165. * @
  166. * @param :
  167. * @return :
  168. * @author : 오지훈
  169. * @---------------------------------------------------
  170. */
  171. function fReqGetPrcpSrchInfo(){
  172. var pid = model.getValue("/root/patinfo/patchosinfolist[" + grd_patchosinfo.row + "]/pid");
  173. var orddd = model.getValue("/root/patinfo/patchosinfolist[" + grd_patchosinfo.row + "]/orddd");
  174. var cretno = model.getValue("/root/patinfo/patchosinfolist[" + grd_patchosinfo.row + "]/cretno");
  175. var prcpdd = model.getValue("/root/patprcpday/patprcpdaylist[" + grd_prcpdd.row + "]/prcpdd");
  176. var incdc = model.getValue("/root/init/incdc");
  177. model.removeNodeset("/root/send/reqdata");
  178. model.makeValue("/root/send/reqdata/cond1", pid);
  179. model.makeValue("/root/send/reqdata/cond2", orddd);
  180. model.makeValue("/root/send/reqdata/cond3", cretno);
  181. model.makeValue("/root/send/reqdata/cond4", prcpdd);
  182. model.makeValue("/root/send/reqdata/cond5", "patinfo");
  183. if(incdc == "Y"){
  184. model.makeValue("/root/send/reqdata/cond7", "incdc");
  185. }
  186. model.makeValue("/root/send/reqdata/cond9" , "I");
  187. model.makeValue("/root/send/reqdata/cond11", cretno);
  188. model.makeValue("/root/send/reqdata/cond99", "getBfPrcpSrchInfo");
  189. if(submit("TRMMO00100", true, "/root/send/reqdata")){
  190. model.copyNode("/root/bfprcpsrch", "/root/prcpsrch");
  191. model.refresh();
  192. }
  193. }
  194. function setPrcpColor() {
  195. var srcNodeList = model.instances(0).selectNodes ( "/root/main/bfprcp/prcplist" );
  196. for ( var i=1; i <= srcNodeList.length; i++ ) {
  197. var colorArray = model.getValue ( "/root/main/bfprcp/prcplist[" + i + "]/tempcol10" ) + "^";
  198. var backgroundcolor = getArrayData (colorArray, 0, 0, "^", "|" );
  199. var fontcolor = getArrayData (colorArray, 0, 1, "^", "|" );
  200. var boldflag = getArrayData (colorArray, 0, 2, "^", "|" );
  201. if ( !isNull(backgroundcolor)) {
  202. grd_bfprcplist.rowstyle(i, "data", "background-color") = backgroundcolor;
  203. } else {
  204. grd_bfprcplist.rowstyle(i, "data", "background-color") = "#ffffff";
  205. }
  206. if ( !isNull(fontcolor)) {
  207. grd_bfprcplist.rowstyle(i, "data", "color") = fontcolor;
  208. } else {
  209. grd_bfprcplist.rowstyle(i, "data", "color") = "#000000";
  210. }
  211. if ( !isNull(boldflag)) {
  212. grd_bfprcplist.rowstyle(i, "data", "font-weight") = boldflag;
  213. } else {
  214. grd_bfprcplist.rowstyle(i, "data", "font-weight") = "normal";
  215. }
  216. }
  217. }