SMMMO09000.js 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. WORKLIST ( SMMMO09000_WorkList.xrw - JScript )
  4. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  5. */
  6. var sWORKLIST_PATH = "/root/main/worklistinfo/worklist";
  7. var sDSCHDCLRT_PATH = "/root/main/dschdclrt/dschdclrt";
  8. var sORDERBY = "asc";
  9. /**
  10. * @desc : 화면 초기화
  11. * @
  12. * @param :
  13. * @return :
  14. * @author : 오지훈
  15. * @---------------------------------------------------
  16. */
  17. function fInitialize_SMMMO09000(){
  18. model.removeNodeset(sWORKLIST_PATH);
  19. model.setValue("/root/main/cond/indd", getCurrentDate());
  20. mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept" , "D"); //부서코드 콤보
  21. mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept2", "W"); //병동코드 콤보
  22. mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist" , getUserInfo("dutplcecd"), "0330");
  23. mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist2", getUserInfo("dutplcecd"), "0330", "N");
  24. addComboInstance("/root/init/userlist" , "userid^usernm" , "-^전체", "usercombo"); //의사콤보(담당교수) 전체항목 추가
  25. addComboInstance("/root/init/userlist2", "userid^usernm" , "-^전체", "usercombo"); //의사콤보(전문의) 전체항목 추가
  26. addComboInstance("/root/init/orddept2" , "deptcd^depthngnm", "-^전체", "dept"); //병동콤보 전체항목 추가
  27. model.setValue("/root/main/cond/orddeptcd" , getUserInfo("dutplcecd")); //진료과
  28. model.setValue("/root/main/cond/medispclid", getUserInfo("userid")); //담당교수
  29. model.setValue("/root/main/cond/atdoctid" , "-"); //전공의
  30. model.setValue("/root/main/cond/wardcd" , "-"); //병동콤보
  31. model.refresh();
  32. reqOrderInfoOfCol("SMMMO09000", "grd_worklist"); //worklist 컬럼 조회 및 설정
  33. if(cmb_orddept.label == ""){cmb_orddept.select(1);} //선택된 진료과가 없는 경우 default로 첫번째 설정
  34. if(cmb_medispclid.label == ""){cmb_medispclid.select(1);} //선택된 담당교수가 없는 경우 default로 첫번째 설정
  35. }
  36. /**
  37. * @desc : 입원환자 환자 기본정보설정
  38. * @
  39. * @param :
  40. * @return :
  41. * @author : 오지훈
  42. * @---------------------------------------------------
  43. */
  44. function fReqWorkListPamInfo(){
  45. var iRow = grd_worklist.row;
  46. var pid = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/pid");
  47. var indd = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/indd");
  48. var cretno = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/cretno");
  49. var instcd = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/instcd");
  50. var srchdd = model.getValue("/root/main/cond/indd"); //조회일자
  51. var param;
  52. param = "I" + "▦" + pid + "▦" + indd + "▦" + cretno + "▦" + instcd + "▦" + srchdd;
  53. setParameter("condparam", param);
  54. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  55. var useyn = getParameter("SPMMO08900_rtn_useyn");
  56. if(useyn == "Y"){
  57. setParameter("SPMMO08900_rtn_useyn", "");
  58. return true;
  59. }else{
  60. return false;
  61. }
  62. }
  63. /**
  64. * @desc : 내 환자 적용/해제
  65. * @
  66. * @param :
  67. * @event : 팝업창 내 환자 적용 EVENT
  68. * @return :
  69. * @author : 오지훈
  70. * @---------------------------------------------------
  71. */
  72. function fRgstCnclMyPat(){
  73. var mypatinfo = "";
  74. var totrow = grd_worklist.rows;
  75. for(var currow = 1 ; currow < totrow ; currow++){
  76. if(grd_worklist.isSelected(currow)){
  77. var pid = model.getValue(sWORKLIST_PATH + "[" + currow + "]/pid");
  78. var indd = model.getValue(sWORKLIST_PATH + "[" + currow + "]/indd");
  79. var cretno = model.getValue(sWORKLIST_PATH + "[" + currow + "]/cretno");
  80. var seqno = model.getValue(sWORKLIST_PATH + "[" + currow + "]/seqno");
  81. var deptcd = model.getValue(sWORKLIST_PATH + "[" + currow + "]/orddeptcd");
  82. var tmpstr = "▦" + pid + "▦" + indd + "▦" + cretno + "▦" + seqno + "▦" + deptcd + "▩" ;
  83. mypatinfo += tmpstr;
  84. }
  85. }
  86. setParameter("apntflag", "mypat"); //화면 적용 구분을 내 환자 적용
  87. setParameter("mypatinfo", mypatinfo);
  88. modal("SPMMO10700");
  89. fReqWorkList();
  90. }
  91. /**
  92. * @desc : WorkList 조회
  93. * @
  94. * @param :
  95. * @event : 조회버튼 EVENT
  96. * @return :
  97. * @author : 오지훈
  98. * @---------------------------------------------------
  99. */
  100. function fReqWorkList(){
  101. model.makeValue("/root/main/cond/srchdd", model.getValue("/root/main/cond/indd"));
  102. model.copyNode("/root/send/reqdata", "/root/main/cond");
  103. if(submit("TRMMO09003")){
  104. // model.copyNode(parent.root.temp.worklist, root.init);
  105. // model.copyNode(parent.root.cond.worklist, root.main.cond);
  106. }
  107. var orderby = model.getValue("/root/main/cond/orderby");
  108. var sortcol = model.getValue("/root/main/cond/sortcol");
  109. if(sortcol != "" && orderby != ""){
  110. sORDERBY = orderby;
  111. nodeListSort(grd_worklist.nodeset, grd_worklist.colAttribute(sortcol, "ref"), sORDERBY);
  112. }
  113. grd_worklist.refresh();
  114. fChngGrdCellColor();
  115. }
  116. /**
  117. * @desc : Lab설정 변경 open
  118. * @
  119. * @param :
  120. * @event :
  121. * @return :
  122. * @author : 정희수
  123. * @---------------------------------------------------
  124. */
  125. function fOpenLabSet(){
  126. var currow = grd_worklist.row;
  127. if(currow < 1){
  128. return;
  129. }
  130. var iRow = grd_worklist.row;
  131. var wrkltrgtcd = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/wrkltrgtcd");
  132. var wrklflag = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/wrklflag");
  133. var wrklno = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/wrklno");
  134. var instcd = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/instcd");
  135. var pid = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/pid");
  136. var srchdd = model.getValue("/root/main/cond/indd"); //조회일자
  137. var param = "L" + "▩" + wrklflag + "▩" + wrkltrgtcd + "▩" + wrklno + "▩" + instcd + "▩" + pid + "▩" + srchdd;
  138. setParameter("param", param);
  139. modal("SMMMO09300");
  140. fReqWorkList();
  141. }
  142. /**
  143. * @desc : Diagnosis/Treatment/Remark변경 창 호출
  144. * @
  145. * @param :
  146. * @return :
  147. * @author : 정희수
  148. * @---------------------------------------------------
  149. */
  150. function fCalldiagTreatRmrk(){
  151. var currow = grd_worklist.row;
  152. if(currow < 1){
  153. return;
  154. }
  155. var iRow = grd_worklist.row;
  156. var wrkltrgtcd = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/wrkltrgtcd");
  157. var wrklflag = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/wrklflag");
  158. var wrklno = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/wrklno");
  159. var instcd = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/instcd");
  160. var pid = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/pid");
  161. var srchdd = model.getValue("/root/main/cond/indd"); //조회일자
  162. var param = "D" + "▩" + wrklflag + "▩" + wrkltrgtcd + "▩" + wrklno + "▩" + instcd + "▩" + pid + "▩" + srchdd;
  163. setParameter("param", param);
  164. modal("SMMMO09200");
  165. fReqWorkList();
  166. }
  167. /**
  168. * @desc : 일자변경설정 열기
  169. * @
  170. * @param :
  171. * @return :
  172. * @author : 정희수
  173. * @---------------------------------------------------
  174. */
  175. function fOpenSetDay(){
  176. var currow = grd_worklist.row;
  177. if(currow < 1){
  178. return;
  179. }
  180. var iRow = grd_worklist.row;
  181. var wrkltrgtcd = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/wrkltrgtcd");
  182. var wrklflag = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/wrklflag");
  183. var wrklno = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/wrklno");
  184. var instcd = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/instcd");
  185. var pid = model.getValue(sWORKLIST_PATH + "[" + iRow + "]/pid");
  186. var srchdd = model.getValue("/root/main/cond/indd"); //조회일자
  187. var param = "S" + "▩" + wrklflag + "▩" + wrkltrgtcd + "▩" + wrklno + "▩" + instcd + "▩" + pid + "▩" + srchdd;
  188. setParameter("param", param);
  189. modal("SMMMO09400");
  190. fReqWorkList();
  191. }
  192. /**
  193. * @desc : 그리드 data 엑셀화일로 저장
  194. * @
  195. * @param :
  196. * @return :
  197. * @author : 오지훈
  198. * @---------------------------------------------------
  199. */
  200. function fSaveGridToExcel(){
  201. saveGridToExcel(grd_worklist);
  202. }
  203. /**
  204. * @desc : 환자리스트 색상설정
  205. * : 내환자적용 환자는 color instance에 ffffff이외의 값이 들어옴
  206. * @param :
  207. * @return :
  208. * @author : 오지훈
  209. * @---------------------------------------------------
  210. */
  211. function fChngGrdCellColor(){
  212. for(var currow = 1; currow < grd_worklist.rows; currow++){
  213. var color = model.getValue(sWORKLIST_PATH + "[" + currow + "]/color");
  214. grd_worklist.rowStyle(currow, "data", "background-color") = "#" + color;
  215. }
  216. grd_worklist.refresh();
  217. }
  218. /**
  219. * @desc : 그리드 data 엑셀화일로 저장
  220. * @
  221. * @param :
  222. * @return :
  223. * @author : 오지훈
  224. * @---------------------------------------------------
  225. */
  226. function fSaveGridToExcel(){
  227. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  228. if(fileName != ""){
  229. grd_opanstschelist.saveExcel(fileName, "SheetName", true, true, "", "", true);
  230. }
  231. }