SPMRI02100.js 43 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249
  1. /**
  2. * @desc : 화면 초기화
  3. * @
  4. * @param :
  5. * @return :
  6. * @author : HIT EMR Team
  7. * @---------------------------------------------------
  8. */
  9. function fInitialize(){
  10. setParameter("SPMRI01300_openerid", "SPMRI02100");
  11. ivw_patlist.window.javascript.fInitalize();
  12. model.removeNodeset("/root/main/doclist");
  13. model.removeNodeset("/root/main/docinfo");
  14. model.removeNodeset("/root/main/mainlist/medireclist");
  15. mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept", "D");
  16. addComboInstance("/root/init/orddept", "deptcd^depthngnm", "-^전체", "dept"); //진료과 전체항목 추가
  17. model.setValue("/root/cond/orddeptcd", "-");
  18. var chosflag1700 = opener.javascript.getParameter("chosflag1700");
  19. if(chosflag1700 != ""){
  20. model.setValue("/root/cond/chosflag" , chosflag1700);
  21. }
  22. //1700에서 등록번호,퇴원일자 두개만 받을때
  23. var dschdd_2100 = opener.javascript.getParameter("dschdd_2100" );
  24. model.makeNode("/root/temp/popup");
  25. if(dschdd_2100 != ""){
  26. setCSVToNode("/root/temp/popup", dschdd_2100, "dschddlist");
  27. }
  28. if(model.getValue("/root/temp/indschflag") == ""){ //기록관리 왼쪽의 등록번호,퇴원일자 가져옴
  29. model.setValue("/root/cond/chosflag" ,"D");
  30. model.setValue("/root/cond/orddschdd" , model.getValue("/root/temp/popup/dschddlist/dschdd"));
  31. model.setValue("/root/main/patinfo/pid",model.getValue("/root/temp/popup/dschddlist/pid"));
  32. model.setValue("/root/main/patinfo/hngnm",model.getValue("/root/temp/popup/dschddlist/hngnm"));
  33. model.refresh()
  34. //if(ipt_pid.currentText.length >= 1 ){ //퇴원일자 콤보 조회
  35. submit("TRMRI01702");
  36. var sDschdd = model.getValue("/root/temp/popup/dschddlist/dschdd");
  37. model.setValue("/root/cond/orddschdd",sDschdd);
  38. // }
  39. btn_req.dispatch("DOMActivate");
  40. }
  41. if(model.getValue("/root/temp/indschflag") != ""){
  42. // "/root/temp/" 기준관리에서 받은 정보
  43. model.setValue("/root/main/patinfo/pid", model.getValue("/root/temp/pid"));
  44. model.setValue("/root/cond/orddschdd" , model.getValue("/root/temp/dschdd"));
  45. var sDschDD = model.getValue("/root/temp/dschdd");
  46. addComboItem("cmb_dschdd",sDschDD,sDschDD);
  47. model.setValue("/root/main/patinfo/hngnm" ,model.getValue("/root/temp/patnm"));
  48. model.setValue("/root/cond/orddeptcd" ,model.getValue("/root/temp/dschdeptcd"));
  49. model.makeValue("/root/temp/templist/ioflag",model.getValue("/root/temp/indschflag"));
  50. model.makeValue("/root/temp/templist/cretno",model.getValue("/root/temp/cretno"));
  51. model.makeValue("/root/temp/templist/orddd", model.getValue("/root/temp/orddd"));
  52. model.makeValue("/root/temp/templist/drid", model.getValue("/root/temp/unprepdrid"));
  53. //환자정보
  54. model.makeValue("/root/temp/patsubinfo/chosflag",model.getValue("/root/temp/indschflag"));
  55. model.makeValue("/root/temp/patsubinfo/cretno",model.getValue("/root/temp/cretno"));
  56. model.makeValue("/root/temp/patsubinfo/orddd", model.getValue("/root/temp/orddd"));
  57. model.makeValue("/root/temp/patsubinfo/dschdd", model.getValue("/root/temp/dschdd"));
  58. model.refresh();
  59. btn_req.dispatch("DOMActivate");
  60. // 미비의사 있는경우 진료기록 조회
  61. // fSelectOrdRec();
  62. model.refresh();
  63. var unprepdrid = model.getValue("/root/temp/unprepdrid");
  64. var drid = model.getValue("/root/main/doclist[ drid ='" + unprepdrid + "' ]/drid");
  65. grd_doclist.row = grd_doclist.findRow( drid ,1, grd_doclist.colRef("drid"));
  66. //var aa = grd_doclist.findRow( drid ,1, grd_doclist.colRef("drid"));
  67. model.refresh();
  68. fSrchFormrec("req"); //기록 리스트 조회
  69. var cdnm = model.getValue("/root/main/doclist[drid = '" + unprepdrid + "' ]/cdnm");
  70. model.makeValue("/root/temp/templist/cdnm",cdnm); //미비항목 직종 구분할때..
  71. grd_doclist.dispatch("onclick");
  72. fReqFormList();
  73. var formcd = model.getValue("/root/temp/formcd");
  74. var formnm = model.getValue("/root/main/formlist[formcd ='" + formcd + "' ]/formnm");
  75. grd_formlist.row = grd_formlist.findRow( formnm ,1, grd_formlist.colRef("formnm"));
  76. fSetFormRecdd("form"); //서식에 따른 기록일자 변경
  77. model.refresh();
  78. fSrchUnprepItem("form");
  79. }
  80. if(model.getValue("/root/cond/orddschdd") == ""){
  81. model.setValue("/root/cond/orddschdd", getCurrentDate());
  82. model.setValue("/root/main/condition/formrecdd", getCurrentDate());
  83. }
  84. model.refresh();
  85. // fClickChosflag();
  86. }
  87. /**
  88. * @desc : 진료기록 조회
  89. * @
  90. * @param :
  91. * @return :
  92. * @author : HIT EMR Team
  93. * @---------------------------------------------------
  94. */
  95. function fSelectOrdRec(){
  96. var unprepdrid = model.getValue("/root/temp/unprepdrid");
  97. var drid = model.getValue("/root/main/doclist[drid = '" + unprepdrid + "' ]/drid");
  98. if(drid != ""){
  99. var chosflag = model.getValue("/root/main/doclist[drid = '" + unprepdrid + "' ]/ioflag");
  100. var pid = model.getValue("/root/main/doclist[drid = '" + unprepdrid + "' ]/pid");
  101. var formrecdeptcd = model.getValue("/root/main/doclist[drid = '" + unprepdrid + "' ]/deptcd");
  102. var formrecuserid = model.getValue("/root/main/doclist[drid = '" + unprepdrid + "' ]/drid");
  103. var cdnm = model.getValue("/root/main/doclist[drid = '" + unprepdrid + "' ]/cdnm");
  104. //var lastformrecdd = model.getValue("/root/main/doclist[drid = '" + unprepdrid + "' ]/orddd");
  105. var lastformrecdd = model.getValue("/root/cond/orddschdd"); //진료일자
  106. // 진료기록 조회
  107. model.makeValue("/root/send/deptcd", formrecdeptcd);
  108. model.makeValue("/root/send/drid", formrecuserid);
  109. model.makeValue("/root/send/ioflag", chosflag);
  110. model.makeValue("/root/send/fromdd", lastformrecdd);
  111. model.makeValue("/root/temp/templist/cdnm",cdnm); //미비항목 직종 구분할때..
  112. submit("TRMRI01201");
  113. // temp/templist 생성
  114. fmakeTemplist();
  115. }
  116. // 미비항목 조회
  117. var recseq = model.getValue("/root/temp/formrecseq");
  118. var formrecseq = model.getValue("/root/main/mainlist/medireclist[formrecseq = '" + recseq + "' ]/formrecseq");
  119. if(formrecseq != ""){
  120. var formcd = model.getValue("/root/main/mainlist/medireclist[formrecseq = '" + recseq + "' ]/formcd");
  121. var formrecdd = model.getValue("/root/main/mainlist/medireclist[formrecseq = '" + recseq + "' ]/formrecdd");
  122. model.makeValue("/root/send/formcd",formcd);
  123. model.makeValue("/root/send/total","formcd");
  124. model.makeValue("/root/send/formrecdd", formrecdd);
  125. model.refresh();
  126. submit("TRMRI02102");
  127. }
  128. }
  129. /**
  130. * @desc : 환자조회 버튼클릭
  131. * @
  132. * @param :
  133. * @return :
  134. * @author : HIT EMR Team
  135. * @---------------------------------------------------
  136. */
  137. function fPatlistBtn(flag){
  138. ivw_patlist.visible = flag;
  139. button8.text = "환자조회";
  140. var chosflag = model.getValue("/root/cond/chosflag"); // 외래,입원 구분
  141. if("D" == model.getValue("/root/cond/chosflag")){
  142. chosflag = "I";
  143. }
  144. ivw_patlist.model.setValue("/root/cond/chosflag", chosflag);
  145. //alert(ivw_patlist.model.getValue("/root/cond/chosflag"));
  146. ivw_patlist.window.javascript.fClickChosflag();
  147. ivw_patlist.model.refresh();
  148. }
  149. /**
  150. * @desc : templist생성
  151. * @
  152. * @param :
  153. * @return :
  154. * @author : HIT EMR Team
  155. * @---------------------------------------------------
  156. */
  157. function fmakeTemplist(){
  158. model.makeValue("/root/temp/templist/cdnm", model.getValue("/root/temp/cdnm"));
  159. model.makeValue("/root/temp/templist/drid", model.getValue("/root/temp/unprepdrid"));
  160. model.makeValue("/root/temp/templist/drnm", model.getValue("/root/temp/unprepdrnm"));
  161. model.makeValue("/root/temp/templist/deptcd", model.getValue("/root/temp/indschdeptcd"));
  162. model.makeValue("/root/temp/templist/deptnm", model.getValue("/root/temp/indschdeptnm"));
  163. model.makeValue("/root/temp/templist/pid", model.getValue("/root/temp/pid"));
  164. model.makeValue("/root/temp/templist/ioflag", model.getValue("/root/temp/indschflag"));
  165. model.makeValue("/root/temp/templist/cretno", model.getValue("/root/temp/cretno"));
  166. model.makeValue("/root/temp/templist/orddd", model.getValue("/root/temp/orddd"));
  167. model.makeValue("/root/temp/templist/dschdd", model.getValue("/root/cond/orddschdd"));
  168. // model.makeValue("/root/temp/templist/dschdd", model.getValue("/root/temp/dschdd"));
  169. model.makeValue("/root/temp/templist/formnm", model.getValue("/root/temp/formnm"));
  170. model.makeValue("/root/temp/templist/formrecdd", model.getValue("/root/temp/formrecdd"));
  171. model.makeValue("/root/temp/templist/formcd", model.getValue("/root/temp/formcd"));
  172. model.makeValue("/root/temp/templist/formrecseq", model.getValue("/root/temp/formrecseq"));
  173. model.makeValue("/root/temp/templist/drid", model.getValue("/root/temp/unprepdrid"));
  174. model.refresh();
  175. }
  176. /**
  177. * @desc : 엑셀 저장
  178. * @
  179. * @param :
  180. * @return :
  181. * @author : HIT EMR Team
  182. * @---------------------------------------------------
  183. */
  184. function fSaveExcel(){
  185. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  186. if (fileName != "")
  187. {
  188. grd_unpreplist.saveExcel(fileName, "SheetName", true, true, "", "", "false");
  189. }
  190. }
  191. /**
  192. * @desc : 등록번호 로 조회
  193. * @
  194. * @param :
  195. * @return :
  196. * @author : HIT EMR Team
  197. * @---------------------------------------------------
  198. */
  199. function fReqPatinfo(){
  200. //환자정보 조회팝업에 기본 정보 넘겨준다.
  201. model.makeValue("/root/tmp/pid", model.getValue("/root/main/patinfo/pid"));
  202. model.makeValue("/root/tmp/hngnm", model.getValue("/root/main/patinfo/hngnm"));
  203. model.makeValue("/root/tmp/srchcond",model.getValue("/root/main/patinfo/srchcond"));
  204. model.makeValue("/root/tmp/autoflag","Y"); // 1건인경우 자동으로닫힘
  205. model.refresh();
  206. modal("SPPMC02500", 1,10, 10, "SPPMC02500", "/root/tmp", "/root/send");
  207. model.makeValue("/root/main/patinfo/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  208. // model.makeValue("/root/main/patinfo/rrgstno1",model.getValue("/root/main/patinfo/patinfolist/rrgstno1")+rrgstno2);
  209. model.makeValue("/root/main/patinfo/hngnm", model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  210. model.makeValue("/root/main/patinfo/hometel", model.getValue("/root/main/patinfo/patinfolist/hometel"));
  211. model.makeValue("/root/main/patinfo/brthdd", model.getValue("/root/main/patinfo/patinfolist/brthdd"));
  212. model.makeValue("/root/main/patinfo/addr", model.getValue("/root/main/patinfo/patinfolist/addr") + " " + model.getValue("/root/main/patinfo/patinfolist/detladdr"));
  213. // 부모창에 내려줄 정보
  214. model.makeValue("/root/temp/templist/hngnm", model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  215. if(ipt_pid.currentText.length >= 1 )
  216. {
  217. // var dschdd = model.getValue("/root/main/dschpatinfo/dschdd");
  218. submit("TRMRI01702",false);
  219. var dschdd=model.getValue("/root/init/dschddlist/dschdd[1]");
  220. if(dschdd ==""){
  221. dschdd = "29991231";
  222. }
  223. //addComboInstance("/root/init", "dschdd^depthngnm", "29991231^29991231", "dschddlist"); //진료과 전체항목 추가
  224. addComboItem("cmb_dschdd","2999-12-31","29991231");
  225. model.setValue("/root/cond/orddschdd",dschdd);
  226. }
  227. model.refresh();
  228. //환자 수진이력 조회
  229. //fReqPatsubinfo();
  230. //미비의사 조회
  231. // fSrchUnprepDoc();
  232. }
  233. /**
  234. * @desc : 환자 수진이력 조회
  235. * @
  236. * @param :
  237. * @return :
  238. * @author : HIT EMR Team
  239. * @---------------------------------------------------
  240. */
  241. function fReqPatsubinfo()
  242. {
  243. var ioflag; // I,O,E,D 구분
  244. var chosflag = model.getValue("/root/cond/chosflag"); // 외래,입원 구분
  245. if("D" == model.getValue("/root/cond/chosflag")){
  246. chosflag = "I";
  247. ioflag = "D";
  248. }else if("I" == model.getValue("/root/cond/chosflag")){
  249. chosflag = "I";
  250. ioflag = "I";
  251. }
  252. var pid = model.getValue("/root/main/patinfo/pid");
  253. model.removeNodeset("/root/send");
  254. model.makeValue("/root/send/pid", pid);
  255. model.makeValue("/root/send/ioflag", ioflag);
  256. model.makeValue("/root/send/chosflag", chosflag);
  257. model.makeValue("/root/send/dschdd", model.getValue("/root/cond/orddschdd")); //퇴원일자 or 진료일자
  258. submit("TRMRI02104"); // "/root/temp/patsubinfo"
  259. }
  260. /**
  261. * @desc : 환자정보 cretno 조회
  262. * @
  263. * @param :
  264. * @return :
  265. * @author : HIT EMR Team
  266. * @---------------------------------------------------
  267. */
  268. function fReqCretno(){
  269. // pid로 orddd,cretno 을 조회해온다.
  270. model.makeValue("/root/send/savedata/pid", model.getValue("/root/main/patinfo/pid"));
  271. model.makeValue("/root/send/savedata/checkfnexam","2");
  272. model.resetInstanceNode("/root/result/outhist/outhistlist");
  273. submit("TRPMO00201");
  274. // result/outhist/outhistlist 에 만들어진다 , 최상위 orddd, cretno 가져옴
  275. var orddd = model.getValue("/root/main/result/outhist/outhistlist/orddd");
  276. var cretno = model.getValue("/root/main/result/outhist/outhistlist/cretno");
  277. var ordtype = model.getValue("/root/main/result/outhist/outhistlist/ordtype");
  278. model.makeValue("/root/main/patinfo/cretno", cretno);
  279. model.makeValue("/root/main/patinfo/orddd", orddd);
  280. model.makeValue("/root/main/patinfo/ioflag", ordtype);
  281. model.refresh();
  282. }
  283. /**
  284. * @desc : 환자정보 복사
  285. * @
  286. * @param :
  287. * @return :
  288. * @author : HIT EMR Team
  289. * @---------------------------------------------------
  290. */
  291. function fCopypatinfo(){
  292. var iRow = grd_unpreplist.row;
  293. var path = "/root/main/unprepmngt/unpreplist[";
  294. model.makeValue("/root/temp/patinfo/pid", model.getValue(path + iRow + "]/pid"));
  295. model.makeValue("/root/temp/patinfo/patnm", model.getValue(path + iRow + "]/patnm"));
  296. model.makeValue("/root/temp/patinfo/orddd", model.getValue(path + iRow + "]/orddd"));
  297. model.makeValue("/root/temp/patinfo/dschdd", model.getValue(path + iRow + "]/dschdd"));
  298. model.makeValue("/root/temp/patinfo/dschdeptnm", model.getValue(path + iRow + "]/dschdeptnm"));
  299. model.refresh();
  300. }
  301. /**
  302. * @desc : 과 선택
  303. * @
  304. * @param :
  305. * @return :
  306. * @author : HIT EMR Team
  307. * @---------------------------------------------------
  308. */
  309. function fDeptCDSelect(){
  310. submit("TRMRF03102");
  311. model.removeNodeset("/root/main/indxlist_d/item");
  312. copyNode(model, model, "/root/main/indxlist_d", "/root/main/indxlist");
  313. model.refresh();
  314. trv_indxlist_d.expand(0, true);
  315. }
  316. /**
  317. * @desc : 미비의사 정보조회
  318. * @
  319. * @param :
  320. * @return :
  321. * @author : HIT EMR Team
  322. * @---------------------------------------------------
  323. */
  324. function fSrchUnprepDoc()
  325. {
  326. var chosflag = model.getValue("/root/cond/chosflag");
  327. if(chosflag =="D"){
  328. chosflag = "I";
  329. }
  330. var pid = model.getValue("/root/main/patinfo/pid");
  331. model.makeValue("/root/send/pid", pid);
  332. //model.makeValue("/root/send/ioflag", ioflag);
  333. model.makeValue("/root/send/chosflag", chosflag);
  334. model.makeValue("/root/send/deptcd", model.getValue("/root/cond/orddeptcd"));
  335. model.makeValue("/root/send/orddd", model.getValue("/root/cond/orddschdd")); //퇴원일자 or 진료일자
  336. //부모창에 전달할 정보
  337. model.makeValue("/root/temp/templist/pid", pid);
  338. model.makeValue("/root/temp/templist/hngnm",model.getValue("/root/main/patinfo/hngnm"));
  339. model.makeValue("/root/temp/templist/ioflag",chosflag);
  340. model.makeValue("/root/temp/templist/dschdd",model.getValue("/root/cond/orddschdd"));
  341. if(pid == "")
  342. return;
  343. submit("TRMRI02101");
  344. //cretno 조회
  345. //환자 수진이력 조회
  346. //fReqPatsubinfo();
  347. }
  348. /**
  349. * @desc : 의사명 조회
  350. * @
  351. * @param :
  352. * @return :
  353. * @author : HIT EMR Team
  354. * @---------------------------------------------------
  355. */
  356. function fSrchDocInfo()
  357. {
  358. model.makeValue("/root/send/drnm", model.getValue("/root/cond/drnm" ));
  359. submit("TRMRI02103");
  360. }
  361. /**
  362. * @desc : 미비의사 추가
  363. * @
  364. * @param :
  365. * @return :
  366. * @author : HIT EMR Team
  367. * @---------------------------------------------------
  368. */
  369. function fAddDocInfo()
  370. {
  371. var cretno = model.getValue("/root/temp/patsubinfo/cretno");
  372. //상단그리드에 같은 id있는경우
  373. var userid = model.getValue("/root/main/docinfo["+ grd_docinfo.row +"]/userid");
  374. var drid = model.getValue("/root/main/doclist[ drid = '" +userid + "']/drid");
  375. if(drid == ""){
  376. grd_doclist.addRow();
  377. var ioflag = model.getValue("/root/cond/chosflag");
  378. if(ioflag == "D"){
  379. ioflag = "I";
  380. }
  381. var orddd;
  382. var dschdd;
  383. orddd = model.getValue("/root/temp/patsubinfo/orddd");
  384. dschdd = model.getValue("/root/temp/patsubinfo/dschdd");
  385. if(orddd ==""){
  386. orddd = model.getValue("/root/temp/patsubinfo/indd");
  387. }
  388. if(cretno == ""){ // 환자조회안한경우 부모창에서 가져왔을때..
  389. cretno = model.getValue("/root/temp/cretno");
  390. ioflag = model.getValue("/root/temp/indschflag");
  391. orddd = model.getValue("/root/temp/orddd");
  392. dschdd = model.getValue("/root/temp/dschdd");
  393. }
  394. var pid = model.getValue("/root/main/patinfo/pid" );
  395. var hngnm = model.getValue("/root/main/patinfo/hngnm" );
  396. var drid = model.getValue("/root/main/docinfo["+ grd_docinfo.row +"]/userid" );
  397. var drnm = model.getValue("/root/main/docinfo["+ grd_docinfo.row +"]/usernm" );
  398. var deptnm = model.getValue("/root/main/docinfo["+ grd_docinfo.row +"]/deptnm" );
  399. var deptcd = model.getValue("/root/main/docinfo["+ grd_docinfo.row +"]/deptcd" );
  400. var cdnm = model.getValue("/root/main/docinfo["+ grd_docinfo.row +"]/cdnm" );
  401. //환자정보에서 가져온 cretno
  402. model.makeValue("/root/main/doclist[" + grd_doclist.row + "]/cretno", cretno);
  403. model.makeValue("/root/main/doclist[" + grd_doclist.row + "]/ioflag", ioflag);
  404. model.makeValue("/root/main/doclist[" + grd_doclist.row + "]/orddd", orddd);
  405. model.makeValue("/root/main/doclist[" + grd_doclist.row + "]/pid", model.getValue("/root/main/patinfo/pid" ));
  406. model.makeValue("/root/main/doclist[" + grd_doclist.row + "]/drid", model.getValue("/root/main/docinfo["+ grd_docinfo.row +"]/userid" ));
  407. model.makeValue("/root/main/doclist[" + grd_doclist.row + "]/drnm", model.getValue("/root/main/docinfo["+ grd_docinfo.row +"]/usernm" ));
  408. model.makeValue("/root/main/doclist[" + grd_doclist.row + "]/deptnm", model.getValue("/root/main/docinfo["+ grd_docinfo.row +"]/deptnm" ));
  409. model.makeValue("/root/main/doclist[" + grd_doclist.row + "]/deptcd", model.getValue("/root/main/docinfo["+ grd_docinfo.row +"]/deptcd" ));
  410. model.makeValue("/root/main/doclist[" + grd_doclist.row + "]/cdnm", cdnm );
  411. model.makeValue("/root/temp/templist/drid", drid);
  412. model.makeValue("/root/temp/templist/hngnm", hngnm);
  413. model.makeValue("/root/temp/templist/drnm", drnm);
  414. model.makeValue("/root/temp/templist/deptcd",deptcd);
  415. model.makeValue("/root/temp/templist/deptnm",deptnm);
  416. model.makeValue("/root/temp/templist/pid", pid);
  417. model.makeValue("/root/temp/templist/ioflag",ioflag);
  418. model.makeValue("/root/temp/templist/orddd", orddd);
  419. model.makeValue("/root/temp/templist/cdnm", cdnm);
  420. model.makeValue("/root/temp/templist/cretno",cretno);
  421. model.makeValue("/root/temp/templist/dschdd",dschdd);
  422. }
  423. }
  424. /**
  425. * @desc : 환자조회 버튼 클릭
  426. * @
  427. * @param :
  428. * @return :
  429. * @author : HIT EMR Team
  430. * @---------------------------------------------------
  431. */
  432. function fClickChosflag()
  433. {
  434. var chosflag = model.getValue("/root/cond/chosflag");
  435. if (chosflag == "O")
  436. {
  437. }
  438. else if (chosflag == "I")
  439. {
  440. }
  441. else if (chosflag == "D")
  442. {
  443. }
  444. else if (chosflag == "E")
  445. {
  446. }
  447. model.refresh();
  448. }
  449. /**
  450. * @desc : 미비관련 정보 셋팅
  451. * @
  452. * @param :
  453. * @return :
  454. * @author : HIT EMR Team
  455. * @---------------------------------------------------
  456. */
  457. function fRetUnprep()
  458. {
  459. ivw_patlist.visible = false;
  460. var chosflag = model.getValue("/root/temp/patsubinfo/chosflag");
  461. var inoutddflag = model.getValue("/root/temp/patsubinfo/inoutddflag");
  462. if(inoutddflag == "dschdd"){ //진료일자 ,퇴원일자 구분
  463. chosflag = "D";
  464. }
  465. model.setValue("/root/cond/chosflag" , chosflag);
  466. model.setValue("/root/main/patinfo/pid", model.getValue("/root/temp/patsubinfo/pid"));
  467. //model.setValue("/root/cond/orddschdd" , model.getValue("/root/temp/patsubinfo/orddschdd"));
  468. model.setValue("/root/cond/orddeptcd" , model.getValue("/root/temp/patsubinfo/orddeptcd"));
  469. model.setValue("/root/main/patinfo/hngnm" ,model.getValue("/root/temp/patsubinfo/ptnm"));
  470. var ioflag = model.getValue("/root/cond/chosflag");
  471. if("D" == model.getValue("/root/cond/chosflag")){
  472. chosflag = "I";
  473. ioflag = "D";
  474. }else if("I" == model.getValue("/root/cond/chosflag")){
  475. chosflag = "I";
  476. ioflag = "I";
  477. }
  478. var orddd = model.getValue("/root/temp/patsubinfo/orddd");
  479. if(orddd == ""){
  480. orddd = model.getValue("/root/temp/patsubinfo/indd");
  481. }
  482. //model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/pid"));
  483. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/pid"));
  484. model.makeValue("/root/send/ioflag", ioflag);
  485. model.makeValue("/root/send/chosflag", chosflag);
  486. model.makeValue("/root/send/deptcd", model.getValue("/root/cond/orddeptcd"));
  487. model.makeValue("/root/send/orddd", model.getValue("/root/cond/orddschdd"));
  488. model.makeValue("/root/temp/templist/orddd",orddd);
  489. fSrchUnprepDoc();
  490. }
  491. /**
  492. * @desc : 의사 정보 체크
  493. * @
  494. * @param :
  495. * @return :
  496. * @author : HIT EMR Team
  497. * @---------------------------------------------------
  498. */
  499. function fCheckTemp()
  500. {
  501. var irow = grd_templist.row;
  502. // var irow = grd_templist.colRef("check");
  503. var jobposflag = model.getValue("/root/main/templist[" +irow+ "]/jobposflag");
  504. var cdnm = model.getValue("/root/temp/templist/cdnm");
  505. var cdNum;
  506. switch (cdnm)
  507. {
  508. case "스태프":
  509. cdNum = 0 ;
  510. break;
  511. case "레지던트":
  512. cdNum = 1 ;
  513. break;
  514. case "인턴":
  515. cdNum = 2 ;
  516. break;
  517. }
  518. var flag = true;
  519. if( cdNum <= jobposflag ){
  520. flag = false;
  521. }
  522. if(flag){
  523. messageBox("상위 직종 미비항목을 선택", "E001");
  524. model.setValue("/root/main/templist[" +irow+ "]/check","false");
  525. return true;
  526. }
  527. }
  528. /**
  529. * @desc : 기록 리스트 조회
  530. * @
  531. * @param :
  532. * @return :
  533. * @author : HIT EMR Team
  534. * @---------------------------------------------------
  535. */
  536. function fSrchFormrec(flag)
  537. {
  538. var iRow = grd_doclist.row - grd_doclist.fixedRows + 1;
  539. var deptcd = model.getValue("/root/main/doclist[" + iRow + "]/deptcd");
  540. var drid = model.getValue("/root/main/doclist[" + iRow + "]/drid");
  541. var ioflag = model.getValue("/root/cond/chosflag");
  542. if(ioflag == "D"){
  543. ioflag = "I";
  544. }
  545. model.makeValue("/root/send/deptcd", deptcd);
  546. model.makeValue("/root/send/drid", drid);
  547. model.makeValue("/root/send/ioflag", ioflag);
  548. model.makeValue("/root/send/fromdd",model.getValue("/root/cond/orddschdd"));
  549. //model.makeValue("/root/send/fromdd",model.getValue("/root/main/doclist[" + iRow + "]/lastformrecdd"));
  550. model.removeNodeset("/root/main/templist");
  551. if (flag != "req")
  552. {
  553. submit("TRMRI01201");
  554. }
  555. var drid = model.getValue("/root/main/doclist[" + iRow + "]/drid");
  556. var drnm = model.getValue("/root/main/doclist[" + iRow + "]/drnm");
  557. var deptcd = model.getValue("/root/main/doclist[" + iRow + "]/deptcd");
  558. var deptnm = model.getValue("/root/main/doclist[" + iRow + "]/deptnm");
  559. var cdnm = model.getValue("/root/main/doclist[" + iRow + "]/cdnm");
  560. // 환자 수진정보( TRMRI02104 )
  561. //var ioflag = model.getValue("/root/temp/patsubinfo/chosflag");
  562. var dschdd = model.getValue("/root/temp/patsubinfo/dschdd");
  563. var orddd = model.getValue("/root/temp/patsubinfo/orddd");
  564. if(orddd ==""){
  565. orddd = model.getValue("/root/temp/patsubinfo/indd");
  566. }
  567. var cretno = model.getValue("/root/temp/patsubinfo/cretno");
  568. model.makeValue("/root/temp/templist/drid", drid);
  569. model.makeValue("/root/temp/templist/drnm", drnm);
  570. model.makeValue("/root/temp/templist/deptcd",deptcd);
  571. model.makeValue("/root/temp/templist/deptnm",deptnm);
  572. model.makeValue("/root/temp/templist/cdnm",cdnm);
  573. //model.makeValue("/root/temp/templist/ioflag",ioflag);
  574. //1700에서 받아온경우
  575. var sDschdd = model.getValue("/root/temp/popup/dschddlist/dschdd");
  576. var sOrddd = model.getValue("/root/temp/popup/dschddlist/indd");
  577. var sCretno = model.getValue("/root/temp/popup/dschddlist/cretno");
  578. if(sCretno!=""){
  579. dschdd = sDschdd;
  580. orddd = sOrddd;
  581. cretno = sCretno;
  582. }
  583. model.makeValue("/root/temp/templist/cretno",cretno);
  584. model.makeValue("/root/temp/templist/orddd",orddd);
  585. model.makeValue("/root/temp/templist/dschdd",dschdd);
  586. model.makeValue("/root/temp/templist/ioflag",ioflag);
  587. fReqFormList(); //공통서식조회
  588. }
  589. /**
  590. * @desc : 미비 항목 조회
  591. * @
  592. * @param :
  593. * @return :
  594. * @author : HIT EMR Team
  595. * @---------------------------------------------------
  596. */
  597. function fSrchUnprepItem(flag)
  598. {
  599. var iRow;
  600. var path;
  601. if(flag == "rec"){
  602. iRow = grd_medireclist.row - grd_medireclist.fixedRows + 1;
  603. path = "/root/main/mainlist/medireclist[";
  604. }else if(flag == "form"){
  605. iRow = grd_formlist.row - grd_formlist.fixedRows + 1;
  606. path = "/root/main/formlist[";
  607. }
  608. var formcd = model.getValue(path + iRow + "]/formcd");
  609. //var formrecdd = model.getValue(path + iRow + "]/formrecdd");
  610. var formrecdd = model.getValue("root/main/condition/formrecdd");
  611. var cdnm = model.getValue("/root/temp/templist/cdnm");
  612. var cdNum;
  613. switch (cdnm)
  614. {
  615. case "스태프":
  616. cdNum = 0 ;
  617. break;
  618. case "레지던트":
  619. cdNum = 1 ;
  620. break;
  621. case "인턴":
  622. cdNum = 2 ;
  623. break;
  624. }
  625. model.makeValue("/root/send/formcd",formcd);
  626. model.makeValue("/root/send/pid",model.getValue("/root/main/patinfo/pid"));
  627. model.makeValue("/root/send/drid",model.getValue("/root/temp/templist/drid"));
  628. model.makeValue("/root/send/total","formcd");
  629. model.makeValue("/root/send/formrecdd", formrecdd);
  630. model.makeValue("/root/send/jobposflag", cdNum); // 직종구분
  631. model.makeValue("/root/send/unprepflag", "unprepflag"); // 직종구분
  632. model.refresh();
  633. submit("TRMRI02102");
  634. /*
  635. var trgCol = grd_templist.colRef("check");
  636. for(var i = grd_templist.fixedRows; i < grd_templist.rows; i++ ) {
  637. if( grd_templist.valueMatrix(i, trgCol) == "true" ) {
  638. grd_templist.isReadOnly(i, trgCol) = true;
  639. model.setValue("/root/main/templist[" + i + "]/selectflag","true");
  640. }else if( grd_templist.valueMatrix(i, trgCol) == "false" ) {
  641. grd_templist.isReadOnly(i, trgCol) = false;
  642. model.setValue("/root/main/templist[" + i + "]/selectflag","false");
  643. }
  644. }
  645. */
  646. var formnm = model.getValue(path + iRow + "]/formnm");
  647. var recseq = model.getValue(path + iRow + "]/formrecseq");
  648. var formrecdd = model.getValue("root/main/condition/formrecdd");
  649. var formcd = model.getValue(path + iRow + "]/formcd");
  650. var formrecseq;
  651. if(recseq == ""){
  652. formrecseq = 0;
  653. }else{
  654. formrecseq = model.getValue(path + iRow + "]/formrecseq");
  655. }
  656. model.makeValue("/root/temp/templist/formnm", formnm);
  657. model.makeValue("/root/temp/templist/formrecdd", formrecdd);
  658. model.makeValue("/root/temp/templist/formcd",formcd);
  659. model.makeValue("/root/temp/templist/formrecseq",formrecseq);
  660. }
  661. /**
  662. * @desc : 기록일자 변경 ( 입퇴원 -> 퇴원일, 입원초진 ->입원일, 수술기록->수술일)
  663. * @
  664. * @param :
  665. * @return :
  666. * @author : HIT EMR Team
  667. * @---------------------------------------------------
  668. */
  669. function fSetFormRecdd(flag)
  670. {
  671. var iRow;
  672. var path;
  673. if(flag == "rec"){
  674. iRow = grd_medireclist.row - grd_medireclist.fixedRows + 1;
  675. path = "/root/main/mainlist/medireclist[";
  676. }else if(flag == "form"){
  677. iRow = grd_formlist.row - grd_formlist.fixedRows + 1;
  678. path = "/root/main/formlist[";
  679. }
  680. var formcd = model.getValue(path + iRow + "]/formcd");
  681. var orddd = model.getValue("root/temp/templist/orddd")
  682. var formrecdd = model.getValue("root/temp/formrecdd");
  683. if(formrecdd == ""){ //기록관리에서 가져온 formrecdd없으면 orddd 로..
  684. formrecdd = orddd;
  685. }
  686. if( formcd == "0000000680"){ //입퇴원요약기록
  687. model.setValue("root/main/condition/formrecdd", model.getValue("root/cond/orddschdd") );
  688. }else if( formcd == "0000000003"){ //입원초진기록
  689. model.setValue("root/main/condition/formrecdd", model.getValue("root/temp/templist/orddd") );
  690. }else if( formcd == "0000000676"){ //수술기록
  691. model.setValue("root/main/condition/formrecdd", formrecdd );
  692. }else {
  693. model.setValue("root/main/condition/formrecdd", formrecdd );
  694. }
  695. model.refresh();
  696. }
  697. /**
  698. * @desc : 확인 버튼
  699. * @
  700. * @param :
  701. * @return :
  702. * @author : HIT EMR Team
  703. * @---------------------------------------------------
  704. */
  705. function fConfBtn()
  706. {
  707. model.removeNodeset("/root/temp/templist1");
  708. model.makeNode("/root/temp/templist1");
  709. //var nodeList = instance1.selectNodes("/root/main/templist[check='true' and selectflag='false' ]");
  710. var nodeList = instance1.selectNodes("/root/main/itemlist");
  711. //같은 기록일때 기존 미비상태 반영
  712. //var nodeCheck = instance1.selectNodes("/root/main/templist[ selectflag='true' ]");
  713. var nodeCheck = instance1.selectNodes("/root/main/itemlist");
  714. var rCSV = getNodeListCSV(nodeList);
  715. model.setValue("/root/temp/templist1", rCSV);
  716. model.makeValue("/root/temp/templist2", nodeList.length );
  717. opener.model.copyNode("/root/temp/unprepitem", root.temp);
  718. if(nodeCheck.length > 0 ){ //check되어 있는경우 기존 미비상태 적용
  719. opener.model.makeValue("/root/temp/unprepitem/templist4/statmr",model.getValue("/root/temp/statmr"));
  720. }
  721. model.close();
  722. }
  723. /**
  724. * @desc : 미비내용 팝업
  725. * @
  726. * @param :
  727. * @return :
  728. * @author : HIT EMR Team
  729. * @---------------------------------------------------
  730. */
  731. function fPopupbtn(grdObj){
  732. var irow = grdObj.row;
  733. var icol = grdObj.col;
  734. setParameter("setcnts","");
  735. setParameter("getcnts","");
  736. var cnts = grdObj.valuematrix(irow ,grdObj.colRef("medirecalertcnts") );
  737. setParameter("setcnts",cnts);
  738. modal("SPMRI01900_미비알림팝업", 1, 100, 100);
  739. var getcnts = getParameter("getcnts");
  740. grdObj.valuematrix(irow , icol ) = getcnts ;
  741. grdObj.rowStatus(irow) = 2;
  742. model.refresh();
  743. }
  744. /**
  745. * @desc : 공통서식 조회
  746. * @
  747. * @param :
  748. * @return :
  749. * @author : HIT EMR Team
  750. * @---------------------------------------------------
  751. */
  752. function fReqFormList()
  753. {
  754. var chosflag = model.getValue("/root/cond/chosflag");
  755. if(chosflag == "D"){
  756. chosflag = "I";
  757. }
  758. model.makeValue("/root/send/chosflag", chosflag);
  759. model.makeValue("/root/send/formnm", "");
  760. submit("TRMRI02105");
  761. }
  762. /**
  763. * @desc : ItemList row삭제
  764. * @
  765. * @param :
  766. * @return :
  767. * @author : HIT EMR Team
  768. * @---------------------------------------------------
  769. */
  770. function fDelItemList()
  771. {
  772. if(grd_itemlist.row < 0)
  773. return;
  774. if (grd_itemlist.selectedRows > 0) {
  775. var selectedRows = Array(grd_itemlist.selectedRows);
  776. for(i=0;i<grd_itemlist.selectedRows;i++) {
  777. selectedRows[i] = grd_itemlist.selectedRow(i);
  778. }
  779. }
  780. var rowIdx;
  781. for ( var i= selectedRows.length ; i >= 0 ; i--)
  782. {
  783. rowIdx = selectedRows[i];
  784. grd_itemlist.deleteRow( rowIdx , false);
  785. }
  786. model.refresh();
  787. }
  788. /**
  789. * @desc : 마우스 오른쪽 버튼 팝업창
  790. * @
  791. * @param :
  792. * @return :
  793. * @author : HIT EMR Team
  794. * @---------------------------------------------------
  795. */
  796. function fMouseRghtBtnPopup(){
  797. if(event.button == 3){
  798. window.setPopupMenu(true, "/root/init/menu1/menu", "label", "func", false);
  799. }
  800. }
  801. /**
  802. * @desc : 마우스 오른쪽 버튼 팝업창
  803. * @
  804. * @param :
  805. * @return :
  806. * @author : HIT EMR Team
  807. * @---------------------------------------------------
  808. */
  809. function fMouseRghtBtnPopupByItem(){
  810. if(event.button == 3){
  811. window.setPopupMenu(true, "/root/init/menu/menu", "label", "func", false);
  812. }
  813. }
  814. /**
  815. * @desc : TempList행추가
  816. * @
  817. * @param :
  818. * @return :
  819. * @author : HIT EMR Team
  820. * @---------------------------------------------------
  821. */
  822. function fAddTempList(){
  823. var sPath = "/root/main/templist[";
  824. for ( var i= 0; i < grd_templist.selectedRows; i++)
  825. {
  826. var check = model.getValue("/root/main/templist[" + grd_templist.selectedrow(i) + "]/check");
  827. /* if(check == "true") {
  828. return;
  829. }
  830. */
  831. var dschdd = model.getValue("/root/cond/orddschdd");
  832. var sInDD = model.getValue("/root/init/dschddlist[dschdd = '" + dschdd + "']/indd" );
  833. if (sInDD == "") sInDD = model.getValue("/root/temp/popup/dschddlist/indd" );
  834. var drid = model.getValue("/root/temp/templist/drid");
  835. var formcd = model.getValue("/root/temp/templist/formcd");
  836. var formrecdd = model.getValue("/root/main/condition/formrecdd");
  837. var unprepitemcd = model.getValue("/root/main/templist[" + grd_templist.selectedrow(i) + "]/unprepitemcd");
  838. var formnm = model.getValue("/root/main/itemlist[ drid = '" + drid + "' and formcd = '"+ formcd +"' and formrecdd = '"+ formrecdd +"' and unprepitemcd = '" + unprepitemcd + "']/formnm");
  839. var cdnm =model.getValue("/root/temp/templist/cdnm") ;
  840. if (cdnm == "스태프"){
  841. cdnm = "St" ;
  842. }else if(cdnm == "레지던트"){
  843. cdnm = "R" ;
  844. }else if(cdnm == "인턴"){
  845. cdnm = "I" ;
  846. }
  847. if(formnm == "" ){
  848. if( check == "false"){
  849. grd_itemlist.addRow(false);
  850. model.copyNode("/root/main/itemlist[" + grd_itemlist.row + "]" , grd_templist.getNode(grd_templist.selectedrow(i)));
  851. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/formnm", model.getValue("/root/temp/templist/formnm"));
  852. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/formcd", model.getValue("/root/temp/templist/formcd"));
  853. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/formrecdd", formrecdd );
  854. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/formrecseq",model.getValue("/root/temp/templist/formrecseq"));
  855. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/drid", model.getValue("/root/temp/templist/drid"));
  856. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/drnm", model.getValue("/root/temp/templist/drnm"));
  857. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/deptcd", model.getValue("/root/temp/templist/deptcd"));
  858. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/deptnm", model.getValue("/root/temp/templist/deptnm"));
  859. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/cdnm", cdnm);
  860. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/indd", sInDD );
  861. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/dschdd", dschdd );
  862. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/check", "true" );
  863. }
  864. }
  865. }
  866. model.refresh();
  867. }
  868. /**
  869. * @desc : 수진이력 팝업
  870. * @
  871. * @param :
  872. * @return :
  873. * @author : HIT EMR Team
  874. * @---------------------------------------------------
  875. */
  876. function fSetPatInfoParam(){
  877. var pid = model.getValue("/root/main/patinfo/pid");
  878. setParameter("SPMMR05500_pid", pid);
  879. modal("SPMMR05500", 1, 0, 0 ,"", "", "");
  880. var pid = getParameter("SPMMR05500_pid" );
  881. var cretno = getParameter("SPMMR05500_cretno" );
  882. var orddd = getParameter("SPMMR05500_orddd" );
  883. var ordtype = getParameter("SPMMR05500_ordtype" );
  884. var dschdd = getParameter("SPMMR05500_dschdd" );
  885. var hngnm = getParameter("SPMMR05500_hngnm" );
  886. if(dschdd != ""){
  887. model.makeValue("/root/temp/templist/ioflag", ordtype);
  888. model.makeValue("/root/temp/templist/cretno", cretno);
  889. model.makeValue("/root/temp/templist/orddd", orddd);
  890. model.makeValue("/root/temp/templist/dschdd", dschdd);
  891. //환자정보
  892. model.makeValue("/root/temp/patsubinfo/chosflag", ordtype);
  893. model.makeValue("/root/temp/patsubinfo/cretno", cretno);
  894. model.makeValue("/root/temp/patsubinfo/orddd", orddd);
  895. model.makeValue("/root/temp/patsubinfo/hngnm" , hngnm);
  896. model.makeValue("/root/main/patinfo/hngnm" , hngnm);
  897. //model.makeValue("/root/temp/patsubinfo/dschdd", dschdd);
  898. model.makeValue("/root/cond/chosflag", ordtype);
  899. //addComboItem("cmb_dschdd", dschdd, dschdd);
  900. model.setValue("/root/cond/orddschdd", dschdd);
  901. model.refresh();
  902. }
  903. }
  904. /**
  905. * @desc : 퇴원일자에 따른 수진정보 선택
  906. * @
  907. * @param :
  908. * @return :
  909. * @author : HIT EMR Team
  910. * @---------------------------------------------------
  911. */
  912. function fSelectDschdd(){
  913. var dschdd = model.getValue("/root/cond/orddschdd");
  914. var sInDD = model.getValue("/root/init/dschddlist[dschdd = '" + dschdd + "']/indd" );
  915. var sCretNo = model.getValue("/root/init/dschddlist[dschdd = '" + dschdd + "']/cretno" );
  916. model.makeValue("/root/temp/templist/cretno", sCretNo);
  917. model.makeValue("/root/temp/templist/orddd", sInDD);
  918. model.makeValue("/root/temp/templist/dschdd", dschdd);
  919. model.refresh();
  920. }
  921. /**
  922. * @---------------------------------------------------
  923. * @desc : 문자열 앞뒤에있는 공백 제거
  924. * @param : N/A
  925. * @return : 공백을 제거한 결과 문자열
  926. * @---------------------------------------------------
  927. */
  928. String.prototype.getTrim = function()
  929. {
  930. var startPoint = 0; // subString 하기 위한 시작 포인트
  931. var endPoint = this.length; // subString 하기 위한 끝 포인트
  932. //문자열앞에 공백문자가 들어 있는 Index 추출
  933. while( (startPoint < endPoint) && (this.charCodeAt(startPoint) == 32) )
  934. {
  935. startPoint++;
  936. }
  937. //문자열뒤에 공백문자가 들어 있는 Index 추출
  938. while( (startPoint < endPoint) && (this.charCodeAt(endPoint-1) == 32) )
  939. {
  940. endPoint--;
  941. }
  942. // 공백을 제거했으면 subString하여 결과문자열을 리턴하고 제거한 내용이 없으면 그대로 리턴
  943. return ( (startPoint > 0) || (endPoint < this.length) ) ? this.substring(startPoint, endPoint) : this;
  944. }
  945. /**
  946. * @desc : 날짜추가 팝업
  947. * @
  948. * @param :
  949. * @return :
  950. * @author : HIT EMR Team
  951. * @---------------------------------------------------
  952. */
  953. function fAddRecDD(){
  954. var sDschDD = model.getValue("/root/cond/orddschdd");
  955. var formrecdd = model.getValue("/root/main/condition/formrecdd");
  956. setParameter("SPMRI2100_Dschdd",sDschDD);
  957. setParameter("SPMRI2100_formrecdd",formrecdd);
  958. modal("SPMRI02500");
  959. var sTemp = getParameter("SPMRI02500_Date");
  960. var sDD = sTemp.split("▩");
  961. var sPath = "/root/main/templist[";
  962. //alert(sTemp + "=" + sDD.length);
  963. for(var j = 0; j < sDD.length-1 ; j++){
  964. var sDay = sDD[j];
  965. for ( var i= 0; i < grd_templist.selectedRows; i++)
  966. {
  967. var dschdd = model.getValue("/root/cond/orddschdd");
  968. var sInDD = model.getValue("/root/init/dschddlist[dschdd = '" + dschdd + "']/indd" );
  969. if (sInDD == "") sInDD = model.getValue("/root/temp/popup/dschddlist/indd" );
  970. var check = model.getValue("/root/main/templist[" + grd_templist.selectedrow(i) + "]/check");
  971. var drid = model.getValue("/root/temp/templist/drid");
  972. var formcd = model.getValue("/root/temp/templist/formcd");
  973. var formrecdd = sDay;
  974. var unprepitemcd = model.getValue("/root/main/templist[" + grd_templist.selectedrow(i) + "]/unprepitemcd");
  975. var formnm = model.getValue("/root/main/itemlist[ drid = '" + drid + "' and formcd = '"+ formcd +"' and formrecdd = '"+ formrecdd +"' and unprepitemcd = '" + unprepitemcd + "']/formnm");
  976. var cdnm =model.getValue("/root/temp/templist/cdnm") ;
  977. if (cdnm == "스태프"){
  978. cdnm = "St" ;
  979. }else if(cdnm == "레지던트"){
  980. cdnm = "R" ;
  981. }else if(cdnm == "인턴"){
  982. cdnm = "I" ;
  983. }
  984. if(formnm == "" ){
  985. if( check == "false"){
  986. grd_itemlist.addRow(false);
  987. model.copyNode("/root/main/itemlist[" + grd_itemlist.row + "]" , grd_templist.getNode(grd_templist.selectedrow(i)));
  988. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/formnm", model.getValue("/root/temp/templist/formnm"));
  989. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/formcd", model.getValue("/root/temp/templist/formcd"));
  990. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/formrecdd", formrecdd );
  991. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/formrecseq",model.getValue("/root/temp/templist/formrecseq"));
  992. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/drid", model.getValue("/root/temp/templist/drid"));
  993. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/drnm", model.getValue("/root/temp/templist/drnm"));
  994. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/deptcd", model.getValue("/root/temp/templist/deptcd"));
  995. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/deptnm", model.getValue("/root/temp/templist/deptnm"));
  996. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/cdnm", cdnm);
  997. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/indd", sInDD );
  998. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/dschdd", dschdd );
  999. model.makeValue("/root/main/itemlist[" + grd_itemlist.row + "]/check", "true" );
  1000. }
  1001. }
  1002. }
  1003. }
  1004. setParameter("SPMRI2100_Dschdd","");
  1005. model.refresh();
  1006. }