SPMRI01300.xjs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  4. 통합기록조회 ( SPMRI01300_진료대상자리스트 - JScript )
  5. - Version :
  6. 1) : Ver.1.00.01
  7. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  8. */
  9. function fInitalize()
  10. {
  11. frmf_setParameter("SPMRI01300_openerid", "SMMRI00400");
  12. ds_main_patlist.clearData();
  13. ds_cond.setColumn(0,"fromdd", utlf_getCurrentDate());
  14. ds_cond.setColumn(0,"todd", utlf_getCurrentDate());
  15. fClickChosflag();
  16. dsf_addDsItem( ds_init_deptlist, "deptcd", "depthngnm", "전체", "-", "above");
  17. ds_cond.setColumn(0,"orddeptcd", "-");
  18. }
  19. /**
  20. * @desc : 환자조회 버튼 클릭
  21. * @id :
  22. * @event : xforms-select
  23. * @return : void
  24. * @authur : 박종훈
  25. */
  26. function fClickChosflag()
  27. {
  28. var chosflag = ds_cond.getColumn(0,"chosflag");
  29. var srchcond = "";
  30. if (chosflag == "I" || chosflag == "E")
  31. {
  32. srchcond = "D";
  33. }
  34. else
  35. {
  36. srchcond = "O";
  37. }
  38. lf_mmbfGetDeptCodeComboList(ds_init_deptlist, srchcond);
  39. if (chosflag == "O")
  40. {
  41. ds_cond.setColumn(0,"inoutddflag", "orddd");
  42. grup_patlist.cmb_inoutddflag.visible = true;
  43. grup_patlist.cmb_inoutddflag.enable = false;
  44. grup_patlist.cmb_ward.enable = false;
  45. }
  46. else if (chosflag == "I")
  47. {
  48. lf_mmbfGetDeptCodeComboList(ds_init_wardlist, "W"); //병동코드 콤보
  49. dsf_addDsItem( ds_init_wardlist, "deptcd", "depthngnm", "전체", "-", "above");
  50. //addComboInstance("/root/init/wardlist", "deptcd^depthngnm", "-^전체", "dept"); //병동 전체항목 추가
  51. ds_cond.setColumn(0,"ward", "-");
  52. grup_patlist.cmb_inoutddflag.enable = true;
  53. grup_patlist.cmb_ward.enable = true;
  54. }
  55. else if (chosflag == "E")
  56. {
  57. ds_cond.setColumn(0,"inoutddflag", "orddd");
  58. grup_patlist.cmb_inoutddflag.enable = true;
  59. grup_patlist.cmb_ward.enable = false;
  60. }
  61. }
  62. /**
  63. * @desc : 부서선택
  64. * @id :
  65. * @event : xforms-select
  66. * @return : void
  67. * @authur : 박종훈
  68. */
  69. function fAfterChoiRecvDeptCd()
  70. {
  71. ds_init_userlist.clearData();
  72. lf_mmbfGetUserComboList(ds_init_userlist, grup_patlist.cmb_orddept.value, "0330");
  73. //addComboInstance("/root/init/userlist", "userid^usernm", "-^전체", "usercombo"); //의사콤보 전체항목 추가
  74. dsf_addDsItem( ds_init_userlist, "userid", "usernm", "전체", "-", "above");
  75. ds_cond.setColumn(0,"orddrid", "-");
  76. }
  77. /**
  78. * @desc : 환자조회
  79. * @id :
  80. * @event : DOMActivate
  81. * @return : void
  82. */
  83. function fGetPtlist()
  84. {
  85. var orddrid = ds_cond.getColumn(0,"orddrid");
  86. if (utlf_isNull(orddrid))
  87. orddrid = "-";
  88. ds_send.clear();
  89. dsf_makeValue(ds_send, "chosflag", "string", ds_cond.getColumn(0,"chosflag"));
  90. dsf_makeValue(ds_send, "inoutddflag", "string", ds_cond.getColumn(0,"inoutddflag"));
  91. dsf_makeValue(ds_send, "orddeptcd", "string", ds_cond.getColumn(0,"orddeptcd"));
  92. dsf_makeValue(ds_send, "orddrid", "string", orddrid);
  93. dsf_makeValue(ds_send, "ward", "string", ds_cond.getColumn(0,"ward"));
  94. dsf_makeValue(ds_send, "fromdd", "string", ds_cond.getColumn(0,"fromdd"));
  95. dsf_makeValue(ds_send, "todd", "string", ds_cond.getColumn(0,"todd"));
  96. dsf_makeValue(ds_send, "pid", "string", ds_cond.getColumn(0,"pid"));
  97. var oParam = {};
  98. oParam.id = "TRMRI01301";
  99. oParam.service = "recmngtapp.SystView";
  100. oParam.method = "reqGetPtList";
  101. oParam.inds = "req=ds_send";
  102. oParam.outds = "ds_main_patlist=patlist";
  103. oParam.async = false;
  104. oParam.callback = "cf_TRMRI01301";
  105. tranf_submit(oParam);
  106. if(arErrorCode.pop("TRMRI01301") > -1)
  107. {
  108. var openerid = oOpener.frmf_getParameter("SPMRI01300_openerid") //오픈한 화면의 ID
  109. if (openerid == "SPMMR05400")
  110. {
  111. var chosflag = ds_cond.getColumn(0,"chosflag");
  112. var bFlag = false;
  113. if (chosflag == "O")
  114. {
  115. ds_gridheader.setColumn(0,"compsrefcnts", "orddd^pid^ptnm^sa^dpdr^nursacptdt^indd^dschdd^cretno^instcd^roomcd^badcd^chosflag");
  116. ds_gridheader.setColumn(0,"compssizecnts","100^55^55^40^110^100^60^0^0^0^0^0^0^0");
  117. bFlag = true;
  118. }
  119. else if (chosflag == "I")
  120. {
  121. ds_gridheader.setColumn(0,"compsrefcnts","pid^ptnm^sa^dpdr^indd^dschdd^roomcd^nursacptdt^chosflag^orddd^cretno^instcd^badcd");
  122. ds_gridheader.setColumn(0,"compssizecnts","70^55^55^110^80^80^60^0^0^0^0^0^0");
  123. bFlag = true;
  124. }
  125. else if (chosflag == "E")
  126. {
  127. ds_gridheader.setColumn(0,"compsrefcnts","pid^ptnm^sa^badcd^dpdr^roomcd^indd^dschdd^nursacptdt^chosflag^orddd^cretno^instcd");
  128. ds_gridheader.setColumn(0,"compssizecnts","70^55^55^50^0^0^0^0^0^0^0^0^0");
  129. bFlag = true;
  130. }
  131. if (bFlag == true)
  132. {
  133. setOrderInfoOfCol(grup_patlist.grd_patlist, ds_gridheader);
  134. }
  135. }
  136. }
  137. }
  138. function cf_TRMRI01301(sSvcId, nErrorCode, sErrorMsg) {
  139. arErrorCode.push(sSvcId, nErrorCode);
  140. }
  141. /**
  142. * @desc : 컬럼 순서 정보 설정
  143. * @
  144. * @param : grid ID : 그리드ID
  145. * : refdata : 그리드 ref데이터 구분자 '^'
  146. * : sizedata : 그리드 size데이터 구분자 '^'
  147. * @return :
  148. * @author : 오지훈
  149. * @---------------------------------------------------
  150. */
  151. var gridProperty = ["displaytype", "edittype", "tooltiptext", "tooltiptype", "mask", "expr",
  152. "text", "combocodecol", "combodatacol", "combodataset", "align", "background", "background2", "padding", "wordwrap"];
  153. function setOrderInfoOfCol(grid:Grid, oDataSet:Dataset){
  154. if(oDataSet.rowcount <= 0)
  155. return;
  156. var refdata = oDataSet.getColumn(0, "compsrefcnts");
  157. var sizedata = oDataSet.getColumn(0, "compssizecnts");
  158. var frozencol = oDataSet.getColumn(0, "frozencol");
  159. if(utlf_isNull(refdata) || utlf_isNull(sizedata)) return;
  160. var refarr = refdata.split("^");
  161. var sizearr = sizedata.split("^");
  162. var nFrozenCols = grid.getBindCellIndex("body", frozencol);
  163. var oGridDataSet = eval(grid.binddataset);
  164. grid.enableevent = false;
  165. grid.enableredraw = false;
  166. //try {
  167. if(!utlf_isNull(nFrozenCols)) {
  168. for(var i = oGridDataSet.colcount - 1; i >= 0; i--) {
  169. if(i <= nFrozenCols)
  170. grid.setFormatColProperty(i, "band", "body");
  171. }
  172. }
  173. for(var i = 0; i < refarr.length; i++) {
  174. var nCol = i;
  175. var colText = refarr[i];
  176. var col = grid.getBindCellIndex("body", colText);
  177. if(col == -1) continue;
  178. if(i != col) {
  179. var headText = grid.getCellProperty("head", col, "text");
  180. var bodyText = new Array();
  181. for(var j = 0; j < gridProperty.length; j++) {
  182. var cellval = grid.getCellProperty("body", col, gridProperty[j]);
  183. bodyText[j] = cellval;
  184. }
  185. grid.deleteContentsCol(col);
  186. nCol = grid.insertContentsCol(i);
  187. grid.setCellProperty("head", nCol, "text", headText);
  188. for(var j = 0; j < gridProperty.length; j++) {
  189. if(!utlf_isNull(bodyText[j])) {
  190. grid.setCellProperty("body", nCol, gridProperty[j], bodyText[j]);
  191. }
  192. }
  193. }
  194. grid.setFormatColProperty(nCol, "size", sizearr[i]);
  195. grid.setFormatColProperty(nCol, "band", "body");
  196. }
  197. if(!utlf_isNull(nFrozenCols)) {
  198. for(var i = 0; i < oGridDataSet.colcount; i++) {
  199. if(i <= nFrozenCols)
  200. grid.setFormatColProperty(i, "band", "left");
  201. else
  202. break;
  203. }
  204. }
  205. //} finally {
  206. grid.enableevent = true;
  207. grid.enableredraw = true;
  208. //}
  209. }
  210. /**
  211. * @desc : 환자선택
  212. * @id :
  213. * @event : DOMActivate
  214. * @return : void
  215. * @authur : 박종훈
  216. */
  217. function fPatListDbclick()
  218. {
  219. if (frmf_isPopup() && sysf_getObjType(this) == "Form")
  220. {
  221. return;
  222. }
  223. else
  224. {
  225. var openerid = oOpener.frmf_getParameter("SPMRI01300_openerid") //오픈한 화면의 ID
  226. if (openerid == "SMMRI00400")
  227. {
  228. var pid = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"pid");
  229. oOpener.ipt_pid.value = pid;
  230. oOpener.ivw_patlist.visible = false;
  231. oOpener.fPidKeyPress();
  232. oOpener.button8.text = "기록조회";
  233. }
  234. else if (openerid == "SPMRI01200")
  235. {
  236. if((grd_patlist.isCell(event.target) && grd_patlist.mouserow >= grd_patlist.fixedrows && (grd_patlist.Rows > 1))) //그리드에서 데이타영역만
  237. {
  238. var pid = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"pid");
  239. var ptnm = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"ptnm");
  240. var dpdr = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"dpdr"); //진료과
  241. var chosflag = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"chosflag"); //내원구분
  242. var indd = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"indd"); //입원일자
  243. var dschdd = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"dschdd"); //퇴원일자
  244. var orddd = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"orddd"); //진료일자
  245. var orddeptcd = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"orddeptcd"); //진료과코드
  246. var orddrid = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"orddrid"); //진료의사id
  247. var cretno = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"cretno"); //생성번호
  248. var instcd = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"instcd"); //생성번호
  249. //미비기록리스트에 추가
  250. oOpener.dsf_makeValue(ds_temp_unpreprec,"pid", "string", pid);
  251. oOpener.dsf_makeValue(ds_temp_unpreprec,"ptnm","string", ptnm);
  252. oOpener.dsf_makeValue(ds_temp_unpreprec,"dpdr","string", dpdr);
  253. oOpener.dsf_makeValue(ds_temp_unpreprec,"dschdd","string", dschdd);
  254. oOpener.dsf_makeValue(ds_temp_unpreprec,"chosflag","string", chosflag);
  255. oOpener.dsf_makeValue(ds_temp_unpreprec,"cretno","string", cretno);
  256. oOpener.dsf_makeValue(ds_temp_unpreprec,"instcd", "string", instcd);
  257. oOpener.dsf_makeValue(ds_temp_unpreprec,"orddeptcd", "string", orddeptcd);
  258. oOpener.dsf_makeValue(ds_temp_unpreprec,"orddrid","string", orddrid);
  259. if(chosflag == "O"){
  260. oOpener.dsf_makeValue(ds_temp_unpreprec,"orddd","string",orddd);
  261. }else if(chosflag == "I"){
  262. oOpener.dsf_makeValue(ds_temp_unpreprec,"orddd","string",indd);
  263. }else if(chosflag == "E"){
  264. oOpener.dsf_makeValue(ds_temp_unpreprec,"orddd","string",indd);
  265. }
  266. oOpener.dsf_makeValue(ds_temp_unpreprec,"indschflag","string",ds_cond.getColumn(0,"inoutddflag")); //내원구분
  267. //미비기록 조회
  268. oOpener.dsf_makeValue(ds_send_cond,"pid" , "string", pid);
  269. }
  270. //미비기록 조회
  271. oOpener.dsf_makeValue(ds_send_cond,"ioflag", ds_cond.getColumn(0,"chosflag"));
  272. oOpener.dsf_makeValue(ds_hidden_condition,"formnm", ds_cond.getColumn(0,"inoutddflag"));
  273. oOpener.dsf_makeValue(ds_send_cond,"fromdd", ds_cond.getColumn(0,"orddschdd"));
  274. oOpener.dsf_makeValue(ds_send_cond,"deptcd", ds_cond.getColumn(0,"orddeptcd"));
  275. oOpener.dsf_makeValue(ds_send_cond,"drid", ds_cond.getColumn(0,"orddrid"));
  276. oOpener.dsf_makeValue(ds_send_cond,"wardlist", ds_cond.getColumn(0,"ward"));
  277. oOpener.fSrchFormrec();
  278. //parent.window.javascript.fReqUnpr();
  279. }
  280. else if (openerid == "SPMMR05400")
  281. {
  282. var pid = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"pid");
  283. var patnm = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"ptnm");
  284. var ioflag = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"chosflag"); //내원구분
  285. var orddd = "";
  286. if (ioflag == "O" || ioflag == "S")
  287. {
  288. orddd = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"orddd"); //진료일자
  289. }
  290. else if (ioflag == "I" || ioflag == "E" || ioflag == "D")
  291. {
  292. orddd = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"indd"); //진료일자
  293. }
  294. var orddeptcd = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"orddeptcd"); //진료과코드
  295. var orddrid = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"orddrid"); //진료의사id
  296. var cretno = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"cretno"); //생성번호
  297. var sa = ds_main_patlist.getColumn(ds_main_patlist.rowposition,"sa"); //생성번호
  298. var dschdd = dsf_getColumnNullToEmpty(ds_main_patlist, ds_main_patlist.rowposition, "dschdd");
  299. oOpener.fIvwSetPamInfo(pid, orddd, cretno, ioflag, orddeptcd, orddrid, patnm, sa, dschdd);
  300. }
  301. else if (openerid == "SPMRI02100")
  302. {
  303. oOpener.dsf_createDs("ds_temp_patsubinfo");
  304. oOpener.ds_temp_patsubinfo.addRow();
  305. oOpener.ds_temp_patsubinfo.CopyRow(0,ds_main_patlist,ds_main_patlist.rowposition);
  306. //parent.model.copyNode("/root/temp/patsubinfo" , grd_patlist.getNode(grd_patlist.row));
  307. oOpener.dsf_makeValue(ds_temp_patsubinfo,"orddschdd" ,"string", model.getValue("/root/cond/orddschdd"));
  308. oOpener.dsf_makeValue(ds_temp_patsubinfo,"inoutddflag" , "string",model.getValue("/root/cond/inoutddflag"));
  309. oOpener.dsf_makeValue(ds_temp_patsubinfo,"chosflag" ,"string", model.getValue("/root/cond/chosflag"));
  310. oOpener.dsf_makeValue(ds_temp_patsubinfo,"orddeptcd" , "string",model.getValue("/root/main/patlist[" + grd_patlist.row + "]/orddeptcd"));
  311. oOpener.fRetUnprep();
  312. }
  313. }
  314. }
  315. /**
  316. * @desc : 사이즈조절
  317. * @id :
  318. * @event : DOMActivate
  319. * @return : void
  320. * @authur : 박종훈
  321. */
  322. function fInitSize(wid, heig)
  323. {
  324. this.position.height = heig;
  325. this.position.width = wid;
  326. grup_patlist.grd_patlist.position.width = wid - 10;
  327. grup_patlist.grd_patlist.position.height = parseInt(grup_patlist.grd_patlist.position.height) - 5;
  328. grup_patlist.position.top = 0;
  329. grup_patlist.position.width = wid - 2;
  330. grup_patlist.position.height = heig - 2;
  331. grup_patlist.roundrect1.position.width = wid - 10;
  332. grup_patlist.button7.position.left = parseInt(grup_patlist.button7.position.left) + parseInt(grup_patlist.button7.position.width);
  333. }
  334. ]]></Script>