SMMNS02100.js 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. /*
  2. 전문간호 SMS 전송결과 조회(SMMNS02100.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var xSMSListPath = "/root/main/smslist/smslist";
  7. var xSMSCodeListPath = "/root/main/smscodelist/smscodelistinfo";
  8. var suppdeptcd = '';//메뉴그룹에 등록된 사용부서코드
  9. // emr.mnwmcode
  10. // cdgrupid 022, 023, 024
  11. // 022 : 전문분야리스트 (grupdetldesc : R <- 의뢰데이터구분)
  12. // 023 : 전문간호팀코드
  13. // 024 : 전문간호겸업부서 (상처/장요루)
  14. /**
  15. * 전문분야 코드및 명칭을 조회한다.
  16. */
  17. function fSpclCareSearch(){
  18. //20090205 dhkim
  19. //전문간호/BMT전문간호 로 나눠지게 되면서 사용부서에 해당하는 분야로 각각 등록됨.
  20. model.removenode('/root/send');
  21. model.makeValue('/root/send/suppdeptcd', suppdeptcd);
  22. model.removenode('/root/hidden/spclcarefildflaginfo');
  23. model.makenode('/root/hidden/spclcarefildflaginfo');
  24. submit('TRMNS00107');
  25. }
  26. /***********************************************************************************************************************************************************
  27. * @author : dhkim
  28. * @desc : 전문간호겸업부서 정보
  29. ***********************************************************************************************************************************************************/
  30. function fSpclSideJobSearch(){
  31. //20090128 dhkim
  32. //간호에 등록된 전문간호겸업부서 정보를 임시노드에 조회해 온다.
  33. //간호 테이블에 등록된 조회정보
  34. //전문분야코드 : 022, 전문간호팀코드 : 023, 전문간호겸업부서코드 : 024
  35. model.removenode('/root/send');
  36. model.makeValue('/root/send/cdgrupid', '024');
  37. model.removenode('/root/hidden/spclsideinfo');
  38. model.makenode('/root/hidden/spclsideinfo');
  39. if(!submit('TRMNS00110')){
  40. messageBox('간호에 등록된 전문분야겸업부서정보 조회를 실패하였습니다.', 'E999');
  41. return false;
  42. }
  43. }
  44. /**
  45. * @group :
  46. * @ver : 2007.07.04
  47. * @by : 정경화
  48. * @---------------------------------------------------
  49. * @type : function
  50. * @access : public
  51. * @desc : 화면 초기화
  52. * @param :
  53. * @return :
  54. * @---------------------------------------------------
  55. */
  56. function fInitialize(){
  57. //20090205 dhkim
  58. //전문간호/BMT전문간호 로 나눠지게 되면서 사용부서에 해당하는 분야로 각각 등록됨.
  59. suppdeptcd = aezfSetSuppDeptcd();//메뉴그룹에 등록된 사용부서코드
  60. //오늘 날짜로 초기화 하는 부분.(진료일자를 default로 오늘 날짜로 선택함)
  61. var dt = getCurrentDate();
  62. var edt = dt.toDate('YYYYMMDD').getAddDate(-7, "D").getDateFormat('YYYYMMDD');//일주일전..dateHelper.js참고
  63. model.removeNodeset(xSMSListPath);
  64. model.setValue("/root/main/cond/fromdd", edt);
  65. model.setValue("/root/main/cond/todd", dt);
  66. var instcd = getUserInfo("dutplceinstcd");
  67. // 공통코드 스크립트 호출
  68. zbcfGetCodeList( new Array("Z0008"), new Array("/root/init/comcd"));
  69. //model.setValue("/root/main/cond/orddeptcd", getUserInfo("dutplcecd")); // 근무지부서코드
  70. fBaseCodeSearch("S"); // 전송구분 조회
  71. cmb_spcl.select(0);
  72. grd_smslist.refresh();
  73. model.refresh();
  74. }
  75. /**
  76. * @group :
  77. * @ver : 2007.07.04
  78. * @by : 정경화
  79. * @---------------------------------------------------
  80. * @type : function
  81. * @access : public
  82. * @desc : 전송구분 조회
  83. * @param :
  84. * @return :
  85. * @---------------------------------------------------
  86. */
  87. function fBaseCodeSearch(typegubn){
  88. model.setValue("/root/main/cond/baseclsflag", "S"); // 전문간호 상용구
  89. model.setValue("/root/main/cond/basetypecd", typegubn);
  90. model.setValue("/root/main/cond/supbasetypecd", "S");
  91. model.copynode("/root/send/req", "/root/main/cond");
  92. submit("TRMNO00801");
  93. if (getNodesetCount("/root/main/smscodelist/smscodelistinfo") >= 1) {
  94. addComboInstance("/root/main/smscodelist", "basetypecd^typenm", "^전체", "smscodelistinfo"); //전송구분콤보 전체추가
  95. }
  96. model.setValue("/root/main/cond/baseclsflag", ""); // 전문간호 상용구
  97. model.setValue("/root/main/cond/basetypecd", "");
  98. model.setValue("/root/main/cond/supbasetypecd", "");
  99. }
  100. /**
  101. * @group :
  102. * @ver : 2007.07.04
  103. * @by : 정경화
  104. * @---------------------------------------------------
  105. * @type : function
  106. * @access : public
  107. * @desc : SMS전송결과 조회
  108. * @param :
  109. * @return :
  110. * @---------------------------------------------------
  111. */
  112. function fBtnRefClicked(){
  113. model.setValue("/root/main/cond/basetypecd", "S");
  114. model.setValue("/root/main/cond/baseclsflag", "S");
  115. model.setValue("/root/main/cond/supbasetypecd", "S1"); // 전문 상용구만 조회
  116. var spclfild = model.getValue('/root/main/cond/spclcarefildflaginfo');
  117. //20090128 전문분야중 겸업인 부서를 찾는다.
  118. spclfild = fMakeSpclSideQuery(spclfild);
  119. //20090205 dhkim
  120. //전문간호/BMT전문간호 로 나눠지게 되면서 사용부서에 해당하는 분야로 각각 등록됨.
  121. model.removenode('/root/send');
  122. model.makeValue("/root/send/spclteamcd", suppdeptcd);
  123. model.makeValue("/root/send/basetypecd", "S");
  124. model.makeValue("/root/send/baseclsflag", "S");
  125. model.makeValue("/root/send/supbasetypecd", "S1");
  126. model.makeValue('/root/send/fromdd', model.getValue('/root/main/cond/fromdd'));
  127. model.makeValue('/root/send/todd', model.getValue('/root/main/cond/todd'));
  128. model.makeValue('/root/send/pid', model.getValue('/root/main/cond/pid'));
  129. model.makeValue('/root/send/hngnm', model.getValue('/root/main/cond/hngnm'));
  130. model.makeValue('/root/send/flag', model.getValue('/root/main/cond/flag'));
  131. model.makeValue('/root/send/spclfield', spclfild);
  132. model.makeValue('/root/send/orddeptcd', model.getValue('/root/main/cond/orddeptcd'));
  133. model.removeNodeset("/root/main/opatlist/smslist");
  134. if(submit("TRMNS02101")){
  135. grd_smslist.isReadOnly(1,1, grd_smslist.rows-1, grd_smslist.cols-1) = true;
  136. grd_smslist.refresh();
  137. }
  138. }
  139. /**
  140. * @group :
  141. * @ver : 2007.07.04
  142. * @by : 정경화
  143. * @---------------------------------------------------
  144. * @type : function
  145. * @access : public
  146. * @desc : Excel파일로 저장
  147. * @param :
  148. * @param :
  149. * @return :
  150. * @---------------------------------------------------
  151. */
  152. function fSaveExcel(){
  153. file = window.fileDialog("save","","true","","xls","All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  154. if(file != "") {
  155. grd_smslist.saveExcel(file);
  156. }
  157. }
  158. /**
  159. * @group :
  160. * @ver : 2007.07.04
  161. * @by : 정경화
  162. * @---------------------------------------------------
  163. * @type : function
  164. * @access : public
  165. * @desc : SMS전송내역 출력
  166. * @param :
  167. * @param :
  168. * @return :
  169. * @---------------------------------------------------
  170. */
  171. function fClickPrint(){
  172. model.removenode("/root/send/printdata");
  173. //send 재구성
  174. model.makeValue("/root/send/printdata","");
  175. model.copynode("/root/send/printdata", "/root/main");
  176. exeReportPreview("RPMNO01200", "XMLSTR", "", "", "true", "", "", "", "", "true");
  177. }
  178. /**
  179. * @desc : 콤보박스에 원하는 instance node와 value를 설정
  180. * @
  181. * @param :
  182. * @event :
  183. * @return :
  184. * @---------------------------------------------------
  185. */
  186. function addComboInstance(combopath, nodename, nodeval, parentnode){
  187. nodename = nodename.split("^");
  188. nodeval = nodeval.split("^");
  189. if(nodename.length != nodeval.length){
  190. return;
  191. }
  192. var label = model.instances(0).createElement(nodename[0]);
  193. var val = model.instances(0).createElement(nodename[1]);
  194. var combo = model.instances(0).createElement(parentnode);
  195. label.value = "" + nodeval[0] + "";
  196. val.value = "" + nodeval[1] + "";
  197. combo.appendChild(label);
  198. combo.appendChild(val);
  199. chkNode = model.instances(0).selectSingleNode(combopath);
  200. if(chkNode == null){
  201. model.makeNode(combopath);
  202. srcNode = model.instances(0).selectSingleNode(combopath);
  203. }else{
  204. srcNode = model.instances(0).selectSingleNode(combopath);
  205. }
  206. desNode = model.instances(0).selectSingleNode(combopath + "/" + parentnode);
  207. srcNode.insertBefore(combo, desNode);
  208. model.refresh();
  209. }
  210. /***********************************************************************************************************************************************************
  211. * @author : dhkim
  212. * @create : 20090128
  213. * @desc : 상처/장요루 분야의 경우 상처, 장요루 코드를 함께 조회하도록 쿼리를 만들어서 조회한다.
  214. ***********************************************************************************************************************************************************/
  215. function fMakeSpclSideQuery(spclFildCd){
  216. var nodesetCnt = getNodesetCount("/root/hidden/spclsideinfo/spclsidelist");
  217. var deptcd = "";
  218. var qryStr = "";
  219. var sideYn = "f";
  220. var retSpclCd = '';
  221. for(var i = 1; i <= nodesetCnt; i++){
  222. deptcd = model.getValue("/root/hidden/spclsideinfo/spclsidelist[" + i + "]/deptcd");
  223. if(i == nodesetCnt){
  224. qryStr += deptcd;
  225. }else{
  226. qryStr += deptcd + "|";
  227. }
  228. if(spclFildCd == deptcd){
  229. sideYn = "t";
  230. break;
  231. }
  232. }
  233. if(sideYn == "t"){
  234. retSpclCd = qryStr;
  235. }else{
  236. retSpclCd = spclFildCd;
  237. }
  238. //alert(retSpclCd);
  239. return retSpclCd;
  240. }