SMMNR004.js 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. /*
  2. (SMMNR02400.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var xClsListPath = "/root/main/detlgrup/detlgruplist"
  7. var xlrgListPath = "/root/main/lrggrup/lrggruplist"
  8. var xCondPath = "/root/main/cond";
  9. var xClsListBKPath = "/root/hidden/main/detlgrup/detlgruplist";
  10. /**
  11. * @group :
  12. * @ver : 2007.03.31
  13. * 2008.06.18 dhkim 수정
  14. * @by : 정찬성
  15. * @---------------------------------------------------
  16. * @type : function
  17. * @access : public
  18. * @desc : 중증도위험사정분류군 기준점수 조회
  19. * @param :
  20. * @return :
  21. * @---------------------------------------------------
  22. */
  23. function fSearch(){
  24. var fromdd = model.getValue("/root/main/cond/fromdd");
  25. var clsflag = model.getValue("/root/main/cond/clsflag");
  26. var recflag = model.getValue("/root/main/cond/recflag");
  27. if(fromdd == null || fromdd == ''){
  28. fromdd = getCurrentDate();
  29. }
  30. if(clsflag == null || clsflag == ''){
  31. clsflag = '1';
  32. }
  33. if(recflag == null || recflag == ''){
  34. recflag = '1';
  35. }
  36. //recflag에 따라 낙상및 욕창의 경우 default clsflag값을 설정한다.
  37. if(recflag == '2'){//낙상위험사정
  38. if(clsflag != '1' && clsflag != '2'){//1. 아동, 2. 성인 이 선택되지 않으면 default세팅
  39. clsflag = '1';
  40. }
  41. }else if(recflag == '3'){//욕창위험사정
  42. clsflag = '1';//욕창은 무조건 1임.
  43. }
  44. model.removenode("/root/send");
  45. model.makeValue("/root/main/cond/clsflag", clsflag);
  46. model.makeValue("/root/main/cond/recflag", recflag);
  47. model.makeValue("/root/main/cond/fromdd", fromdd);
  48. model.refresh();
  49. model.makeNode("/root/send");
  50. model.copyNode("/root/send", xCondPath);
  51. if(submit("TRMNR00404")){
  52. model.copyNode("/root/hidden/main", "/root/main");
  53. }
  54. model.refresh();
  55. grd_detlgrup.row = 1;
  56. }
  57. /**
  58. * @group :
  59. * @ver : 2008.06.18
  60. * @by : dhkim
  61. * @---------------------------------------------------
  62. * @type : function
  63. * @access : public
  64. * @desc : 설명
  65. * @param :
  66. * @return :
  67. * @---------------------------------------------------
  68. */
  69. function fAddRow(){
  70. var rowCnt = grd_detlgrup.rows;
  71. var topnt = model.getValue('/root/main/detlgrup/detlgruplist[' + (rowCnt -1) + ']/topnt');
  72. var fromdd = getCurrentDate();
  73. var todd = '99991231';
  74. var clsflag = model.getValue('/root/main/detlgrup/detlgruplist[' + (rowCnt -1) + ']/clsflag');
  75. var recflag = model.getValue('/root/main/detlgrup/detlgruplist[' + (rowCnt -1) + ']/recflag');
  76. grd_detlgrup.addRow();
  77. if(rowCnt > 1){
  78. model.setValue('/root/main/detlgrup/detlgruplist[' + (grd_detlgrup.rows -1) + ']/frompnt', Number(topnt)+1);
  79. model.setValue('/root/main/detlgrup/detlgruplist[' + (grd_detlgrup.rows -1) + ']/fromdd' , fromdd);
  80. model.setValue('/root/main/detlgrup/detlgruplist[' + (grd_detlgrup.rows -1) + ']/todd' , todd);
  81. model.setValue('/root/main/detlgrup/detlgruplist[' + (grd_detlgrup.rows -1) + ']/clsflag', clsflag);
  82. model.setValue('/root/main/detlgrup/detlgruplist[' + (grd_detlgrup.rows -1) + ']/recflag', recflag);
  83. model.setValue('/root/main/detlgrup/detlgruplist[' + (grd_detlgrup.rows -1) + ']/stat' , 'i');
  84. }else{
  85. model.setValue('/root/main/detlgrup/detlgruplist[' + (grd_detlgrup.rows -1) + ']/clsflag', model.getValue(xCondPath + '/clsflag'));
  86. model.setValue('/root/main/detlgrup/detlgruplist[' + (grd_detlgrup.rows -1) + ']/recflag', model.getValue(xCondPath + '/recflag'));
  87. model.setValue('/root/main/detlgrup/detlgruplist[' + (grd_detlgrup.rows -1) + ']/stat' , 'i');
  88. }
  89. model.refresh();
  90. }
  91. /**
  92. * @group :
  93. * @ver : 2008.06.18
  94. * @by : dhkim
  95. * @---------------------------------------------------
  96. * @type : function
  97. * @access : public
  98. * @desc : 그리드에서 선택한 row를 삭제
  99. * @param :
  100. * @return :
  101. * @---------------------------------------------------
  102. */
  103. function fDeleteRow(){
  104. //기능없음
  105. }
  106. /**
  107. * @group :
  108. * @ver : 2007.03.30
  109. * @by : 정찬성
  110. * @---------------------------------------------------
  111. * @type : function
  112. * @access : public
  113. * @desc : 설명
  114. * @param :
  115. * @return :
  116. * @---------------------------------------------------
  117. */
  118. function fSave(){
  119. if(fIsValid()){
  120. model.removenode("/root/send");
  121. model.makeValue("/root/send/detlgrup", grd_detlgrup.getUpdateDataAll('i'));
  122. if(submit("TXMNR00402")){
  123. model.copyNode("/root/hidden/main","/root/main");
  124. fSearch();
  125. }
  126. }
  127. }
  128. /**
  129. * @group :
  130. * @ver : 2008.06.18
  131. * @by : dhkim
  132. * @---------------------------------------------------
  133. * @type : function
  134. * @access : public
  135. * @param :
  136. * @return : true/false
  137. * @desc : 저장전 유효성을 체크한다.
  138. * @---------------------------------------------------
  139. */
  140. function fIsValid(){
  141. if(grd_detlgrup.rows <= 0){
  142. return false;
  143. }
  144. var bspntcd, bspntnm, frompnt, topnt, fromdd, todd;
  145. var _bspntcd, _fromdd, _frompnt, _topnt;
  146. var endCd, edcdStr;
  147. for(var i=1; i< grd_detlgrup.rows; i++){
  148. bspntcd = model.getValue(xClsListPath+"["+i+"]/bspntcd");
  149. bspntnm = model.getValue(xClsListPath+"["+i+"]/bspntnm");
  150. frompnt = model.getValue(xClsListPath+"["+i+"]/frompnt")
  151. topnt = model.getValue(xClsListPath+"["+i+"]/topnt");
  152. fromdd = parseInt(model.getValue(xClsListPath+"["+i+"]/fromdd"));
  153. todd = parseInt(model.getValue(xClsListPath+"["+i+"]/todd"));
  154. if(bspntcd == ""){
  155. messageBox(i + "번째 분류군의 분류군코드를","C001");
  156. return false;
  157. }
  158. if(bspntnm == ""){
  159. messageBox(i + "번째 분류군의 분류군명을","C001");
  160. return false;
  161. }
  162. if(frompnt == ""){
  163. messageBox(i + "번째 분류군의 시작점수를","C001");
  164. return false;
  165. }
  166. if(topnt == ""){
  167. messageBox(i + "번째 분류군의 종료점수를","C001");
  168. return false;
  169. }
  170. for(var j = (i+1); j < grd_detlgrup.rows; j++){
  171. //입력한 내역
  172. _bspntcd = model.getValue(xClsListPath+"["+j+"]/bspntcd");
  173. _fromdd = parseInt(model.getValue(xClsListPath+"["+j+"]/fromdd"));
  174. _frompnt = parseInt(model.getValue(xClsListPath+"["+j+"]/frompnt"));
  175. _topnt = parseInt(model.getValue(xClsListPath+"["+j+"]/topnt"));
  176. if(bspntcd == _bspntcd && fromdd == _fromdd){
  177. messageBox(i + '번째와 ' + j + '번째의 분류군코드와 시작일자가 중복입력 되었습니다. 분류코드나 시작일자를 다시',"C001");
  178. return false;
  179. }
  180. //입력한 시작점수가 기입력된 시작점수~종료점수 사잇값이면 기입력된 값의 종료일자를 현재일자로 바꿀건지 물어볼것.(기입력값 안쓸건지..)
  181. if(frompnt >= _frompnt && frompnt <= _topnt && todd == '99991231'){
  182. edcdStr = '입력하신 ' + j + '번째의 시작점수(' + _frompnt + ')는 ' + i + '번째의 점수(' + frompnt + '~' + topnt + ')에 포함됩니다. ';
  183. edcdStr += i + '번째의 종료일자를 ' + j + '번째의 시작일자 이전일로 변경';
  184. endCd = messageBox(edcdStr, 'Q002');
  185. if(endCd == 6){
  186. model.setValue(xClsListPath + '[' + i + ']/todd', model.getValue(xClsListPath + '[' + j + ']/fromdd').toDate().getAddDate(-1, "D").getDateFormat());
  187. model.setValue(xClsListPath + '[' + i + ']/stat', 'u');
  188. }else if(endCd == 7){
  189. return false;
  190. }
  191. }
  192. }
  193. if(fromdd > todd) {
  194. messageBox(i + "번째 분류군의 시작일자가 종료일자보다 클 수","I004");
  195. return false;
  196. }
  197. }
  198. return true;
  199. }