SPMRI01300.xjs 15 KB

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