SMMMI00100.xjs 44 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  3. * System Name : KNUH2.0
  4. * Job Name : EMR
  5. * Creator :
  6. * Make Date : 2014-10-15
  7. * Description :
  8. *---------------------------------------------------------------------------------------
  9. * Modify Date Modifier Modify Description
  10. *---------------------------------------------------------------------------------------
  11. * 2014-10-15 TF->XP
  12. *
  13. *---------------------------------------------------------------------------------------
  14. ****************************************************************************************/
  15. // var sPRMSPRCPSETLIST = "/root/main/prmsprcpsetinfo/prmsprcpsetlist";
  16. // var sPRMSPRCPSETLIST_HIDDEN = "/root/hidden/prmsprcpsetinfo/prmsprcpsetlist";
  17. // var sETCPRMSPRCPSETDETLLIST = "/root/main/etcprmsprcpsetdetlinfo/etcprmsprcpsetdetllist";
  18. // var sPRMSPRCPSETLIST_TMP = "/root/hidden/etcprmsprcpsettmp/etcprmsprcpsetlist";
  19. // var sDIAGHISTINFO = "/root/hidden/diaghistinfo/diaghist";
  20. /**
  21. * @desc : 처방 TreeView변경(TAB버튼 클릭Event)
  22. * @
  23. * @param :
  24. * @return :
  25. * @---------------------------------------------------
  26. */
  27. function fChngSetTreeView(setflag){
  28. //약속SET 처방/진단/수술 TAB버튼 클릭시, Radio선택값을 default로 개인 설정, 부서선택 콤보박스 disabled
  29. caption2.attribute("visibility") = "visible";
  30. caption3.attribute("visibility") = "hidden";
  31. caption7.attribute("visibility") = "hidden";
  32. cmb_deptset.disabled = true;
  33. model.setValue("/root/main/cond/prmsflag", "P");
  34. if(setflag == "prmsdiag"){
  35. fReqSetTreeView("P", "D", "D");
  36. model.setValue("/root/main/cond/settypecd", "D");
  37. iviewer1.src="SMMMB00800_약속진단관리.xrw";
  38. model.toggle("prmscomn");
  39. }else if(setflag == "prmsprcp"){
  40. fReqSetTreeView("P", "D", "P");
  41. model.setValue("/root/main/cond/settypecd", "P");
  42. // iviewer1.src="SMMMB00200_약속처방SET관리.xrw";
  43. iviewer1.src="SPAER00804_처방SET관리.xrw";
  44. model.toggle("prmscomn");
  45. }else if(setflag == "prmsop"){
  46. fReqSetTreeView("P", "D", "O");
  47. model.setValue("/root/main/cond/settypecd", "O");
  48. iviewer1.src="SMMMB00700_약속수술관리.xrw";
  49. model.toggle("prmscomn");
  50. }else if(setflag == "protocol"){
  51. //프로토콜처방은 부서(D)만 있으며, 약속처방SET과 동일한 iviewer화면 사용한다.
  52. fReqSetTreeView("D", "D", "C");
  53. model.setValue("/root/main/cond/settypecd", "C");
  54. iviewer1.src="SMMMB00200_약속처방SET관리.xrw";
  55. model.toggle("protocol");
  56. }
  57. //SET폴더명 지운 후, treeview의 node path의 ref를 해체(TF 버그,추후 수정)
  58. model.setValue("/root/main/cond/foldernm", "");
  59. model.setValue(trv_prmsprcpsetlist.attribute("ref"), "");
  60. trv_prmsprcpsetlist.rebuild();
  61. }
  62. /**
  63. * @desc : 마우스 오른쪽 버튼 팝업창
  64. * @
  65. * @param :
  66. * @return :
  67. * @---------------------------------------------------
  68. */
  69. function fMouseRghtBtnPopup(){
  70. if(fChkValidMouseBtn() != true){return;}
  71. if(event.button == 3){
  72. if(trv_prmsprcpsetlist.isCell(event.target) && trv_prmsprcpsetlist.focusIndex > -1)
  73. window.setPopupMenu(true, "/root/hidden/menu/menu", "label", "func", false); //팝업창 셋팅
  74. }else{
  75. window.setPopupMenu(false);
  76. }
  77. }
  78. /**
  79. * @desc : 새폴더 추가
  80. * @
  81. * @param :
  82. * @return :
  83. * @---------------------------------------------------
  84. */
  85. function fAddPrmsDiagSet(){
  86. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  87. var rowPos = item.index + 1;
  88. if(fSetPrmsDiagInfo(rowPos, "i")!=-1){
  89. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/status", "i");
  90. model.refresh();
  91. fShowWndIptBox();
  92. }
  93. }
  94. /**
  95. * @desc : 폴더 삭제
  96. * @
  97. * @param :
  98. * @return :
  99. * @---------------------------------------------------
  100. */
  101. function fDelPrmsDiagSet(){
  102. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  103. var rowPos = item.index + 1;
  104. if(fSetPrmsDiagInfo(rowPos, "d")!= -1){
  105. fSavePrmsDiagSet();
  106. }
  107. iviewer1.window.javascript.fClrGridData();
  108. }
  109. /**
  110. * @desc : 폴더 수정
  111. * @
  112. * @param :
  113. * @return :
  114. * @---------------------------------------------------
  115. */
  116. function fUpdtPrmsDiagSet(){
  117. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  118. var rowPos = item.index + 1;
  119. if(fSetPrmsDiagInfo(rowPos, "u")!=-1){
  120. fShowWndIptBox();
  121. }
  122. }
  123. /**
  124. * @desc : 약속진단 SET저장
  125. * @
  126. * @param :
  127. * @return :
  128. * @---------------------------------------------------
  129. */
  130. function fSavePrmsDiagSet(){
  131. var setnm = model.getValue("/root/main/iptbox/setnm");
  132. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setnm", setnm);
  133. model.copyNode("/root/send/savedata", sPRMSPRCPSETLIST_HIDDEN);
  134. if(submit("TXMMB00601")){
  135. model.setValue(trv_prmsprcpsetlist.attribute("ref"), "");
  136. trv_prmsprcpsetlist.rebuild();
  137. }
  138. }
  139. /**
  140. * @desc : 약속진단관리 폴더명을 입력할 InputBox를 보여줌.
  141. * @
  142. * @param :
  143. * @return :
  144. * @---------------------------------------------------
  145. */
  146. function fShowWndIptBox(){
  147. group1.attribute("top") = event.clientY;
  148. group1.attribute("height") = 55;
  149. model.setFocus("ipt_setnm");
  150. model.refresh();
  151. }
  152. /**
  153. * @desc : 약속진단 SET정보 SETTING
  154. * @
  155. * @param :
  156. * @return :
  157. * @---------------------------------------------------
  158. */
  159. function fSetPrmsDiagInfo(rowpos, status){
  160. var setno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setno");
  161. var settypecd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/settypecd");
  162. if(status == "u" && setno == 1){
  163. messageBox("선택한 폴더는 수정", "E001");
  164. return -1;
  165. }else if(status == "d" && setno == 1){
  166. messageBox("선택한 폴더는 삭제", "E001");
  167. return -1;
  168. }else if(settypecd == "E"){
  169. messageBox("선택한 폴더는 사용", "E001");
  170. return -1;
  171. }
  172. var levl = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/levl");
  173. var supsetno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/supsetno");
  174. var setkindcd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setkindcd");
  175. var setclscd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setclscd");
  176. var settrgtcd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/settrgtcd");
  177. var settypecd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/settypecd");
  178. var setnm = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setnm");
  179. var sortno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/sortno");
  180. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/levl" , levl);
  181. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setno" , setno);
  182. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setkindcd", setkindcd);
  183. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setclscd" , setclscd);
  184. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/settrgtcd", settrgtcd);
  185. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/settypecd", settypecd);
  186. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/status" , status);
  187. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/setnm" , setnm);
  188. if(status == "i"){
  189. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/supsetno" , setno);
  190. }else{
  191. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/supsetno" , supsetno);
  192. }
  193. if(sortno == "")
  194. sortno = 1000;
  195. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/sortno" , sortno);
  196. model.refresh();
  197. }
  198. /**
  199. * @desc : 약속진단SET Drag
  200. * @
  201. * @param :
  202. * @return :
  203. * @---------------------------------------------------
  204. */
  205. function fPrmsDiagSetDrag(){
  206. if(fChkValidMouseBtn() != true){
  207. return;
  208. }
  209. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  210. var rowpos = item.index + 1;
  211. fSetPrmsDiagInfo(rowpos, "u");
  212. var setnm = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setnm");
  213. model.setValue("/root/main/iptbox/setnm", setnm);
  214. model.refresh();
  215. }
  216. /**
  217. * @desc : 약속진단SET Drop
  218. * @
  219. * @param :
  220. * @return :
  221. * @---------------------------------------------------
  222. */
  223. function fPrmsDiagSetDrop(){
  224. if(fChkValidMouseBtn() != true){
  225. return;
  226. }
  227. var rowpos = trv_prmsprcpsetlist.mouseRow + 1;
  228. var levl = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/levl");
  229. var setno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setno");
  230. var supsetno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/supsetno");
  231. var cmplevl = model.getValue(sPRMSPRCPSETLIST_HIDDEN + "/levl");
  232. var cmpsetno = model.getValue(sPRMSPRCPSETLIST_HIDDEN + "/setno");
  233. var cmpsupsetno = model.getValue(sPRMSPRCPSETLIST_HIDDEN + "/supsetno");
  234. if(setno == cmpsetno){
  235. //messageBox("동일한 위치로 이동", "E001");
  236. trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.mouseRow).attribute("background-color") = "#ffffff";
  237. trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.mouseRow).attribute("text-decoration") = "";
  238. return;
  239. }else if(setno == cmpsupsetno){
  240. trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.mouseRow).attribute("background-color") = "#ffffff";
  241. trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.mouseRow).attribute("text-decoration") = "";
  242. //messageBox("지정된 위치로 이동", "E001");
  243. return;
  244. }
  245. //이동하는 SET폴더의 depth가 도착하는 곳보다 낮은 레벨일 경우,
  246. //자신의 child node 아래로 이동하는 것을 방지함.
  247. if(cmplevl < levl){
  248. var rootlevl;
  249. var rootsetno;
  250. while(cmplevl != rootlevl){
  251. rootlevl = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/levl");
  252. rootsetno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setno");
  253. rowpos--;
  254. }
  255. if(rootsetno == cmpsetno){
  256. //messageBox("지정된 위치로 이동", "E001");
  257. return;
  258. }
  259. }
  260. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/supsetno" , setno);
  261. model.refresh();
  262. fSavePrmsDiagSet();
  263. }
  264. /**
  265. * @desc : 약속SET상세 조회
  266. * @
  267. * @param :
  268. * @return :
  269. * @---------------------------------------------------
  270. */
  271. function fReqPrmsDetlSet(){
  272. var item = trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.selectedIndex);
  273. var rowpos = item.index + 1;
  274. var setno = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setno");
  275. var settypecd = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/settypecd");
  276. var setnm = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setnm");
  277. iviewer1.model.setValue("/root/hidden/prmsprcpsetdetlset/setno" , setno);
  278. iviewer1.model.setValue("/root/hidden/prmsprcpsetdetlset/settypecd", settypecd);
  279. iviewer1.model.setValue("/root/hidden/prmsprcpsetdetlset/setnm", setnm);
  280. iviewer1.model.refresh();
  281. iviewer1.window.javascript.fReqGetPrmsSet();
  282. }
  283. /**
  284. * @desc : Mouse Drag Drop
  285. * @
  286. * @param :
  287. * @return : void
  288. * @authur : 오지훈 2007. 4. 24
  289. * @---------------------------------------------------
  290. */
  291. function fOndrop(){
  292. if(fChkValidMouseBtn() != true){
  293. return;
  294. }
  295. var rowpos = trv_prmsprcpsetlist.mouseRow + 1;
  296. var levl = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/levl");
  297. var setnm = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setnm");
  298. var x = event.clientX;
  299. var maxposX = 24 + 16 * (levl - 1) + ( 13 * setnm.length);
  300. var minposX = 24 + 16 * (levl - 1);
  301. if(maxposX > x){
  302. fPrmsDiagSetDrop();
  303. }else{
  304. return;
  305. }
  306. }
  307. /**
  308. * @desc : Mouse Drag Over
  309. * @
  310. * @param :
  311. * @return : void
  312. * @authur : 오지훈 2007. 4. 24
  313. * @---------------------------------------------------
  314. */
  315. function fMouseOver(){
  316. if(fChkValidMouseBtn() != true){
  317. return;
  318. }
  319. var rowpos = trv_prmsprcpsetlist.mouseRow + 1;
  320. var levl = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/levl");
  321. var setnm = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setnm");
  322. var x = event.clientX;
  323. var maxposX = 24 + 16 * (levl - 1) + ( 10 * setnm.length);
  324. var minposX = 24 + 16 * (levl - 1);
  325. if(maxposX > x){
  326. for ( var i = 0; i < trv_prmsprcpsetlist.length; i++ ) {
  327. trv_prmsprcpsetlist.item(i).attribute("background-color") = "#ffffff";
  328. trv_prmsprcpsetlist.item(i).attribute("text-decoration") = "";
  329. }
  330. trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.mouseRow).attribute("background-color") = "#ece1ec";
  331. trv_prmsprcpsetlist.item(trv_prmsprcpsetlist.mouseRow).attribute("text-decoration") = "underline";
  332. }
  333. }
  334. /****************************************************************************************
  335. * Function : fSrchFolderNM
  336. * Description : 폴더명 검색할 경우 검색한 위치로 focus를 이동한다.
  337. * Argument :
  338. * :
  339. * return type :
  340. * Creator :
  341. ****************************************************************************************/
  342. function fSrchFolderNM(){
  343. var foldernm = ds_setdata.getColumn(0,"foldernm");
  344. for(var i=0; i < ds_prmsprcpsetlist.rowcount ; i++){
  345. var setnm = ds_prmsprcpsetlist.getColumn(i,"setnm");
  346. if(setnm == foldernm){
  347. break;
  348. }
  349. }
  350. ds_prmsprcpsetlist.rowposition = i;
  351. }
  352. /**
  353. * @desc : TreeView에 Drag상태로 Mouse over된 경우 item의 background color를 clear함
  354. * @
  355. * @param :
  356. * @return : void
  357. * @authur : 오지훈 2007. 4. 24
  358. * @---------------------------------------------------
  359. */
  360. function fOnDragMouseOver(){
  361. if(fChkValidMouseBtn() != true){
  362. return;
  363. }
  364. var treeObj = document.controls.item(event.currentTarget);
  365. var rowpos = trv_prmsprcpsetlist.mouseRow + 1;
  366. var levl = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/levl");
  367. var setnm = model.getValue(sPRMSPRCPSETLIST + "[" + rowpos + "]/setnm");
  368. var x = event.clientX;
  369. var maxposX = 24 + 16 * (levl - 1) + ( 10 * setnm.length);
  370. var minposX = 24 + 16 * (levl - 1);
  371. if(maxposX > x){
  372. if( trv_prmsprcpsetlist.selectedIndex != treeObj.mouseRow ) {
  373. for ( var i = 0; i < treeObj.length; i++ ) {
  374. treeObj.item(i).attribute("background-color") = "#ffffff";
  375. }
  376. treeObj.item(treeObj.mouseRow).attribute("background-color") = "#ece1ec";
  377. }
  378. }
  379. }
  380. /**
  381. * @desc : 약속처방 SET의 처방 복사
  382. * @
  383. * @param :
  384. * @return : void
  385. * @authur : 오지훈 2007. 4. 24
  386. * @---------------------------------------------------
  387. */
  388. function fPasteCD() {
  389. if ( btn_prcp.selected ) {
  390. iviewer1.window.javascript.fPasteRow();
  391. } else if( btn_diag.selected ) {
  392. iviewer1.window.javascript.fPasteDiagCD();
  393. } else if( btn_op.selected ) {
  394. iviewer1.window.javascript.fPasteOpCD();
  395. }
  396. }
  397. /**
  398. * @desc : 마우스 버튼 클릭 유효성 검사
  399. * : 조건1 - 콤보박스 전체 선택인 경우 불가
  400. * @
  401. * @param :
  402. * @return : true / false
  403. * @authur : 오지훈 2007. 4. 24
  404. * @---------------------------------------------------
  405. */
  406. function fChkValidMouseBtn(){
  407. var prmsflag = model.getValue("/root/main/cond/prmsflag");
  408. if(prmsflag == "T")
  409. return false;
  410. else
  411. return true;
  412. }
  413. /**
  414. * @desc : Radio 값 변경 처리
  415. * @
  416. * @param :
  417. * @return : true / false
  418. * @authur : 오지훈 2007. 4. 24
  419. * @---------------------------------------------------
  420. */
  421. function fChngRadioBtnVal(){
  422. iviewer1.model.removeNodeset("/root/main/etcprmsprcpsetdetlinfo/etcprmsprcpsetdetllist");
  423. iviewer1.model.refresh();
  424. var prmsflag = model.getValue("/root/main/cond/prmsflag");
  425. var settypecd = model.getValue("/root/main/cond/settypecd");
  426. if(prmsflag == "P"){
  427. //Radio버튼 개인 선택시, 부서코드 콤보 disabled, 약속처방SET 조회
  428. cmb_deptset.disabled = true;
  429. caption2.attribute("visibility") = "visible";
  430. caption3.attribute("visibility") = "hidden";
  431. caption7.attribute("visibility") = "hidden";
  432. fReqSetTreeView("P", "D", settypecd);
  433. iviewer1.window.javascript.fSetBtnDisabled(false);
  434. }else if(prmsflag == "D"){
  435. //Radio버튼 과 선택시, 부서코드 콤보 disabled, 과별 약속처방SET 조회
  436. cmb_deptset.disabled = true;
  437. caption2.attribute("visibility") = "hidden";
  438. caption3.attribute("visibility") = "visible";
  439. caption7.attribute("visibility") = "hidden";
  440. fReqSetTreeView("D", "D", settypecd);
  441. iviewer1.window.javascript.fSetBtnDisabled(false);
  442. }else if(prmsflag == "T"){
  443. //Radio버튼 타과 선택시, 부서코드 콤보 enabled, 약속SET별 부서조회, 현재 조회된 약속SET 삭제
  444. cmb_deptset.disabled = false;
  445. caption2.attribute("visibility") = "hidden";
  446. caption3.attribute("visibility") = "hidden";
  447. caption7.attribute("visibility") = "visible";
  448. model.removeNodeset("/root/main/prmsprcpsetinfo/prmsprcpsetlist");
  449. fReqPrmsSetDept("D", "D", settypecd);
  450. model.setValue("/root/main/cond/deptsetcd", "-");
  451. iviewer1.window.javascript.fSetBtnDisabled(true);
  452. }
  453. //SET폴더명 지운 후, treeview의 node path의 ref를 해체(TF 버그,추후 수정)
  454. model.setValue("/root/main/cond/foldernm", "");
  455. model.setValue(trv_prmsprcpsetlist.attribute("ref"), "");
  456. trv_prmsprcpsetlist.rebuild();
  457. model.refresh();
  458. }
  459. /**
  460. * @desc : 부서코드 콤보 변경 처리
  461. * @
  462. * @param :
  463. * @return : true / false
  464. * @authur : 오지훈 2007. 6. 27
  465. * @---------------------------------------------------
  466. */
  467. function fChngDeptCombo(){
  468. var deptcd = model.getValue("/root/main/prmsprcp/cond/deptcd");
  469. if(deptcd != "-"){
  470. fReqSetTreeView("D", "D", "P", "D", deptcd, cmb_deptset.label);
  471. }
  472. }
  473. /**
  474. * @desc : 약속SET 처방/진단/수술/프로토콜 조회
  475. * @
  476. * @param : setkindcd - SET종류코드(개인P/부서D)
  477. * : setclscd - SET분류코드(의사D)
  478. * : settypecd - SET분류코드(처방P/진단D/수술O/프로토콜C)
  479. * : procflag - 처리구분(부서SET:D)
  480. * : deptcd - 부서코드
  481. * : deptnm - 부서명
  482. * @return :
  483. * @authur : 오지훈 2007. 6. 27
  484. * @---------------------------------------------------
  485. */
  486. function fReqSetTreeView(setkindcd, setclscd, settypecd, procflag, deptcd, deptnm){
  487. model.removeNodeset("/root/send/reqdata");
  488. model.makeValue("/root/send/reqdata/setkindcd", setkindcd); //개인, 부서
  489. model.makeValue("/root/send/reqdata/setclscd" , setclscd); //의사
  490. model.makeValue("/root/send/reqdata/settypecd", settypecd); //처방, 진단, 수술, 프로토콜
  491. model.makeValue("/root/send/reqdata/procflag" , procflag); //처리구분(부서SET 조회시 설정)
  492. model.makeValue("/root/send/reqdata/deptcd" , deptcd); //부서코드(부서SET 조회시 설정)
  493. model.makeValue("/root/send/reqdata/deptnm" , deptnm); //부서명 (부서SET 조회시 설정)
  494. submit("TRMMB00601");
  495. }
  496. /**
  497. * @desc : 약속SET 처방/진단/수술 부서 조회
  498. * : 처방/진단/수술 약속SET을 등록한 부서를 조회한다.
  499. *
  500. * @param : setkindcd - SET종류코드(개인P/부서D)
  501. * : setclscd - SET분류코드(의사D)
  502. * : settypecd - SET분류코드(처방P/진단D/수술O/프로토콜C)
  503. *
  504. * @return :
  505. * @authur : 오지훈 2007. 6. 27
  506. * @---------------------------------------------------
  507. */
  508. function fReqPrmsSetDept(setkindcd, setclscd, settypecd){
  509. model.removeNodeset("/root/send/reqdata");
  510. model.makeValue("/root/send/reqdata/setkindcd", setkindcd); //개인, 부서
  511. model.makeValue("/root/send/reqdata/setclscd" , setclscd ); //의사
  512. model.makeValue("/root/send/reqdata/settypecd", settypecd); //처방, 진단, 수술, 프로토콜
  513. submit("TRMMB00604");
  514. }
  515. /**
  516. * @desc : 타과 부서 약속SET 조회(타과Combo 선택 Event)
  517. * @
  518. * @param :
  519. * @return :
  520. * @authur : 오지훈 2007. 6. 27
  521. * @---------------------------------------------------
  522. */
  523. function fSelectDeptCmb(){
  524. var deptcd = model.getValue("/root/main/cond/deptsetcd");
  525. var settypecd = model.getValue("/root/main/cond/settypecd");
  526. fReqSetTreeView("D", "D", settypecd, "D", deptcd, cmb_deptset.label);
  527. }
  528. /****************************************************************************************
  529. * Function : fGetSytsRsltRefList
  530. * Description : 통합결과조회
  531. * Argument :
  532. * :
  533. * return type :
  534. * Creator :
  535. ****************************************************************************************/
  536. function fGetSytsRsltRefList(chkcheck, srchflag){ // "ALL","B"
  537. if(utlf_isNull(srchflag)) {
  538. if (group3.switch1.tabindex == 0) { // 그룹별
  539. srchflag = "G";
  540. } else { // 분류별
  541. srchflag = "B";
  542. }
  543. }
  544. var sSrchPid = ds_singdata.getColumn(0,"srchpid");
  545. if(utlf_isNull(sSrchPid)) {
  546. return;
  547. }
  548. var sPid = ds_patinfolist.getColumn(0,"pid");
  549. if(utlf_isNull(sPid)) {
  550. sPid = "";
  551. }
  552. if(sSrchPid != sPid) {
  553. fReqGetPatComnInfo("ds_req", sSrchPid);
  554. }
  555. if(chkcheck == "ALL") {
  556. ds_singdata.setColumn(0,"prcpdd",""); // 등록번호 조회시 전체리스트 조회를위해
  557. }
  558. group3.cmb_mdl.value = "00" //검사분류별 누적조회 초기화
  559. //과별SET 누적조회
  560. ds_setdata.setColumn(0,"deptsetcd","");
  561. if(srchflag == "B" || srchflag == "G"){ //분류별(B), 그룹별(G)
  562. group3.switch1.enableevent = false;
  563. if(srchflag == "G") {
  564. group3.switch1.tabindex = 0;
  565. } else {
  566. group3.switch1.tabindex = 1;
  567. }
  568. group3.switch1.enableevent = true;
  569. group3.grp_makedset.visible = false;
  570. group3.datagrid2.visible = false;
  571. group3.grd_subresultdetail1.visible = false;
  572. group3.grd_subresultdetail2.visible = false;
  573. fGetWideListX1(group3.switch1, group3.switch1.case1.grd_maindaily);
  574. fGetWideListY2(group3.grd_subresultdetail1, "311", group3.position.right-1);
  575. //조건 체크
  576. var check = fGetMainListCondiCheck_Case1();
  577. if(check == "0") return true;
  578. fcheckyn(chkcheck);
  579. var sAnsw005 = fGetIntefeAnsw("005");
  580. ds_singdata.setColumn(0, "answ005", sAnsw005); // 통합결과조회 검색 범위 사용자 설정
  581. ds_singdata.setColumn(0, "srchflag", srchflag);
  582. var compsrefcnts = "";
  583. var compssizecnts = "";
  584. if(srchflag == "G") {
  585. compsrefcnts = ds_gridseq01.getColumn(0, "compsrefcnts");
  586. compssizecnts = ds_gridseq01.getColumn(0, "compssizecnts");
  587. } else {
  588. compsrefcnts = ds_gridseq02.getColumn(0, "compsrefcnts");
  589. compssizecnts = ds_gridseq02.getColumn(0, "compssizecnts");
  590. }
  591. if(utlf_isNull(compsrefcnts)) compsrefcnts = "";
  592. if(utlf_isNull(compssizecnts)) compssizecnts = "";
  593. ds_singdata.setColumn(0, "compsrefcnts", compsrefcnts);
  594. ds_singdata.setColumn(0, "compssizecnts", compssizecnts);
  595. //sysf_trace(ds_singdata.saveXML());
  596. fInitGrid(); //Grid 초기화
  597. ds_maindistinctdailylist.clearData();
  598. ds_maindailylist.clearData();
  599. frmf_openLoadingBar(); //Progress Start
  600. var oParam = {};
  601. oParam.id = "TRMMI00130";
  602. oParam.service = "examcureresultrefapp.RsltRef";
  603. oParam.method = "reqGetSytsRsltRefTClsList";
  604. oParam.inds = "reqparam=ds_singdata";
  605. oParam.outds = "ds_maindistinctdailylist=maindistinctdailylist ds_maindailylist=maindailylist";
  606. oParam.async = false;
  607. tranf_submit(oParam);
  608. //일자별 전체조회일경우만 기준일자 조회
  609. if(ds_maindailylist.rowcount > 0){
  610. if(srchflag == "G") {
  611. group3.switch1.case5.combo2.index = ds_maindistinctdailylist.rowcount-1;
  612. } else {
  613. group3.switch1.case1.cmb_dailylist.index = ds_maindistinctdailylist.rowcount-1;
  614. }
  615. if(ds_maindailylist.findRow("check", "Y") > -1) { // 상세내역 조회 항목이 있으면
  616. fGetCheckedResultContinueList(srchflag);
  617. }
  618. }
  619. frmf_closeLoadingBar(); //Progress End
  620. //SET별
  621. }else if(srchflag == "S"){
  622. //SET전체항목조회 비활성화
  623. group3.grp_makedset.visible = false;
  624. group3.datagrid2.visible = true;
  625. group3.grd_subresultdetail1.visible = false;
  626. ds_setdata.setColumn(0,"setkindcd","D");
  627. //진행상태
  628. }else if(srchflag == "P"){
  629. //조건 체크
  630. var check = fGetMainListCondiCheck_Case4();
  631. if(check == "0") return true;
  632. }
  633. if(chkcheck == "A") { // lis.P 버튼 활성화
  634. group3.button52.enable = true; //20120404
  635. } else {
  636. group3.button52.enable = false; //20120404
  637. }
  638. if(chkcheck == "A" || chkcheck == "D"){
  639. fSetGridColor();
  640. }
  641. }
  642. /****************************************************************************************
  643. * Function : cf_TRMMI00130
  644. * Description : TRMMI00130 콜백함수
  645. * Argument :
  646. * :
  647. * return type :
  648. * Creator :
  649. ****************************************************************************************/
  650. function cf_TRMMI00130(sSvcId, nErrorCode, sErrorMsg) {
  651. if(nErrorCode < 0) {
  652. return;
  653. } else {
  654. ds_maindailylist.rowposition = -1;
  655. }
  656. }
  657. /****************************************************************************************
  658. * Function : aezfTrim
  659. * Description : Ascii Code의 Trim check. (ast AEZ0001.js 파일에 속해야함 추후 AST개발시 이동필요)
  660. * Argument : code1 : 대상 코드
  661. * : value : 비교 할 아스키코드
  662. * return type :
  663. * Creator :
  664. ****************************************************************************************/
  665. function aezfTrim(code1, value) {
  666. var startPoint = 0; // subString 하기 위한 시작 포인트
  667. var endPoint = code1.length; // subString 하기 위한 끝 포인트
  668. //문자열앞에 공백문자가 들어 있는 Index 추출
  669. while( (startPoint < endPoint) && (code1.charCodeAt(startPoint) == value) )
  670. {
  671. startPoint++;
  672. }
  673. //문자열뒤에 공백문자가 들어 있는 Index 추출
  674. while( (startPoint < endPoint) && (code1.charCodeAt(endPoint-1) == value) )
  675. {
  676. endPoint--;
  677. }
  678. // 공백을 제거했으면 subString하여 결과문자열을 리턴하고 제거한 내용이 없으면 그대로 리턴
  679. return ( (startPoint > 0) || (endPoint < code1.length) ) ? code1.substring(startPoint, endPoint) : code1;
  680. }
  681. /****************************************************************************************
  682. * Function : fMianSimsaResult
  683. * Description : Daily 및 Serious 결과 연속보기 상세조회 Function
  684. * Argument :
  685. * :
  686. * return type :
  687. * Creator : 20190311 kya
  688. ****************************************************************************************/
  689. function fMianSimsaResult() {
  690. //trace('aaa');
  691. var arrColInfo = [{col:"bcno" , type:"string" , size:256}
  692. ,{col:"ptno" , type:"string" , size:256}
  693. ,{col:"orddeptcd" , type:"string" , size:256}
  694. ,{col:"testcd" , type:"string" , size:256}
  695. ,{col:"testmdlcd" , type:"string" , size:256}
  696. ,{col:"lastreptdd" , type:"string" , size:256}
  697. ,{col:"examgubun" , type:"string" , size:256}
  698. ,{col:"level" , type:"string" , size:256}
  699. ,{col:"chosflag" , type:"string" , size:256}
  700. ,{col:"pid" , type:"string" , size:256}
  701. ,{col:"prcpdd" , type:"string" , size:256}
  702. ,{col:"execprcpuniqno" , type:"int" , size:256}
  703. ,{col:"orddd" , type:"string" , size:256}
  704. ,{col:"cretno" , type:"string" , size:256}
  705. ,{col:"rsltflag" , type:"string" , size:256}
  706. ,{col:"supl_data_fom_cd" , type:"string" , size:256}
  707. ,{col:"fom_ver" , type:"string" , size:256}
  708. ,{col:"status" , type:"string" , size:256}
  709. ]
  710. dsf_createDs("ds_temp_insert",arrColInfo);
  711. dsf_createDs("ds_temp_insert2",arrColInfo);
  712. dsf_createDs("ds_temp_insert3",arrColInfo);
  713. var oRowidx = null;
  714. var nRowidx = null;
  715. var oReptrslt = "";
  716. var nReptrslt = "";
  717. var rsltflag = "";
  718. for (var i = 0; i < ds_subresultdetail1.rowcount; i++) {
  719. trace('111');
  720. if (ds_subresultdetail1.getColumn(i,"check") == 'Y') {
  721. nRowidx = ds_subresultdetail1.getColumn(i,"rowidx");
  722. var examgubun = ds_maindailylist.getColumn(nRowidx,"examgubun");
  723. if ( examgubun != "진검" && examgubun != "미생물" && examgubun != "병리" && examgubun != "핵의학" ) {
  724. var nReptrslt = ds_subresultdetail1.getColumn(i,"reptrslt");
  725. if ( oRowidx <> nRowidx ) {
  726. if (nReptrslt == " [FINDING]") rsltflag = "F";
  727. if (nReptrslt == " [CONCLUSION]") rsltflag = "C";
  728. } else { //rowidx 동일
  729. if (nReptrslt == " [FINDING]") rsltflag = "F";
  730. if (rsltflag <> "F" && nReptrslt == " [CONCLUSION]") rsltflag = "C";
  731. if (rsltflag == "F" && nReptrslt == " [CONCLUSION]") rsltflag = "A";
  732. ds_temp_insert.setColumn(nRow,"rsltflag" ,rsltflag);
  733. }
  734. if ( oRowidx <> nRowidx ) {
  735. var nRow = ds_temp_insert.addRow();
  736. trace('222 :'+nRowidx+'/'+nRow);
  737. ds_temp_insert.setColumn(nRow,"rsltflag" ,rsltflag);
  738. //20190415 막음 ORA-00001: 무결성 제약 조건(EMR.UK_MMRMRECORD_03)에 위배됩니다
  739. //ds_temp_insert.setColumn(nRow,"bcno" ,ds_maindailylist.getColumn(nRowidx,"bcno"));
  740. ds_temp_insert.setColumn(nRow,"testmdlcd" ,ds_maindailylist.getColumn(nRowidx,"testmdlcd"));
  741. ds_temp_insert.setColumn(nRow,"lastreptdd" ,ds_maindailylist.getColumn(nRowidx,"lastreptdd"));
  742. ds_temp_insert.setColumn(nRow,"examgubun" ,ds_maindailylist.getColumn(nRowidx,"examgubun"));
  743. ds_temp_insert.setColumn(nRow,"level" ,ds_maindailylist.getColumn(nRowidx,"level"));
  744. ds_temp_insert.setColumn(nRow,"chosflag" ,ds_maindailylist.getColumn(nRowidx,"prcpgenrflag"));
  745. ds_temp_insert.setColumn(nRow,"pid" ,ds_maindailylist.getColumn(nRowidx,"pid"));
  746. ds_temp_insert.setColumn(nRow,"prcpdd" ,ds_maindailylist.getColumn(nRowidx,"prcpdd"));
  747. ds_temp_insert.setColumn(nRow,"execprcpuniqno" ,ds_maindailylist.getColumn(nRowidx,"execprcpuniqno"));
  748. ds_temp_insert.setColumn(nRow,"orddd" ,ds_maindailylist.getColumn(nRowidx,"orddd"));
  749. ds_temp_insert.setColumn(nRow,"cretno" ,ds_maindailylist.getColumn(nRowidx,"cretno"));
  750. ds_temp_insert.setColumn(nRow,"supl_data_fom_cd" ,"ERR001");
  751. ds_temp_insert.setColumn(nRow,"fom_ver" ,"001");
  752. ds_temp_insert.setColumn(nRow,"status" ,"i");
  753. oRowidx = nRowidx;
  754. oReptrslt = nReptrslt;
  755. }
  756. }
  757. else{
  758. var nRow = ds_temp_insert2.addRow();
  759. trace('333 :'+nRowidx+'/'+nRow);
  760. ds_temp_insert2.setColumn(nRow,"bcno" ,ds_subresultdetail1.getColumn(i,"bcno"));
  761. ds_temp_insert2.setColumn(nRow,"testcd" ,ds_subresultdetail1.getColumn(i,"prcpcd"));
  762. ds_temp_insert2.setColumn(nRow,"chosflag" ,ds_maindailylist.getColumn(nRowidx,"prcpgenrflag"));
  763. ds_temp_insert2.setColumn(nRow,"pid" ,ds_maindailylist.getColumn(nRowidx,"pid"));
  764. ds_temp_insert2.setColumn(nRow,"prcpdd" ,ds_maindailylist.getColumn(nRowidx,"prcpdd"));
  765. ds_temp_insert2.setColumn(nRow,"execprcpuniqno" ,ds_maindailylist.getColumn(nRowidx,"execprcpuniqno"));
  766. ds_temp_insert2.setColumn(nRow,"orddd" ,ds_maindailylist.getColumn(nRowidx,"orddd"));
  767. ds_temp_insert2.setColumn(nRow,"cretno" ,ds_maindailylist.getColumn(nRowidx,"cretno"));
  768. ds_temp_insert2.setColumn(nRow,"supl_data_fom_cd" ,"ERD001");
  769. ds_temp_insert2.setColumn(nRow,"fom_ver" ,"001");
  770. ds_temp_insert2.setColumn(nRow,"status" ,"i");
  771. }
  772. }
  773. }
  774. // 병리 결과자료 생성 2019.4.22일 이재오
  775. for (var i = 0; i < ds_maindailylist.rowcount; i++) {
  776. trace('777');
  777. if (ds_maindailylist.getColumn(i,"check") == 'Y') {
  778. // nRowidx = ds_maindailylist.getColumn(i,"rowidx");
  779. var examgubun = ds_maindailylist.getColumn(i,"examgubun");
  780. if ( examgubun == "병리" ) {
  781. trace('888');
  782. var nRow = ds_temp_insert3.addRow();
  783. //ds_temp_insert3.setColumn(nRow,"rsltflag" ,rsltflag);
  784. //20190415 막음 ORA-00001: 무결성 제약 조건(EMR.UK_MMRMRECORD_03)에 위배됩니다
  785. ds_temp_insert3.setColumn(nRow,"ptno" ,ds_maindailylist.getColumn(i,"ptno"));
  786. ds_temp_insert3.setColumn(nRow,"bcno" ,ds_maindailylist.getColumn(i,"ptno"));
  787. ds_temp_insert3.setColumn(nRow,"chosflag" ,ds_maindailylist.getColumn(i,"prcpgenrflag"));
  788. ds_temp_insert3.setColumn(nRow,"pid" ,ds_maindailylist.getColumn(i,"pid"));
  789. ds_temp_insert3.setColumn(nRow,"prcpdd" ,ds_maindailylist.getColumn(i,"prcpdd"));
  790. ds_temp_insert3.setColumn(nRow,"execprcpuniqno" , "0" ); //처방키 0
  791. ds_temp_insert3.setColumn(nRow,"orddeptcd" ,ds_maindailylist.getColumn(i,"orddeptcd"));
  792. ds_temp_insert3.setColumn(nRow,"supl_data_fom_cd" ,"ERP001");
  793. ds_temp_insert3.setColumn(nRow,"fom_ver" ,"001");
  794. ds_temp_insert3.setColumn(nRow,"status" ,"i");
  795. }
  796. }
  797. }
  798. trace(ds_temp_insert.saveXML());
  799. trace(ds_temp_insert2.saveXML());
  800. trace(ds_temp_insert3.saveXML());
  801. if ( ds_temp_insert2.rowcount > 0 )
  802. {
  803. var oParam = {};
  804. oParam.id = "TRAER00852_dump";
  805. oParam.service = "examcureresultrefapp.RsltRef";
  806. oParam.method = "reqExeSimsaLisList";
  807. oParam.inds = "refparam=ds_temp_insert2";
  808. oParam.outds = "ds_hidden_item=item";
  809. oParam.async = false;
  810. oParam.callback = "cf_TRAER00853";
  811. tranf_submit(oParam);
  812. }
  813. if ( ds_temp_insert.rowcount > 0 )
  814. {
  815. var oParam = {};
  816. oParam.id = "TRAER00852_dump";
  817. oParam.service = "examcureresultrefapp.RsltRef";
  818. oParam.method = "reqExeSimsaRadList";
  819. oParam.inds = "refparam=ds_temp_insert";
  820. oParam.outds = "ds_hidden_item=item";
  821. oParam.async = false;
  822. oParam.callback = "cf_TRAER00851";
  823. tranf_submit(oParam);
  824. }
  825. if ( ds_temp_insert3.rowcount > 0 )
  826. {
  827. var oParam = {};
  828. oParam.id = "TRAER00852_dump";
  829. oParam.service = "examcureresultrefapp.RsltRef";
  830. oParam.method = "reqExeSimsaPathoList";
  831. oParam.inds = "refparam=ds_temp_insert3";
  832. oParam.outds = "ds_hidden_item=item";
  833. oParam.async = false;
  834. oParam.callback = "cf_TRAER00852";
  835. tranf_submit(oParam);
  836. }
  837. /*
  838. for (var i = 0; i < ds_subresultdetail2.rowcount; i++) {
  839. //trace('111');
  840. if (ds_subresultdetail2.getColumn(i,"check") == 'Y') {
  841. var nRowidx = ds_subresultdetail2.getColumn(i,"rowidx");
  842. var examgubun = ds_maindailylist.getColumn(nRowidx,"examgubun");
  843. if ( examgubun != "진검" && examgubun != "미생물" && examgubun != "병리" && examgubun != "핵의학" ) {
  844. var nReptrslt = ds_subresultdetail2.getColumn(i,"reptrslt");
  845. if ( oRowidx <> nRowidx ) {
  846. if (nReptrslt == " [FINDING]") rsltflag = "F";
  847. if (nReptrslt == " [CONCLUSION]") rsltflag = "C";
  848. } else { //rowidx 동일
  849. if (nReptrslt == " [FINDING]") rsltflag = "F";
  850. if (rsltflag <> "F" && nReptrslt == " [CONCLUSION]") rsltflag = "C";
  851. if (rsltflag == "F" && nReptrslt == " [CONCLUSION]") rsltflag = "A";
  852. ds_temp_insert.setColumn(nRow,"rsltflag" ,rsltflag);
  853. }
  854. if ( oRowidx <> nRowidx ) {
  855. var nRow = ds_temp_insert.addRow();
  856. trace('222 :'+nRowidx+'/'+nRow);
  857. ds_temp_insert.setColumn(nRow,"rsltflag" ,rsltflag);
  858. ds_temp_insert.setColumn(nRow,"bcno" ,ds_maindailylist.getColumn(nRowidx,"bcno"));
  859. ds_temp_insert.setColumn(nRow,"testmdlcd" ,ds_maindailylist.getColumn(nRowidx,"testmdlcd"));
  860. ds_temp_insert.setColumn(nRow,"lastreptdd" ,ds_maindailylist.getColumn(nRowidx,"lastreptdd"));
  861. ds_temp_insert.setColumn(nRow,"examgubun" ,ds_maindailylist.getColumn(nRowidx,"examgubun"));
  862. ds_temp_insert.setColumn(nRow,"level" ,ds_maindailylist.getColumn(nRowidx,"level"));
  863. ds_temp_insert.setColumn(nRow,"chosflag" ,ds_maindailylist.getColumn(nRowidx,"prcpgenrflag"));
  864. ds_temp_insert.setColumn(nRow,"pid" ,ds_maindailylist.getColumn(nRowidx,"pid"));
  865. ds_temp_insert.setColumn(nRow,"prcpdd" ,ds_maindailylist.getColumn(nRowidx,"prcpdd"));
  866. ds_temp_insert.setColumn(nRow,"execprcpuniqno" ,ds_maindailylist.getColumn(nRowidx,"execprcpuniqno"));
  867. ds_temp_insert.setColumn(nRow,"orddd" ,ds_maindailylist.getColumn(nRowidx,"orddd"));
  868. ds_temp_insert.setColumn(nRow,"cretno" ,ds_maindailylist.getColumn(nRowidx,"cretno"));
  869. ds_temp_insert.setColumn(nRow,"supl_data_fom_cd" ,"ERR001");
  870. ds_temp_insert.setColumn(nRow,"fom_ver" ,"001");
  871. ds_temp_insert.setColumn(nRow,"status" ,"i");
  872. oRowidx = nRowidx;
  873. }
  874. }
  875. }
  876. }
  877. trace(ds_temp_insert.saveXML());
  878. var oParam = {};
  879. oParam.id = "TRAER00852_dump";
  880. oParam.service = "examcureresultrefapp.RsltRef";
  881. oParam.method = "reqExeSimsaRadList";
  882. oParam.inds = "refparam=ds_temp_insert";
  883. oParam.outds = "ds_hidden_item=item";
  884. oParam.async = true;
  885. oParam.callback = "cf_TRAER00852";
  886. tranf_submit(oParam);
  887. */
  888. }
  889. /****************************************************************************************
  890. * Function : fMianSimsaResult
  891. * Description : Daily 및 Serious 결과 연속보기 상세조회 Function
  892. * Argument :
  893. * :
  894. * return type :
  895. * Creator : 20190311 kya
  896. ****************************************************************************************/
  897. function lf_delSimsaResult(selectedRow) {
  898. //trace('aaa');
  899. var arrColInfo = [
  900. {col:"recno" , type:"string" , size:256}
  901. ,{col:"supl_data_fom_cd" , type:"string" , size:256}
  902. ,{col:"fom_ver" , type:"string" , size:256}
  903. ,{col:"status" , type:"string" , size:256}
  904. ]
  905. dsf_createDs("ds_temp_insert",arrColInfo);
  906. var nRow = ds_temp_insert.addRow();
  907. ds_temp_insert.setColumn(nRow,"recno" ,ds_data_userrecordlist.getColumn(selectedRow,"recno"));
  908. ds_temp_insert.setColumn(nRow,"supl_data_fom_cd",ds_data_userrecordlist.getColumn(selectedRow,"supl_data_fom_cd"));
  909. ds_temp_insert.setColumn(nRow,"fom_ver" ,ds_data_userrecordlist.getColumn(selectedRow,"fom_ver"));
  910. ds_temp_insert.setColumn(nRow,"status" ,"d");
  911. var oParam = {};
  912. oParam.id = "TRAER00852_dump";
  913. oParam.service = "examcureresultrefapp.RsltRef";
  914. oParam.method = "reqExeSimsaRadList";
  915. oParam.inds = "refparam=ds_temp_insert";
  916. oParam.outds = "ds_hidden_item=item";
  917. oParam.async = true;
  918. oParam.callback = "cf_TRAER00852";
  919. tranf_submit(oParam);
  920. }
  921. /****************************************************************************************
  922. * Function : fMianSimsaResult
  923. * Description : Daily 및 Serious 결과 연속보기 상세조회 Function
  924. * Argument :
  925. * :
  926. * return type :
  927. * Creator : 20190311 kya
  928. ****************************************************************************************/
  929. function fMianSimsaResultView() {
  930. div_hirainfo.visible = true;
  931. lf_getUserSimsaList();
  932. }
  933. /****************************************************************************************
  934. * Argument : N/A
  935. * Description : 심사평가원 기록전송 대상리스트
  936. ****************************************************************************************/
  937. function lf_getUserSimsaList(){
  938. var nPid = ds_patinfolist.getColumn(0, "pid");
  939. ds_data_userrecordlist.clearData();
  940. if( utlf_isNull(nPid) ) return;
  941. if( div_hirainfo.chk_allSrch.value == true ){
  942. nPid = "";
  943. }
  944. dsf_createDsRow("ds_cond_userrecordlist", [{col:"instcd", type:"string", size:256, val:sysf_getUserInfo("dutplceinstcd")}
  945. , {col:"rgstrid", type:"string", size:256, val:sysf_getUserInfo("userid")}
  946. , {col:"pid", type:"string", size:256, val:nPid}
  947. ]);
  948. var oParam = {};
  949. oParam.id = "TRMRI03021";
  950. oParam.service = "examcureresultrefapp.RsltRef";
  951. oParam.method = "reqGetHiraRecordList";
  952. oParam.inds = "req=ds_cond_userrecordlist";
  953. oParam.outds = "ds_data_userrecordlist=hirarecordlist";
  954. oParam.async = true;
  955. oParam.callback = "cf_TRAER00852";
  956. tranf_submit(oParam);
  957. //trace(ds_data_userrecordlist.saveXML());
  958. }
  959. /****************************************************************************************
  960. * Argument : N/A
  961. * Description : 심사평가원 사용자
  962. ****************************************************************************************/
  963. function lf_getAuthHiraYN(){
  964. var authHiraYN = "N";
  965. lf_getHardCDList("N", 10021, null, ds_auth_hira); //심사평가원자료제출시스템사용부서/사용자
  966. if( ds_auth_hira.findRowExpr("hardcdnm=='D' && hardcd=='"+sysf_getUserInfo("dutplcecd")+"'") > -1
  967. || ds_auth_hira.findRowExpr("hardcdnm=='U' && hardcd=='"+sysf_getUserInfo("userid")+"'") > -1
  968. ){
  969. authHiraYN = "Y";
  970. }
  971. return authHiraYN;
  972. }
  973. /**
  974. * @desc : 화면ID의 grid의 column 순서 조회
  975. * @
  976. * @param :
  977. * @return :
  978. * @author : 오지훈
  979. * @---------------------------------------------------
  980. */
  981. function reqOrderInfoOfCol(oInDataSet:Dataset, oOutDataSet:Dataset, scrnid, grid:Grid, compscd){
  982. oInDataSet.clearData();
  983. oInDataSet.addRow();
  984. oInDataSet.setColumn(0, "scrnid", scrnid);
  985. if (!utlf_isNull(compscd)) {
  986. oInDataSet.setColumn(0, "compscd", compscd);
  987. }
  988. var oParam = {};
  989. oParam.id = "TRMMB01103";
  990. oParam.service = "prcpbaseapp.EnvInfoMngt";
  991. oParam.method = "reqGetUserScrnEnvEstb";
  992. oParam.inds = "req=" + oInDataSet.name;
  993. oParam.outds = oOutDataSet.name + "=gridseq";
  994. oParam.async = false;
  995. tranf_submit(oParam);
  996. setOrderInfoOfCol(grid, oOutDataSet); // 컬럼 설정
  997. }
  998. /**
  999. * @desc : 컬럼 순서 정보 설정
  1000. * @
  1001. * @param : grid ID : 그리드ID
  1002. * : refdata : 그리드 ref데이터 구분자 '^'
  1003. * : sizedata : 그리드 size데이터 구분자 '^'
  1004. * @return :
  1005. * @author : 오지훈
  1006. * @---------------------------------------------------
  1007. */
  1008. var gridProperty = ["displaytype", "edittype", "tooltiptext", "tooltiptype", "mask", "expr",
  1009. "text", "combocodecol", "combodatacol", "combodataset", "align", "background", "background2", "color", "color2", "selectcolor"];
  1010. function setOrderInfoOfCol(grid:Grid, oDataSet:Dataset){
  1011. if(oDataSet.rowcount <= 0)
  1012. return;
  1013. var refdata = oDataSet.getColumn(0, "compsrefcnts");
  1014. var sizedata = oDataSet.getColumn(0, "compssizecnts");
  1015. var frozencol = oDataSet.getColumn(0, "frozencol");
  1016. if(utlf_isNull(refdata) || utlf_isNull(sizedata)) return;
  1017. var refarr = refdata.split("^");
  1018. var sizearr = sizedata.split("^");
  1019. var nFrozenCols = grid.getBindCellIndex("body", frozencol);
  1020. var oGridDataSet = eval(grid.binddataset);
  1021. grid.enableevent = false;
  1022. grid.enableredraw = false;
  1023. //try {
  1024. if(!utlf_isNull(nFrozenCols)) {
  1025. for(var i = oGridDataSet.colcount - 1; i >= 0; i--) {
  1026. if(i <= nFrozenCols)
  1027. grid.setFormatColProperty(i, "band", "body");
  1028. }
  1029. }
  1030. for(var i = 1; i < grid.getFormatColCount(); i++) {
  1031. grid.setFormatColProperty(i, "size", 0);
  1032. }
  1033. for(var i = 0; i < refarr.length; i++) {
  1034. var nCol = i;
  1035. var colText = refarr[i];
  1036. var col = grid.getBindCellIndex("body", colText);
  1037. if(col == -1) continue;
  1038. if(i != col) {
  1039. var headText = grid.getCellProperty("head", col, "text");
  1040. var bodyText = new Array();
  1041. for(var j = 0; j < gridProperty.length; j++) {
  1042. var cellval = grid.getCellProperty("body", col, gridProperty[j]);
  1043. bodyText[j] = cellval;
  1044. }
  1045. grid.deleteContentsCol(col);
  1046. nCol = grid.insertContentsCol(i);
  1047. grid.setCellProperty("head", nCol, "text", headText);
  1048. for(var j = 0; j < gridProperty.length; j++) {
  1049. if(!utlf_isNull(bodyText[j])) {
  1050. grid.setCellProperty("body", nCol, gridProperty[j], bodyText[j]);
  1051. }
  1052. }
  1053. }
  1054. grid.setFormatColProperty(nCol, "size", sizearr[i]);
  1055. grid.setFormatColProperty(nCol, "band", "body");
  1056. }
  1057. if(!utlf_isNull(nFrozenCols)) {
  1058. for(var i = 0; i < oGridDataSet.colcount; i++) {
  1059. if(i <= nFrozenCols)
  1060. grid.setFormatColProperty(i, "band", "left");
  1061. else
  1062. break;
  1063. }
  1064. }
  1065. //} finally {
  1066. grid.enableevent = true;
  1067. grid.enableredraw = true;
  1068. //}
  1069. }]]></Script>