SPMRJ00100.js 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. /* ---------------------------------------------------------------------
  2. Count List 관리 (SMMNP00320_CountList관리.xrw - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By taebum
  6. : 2008-11-21 오전 10:05:51
  7. ---------------------------------------------------------------------- */
  8. /* --------------------------------------------------*/
  9. /* type : function */
  10. /* access : public */
  11. /* desc : xforms-ready시 수행한다 */
  12. /* return : */
  13. /* --------------------------------------------------*/
  14. function fInit() {
  15. model.removeNodeSet("/root/main/careplanlists/careplanlist");
  16. var vPid = "";
  17. var vOrddd = "";
  18. var vCretno = "";
  19. var vWorkflag = "";
  20. var vordtype = "";
  21. var vfromdd = "";
  22. var vtodd = "";
  23. var vdaycheck = "";
  24. var vTitle = "Medication Management Plan";
  25. if (isPopup()) {
  26. vPid = opener.javascript.getParameter("SPMRJ00100_pid");
  27. vOrddd = opener.javascript.getParameter("SPMRJ00100_orddd");
  28. vCretno = opener.javascript.getParameter("SPMRJ00100_cretno");
  29. vWorkflag = opener.javascript.getParameter("SPMRJ00100_workflag");
  30. vordtype = opener.javascript.getParameter("SPMRJ00100_ordtype");
  31. vfromdd = opener.javascript.getParameter("SPMRJ00100_fromdd");
  32. vtodd = opener.javascript.getParameter("SPMRJ00100_todd");
  33. vdaycheck = opener.javascript.getParameter("SPMRJ00100_daycheck");
  34. if(vPid==""){
  35. alert("PID 값 세팅이 안되었습니다...!");
  36. return;
  37. window.close();
  38. }else if(vOrddd==""){
  39. alert("ORDDD 값 세팅이 안되었습니다...!");
  40. return;
  41. window.close();
  42. }else if(vCretno==""){
  43. alert("CRETNO 값 세팅이 안되었습니다...!");
  44. return;
  45. window.close();
  46. }else if(vWorkflag==""){
  47. alert("직종구분 값 세팅이 안되었습니다...!");
  48. return;
  49. window.close();
  50. }
  51. model.makeValue("/root/init/pinfo/pid" , vPid);
  52. model.makeValue("/root/init/pinfo/orddd" , vOrddd);
  53. model.makeValue("/root/init/pinfo/cretno" , vCretno);
  54. model.makeValue("/root/init/pinfo/workflag" , vWorkflag);
  55. model.makeValue("/root/send/ordtype" , vordtype);
  56. model.makeValue("/root/send/fromdd" , vfromdd);
  57. model.makeValue("/root/send/todd" , vtodd);
  58. model.makeValue("/root/send/daycheck" , vdaycheck);
  59. }else{
  60. button43.visible = false;
  61. vPid = getParameter("SPMRJ00100_pid");
  62. vOrddd = getParameter("SPMRJ00100_orddd");
  63. vCretno = getParameter("SPMRJ00100_cretno");
  64. vWorkflag = getParameter("SPMRJ00100_workflag");
  65. vordtype = getParameter("SPMRJ00100_ordtype");
  66. vfromdd = getParameter("SPMRJ00100_fromdd");
  67. vtodd = getParameter("SPMRJ00100_todd");
  68. vdaycheck = getParameter("SPMRJ00100_daycheck");
  69. if(vPid==""){
  70. alert("PID 값 세팅이 안되었습니다...!");
  71. button1.visible = false;
  72. button8.visible = false;
  73. button9.visible = false;
  74. return;
  75. }else if(vOrddd==""){
  76. alert("ORDDD 값 세팅이 안되었습니다...!");
  77. button1.visible = false;
  78. button8.visible = false;
  79. button9.visible = false;
  80. return;
  81. }else if(vCretno==""){
  82. alert("CRETNO 값 세팅이 안되었습니다...!");
  83. button1.visible = false;
  84. button8.visible = false;
  85. button9.visible = false;
  86. return;
  87. }else if(vWorkflag==""){
  88. alert("직종구분 값 세팅이 안되었습니다...!");
  89. button1.visible = false;
  90. button8.visible = false;
  91. button9.visible = false;
  92. return;
  93. }
  94. model.makeValue("/root/init/pinfo/pid" , vPid);
  95. model.makeValue("/root/init/pinfo/orddd" , vOrddd);
  96. model.makeValue("/root/init/pinfo/cretno" , vCretno);
  97. model.makeValue("/root/init/pinfo/workflag" , vWorkflag);
  98. model.makeValue("/root/send/ordtype" , vordtype);
  99. model.makeValue("/root/send/fromdd" , vfromdd);
  100. model.makeValue("/root/send/todd" , vtodd);
  101. model.makeValue("/root/send/daycheck" , vdaycheck);
  102. }
  103. datagrid99.refresh();
  104. if (vWorkflag=="001"){
  105. vTitle = "Treatment Plan";
  106. }else if(vWorkflag=="002"){
  107. vTitle = "Discharge Plan";
  108. }else if(vWorkflag=="003"){
  109. vTitle = "Nursing Care Plan";
  110. }else if(vWorkflag=="004"){
  111. vTitle = "Nutrition Management Plan";
  112. }else if(vWorkflag=="005"){
  113. vTitle = "Activity/Rehabilitation Plan";
  114. }else{
  115. vTitle = "Medication Management Plan";
  116. }
  117. caption10.value = vTitle;
  118. caption10.refresh();
  119. fSelectCodeList();
  120. }
  121. /**
  122. * Count List 등록 내역 조회
  123. *
  124. */
  125. function fSelectCodeList(){
  126. model.makeValue("/root/send/pid" , model.getValue("/root/init/pinfo/pid"));
  127. model.makeValue("/root/send/orddd" , model.getValue("/root/init/pinfo/orddd"));
  128. model.makeValue("/root/send/cretno" , model.getValue("/root/init/pinfo/cretno"));
  129. model.makeValue("/root/send/workflag" , model.getValue("/root/init/pinfo/workflag"));
  130. if(model.getValue("/root/send/workflag")==""){
  131. alert("전달받은 작업 구분자 영역이 없습니다...!")
  132. return;
  133. };
  134. if(submit("TRMRJ00103")){
  135. fColDisableChk();
  136. };
  137. }
  138. /**
  139. * 그리드 행추가 버튼을 클릭하였을 경우 이벤트
  140. *
  141. */
  142. function fClickRowAddBtn(){
  143. // datagrid99.addRow(); // 입력할 행 추가.
  144. datagrid99.insertRow(0, 'below'); // 입력할 행 추가.
  145. var cur_row = datagrid99.row; // 추가된 행 번호 가져오기
  146. datagrid99.valueMatrix(cur_row, 1) = getCurrentDate().substr(0, 8);
  147. datagrid99.valueMatrix(cur_row, 2) = getCurrentTime().substr(0, 4);;
  148. datagrid99.valueMatrix(cur_row, 8) = model.getValue("/root/init/pinfo/instcd");
  149. datagrid99.valueMatrix(cur_row, 10) = model.getValue("/root/init/pinfo/pid");
  150. datagrid99.valueMatrix(cur_row, 11) = model.getValue("/root/init/pinfo/orddd");
  151. datagrid99.valueMatrix(cur_row, 12) = model.getValue("/root/init/pinfo/cretno");
  152. datagrid99.valueMatrix(cur_row, 13) = model.getValue("/root/init/pinfo/workflag");
  153. }
  154. /**
  155. * 삭제 버튼을 클릭하였을 경우 이벤트
  156. *
  157. */
  158. function fClickDeleteBtn(){
  159. var cur_row = datagrid99.row; // 행 번호 가져오기
  160. var iStatus = datagrid99.rowstatus(cur_row);
  161. if (getUserId()!=model.getValue("/root/main/careplanlists/careplanlist["+cur_row+"]/fstrgstrid")&&model.getValue("/root/main/careplanlists/careplanlist["+cur_row+"]/fstrgstrid")!=""){
  162. alert("삭제 권한은 등록한 사용자만 가능합니다...!");
  163. return;
  164. }
  165. if (model.getValue("/root/main/careplanlists/careplanlist["+cur_row+"]/linkcd")!="-" &&model.getValue("/root/main/careplanlists/careplanlist["+cur_row+"]/fstrgstrid")!=""){
  166. alert("서식 기록에서 생성된 Care Plan 기록내용은 삭제 처리가 불가능 합니다...!");
  167. return;
  168. }
  169. if(cur_row <= 0 || cur_row =="undefined") {
  170. alert("삭제할 행을 선택하시기 바랍니다...");
  171. return;
  172. }
  173. if (iStatus == 1 || iStatus == 3){ // 새로 삽입된 행이면
  174. datagrid99.deleteitem(cur_row);
  175. }else if (iStatus == 4){ // 삭제로 표시된 행이면
  176. datagrid99.removestatus(cur_row, "delete");
  177. }else{
  178. datagrid99.addStatus(cur_row, "delete");
  179. }
  180. }
  181. /*
  182. * 저장 버튼을 클릭하였을 경우 이벤트
  183. *
  184. */
  185. function fOnClickSaveBtn(){
  186. if(!checkGridUpdate(datagrid99)){
  187. alert("저장할 자료가 존재하지 않습니다.");
  188. return;
  189. }
  190. if(checkGridField(datagrid99,"problem▦careplan")==false){
  191. alert("데이터중에 비어있는 필수필드가 있습니다.");
  192. return;
  193. }
  194. model.makeValue("/root/send/listdata",datagrid99.getUpdateData());
  195. if ( submit("TXMRJ00101") ) {
  196. //datagrid1.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  197. fSelectCodeList();
  198. }
  199. }
  200. /**
  201. * @group :
  202. * @ver : 2006.12.20
  203. * @by :
  204. * @---------------------------------------------------
  205. * @type : function
  206. * @access : public
  207. * @desc :
  208. * @return : bool
  209. * @---------------------------------------------------
  210. */
  211. function checkGridUpdate(grid)
  212. {
  213. var iData = grid.getUpdateDataXml("insert");
  214. var uData = grid.getUpdateDataXml("update");
  215. var dData = grid.getUpdateDataXml("delete");
  216. if (iData=="" && uData=="" && dData=="") return false;
  217. else return true;
  218. }
  219. /**
  220. * @group :
  221. * @ver : 2006.12.20
  222. * @by :
  223. * @---------------------------------------------------
  224. * @type : function
  225. * @access : public
  226. * @desc :
  227. * @return : bool
  228. * @---------------------------------------------------
  229. */
  230. function checkGridField(grid, field){
  231. var nodeset = grid.nodeset;
  232. var iStatus;
  233. //var iData = grid.getUpdateDataXml("insert");
  234. for (i=grid.fixedRows; i<grid.rows; i++){
  235. iStatus = grid.rowstatus(i);
  236. if (iStatus == 1 || iStatus == 3){
  237. var fieldArr = field.split("▦");
  238. if(fieldArr.length < 1){
  239. return false;
  240. }
  241. for(var j = 0; j < fieldArr.length; j++){
  242. if(fieldArr[j] == null || fieldArr[j] == "" || fieldArr[j] == "undefined"){
  243. continue;
  244. }
  245. if(model.getValue(nodeset+"["+i+"]/"+fieldArr[j])=="") return false;
  246. }
  247. }
  248. }
  249. return true;
  250. }
  251. function fColDisableChk(){
  252. var rowSize = datagrid99.rows
  253. for (i=1;i <rowSize; i++){
  254. if (getUserId()!=model.getValue("/root/main/careplanlists/careplanlist["+i+"]/fstrgstrid")||model.getValue("/root/main/careplanlists/careplanlist["+i+"]/linkcd")!="-"){
  255. datagrid99.cellAttribute("disabled", i, 1, i, 4) = "true";
  256. datagrid99.cellstyle("background-color", i,1,i,4) = "#E6E6E6";
  257. }
  258. }
  259. }
  260. function fClose(){
  261. window.close();
  262. }