SPMRJ00100.xjs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/* ---------------------------------------------------------------------
  3. Count List 관리 (SMMNP00320_CountList관리.xrw - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. : Create By taebum
  7. : 2008-11-21 오전 10:05:51
  8. ---------------------------------------------------------------------- */
  9. /* --------------------------------------------------*/
  10. /* type : function */
  11. /* access : public */
  12. /* desc : xforms-ready시 수행한다 */
  13. /* return : */
  14. /* --------------------------------------------------*/
  15. function fInit() {
  16. ds_main_careplanlists_careplanlist.clearData();
  17. var vPid = "";
  18. var vOrddd = "";
  19. var vCretno = "";
  20. var vWorkflag = "";
  21. var vordtype = "";
  22. var vfromdd = "";
  23. var vtodd = "";
  24. var vdaycheck = "";
  25. var vTitle = "Medication Management Plan";
  26. if (frmf_isPopup()) {
  27. vPid = opener.frmf_getParameter("SPMRJ00100_pid");
  28. vOrddd = opener.frmf_getParameter("SPMRJ00100_orddd");
  29. vCretno = opener.frmf_getParameter("SPMRJ00100_cretno");
  30. vWorkflag = opener.frmf_getParameter("SPMRJ00100_workflag");
  31. vordtype = opener.frmf_getParameter("SPMRJ00100_ordtype");
  32. vfromdd = opener.frmf_getParameter("SPMRJ00100_fromdd");
  33. vtodd = opener.frmf_getParameter("SPMRJ00100_todd");
  34. vdaycheck = opener.frmf_getParameter("SPMRJ00100_daycheck");
  35. if(utlf_isNull(vPid)){
  36. alert("PID 값 세팅이 안되었습니다...!");
  37. return;
  38. close();
  39. }else if(utlf_isNull(vOrddd)){
  40. alert("ORDDD 값 세팅이 안되었습니다...!");
  41. return;
  42. close();
  43. }else if(utlf_isNull(vCretno)){
  44. alert("CRETNO 값 세팅이 안되었습니다...!");
  45. return;
  46. close();
  47. }else if(utlf_isNull(vWorkflag)){
  48. alert("직종구분 값 세팅이 안되었습니다...!");
  49. return;
  50. close();
  51. }
  52. dsf_makeValue(ds_init_pinfo,"pid" ,"string", vPid);
  53. dsf_makeValue(ds_init_pinfo,"orddd" ,"string", vOrddd);
  54. dsf_makeValue(ds_init_pinfo,"cretno" ,"string", vCretno);
  55. dsf_makeValue(ds_init_pinfo,"workflag" ,"string", vWorkflag);
  56. dsf_makeValue(ds_send,"ordtype" ,"string", vordtype);
  57. dsf_makeValue(ds_send,"fromdd" ,"string", vfromdd);
  58. dsf_makeValue(ds_send,"todd" ,"string", vtodd);
  59. dsf_makeValue(ds_send,"daycheck" ,"string", vdaycheck);
  60. }else{
  61. button43.visible = false;
  62. vPid = frmf_getParameter("SPMRJ00100_pid");
  63. vOrddd = frmf_getParameter("SPMRJ00100_orddd");
  64. vCretno = frmf_getParameter("SPMRJ00100_cretno");
  65. vWorkflag = frmf_getParameter("SPMRJ00100_workflag");
  66. vordtype = frmf_getParameter("SPMRJ00100_ordtype");
  67. vfromdd = frmf_getParameter("SPMRJ00100_fromdd");
  68. vtodd = frmf_getParameter("SPMRJ00100_todd");
  69. vdaycheck = frmf_getParameter("SPMRJ00100_daycheck");
  70. if(utlf_isNull(vPid)){
  71. alert("PID 값 세팅이 안되었습니다...!");
  72. button1.visible = false;
  73. button8.visible = false;
  74. button9.visible = false;
  75. return;
  76. }else if(utlf_isNull(vOrddd)){
  77. alert("ORDDD 값 세팅이 안되었습니다...!");
  78. button1.visible = false;
  79. button8.visible = false;
  80. button9.visible = false;
  81. return;
  82. }else if(utlf_isNull(vCretno)){
  83. alert("CRETNO 값 세팅이 안되었습니다...!");
  84. button1.visible = false;
  85. button8.visible = false;
  86. button9.visible = false;
  87. return;
  88. }else if(utlf_isNull(vWorkflag)){
  89. alert("직종구분 값 세팅이 안되었습니다...!");
  90. button1.visible = false;
  91. button8.visible = false;
  92. button9.visible = false;
  93. return;
  94. }
  95. dsf_makeValue(ds_init_pinfo,"pid" ,"string", vPid);
  96. dsf_makeValue(ds_init_pinfo,"orddd" ,"string", vOrddd);
  97. dsf_makeValue(ds_init_pinfo,"cretno" ,"string", vCretno);
  98. dsf_makeValue(ds_init_pinfo,"workflag" ,"string", vWorkflag);
  99. dsf_makeValue(ds_send,"ordtype" ,"string", vordtype);
  100. dsf_makeValue(ds_send,"fromdd" ,"string", vfromdd);
  101. dsf_makeValue(ds_send,"todd" ,"string", vtodd);
  102. dsf_makeValue(ds_send,"daycheck" ,"string", vdaycheck);
  103. }
  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.text = vTitle;
  118. fSelectCodeList();
  119. }
  120. /**
  121. * Count List 등록 내역 조회
  122. *
  123. */
  124. function fSelectCodeList(){
  125. dsf_makeValue(ds_send,"pid" ,"string", ds_init_pinfo.getColumn(0,"pid"));
  126. dsf_makeValue(ds_send,"orddd" ,"string", ds_init_pinfo.getColumn(0,"orddd"));
  127. dsf_makeValue(ds_send,"cretno" ,"string", ds_init_pinfo.getColumn(0,"cretno"));
  128. dsf_makeValue(ds_send,"workflag" ,"string", ds_init_pinfo.getColumn(0,"workflag"));
  129. if(utlf_isNull(ds_send.getColumn(0, "workflag"))){
  130. alert("전달받은 작업 구분자 영역이 없습니다...!")
  131. return;
  132. };
  133. var oParam = {};
  134. oParam.id = "TRMRJ00103";
  135. oParam.service = "jcimngtapp.JcimngtBase";
  136. oParam.method = "reqGetCareplanPop";
  137. oParam.inds = "req=ds_send";
  138. oParam.outds = "ds_main_careplanlists_careplanlist=careplanlist ds_main_patordinfo=patordinfo";
  139. oParam.async = false;
  140. oParam.callback = "cf_TRMRJ00103";
  141. tranf_submit(oParam);
  142. if(arErrorCode.pop("TRMRJ00103") > -1){
  143. ds_main_careplanlists_careplanlist.rowposition =-1;
  144. };
  145. }
  146. /**
  147. * 그리드 행추가 버튼을 클릭하였을 경우 이벤트
  148. *
  149. */
  150. function fClickRowAddBtn(){
  151. var gridObj = eval("datagrid99");
  152. var bindDs = eval(gridObj.binddataset);
  153. bindDs.insertRow(0);
  154. bindDs.setColumn(0, "rgstdd", utlf_getCurrentDate().substr(0, 8));
  155. bindDs.setColumn(0, "rgsttm", utlf_getCurrentTime().substr(0, 4));
  156. bindDs.setColumn(0, "instcd", ds_init_pinfo.getColumn(0, "instcd"));
  157. bindDs.setColumn(0, "pid", ds_init_pinfo.getColumn(0, "pid"));
  158. bindDs.setColumn(0, "orddd", ds_init_pinfo.getColumn(0, "orddd"));
  159. bindDs.setColumn(0, "cretno", ds_init_pinfo.getColumn(0, "cretno"));
  160. bindDs.setColumn(0, "workflag", ds_init_pinfo.getColumn(0, "workflag"));
  161. }
  162. /**
  163. * 삭제 버튼을 클릭하였을 경우 이벤트
  164. *
  165. */
  166. function fClickDeleteBtn(){
  167. var gridObj = eval("datagrid99");
  168. var gridbds = eval(gridObj.binddataset);
  169. var cur_row = gridbds.rowposition; // 행 번호 가져오기
  170. var iStatus = gridbds.getRowType(cur_row);
  171. if(cur_row <= -1 || cur_row =="undefined") {
  172. alert("삭제할 행을 선택하시기 바랍니다...");
  173. return;
  174. }
  175. if (sysf_getUserId() != ds_main_careplanlists_careplanlist.getColumn(cur_row, "fstrgstrid") &&!utlf_isNull(ds_main_careplanlists_careplanlist.getColumn(cur_row, "fstrgstrid"))){
  176. alert("삭제 권한은 등록한 사용자만 가능합니다...!");
  177. return;
  178. }
  179. if (ds_main_careplanlists_careplanlist.getColumn(cur_row, "linkcd")!="-" && !utlf_isNull(ds_main_careplanlists_careplanlist.getColumn(cur_row, "fstrgstrid"))){
  180. alert("서식 기록에서 생성된 Care Plan 기록내용은 삭제 처리가 불가능 합니다...!");
  181. return;
  182. }
  183. if (iStatus == 2){ // 새로 삽입된 행이면
  184. gridbds.deleteRow(cur_row);
  185. }else if (iStatus == 8){ // 삭제로 표시된 행이면
  186. gridbds.updatecontrol = false;
  187. gridbds.setRowType(cur_row, "");
  188. gridbds.updatecontrol = true;
  189. }else{
  190. gridbds.updatecontrol = false;
  191. gridbds.setRowType(cur_row, "D");
  192. gridbds.updatecontrol = true;
  193. }
  194. }
  195. /*
  196. * 저장 버튼을 클릭하였을 경우 이벤트
  197. *
  198. */
  199. function fOnClickSaveBtn(){
  200. var gridObj = eval("datagrid99");
  201. var bindDs = eval(gridObj.binddataset);
  202. if(checkGridField("datagrid99","problem▦careplan")==false){
  203. alert("데이터중에 비어있는 필수필드가 있습니다.");
  204. return;
  205. }
  206. var updateData = grdf_getGridUpdateData(gridObj);
  207. if(updateData.rowcount==0){
  208. alert("저장할 자료가 존재하지 않습니다.");
  209. return;
  210. }
  211. grdf_setStatusColumn(updateData, "status");
  212. if( !isValidObject("ds_send_listdata")) dsf_createDs("ds_send_listdata");
  213. ds_send_listdata.clearData();
  214. ds_send_listdata.copyData(updateData, true);
  215. var oParam = {};
  216. oParam.id = "TXMRJ00101";
  217. oParam.service = "jcimngtapp.JcimngtBase";
  218. oParam.method = "reqSetCareplanList";
  219. oParam.inds = "listdata=ds_send_listdata";
  220. oParam.outds = "ds_hidden_temp_msglist=msglist";
  221. oParam.async = false;
  222. oParam.callback = "cf_TXMRJ00101";
  223. tranf_submit(oParam);
  224. if(arErrorCode.pop("TXMRJ00101") > -1){
  225. fSelectCodeList();
  226. }
  227. }
  228. /**
  229. * @group :
  230. * @ver : 2006.12.20
  231. * @by :
  232. * @---------------------------------------------------
  233. * @type : function
  234. * @access : public
  235. * @desc :
  236. * @return : bool
  237. * @---------------------------------------------------
  238. */
  239. function checkGridField(grid, field){
  240. var iStatus;
  241. var gridObj = eval(grid);
  242. var gridbds = eval(gridObj.binddataset);
  243. for (i=0; i<gridObj.rowcount; i++){
  244. iStatus = gridbds.getRowType(i);
  245. if (iStatus == 2){
  246. var fieldArr = field.split("▦");
  247. if(fieldArr.length < 1){
  248. return false;
  249. }
  250. for(var j = 0; j < fieldArr.length; j++){
  251. if(utlf_isNull(fieldArr[j])){
  252. continue;
  253. }
  254. if(utlf_isNull(gridbds.getColumn(i,fieldArr[j]))) return false;
  255. }
  256. }
  257. }
  258. return true;
  259. }
  260. function fColDisableChk_new(grdNm, currow, col, flag){
  261. var sColor = "default";
  262. var bEnable;
  263. var oGrdObj = this.components[grdNm];
  264. var oDs = this.objects[oGrdObj.binddataset];
  265. var arrEdittype = ["date", "mask", "textarea", "textarea"];
  266. if( flag == 0 ){
  267. bEnable = arrEdittype[col-1];
  268. if(oDs.getRowType(currow) != 2 && (sysf_getUserId() != oDs.getColumn(currow, "fstrgstrid") || oDs.getColumn(currow, "linkcd") != "-")){
  269. bEnable = "none";
  270. }
  271. return bEnable;
  272. }else if( flag == 1 ){
  273. if(oDs.getRowType(currow) != 2 && (sysf_getUserId() != oDs.getColumn(currow, "fstrgstrid") || oDs.getColumn(currow, "linkcd") != "-")){
  274. sColor = "#E6E6E6FF";
  275. }
  276. return sColor;
  277. }
  278. }
  279. function fClose(){
  280. close();
  281. }
  282. ]]></Script>