SPMRI05000.js 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  1. /**
  2. * 2010.02.18 dhkim 신규 작성
  3. * SPMRI05000_기록일자확인.xrw
  4. */
  5. var readAllDeptcd = "3230000000";//의료정보팀
  6. /**
  7. * 2010.02.18 dhkim
  8. * 초기화
  9. */
  10. function fInit(){
  11. ivw_loader.window.javascript.fInitPage(true, true, parseInt(ivw_loader.attribute("height")));
  12. ivw_loader.window.javascript.afterSaveExeFuncNm = "fAfterSaveRec";
  13. //임시저장, 새이름으로저장, 초기화 버튼 hidden
  14. ivw_loader.window.javascript.btn_tmpsave.visible = false;
  15. ivw_loader.window.javascript.btn_init.visible = false;
  16. ivw_loader.window.javascript.btn_signsaveasnew.visible = false;
  17. model.removenode("/root/main/cond");
  18. model.makeNode("/root/main/cond/userid");
  19. model.makeValue("/root/main/cond/cnfmstat", "100");
  20. //부서코드리스트 정보 조회
  21. model.removenode("/root/init/orddept");
  22. model.makeNode("/root/init/orddept");
  23. if(!submit("TRMRI05003")){
  24. messageBox("알림부서조회를 실패하였습니다.", "E");
  25. return;
  26. }else{
  27. addComboItem("cmb_orddept", "전체", "", "above");
  28. }
  29. if(getNodesetCount("/root/init/orddept") > 0){
  30. if(model.getValue("/root/init/orddept/dept[deptcd='" + getUserInfo("dutplcecd") + "']/deptcd") == getUserInfo("dutplcecd")){
  31. model.makeValue("/root/main/cond/deptcd", getUserInfo("dutplcecd"));
  32. }else{
  33. model.makeValue("/root/main/cond/deptcd", model.getValue("/root/init/orddept[1]/deptcd"));
  34. }
  35. var deptcd = model.getValue("/root/main/cond/deptcd");
  36. //사용자정보조회
  37. fGetUserInfo(deptcd);
  38. }
  39. //로그인 사용자가 의료정보팀인 경우는 부서/사용자콤보 활성화
  40. if(getUserInfo("dutplcecd") == readAllDeptcd){
  41. cmb_orddept.disabled = false;
  42. // cmb_user.disabled = false;
  43. }else{
  44. cmb_orddept.disabled = true;
  45. // cmb_user.disabled = true;
  46. }
  47. model.refresh();
  48. }
  49. /**
  50. * 2010.02.18 dhkim
  51. * 사용자리스트조회
  52. */
  53. function fGetUserInfo(deptcd){
  54. model.removenode("/root/init/userinfo");
  55. model.makeNode("/root/init/userinfo");
  56. model.removenode("/root/send");
  57. model.makeValue("/root/send/deptcd", deptcd);
  58. if(!submit("TRMRI05004")){
  59. messageBox("알림사용자조회를 실패하였습니다.", "E");
  60. return;
  61. }else{
  62. addComboItem("cmb_user", "전체", "", "above");
  63. }
  64. if(getNodesetCount("/root/init/userinfo") > 0){
  65. if(model.getValue("/root/init/userinfo/userlist[userid='" + getUserInfo("userid") + "']/userid") == getUserInfo("userid")){
  66. model.makeValue("/root/main/cond/userid", getUserInfo("userid"));
  67. }else{
  68. model.makeValue("/root/main/cond/userid", model.getValue("/root/init/userinfo/userlist[1]/userid"));
  69. }
  70. }
  71. model.refresh();
  72. //의료정보팀이 아닐때 사번이 조건에 없으면 조회안함
  73. //if(getUserInfo("dutplcecd") != readAllDeptcd && model.getValue("/root/main/cond/userid") == ""){
  74. fGetMaster();
  75. //}
  76. }
  77. function fGetMaster(){
  78. //master내역 조회
  79. model.removenode("/root/main/notimasterinfo");
  80. model.makeNode("/root/main/notimasterinfo");
  81. if(!submit("TRMRI05001")){
  82. messageBox("알림내역조회를 실패하였습니다.", "E");
  83. return;
  84. }else{
  85. model.removenode("/root/main/cnts");
  86. model.removenode("/root/main/title");
  87. model.makeValue("/root/main/cnts", model.getValue("/root/main/notimasterinfo/notimasterlist/cnts"));
  88. model.makeValue("/root/main/title", model.getValue("/root/main/notimasterinfo/notimasterlist/title"));
  89. fGetDetail();
  90. // hei:740 wid:597
  91. }
  92. model.refresh();
  93. }
  94. /**
  95. * 2010.02.18 dhkim
  96. * 상세내역조회
  97. */
  98. function fGetDetail(){
  99. var noticd = model.getValue("/root/main/notimasterinfo/notimasterlist/noticd");
  100. if(noticd == null || noticd == ""){
  101. messageBox("알림코드는 필수입니다.", "E");
  102. return;
  103. }
  104. var notideptcd = model.getValue("/root/main/cond/deptcd");
  105. var notiuserid = model.getValue("/root/main/cond/userid");
  106. var cnfmstat = model.getValue("/root/main/cond/cnfmstat");
  107. //detail내역 조회
  108. model.removenode("/root/send");
  109. model.makeValue("/root/send/noticd", noticd);
  110. model.makeValue("/root/send/notideptcd", notideptcd);
  111. model.makeValue("/root/send/notiuserid", notiuserid);
  112. model.makeValue("/root/send/cnfmstat", cnfmstat);
  113. model.removenode("/root/main/notidetailinfo");
  114. model.makeNode("/root/main/notidetailinfo");
  115. if(!submit("TRMRI05002")){
  116. messageBox("알림상세내역조회를 실패하였습니다.", "E");
  117. return;
  118. }
  119. model.refresh();
  120. }
  121. /**
  122. * 2010.02.18 dhkim
  123. * 수정모드로 기록 열기
  124. */
  125. function fOpenRecEditMode(grdrow, dblclick){
  126. /*
  127. var formrecseq = model.getValue("/root/main/notidetailinfo/notidetaillist[" + grdrow + "]/formrecseq");
  128. var pid = model.getValue("/root/main/notidetailinfo/notidetaillist[" + grdrow + "]/pid");
  129. var orddd= model.getValue("/root/main/notidetailinfo/notidetaillist[" + grdrow + "]/orddd");
  130. var cretno= model.getValue("/root/main/notidetailinfo/notidetaillist[" + grdrow + "]/cretno");
  131. var ioflag = model.getValue("/root/main/notidetailinfo/notidetaillist[" + grdrow + "]/ioflag");
  132. var orddeptcd= model.getValue("/root/main/notidetailinfo/notidetaillist[" + grdrow + "]/orddeptcd");
  133. var orddrid= model.getValue("/root/main/notidetailinfo/notidetaillist[" + grdrow + "]/orddrid");
  134. */
  135. var formrecseq = grd_detail.ValueMatrix(grdrow, grd_detail.colRef("formrecseq"));
  136. var cnfmstat = grd_detail.ValueMatrix(grdrow, grd_detail.colRef("cnfmstat"));
  137. var pid = grd_detail.ValueMatrix(grdrow, grd_detail.colRef("pid"));
  138. var orddd= grd_detail.ValueMatrix(grdrow, grd_detail.colRef("orddd"));
  139. var cretno= grd_detail.ValueMatrix(grdrow, grd_detail.colRef("cretno"));
  140. var ioflag = grd_detail.ValueMatrix(grdrow, grd_detail.colRef("ioflag"));
  141. var orddeptcd= grd_detail.ValueMatrix(grdrow, grd_detail.colRef("orddeptcd"));
  142. var orddrid= grd_detail.ValueMatrix(grdrow, grd_detail.colRef("orddrid"));
  143. ivw_loader.window.javascript.fSetPamInfo(pid, orddd, cretno, ioflag , orddeptcd, orddrid);
  144. ivw_loader.window.javascript.fLoadRecForm(formrecseq, false);
  145. fHiddenBtn();
  146. if(dblclick){
  147. fOpenRecEditMode(grdrow, false);
  148. }
  149. fAfterOpenRec(formrecseq, cnfmstat);
  150. }
  151. /*
  152. function wait(msecs)
  153. {
  154. var start = new Date().getTime();
  155. var cur = start;
  156. while(cur - start < msecs)
  157. {
  158. cur = new Date().getTime();
  159. }
  160. }
  161. */
  162. function fHiddenBtn(){
  163. //fLoadRecForm 호출하면서 초기화되어 버튼 hidden 된게 다시 살아나 재호출함.
  164. //임시저장, 새이름으로저장, 초기화 버튼 hidden
  165. ivw_loader.window.javascript.btn_tmpsave.visible = false;
  166. ivw_loader.window.javascript.btn_init.visible = false;
  167. ivw_loader.window.javascript.btn_signsaveasnew.visible = false;
  168. }
  169. function fAfterOpenRec(formrecseq, cnfmstat){
  170. fHiddenBtn();
  171. model.removenode("/root/main/openrecinfo/formrecseq");
  172. model.makeValue("/root/main/openrecinfo/formrecseq", formrecseq);
  173. if(cnfmstat == "100"){//미확인된 상태만 업데이트
  174. fUpdateCnfmStat(formrecseq, "200");
  175. }
  176. }
  177. function fAfterSaveRec(){
  178. var formrecseq = model.getValue("/root/main/openrecinfo/formrecseq");
  179. fUpdateCnfmStat(formrecseq, "500");
  180. }
  181. function fUpdateCnfmStat(formrecseq, cnfmstat) {
  182. var noticd = model.getValue("/root/main/notimasterinfo/notimasterlist/noticd");
  183. model.makeValue("/root/send/updt/noticd", noticd);
  184. model.makeValue("/root/send/updt/formrecseq", formrecseq);
  185. model.makeValue("/root/send/updt/cnfmstat", cnfmstat);
  186. if (submit("TXMRI05001")) {
  187. //var node = model.instance1.selectSingleNode("/root/main/notidetailinfo/notidetaillist[noticd='"+noticd+"' and formrecseq = '"+formrecseq+"']");
  188. if(getNodesetCount("/root/main/notidetailinfo/notidetaillist[noticd='"+noticd+"' and formrecseq = '"+formrecseq+"']/cnfmstat") > 0){
  189. model.setValue("/root/main/notidetailinfo/notidetaillist[noticd='"+noticd+"' and formrecseq = '"+formrecseq+"']/cnfmstat", cnfmstat);
  190. var cnfmstatnm = "";
  191. if (cnfmstat == "200") {
  192. cnfmstatnm = "확인";
  193. } else if (cnfmstat == "500") {
  194. cnfmstatnm = "완료";
  195. }
  196. model.setValue("/root/main/notidetailinfo/notidetaillist[noticd='"+noticd+"' and formrecseq = '"+formrecseq+"']/cnfmstatnm", cnfmstatnm);
  197. grd_detail.refresh();
  198. }else{
  199. fGetDetail();
  200. }
  201. }
  202. }