SPMNP00315.xjs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/* ---------------------------------------------------------------------
  3. 수술기록 관찰기록(SMMNP00315.xfm - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. : Create By 손성훈
  7. : 2012.05.22 오후 08:40
  8. ---------------------------------------------------------------------- */
  9. var sPid = ""; //등록번호
  10. var sOprsrvno = ""; //수술예약번호
  11. var sOphistno = ""; //수술예약 일련번호
  12. var sDoctid = ""; //집도의ID
  13. var sDoctnm = ""; //집도의
  14. var sInstcd = "";
  15. var sOpfromdt = ""; //수술시작일시
  16. var sOproomcd = ""; //수술방코드
  17. var sOpcnfmdd = ""; //수술확정일자
  18. //sSendData = sPid+"▥"+ sOprsrvno +"▥"+ sOphistno +"▥"+ sInstcd +"▥"+ sOpfromdt +"▥"+tempOproomcd+ "▨"+ sSendPinfo +"▨"+sSendDoctinfo;
  19. /**
  20. * 화면 초기화
  21. *
  22. */
  23. function fInit(){
  24. var sRecvFlag = opener.frmf_getParameter("SMMNP00300_searchFlag");
  25. var sRecvData = opener.frmf_getParameter("SMMNP00300_SearchCondition");
  26. opener.frmf_setParameter("SMMNP00300_searchFlag", "");
  27. opener.frmf_setParameter("SMMNP00300_SearchCondition", "");
  28. if( sRecvFlag != "true" ){
  29. sysf_messageBox("관찰기록은 수술기록 화면에서만 연동할 수 있으며 기록 가능합니다.", "");
  30. group3.enable = false;
  31. return;
  32. }
  33. var sRecvArr = null;
  34. if( !utlf_isNull(sRecvData) ){
  35. sRecvArr = sRecvData.split("▨");
  36. var sDataArr = sRecvArr[1].split("▥");
  37. if( !utlf_isNull(sRecvArr[1]) ){
  38. sOpcnfmdd = sDataArr[0];
  39. ds_init.setColumn(0, "pinfo", sOpcnfmdd);
  40. ds_init.setColumn(0, "pinfo2", sDataArr[1]);
  41. ds_init.setColumn(0, "pinfo3", sDataArr[2]);
  42. }
  43. if( !utlf_isNull(sRecvArr[0]) ){
  44. var sRecvPinfoArr = sRecvArr[0].split("▥");
  45. sPid = sRecvPinfoArr[0];
  46. sOprsrvno = sRecvPinfoArr[1]; //수술예약번호
  47. sOphistno = sRecvPinfoArr[2]; //수술예약 일련번호
  48. sInstcd = sRecvPinfoArr[3];
  49. sOpfromdt = sRecvPinfoArr[4]; //수술시작일시
  50. sOproomcd = sRecvPinfoArr[5]; //수술방코드
  51. }
  52. if( !utlf_isNull(sRecvArr[2]) ){
  53. var sRecvDoctArr = sRecvArr[2].split("▥");
  54. sDoctnm = sRecvDoctArr[0]; //집도의
  55. sDoctid = sRecvDoctArr[1]; //집도의ID
  56. }
  57. }
  58. if( !utlf_isNull(sOprsrvno) ){
  59. //수술예약번호가 존재할 경우 정상 조회 처리
  60. fGetRoomInfo();
  61. fSearchMnphOpobserv();
  62. }
  63. // 20190417 김현석, 관찰 기록 도움말 문구 변경. 요청번호 : 20190319025
  64. group1.Static00.text = "진정치료인 경우, 혈압, 맥박, 산소포화도 등의 내용을 포함하여 진정치료 시작 후 5분, 이후 10분 간격으로 기록, 산소 포화도 필수기록";
  65. }
  66. /**
  67. * 화면 오픈시 수술방 정보와 취급 간호사, 집도의 부서 정보를 조회한다.
  68. *
  69. */
  70. function fGetRoomInfo(){
  71. ds_send.setColumn(0, "flag", "userid");
  72. ds_send.setColumn(0, "searchitem", "00009006");
  73. var oParam = {};
  74. oParam.id = "TRMNP00301";
  75. oParam.service = "opanstapp.OpAnstRec";
  76. oParam.method = "reqGetOpRoomInfo";
  77. oParam.inds = "req=ds_send";
  78. oParam.outds = "ds_init_HideData_OpRoomData_OpRoomInfo=OpRoomInfo";
  79. oParam.async = false;
  80. //oParam.callback = "cf_TRMNP00301";
  81. tranf_submit(oParam); // 수술실의 코드와 명칭을 가져온다.
  82. ds_send.setColumn(0, "doctid", sDoctid);
  83. ds_send.setColumn(0, "flag", "userid");
  84. ds_send.setColumn(0, "selectflag", "userid");
  85. ds_send.setColumn(0, "searchitem", "");
  86. ds_send.setColumn(0, "searchdd", sOpcnfmdd);//조회 기준일자
  87. ds_send.setColumn(0, "deptflag", "015");//수술실 간호사코드 anstrecmgr - getUserList
  88. var oParam = {};
  89. oParam.id = "TRMNP00316";
  90. oParam.service = "opanstapp.OpAnstRec";
  91. oParam.method = "reqGetOPNurInfoDoctInfo";
  92. oParam.inds = "req=ds_send";
  93. oParam.outds = "ds_init_DisplayData_nurlist=nurlist ds_init_DisplayData_doctinfo=doctinfo";
  94. oParam.async = false;
  95. //oParam.callback = "cf_TRMNP00316";
  96. tranf_submit(oParam); //수술방 간호사 정보 및 집도의 리스트 정보 조회
  97. }
  98. /**
  99. * 조회 버튼 클릭시 이벤트
  100. *
  101. */
  102. function fSearchMnphOpobserv(){
  103. if( utlf_isNull(sOprsrvno) ){
  104. sysf_messageBox("관찰 기록은 수술기록 화면에서만 연동할 수 있으며 기록 가능합니다.", "");
  105. return;
  106. }
  107. ds_send.setColumn(0, "oprsrvno", sOprsrvno);
  108. ds_main_oblists_oblist.clearData();
  109. var oParam = {};
  110. oParam.id = "TRMNP00315";
  111. oParam.service = "opanstapp.OpAnstRec";
  112. oParam.method = "reqGetMnphOpObserRecInfo";
  113. oParam.inds = "req=ds_send";
  114. oParam.outds = "ds_main_oblists_oblist=oblist";
  115. oParam.async = false;
  116. //oParam.callback = "cf_TRMNP00315";
  117. tranf_submit(oParam);
  118. if( utlf_isNull(ds_main_oblists_oblist.getColumnInfo("obnurid")) ){
  119. ds_main_oblists_oblist.addColumn("obnurid", "string");
  120. }
  121. if( utlf_isNull(ds_main_oblists_oblist.getColumnInfo("displayobnurid")) ){
  122. ds_main_oblists_oblist.addColumn("displayobnurid", "string");
  123. }
  124. ds_main_oblists_oblist.enableevent = false;
  125. ds_main_oblists_oblist.updatecontrol = false;
  126. for( var i=0 ; i<ds_main_oblists_oblist.rowcount ; i++ ){
  127. ds_main_oblists_oblist.setColumn(i, "displayobnurid", ds_main_oblists_oblist.getColumn(i, "obnurid"));
  128. }
  129. ds_main_oblists_oblist.updatecontrol = true;
  130. ds_main_oblists_oblist.enableevent = true;
  131. ds_main_oblists_oblist.rowposition = -1;
  132. }
  133. /**
  134. * 추가 버튼 클릭 시 이벤트
  135. *
  136. */
  137. function fOnClickGridAddBtn(){
  138. var i = ds_main_oblists_oblist.addRow();
  139. if( utlf_isNull(ds_main_oblists_oblist.getColumn(i, "opdeptcd")) ){
  140. ds_main_oblists_oblist.setColumn(i, "opdeptcd", ds_init_DisplayData_doctinfo.getColumn(0, "deptcd")); //집도과ID
  141. }
  142. if( utlf_isNull(ds_main_oblists_oblist.getColumn(i, "opdeptnm")) ){
  143. ds_main_oblists_oblist.setColumn(i, "opdeptnm", ds_init_DisplayData_doctinfo.getColumn(0, "deptnm")); //집도과명
  144. }
  145. if( utlf_isNull(ds_main_oblists_oblist.getColumn(i, "opdoctid")) ){
  146. ds_main_oblists_oblist.setColumn(i, "opdoctid", sDoctid); //적출의ID - 집도의
  147. }
  148. if( utlf_isNull(ds_main_oblists_oblist.getColumn(i, "opdoctnm")) ){
  149. ds_main_oblists_oblist.setColumn(i, "opdoctnm", sDoctnm); //적출의명
  150. }
  151. }
  152. /**
  153. * 삭제 버튼 클릭 시 이벤트
  154. *
  155. */
  156. function fOnClickGridDeleteBtn(){
  157. var iRow = group3.datagrid1.currentrow;
  158. var iCol = group3.datagrid1.currentcol;
  159. ds_main_oblists_oblist.deleteRow(iRow);
  160. }
  161. /**
  162. * Grid Time button 클릭시
  163. *
  164. */
  165. function fOnClickGridTimeBtn(){
  166. var iRow = group3.datagrid1.currentrow;
  167. var iCol = group3.datagrid1.currentcol;
  168. if( iCol == group3.datagrid1.getBindCellIndex("body", "obrectm") ){
  169. ds_main_oblists_oblist.setColumn(iRow, "obrecdd", utlf_getCurrentDate());
  170. ds_main_oblists_oblist.setColumn(iRow, "obrectm", utlf_getCurrentTime().substr(0, 4));
  171. }
  172. }
  173. /**
  174. * 저장시 valid check 및 default info copy
  175. *
  176. */
  177. function validForSave(){
  178. var itotalRow = group3.datagrid1.rowcount;
  179. var iCol = group3.datagrid1.currentcol;
  180. if( utlf_isNull(sOprsrvno) ){
  181. return false;
  182. }
  183. for( var i=0 ; i<itotalRow ; i++ ){
  184. /*
  185. 0 : 데이터는 있지만 변경되지 않은 사항
  186. 1 : new
  187. 2 : update
  188. */
  189. if( utlf_isNull(ds_main_oblists_oblist.getColumn(i, "oprsrvno")) ){
  190. ds_main_oblists_oblist.setColumn(i, "oprsrvno", sOprsrvno);
  191. }
  192. if( utlf_isNull(ds_main_oblists_oblist.getColumn(i, "oproomcd")) ){
  193. ds_main_oblists_oblist.setColumn(i, "oproomcd", sOproomcd);
  194. }
  195. if( utlf_isNull(ds_main_oblists_oblist.getColumn(i, "opdeptcd")) ){
  196. ds_main_oblists_oblist.setColumn(i, "opdeptcd", ds_init_DisplayData_doctinfo.getColumn(0, "deptcd")); //집도과ID
  197. }
  198. if( utlf_isNull(ds_main_oblists_oblist.getColumn(i, "opdeptnm")) ){
  199. ds_main_oblists_oblist.setColumn(i, "opdeptnm", ds_init_DisplayData_doctinfo.getColumn(0, "deptnm")); //집도과명
  200. }
  201. if( utlf_isNull(ds_main_oblists_oblist.getColumn(i, "opdoctid")) ){
  202. ds_main_oblists_oblist.setColumn(i, "opdoctid", sDoctid); // 집도의
  203. }
  204. if( utlf_isNull(ds_main_oblists_oblist.getColumn(i, "opdoctnm")) ){
  205. ds_main_oblists_oblist.setColumn(i, "opdoctnm", sDoctnm); //집도의명
  206. }
  207. }
  208. return true;
  209. }
  210. /**
  211. * 저장 버튼 클릭 시 이벤트
  212. *
  213. */
  214. function onclickSaveBtn(){
  215. if( !validForSave() ) return;
  216. grdf_setStatusColumn(ds_main_oblists_oblist, "status");
  217. ds_send_oblists.assign(ds_main_oblists_oblist);
  218. var oParam = {};
  219. oParam.id = "TXMNP00355";
  220. oParam.service = "opanstapp.OpAnstRec";
  221. oParam.method = "reqExeMnphOpObserRecInfo";
  222. oParam.inds = "oblists=ds_send_oblists:A";
  223. oParam.outds = "ds_main_oblists_oblist=oblist";
  224. oParam.async = false;
  225. //oParam.callback = "cf_TXMNP00355";
  226. tranf_submit(oParam);
  227. if( utlf_isNull(ds_main_oblists_oblist.getColumnInfo("obnurid")) ){
  228. ds_main_oblists_oblist.addColumn("obnurid", "string");
  229. }
  230. if( utlf_isNull(ds_main_oblists_oblist.getColumnInfo("displayobnurid")) ){
  231. ds_main_oblists_oblist.addColumn("displayobnurid", "string");
  232. }
  233. ds_main_oblists_oblist.enableevent = false;
  234. ds_main_oblists_oblist.updatecontrol = false;
  235. for( var i=0 ; i<ds_main_oblists_oblist.rowcount ; i++ ){
  236. ds_main_oblists_oblist.setColumn(i, "displayobnurid", ds_main_oblists_oblist.getColumn(i, "obnurid"));
  237. }
  238. ds_main_oblists_oblist.updatecontrol = true;
  239. ds_main_oblists_oblist.enableevent = true;
  240. ds_main_oblists_oblist.rowposition = -1;
  241. fSearchMnphOpobserv();
  242. }
  243. //grid Value Changed event
  244. function fGridValueChanged(){
  245. var iRow = group3.datagrid1.currentrow;
  246. var iCol = group3.datagrid1.currentcol;
  247. if( iCol == group3.datagrid1.getBindCellIndex("body", "obnurid") ){
  248. //model.setValue("/root/main/eolists/eolist["+iRow+"]/displayactnurid", datagrid1.valueMartrix(iRow, datagrid1.colRef("search")));
  249. ds_main_oblists_oblist.setColumn(iRow, "displayobnurid", ds_main_oblists_oblist.getColumn(iRow, "obnurid"));
  250. }
  251. }
  252. ]]></Script>