SMMND04400.xjs 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type ="xscript4.0"><![CDATA[/*
  3. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  4. 신장실 처치장등록 ( SMMND04400_신장실처치장등록.xrw - JScript )
  5. - Version :
  6. 1) : Ver.1.00.01
  7. - Author : 최원돈
  8. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  9. */
  10. var sBDHTCUREINFO_PATH = "ds_main_bdHtCureinfo_bdHtCureinfo";
  11. /**
  12. * creat : 20101019
  13. * author : 최원돈
  14. * desc : 초기화
  15. */
  16. function fInitialize(){
  17. //조회조건 default 세팅
  18. ds_main_cond.clearData();
  19. dsf_makeValue( ds_main_cond, "workdd", "string", utlf_getCurrentDate()); //작업일자
  20. dsf_makeValue( ds_main_cond, "flag", "string", "H"); //구분
  21. dsf_makeValue( ds_main_cond, "ngdtnursid", "string", sysf_getUserId()); //현재 로그인한 사용자 번호(ID)
  22. dsf_makeValue( ds_main_cond, "ngdtnursnm", "string", sysf_getUserName()); //현재 로그인한 사용자명
  23. //그리드 노드 초기화
  24. ds_main_bdHtCureinfo.clearData();
  25. dsf_makeValue( ds_main, "bdHtCureinfo", "string", "" );
  26. initCalendar();
  27. fGetbdHtCureinfo();
  28. }
  29. /**
  30. * _desc : 신장실 처치장 등록
  31. * _ : 저장 상태가 신규인 경우, 무결성 데이터 검사 후 저장
  32. * _ : 저장 상태가 수정인 경우, 변경된 사항이 있는지 검사, 무결성 데이터 검사 후 저장
  33. * _param :
  34. * _return :
  35. * _author : 최원돈
  36. * _---------------------------------------------------
  37. */
  38. function fClkBtnbdHtCureSave(){
  39. if(!(compareNodeVal('ds_temp', sBDHTCUREINFO_PATH, false))){
  40. sysf_messageBox('저장할 데이터가', 'I004');
  41. return;
  42. }
  43. ds_send_savedata.clearData();
  44. dsf_makeValue( ds_send, "savedata", "string", "" );
  45. model.copyNode("ds_send_savedata", sBDHTCUREINFO_PATH);
  46. if(!submit('TXMND04401')){
  47. sysf_messageBox('저장을 실패하였습니다.', 'E999');
  48. return;
  49. }
  50. ds_temp.clearData();
  51. dsf_makeValue( ds, "temp", "string", "" );
  52. model.copyNode("ds_temp", sBDHTCUREINFO_PATH);
  53. }
  54. /**
  55. * creat : 20101014
  56. * author : 최원돈
  57. * desc : 신장실 처치장조회
  58. */
  59. function fGetbdHtCureinfo(bfcopyyn){
  60. //조건변수
  61. var workdd = ds_main_cond.getColumn(0, "workdd"); //작업일자
  62. //null 처리
  63. if(workdd == null)
  64. {
  65. workdd = '';
  66. }
  67. //send parameter 설정
  68. ds_send.clearData();
  69. dsf_makeValue( ds_send, "workdd", "string", workdd);
  70. dsf_makeValue( ds_send, "flag", "string", ds_main_cond.getColumn(0, "flag"));
  71. dsf_makeValue( ds_send, "ngdtnursid", "string", ds_main_cond.getColumn(0, "ngdtnursid"));
  72. dsf_makeValue( ds_send, "bfcopyyn", "string", bfcopyyn);
  73. //submit 호출
  74. if(!submit('TRMND04401')){
  75. sysf_messageBox('조회를 실패하였습니다.', 'E999');
  76. ds_send.setColumn( 0, "bfcopyyn' , '');
  77. return;
  78. }
  79. if(model.instances(0).selectNodes(sBDHTCUREINFO_PATH + "[instcd!='']").length <= 0)
  80. {
  81. model.makeValue(sBDHTCUREINFO_PATH + '_instcd' , '');
  82. model.makeValue(sBDHTCUREINFO_PATH + '_workdd' , '');
  83. model.makeValue(sBDHTCUREINFO_PATH + '_seq' , '');
  84. model.makeValue(sBDHTCUREINFO_PATH + '_flag' , '');
  85. model.makeValue(sBDHTCUREINFO_PATH + '_ngdtnursid', '');
  86. model.makeValue(sBDHTCUREINFO_PATH + '_fnexam' , '');
  87. model.makeValue(sBDHTCUREINFO_PATH + '_foexam' , '');
  88. model.makeValue(sBDHTCUREINFO_PATH + '_lab' , '');
  89. model.makeValue(sBDHTCUREINFO_PATH + '_tns' , '');
  90. model.makeValue(sBDHTCUREINFO_PATH + '_sled' , '');
  91. model.makeValue(sBDHTCUREINFO_PATH + '_delive' , '');
  92. model.makeValue(sBDHTCUREINFO_PATH + '_discharge' , '');
  93. model.makeValue(sBDHTCUREINFO_PATH + '_incnts' , '');
  94. model.makeValue(sBDHTCUREINFO_PATH + '_rsrv' , '');
  95. model.makeValue(sBDHTCUREINFO_PATH + '_xray' , '');
  96. model.makeValue(sBDHTCUREINFO_PATH + '_spcltest' , '');
  97. model.makeValue(sBDHTCUREINFO_PATH + '_op' , '');
  98. model.makeValue(sBDHTCUREINFO_PATH + '_dialliqd' , '');
  99. model.makeValue(sBDHTCUREINFO_PATH + '_dialfilm' , '');
  100. model.makeValue(sBDHTCUREINFO_PATH + '_hbsag' , '');
  101. model.makeValue(sBDHTCUREINFO_PATH + '_etc' , '');
  102. model.makeValue(sBDHTCUREINFO_PATH + '_machgd' , '');
  103. }
  104. ds_temp.clearData();
  105. dsf_makeValue( ds, "temp", "string", "" );
  106. model.copyNode("ds_temp", sBDHTCUREINFO_PATH);
  107. if (bfcopyyn == 'Y')
  108. {
  109. model.setValue(sBDHTCUREINFO_PATH + '_workdd', ds_main_cond.getColumn(0, "workdd"));
  110. eval(sBDHTCUREINFO_PATH).setColumn( 0, "seq", "");
  111. ds_send.setColumn( 0, "bfcopyyn' , '');
  112. }
  113. //model.refresh();
  114. }
  115. /**
  116. * creat : 20101014
  117. * author : 최원돈
  118. * desc : 신장실 처치장 출력
  119. */
  120. function fPrintHtCureList(){
  121. if( model.getValue(sBDHTCUREINFO_PATH + "_instcd") == ''
  122. || compareNodeVal('ds_temp', sBDHTCUREINFO_PATH, true))
  123. {
  124. sysf_messageBox('출력할 내역이 없습니다.', 'E999');
  125. return;
  126. }
  127. var dd = ds_main_cond.getColumn(0, "workdd").toDate("YYYYMMDD");
  128. ds_main_prtinfo.setColumn( 0, "date'
  129. , '일자 : ' + dd.getDateFormat('YYYY-MM-DD ') + getDateTime(dd, 'W') + '요일');
  130. if ( ds_main_cond.getColumn(0, "flag") == 'H') {
  131. exeReportPreview("RPMND04401", "XMLSTR", "", "", "false","","","","","false", "", "");//혈액투석처치장
  132. } else {
  133. exeReportPreview("RPMND04402", "XMLSTR", "", "", "false","","","","","false", "", "");//복막투석처치장
  134. }
  135. }
  136. function initCalendar() {
  137. var workdd = ds_main_cond.getColumn(0, "workdd"); //작업일자
  138. if(workdd == null || workdd == '')
  139. {
  140. workdd = utlf_getCurrentDate();
  141. }
  142. var curDate = workdd.toDate();
  143. ds_hidden_calendar.setColumn( 0, "year", curDate.getDateFormat('YYYY'));
  144. ds_hidden_calendar.setColumn( 0, "month", curDate.getDateFormat('MM'));
  145. //model.refresh();
  146. opt_date.value = "** " + ds_hidden_calendar.getColumn(0, "year") + "년 " + ds_hidden_calendar.getColumn(0, "month") + "월 **";
  147. setCalendar(curDate);
  148. }
  149. function setCalendar(dateObj) {
  150. // 그리드 초기화
  151. ds_hidden_calendar_weeklist_list.clearData();
  152. grd_calendar.rebuild()
  153. var today = dateObj.getDate(); // 오늘 날짜를 가져옴.
  154. /************************
  155. 1. objDate.setDate(numDate)
  156. 로컬 시간을 사용하여 Date 개체의 날짜 값을 설정합니다.
  157. 2. objDate.getDay()
  158. 로컬 시간을 사용하여 Date 개체의 요일 값을 반환합니다.
  159. 0 = 일요일
  160. 1 = 월요일
  161. 2 = 화요일
  162. 3 = 수요일
  163. 4 = 목요일
  164. 5 = 금요일
  165. 6 = 토요일
  166. *************************/
  167. dateObj.setDate(1);
  168. var startDay = dateObj.getDay(); // 해당 달의 시작요일을 반환
  169. var days = dateObj.getMonthDay(); // 해당 달의 일수를 반환
  170. //nprw.dll
  171. /*************************
  172. ceil 숫자 인수보다 크거나 같은 가장 작은 정수를 반환합니다.
  173. *************************/
  174. var rows = Math.ceil( ( startDay + days ) / 7 );
  175. for( var i = 0; i < rows; i++ )
  176. grd_calendar.addRow(false);
  177. grd_calendar.rebuild();
  178. /*************************
  179. fixedRows
  180. 스크롤이 가능하지 않은 고정된 행 들을 몇 개나 만들 것인지를 설정 또는 리턴한다.
  181. *************************/
  182. var rowIndex = grd_calendar.fixedRows;
  183. var colIndex = startDay;
  184. for( var i = 1; i <= days; i++ ) {
  185. grd_calendar.valueMatrix(rowIndex, colIndex) = i;
  186. //grd_calendar.valueMatrix(rowIndex, colIndex+7) = "0_0";
  187. if(i == today) // 오늘 날짜이면
  188. {
  189. // 색상 표시
  190. var calRow = rowIndex;
  191. var calCol = colIndex;
  192. var tmpCalCol;
  193. if( calCol < 7 )
  194. tmpCalCol = calCol + 7;
  195. else
  196. tmpCalCol = calCol - 7;
  197. grd_calendar.rebuildStyle();
  198. grd_calendar.cellStyle("background-color", calRow, calCol) = "#daa7d9";
  199. grd_calendar.cellStyle("background-color", calRow, tmpCalCol) = "#daa7d9";
  200. }
  201. colIndex++;
  202. if( colIndex == 7 ) {
  203. colIndex = 0;
  204. rowIndex++;
  205. }
  206. }
  207. }
  208. function setCellColor(gridObj) {
  209. var calRow = gridObj.row;
  210. var calCol = gridObj.col;
  211. var tmpCalCol;
  212. if( calCol < 7 )
  213. tmpCalCol = calCol + 7;
  214. else
  215. tmpCalCol = calCol - 7;
  216. gridObj.rebuildStyle();
  217. gridObj.cellStyle("background-color", calRow, calCol) = "#daa7d9";
  218. gridObj.cellStyle("background-color", calRow, tmpCalCol) = "#daa7d9";
  219. }
  220. /**
  221. * _---------------------------------------------------
  222. * _desc : 두 NodeList와 NodeValue값을 비교 결과에 따라 true, false를 return한다.
  223. * _ref : C:\KNUProject\application\webapps\emr\prcpmngtweb\js\MMO001.js
  224. * _---------------------------------------------------
  225. */
  226. function compareNodeVal(desNode, srcNode, prtYn){
  227. var node = instance1.selectSingleNode(desNode);
  228. var node2 = instance1.selectSingleNode(srcNode);
  229. var nodeList = node.childNodes;
  230. var nodeList2 = node2.childNodes;
  231. while(childNode = nodeList.nextNode()){
  232. childNode2 = nodeList2.nextNode();
  233. //alert(childNode.NodeValue + "," + childNode2.NodeValue);
  234. //alert(childNode.nodeName + " : " + childNode.NodeValue);
  235. if(childNode.NodeValue != childNode2.NodeValue)
  236. {
  237. if ( prtYn
  238. && childNode.nodeName == 'workdd') // 전일복사 때문에.. 출력 시 비교는 제외
  239. {
  240. //...
  241. }
  242. else
  243. {
  244. return true; //값이 다른 경우 true
  245. }
  246. }
  247. }
  248. return false; //값이 같은 경우 false
  249. }
  250. ]]></Script>