SMMNE09600.xjs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. 감염관리 근무관리(SMMNE09100.xfm - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. */
  7. var arErrorCode = new HashArray();
  8. /**
  9. * @group :
  10. * @ver : 2016.08.30
  11. * @by : 엄영만
  12. * @---------------------------------------------------
  13. * @type : function
  14. * @access : public
  15. * @desc : 초기 화면 설정(기초 정보 설정)
  16. * @param :
  17. * @return :
  18. * @---------------------------------------------------
  19. */
  20. function fInitialize_SMMNE09600(){
  21. var sInstCd = sysf_getUserInfo("dutplceinstcd");
  22. var sUserDeptCd = sysf_getUserInfo("dutplcecd"); // 로그인 사용자의 부서코드
  23. var sCurDd = utlf_getCurrentDate();
  24. var sCurYm = utlf_getCurrentDate().substring(0, 6);
  25. lf_getHardCDList("N", 535, null, ds_init_cmb_orddeptcd); // 535 감염관리 의사 진료과
  26. //trace(ds_init_cmb_orddeptcd.saveXML());
  27. ds_cond.setColumn(0, "gbn", "F"); // 감염관리실 근무 스케쥴
  28. ds_cond.setColumn(0, "srchym", sCurYm);
  29. ds_cond.setColumn(0, "srchdd", sCurDd);
  30. ds_cond.setColumn(0, "placecd", "3110000000"); // 근무장소 감염관리실
  31. if(sInstCd == "032") {
  32. ds_cond.setColumn(0, "orddeptcd", "2010600000"); // 당직의사 진료과 호흡기내과
  33. } else {
  34. ds_cond.setColumn(0, "orddeptcd", "2011000000"); // 당직의사 진료과 감염내과
  35. }
  36. if(lf_ContainsHardCD("534", sUserDeptCd) || sysf_getUserInfo("userid") == "EMR") {
  37. ds_cond.setColumn(0, "adminyn", "Y"); // 당직 저장권한
  38. } else {
  39. ds_cond.setColumn(0, "adminyn", "N"); // 당직 저장권한
  40. }
  41. fgetDrList(); // 근무의사 조회
  42. fgetWorkList(); // 근무스케쥴 조회
  43. }
  44. function fgetDrList(){
  45. var oParam = {};
  46. oParam.id = "TRMNE09601";
  47. oParam.service = "ercareapp.ERPatMngt";
  48. oParam.method = "reqGetInfectionDrList";
  49. oParam.inds = "req=ds_cond";
  50. oParam.outds = "ds_grd_drlist=result";
  51. oParam.async = false;
  52. oParam.callback = "";
  53. tranf_submit(oParam);
  54. }
  55. function fgetWorkList(){
  56. var oParam = {};
  57. oParam.id = "TRMNE09602";
  58. oParam.service = "ercareapp.ERPatMngt";
  59. oParam.method = "reqGetInfectionScheList";
  60. oParam.inds = "req=ds_cond";
  61. oParam.outds = "ds_grd_workerlist=worklist";
  62. oParam.async = false;
  63. oParam.callback = "";
  64. tranf_submit(oParam);
  65. }
  66. /**
  67. * @group :
  68. * @ver : 2016.08.30
  69. * @by : 엄영만
  70. * @---------------------------------------------------
  71. * @type : function
  72. * @access : public
  73. * @desc : 근무정보 설정
  74. * @param : sActGubun 처리구분(I:입력, D:삭제)
  75. * @param : sGbn 당직구분(M0762)
  76. * @param : sWorkDd 근무일자
  77. * @param : sDuty 근무타입(AM:오전, PM:오후)
  78. * @param : sDeptcd 근무의사 부서
  79. * @param : sDrid 근무의사 사번
  80. * @param : sBigo 기타사항
  81. * @return :
  82. * @---------------------------------------------------
  83. */
  84. function fsetWorkInfo(sActGubun, sGbn, sWorkDd, sDuty, sOrdDeptcd, sDrid, sBigo) {
  85. var sAdminYn = ds_cond.getColumn(0, "adminyn"); // 저장권환
  86. var sFromTm = "";
  87. var sToTm = "";
  88. var sPlacecd = ds_cond.getColumn(0, "placecd"); // 근무장소
  89. if(sAdminYn != "Y") {
  90. sysf_messageBox("감염관리 근무 저장 권한이 없습니다. 감염관리실로 연락주세요.", "E");
  91. return;
  92. }
  93. if(sDuty == "AM") {
  94. sFromTm = sWorkDd + "0830";
  95. sToTm = sWorkDd + "1230";
  96. } else if(sDuty == "PM") {
  97. sFromTm = sWorkDd + "1330";
  98. sToTm = sWorkDd + "1730";
  99. }
  100. ds_savedata.clearData();
  101. ds_savedata.addRow();
  102. ds_savedata.setColumn(0, "actgubun", sActGubun);
  103. ds_savedata.setColumn(0, "gbn", sGbn);
  104. ds_savedata.setColumn(0, "orddeptcd", sOrdDeptcd);
  105. ds_savedata.setColumn(0, "placecd", sPlacecd);
  106. ds_savedata.setColumn(0, "workdd", sWorkDd);
  107. ds_savedata.setColumn(0, "duty", sDuty);
  108. ds_savedata.setColumn(0, "drid", sDrid);
  109. ds_savedata.setColumn(0, "fromtm", sFromTm);
  110. ds_savedata.setColumn(0, "totm", sToTm);
  111. ds_savedata.setColumn(0, "bigo", sBigo);
  112. var oParam = {};
  113. oParam.id = "TXMNE09601";
  114. oParam.service = "ercareapp.ERPatMngt";
  115. oParam.method = "reqExecInfectionScheList";
  116. oParam.inds = "req=ds_cond savedata=ds_savedata";
  117. oParam.outds = "ds_grd_workerlist=worklist";
  118. oParam.async = false;
  119. oParam.callback = "cf_TXMNE09601";
  120. tranf_submit(oParam);
  121. if(arErrorCode.pop("TXMNE09601") > -1) { // 환경설정 값 조회
  122. //sysf_messageBox("저장 하였습니다.", "I");
  123. } else {
  124. sysf_messageBox("근무정보 저장에 실패 하였습니다.", "I");
  125. }
  126. }
  127. function cf_TXMNE09601(sSvcId, nErrorCode, sErrorMsg) {
  128. arErrorCode.push(sSvcId, nErrorCode);
  129. }
  130. function fPrintWorkSche() {
  131. var oParam = {};
  132. oParam.id = "TRMNE09603";
  133. oParam.service = "ercareapp.ERPatMngt";
  134. oParam.method = "reqGetInfectionPrintSche";
  135. oParam.inds = "req=ds_cond";
  136. oParam.outds = "ds_temp_printinfo=printinfo";
  137. oParam.async = false;
  138. tranf_submit(oParam);
  139. var objDOM = rptf_createDOM();
  140. rptf_setNodeListToDOM(objDOM, "/root/temp/printinfo", ds_temp_printinfo);
  141. rptf_setNodeListToDOM(objDOM, "/root/cond", ds_cond);
  142. var objParam = new Object();
  143. objParam.xml_data_XML1 = objDOM.documentElement.source;
  144. //trace(objParam.xml_data_XML1);
  145. var option = "open=1;save=1;directprint=0;printdialog=0;print=1;zoom=0;";
  146. rptf_exeReportPreview30(["RPMNE09601"],[objParam], option);
  147. }
  148. ]]></Script>