SMMMO02200.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. var gPRCPFLAG; //처방구분
  2. var gSRCHFLAG; //검색구분
  3. function fPrcpClsSrchInfo() {
  4. var iRow = trv_prcpclscdlist.mouseRow + 1;
  5. var prcpclscd = model.getValue ( "/root/main/prcpclscdlist/prcpclscdlist[" + iRow + "]/prcpclscd");
  6. var prcpclscd1 = model.getValue ( "/root/main/prcpclscdlist/prcpclscdlist[" + iRow + "]/prcpclscd1");
  7. var prcpclscd2 = model.getValue ( "/root/main/prcpclscdlist/prcpclscdlist[" + iRow + "]/prcpclscd2");
  8. var prcpclscd3 = model.getValue ( "/root/main/prcpclscdlist/prcpclscdlist[" + iRow + "]/prcpclscd3");
  9. var prcpclsnm = model.getValue ( "/root/main/prcpclscdlist/prcpclscdlist[" + iRow + "]/prcpclsnm");
  10. var lvl = model.getValue ( "/root/main/prcpclscdlist/prcpclscdlist[" + iRow + "]/lvl");
  11. iRow = trv_prcpclscdlist.mouseRow + 2;
  12. var lvl2 = model.getValue ( "/root/main/prcpclscdlist/prcpclscdlist[" + iRow + "]/lvl");
  13. if ( lvl != lvl2 && !isNull(lvl2)) {
  14. if ( lvl < lvl2 ) {
  15. trv_prcpclscdlist.expand(trv_prcpclscdlist.mouseRow, true);
  16. return false;
  17. }
  18. }
  19. var prcpdd = opener.model.getValue ( "/root/init/prcpdd");
  20. if(gPRCPFLAG == 2){ //지시처방인 경우
  21. var ordprcpflag = "genr";
  22. }else if(gPRCPFLAG == 4){ //BMT인 경우
  23. //var chkflag = "bmt" ;
  24. gPRCPFLAG = 2 ;
  25. var ordprcpflag = "bmt";
  26. }else{
  27. var ordprcpflag = ""; //지시처방이 아닌 경우, cond10은 empty처리함
  28. }
  29. var gSRCHFLAG = model.getValue("/root/send/cond1"); //검색구분(식이, 지시..)
  30. var ioflag = opener.model.getValue("/root/patflag/list/prcpgenrflag");
  31. if(ioflag == "O" || ioflag == "S"){
  32. ioflag = "O";
  33. }else{
  34. ioflag = "I";
  35. }
  36. model.resetInstanceNode( "/root/send" );
  37. model.setValue ( "/root/send/cond1" , gSRCHFLAG); //검색구분(식이, 지시..)
  38. model.setValue ( "/root/send/cond2" , ioflag ); //외래, 입원, 응급 구분
  39. model.setValue ( "/root/send/cond3" , prcpdd); //처방일
  40. model.setValue ( "/root/send/cond4" , "11"); //환자보험유형
  41. model.setValue ( "/root/send/cond5" , prcpclscd1); //분류1
  42. model.setValue ( "/root/send/cond6" , prcpclscd2); //분류2
  43. model.setValue ( "/root/send/cond7" , prcpclscd3); //분류3
  44. model.setValue ( "/root/send/cond8" , prcpclscd ); //분류: 약에서 사용한다.
  45. model.setValue ( "/root/send/cond9" , gPRCPFLAG ); //지시처방
  46. model.setValue ( "/root/send/cond10", ordprcpflag); //지시처방구분(일반:genr, BMT:bmt)
  47. model.setValue ( "/root/send/cond99","getPrcpClsSrchInfo" ); //검색구분
  48. if (submit( "TRMMO02202" )){
  49. grd_prcpsrchlist.valueMatrix ( 0, 2 ) = prcpclsnm.getTrim();
  50. if ( ordprcpflag == "bmt" ) {
  51. gPRCPFLAG = 4 ;
  52. }
  53. return true;
  54. }
  55. }
  56. function fdetlvw() {
  57. if ( grd_prcpsrchlist.visible ) {
  58. grd_prcpsrchlist.visible = false;
  59. datagrid6.visible = true;
  60. trv_prcpclscdlist.visible = true;
  61. /*
  62. if(gPRCPFLAG == 2){
  63. btn_genr.visible = true;
  64. btn_bmt.visible = true;
  65. }*/
  66. } else {
  67. grd_prcpsrchlist.visible = true;
  68. datagrid6.visible = false;
  69. trv_prcpclscdlist.visible = false;
  70. /*
  71. if(gPRCPFLAG == 2){
  72. btn_genr.visible = false;
  73. btn_bmt.visible = false;
  74. }*/
  75. }
  76. }
  77. /**
  78. * @desc : 처방검색화면에서 button 초기화 setting
  79. * @return : void
  80. * @authur : 마정민 2007. 8. 20
  81. */
  82. function fInitSrchBtnSet() {
  83. var srcNodeList = opener.model.instances(0).selectNodes( "/root/initsrch/btnsrchenvcnts" );
  84. for ( var i=1; i <= 16; i++ ) {
  85. if ( i <= srcNodeList.length) {
  86. var btncd = opener.model.getValue ( "/root/initsrch/btnsrchenvcnts[" + i + "]/btncd" );
  87. var btnnm = "button" + i;
  88. var buttonObj = document.controls(btnnm);
  89. buttonObj.text = opener.model.getValue ( "/root/initsrch/btnsrchenvcnts[" + i + "]/btnnm");
  90. buttonObj.visible = true;
  91. buttonObj.attribute("_value") = btncd;
  92. } else {
  93. var btnnm = "button" + i;
  94. var buttonObj = document.controls(btnnm);
  95. buttonObj.visible = false;
  96. }
  97. }
  98. }
  99. /**
  100. * @desc : 처방검색화면에서 버튼값 설정
  101. * @return : void
  102. * @authur : 마정민 2007. 8. 9
  103. */
  104. function fSrchBtnClick(srcnbtnnm) {
  105. if ( isNull(srcnbtnnm)){
  106. srcnbtnnm = event.target;
  107. }
  108. var buttonObj = document.controls(srcnbtnnm);
  109. var buttonValue = buttonObj.attribute("_value");
  110. //btn_genr.visible = false; // 지시처방 일반, BMT구분하는 Tab설정
  111. //btn_bmt.visible = false; //
  112. if ( buttonValue == "01") { //진단검사
  113. opener.button102.dispatch ( "DOMActivate" );
  114. } else if ( buttonValue == "02") { //지시
  115. //btn_genr.visible = true;
  116. //btn_bmt.visible = true;
  117. model.setValue( "/root/send/cond1" , "direc" );
  118. model.setValue( "/root/send/cond2" , opener.model.getValue ( "/root/init/prcpdd" ));
  119. model.setValue( "/root/send/cond10", "genr" );
  120. model.removeNodeset ( "/root/prcpsrch" );
  121. grd_prcpsrchlist.valueMatrix ( 0, 2 ) = "처방명";
  122. if(submit("TRMMO02201", false)){
  123. //var leng = model.instances(0).selectNodes ( "/root/main/prcpclscdlist/prcpclscdlist" ).length;
  124. //model.setValue( "/root/send/cond9", "2" )
  125. gPRCPFLAG = 2;
  126. trv_prcpclscdlist.rebuild();
  127. }
  128. } else if ( buttonValue == "03") { //식사
  129. model.setValue( "/root/send/cond1", "meal" );
  130. model.setValue( "/root/send/cond2", opener.model.getValue ( "/root/init/prcpdd" ));
  131. model.removeNodeset ( "/root/prcpsrch" );
  132. //var leng = model.instances(0).selectNodes ( "/root/main/prcpclscdlist/prcpclscdlist" ).length;
  133. grd_prcpsrchlist.valueMatrix ( 0, 2 ) = "처방명";
  134. if(submit("TRMMO02201", false)){
  135. //model.setValue( "/root/send/cond9", "3" );
  136. gPRCPFLAG = 3;
  137. trv_prcpclscdlist.rebuild();
  138. }
  139. } else if ( buttonValue == "04") { //BMT 20081106 지시, BMT 분리 요청
  140. //btn_genr.visible = true;
  141. //btn_bmt.visible = true;
  142. model.setValue( "/root/send/cond1" , "direc" );
  143. model.setValue( "/root/send/cond2" , opener.model.getValue ( "/root/init/prcpdd" ));
  144. model.setValue( "/root/send/cond10", "bmt" );
  145. model.removeNodeset ( "/root/prcpsrch" );
  146. grd_prcpsrchlist.valueMatrix ( 0, 2 ) = "처방명";
  147. if(submit("TRMMO02201", false)){
  148. //var leng = model.instances(0).selectNodes ( "/root/main/prcpclscdlist/prcpclscdlist" ).length;
  149. //model.setValue( "/root/send/cond9", "2" )
  150. gPRCPFLAG = 4;
  151. trv_prcpclscdlist.rebuild();
  152. }
  153. } else if (buttonValue == "05"){
  154. model.setValue("/root/send/cond1", "prcpclasscd");
  155. model.setValue( "/root/send/cond2" , opener.model.getValue ( "/root/init/prcpdd" ));
  156. grd_prcpsrchlist.valueMatrix ( 0, 2 ) = "처방명";
  157. if(submit("TRMMO02203", false)){
  158. gPRCPFLAG = 5;
  159. trv_prcpclscdlist.rebuild();
  160. }
  161. }
  162. }
  163. function fCallSrchBtn ( srcnbtnnm ) {
  164. var trgObj = document.controls(srcnbtnnm);
  165. if( trgObj.elementName == "xforms:button" ) {
  166. var buttonObj = trgObj;
  167. var buttonValue = buttonObj.attribute("_value");
  168. if( buttonValue == "01" || buttonValue == "02" || buttonValue == "03" || buttonValue == "04" || buttonValue == "05" ) {
  169. fSrchBtnClick(srcnbtnnm);
  170. } else {
  171. model.setValue( "/root/send/cond1", buttonValue );
  172. model.setValue ( "/root/send/cond2", opener.model.getValue ( "/root/init/prcpdd" ));
  173. model.removeNodeset ( "/root/prcpsrch" );
  174. grd_prcpsrchlist.valueMatrix ( 0, 2 ) = "처방명";
  175. if(submit("TRMMO02201", false)){
  176. //model.setValue( "/root/send/cond9", "1" );
  177. gPRCPFLAG = 1;
  178. }
  179. if ( buttonValue == "A" )
  180. grd_prcpsrchlist.colWidth(1) = 40;
  181. else
  182. grd_prcpsrchlist.colWidth(1) = 0;
  183. }
  184. if( buttonValue != "01" ){
  185. var leng = model.instances(0).selectNodes ( "/root/main/prcpclscdlist/prcpclscdlist" ).length;
  186. model.removeNodeset ( "/root/prcpsrch" );
  187. datagrid6.visible = true;
  188. trv_prcpclscdlist.rebuild();
  189. if ( 1< leng && leng < 34 ) {
  190. trv_prcpclscdlist.expandDepth = 3;
  191. }
  192. trv_prcpclscdlist.visible = true;
  193. }
  194. }
  195. }
  196. /**
  197. * @desc : 지시처방조회
  198. * @
  199. * @param :
  200. * @return :
  201. * @author : 오지훈
  202. * @---------------------------------------------------
  203. */
  204. function fReqOrderPrcp(clsflag){
  205. model.setValue( "/root/send/cond1" , "direc" );
  206. model.setValue( "/root/send/cond2" , opener.model.getValue ( "/root/init/prcpdd" ));
  207. model.setValue( "/root/send/cond10", clsflag );
  208. model.removeNodeset ( "/root/prcpsrch" );
  209. grd_prcpsrchlist.valueMatrix ( 0, 2 ) = "처방명";
  210. if(submit("TRMMO02201", false)){
  211. //var leng = model.instances(0).selectNodes ( "/root/main/prcpclscdlist/prcpclscdlist" ).length;
  212. //model.setValue( "/root/send/cond9", "2" );
  213. gPRCPFLAG = 2;
  214. trv_prcpclscdlist.rebuild();
  215. }
  216. }
  217. /**
  218. * @desc : 처방 분류에 따른 처방 조회
  219. * @
  220. * @param :
  221. * @return :
  222. * @author : 오지훈
  223. * @---------------------------------------------------
  224. */
  225. function fPrcpClassSrchInfo() {
  226. var indx = trv_prcpclscdlist.focusIndex
  227. var treeItem = trv_prcpclscdlist.item(trv_prcpclscdlist.focusIndex);
  228. var nItmeCnt = treeItem.haschilditem();
  229. if (nItmeCnt == -1 ) { // 최종 노드를 클릭했을때만 적용되도록 함.
  230. var prcpclscd = model.getValue("/root/main/prcpclscdlist/prcpclscdlist[" + (parseInt(indx) + 1) + "]/prcpclscd");
  231. var prcpdd = opener.model.getValue ( "/root/init/prcpdd");
  232. gPRCPFLAG = 5 ;
  233. var gSRCHFLAG = model.getValue("/root/send/cond1"); //검색구분(식이, 지시..)
  234. var ioflag = opener.model.getValue("/root/patflag/list/prcpgenrflag");
  235. if(ioflag == "O" || ioflag == "S"){
  236. ioflag = "O";
  237. }else{
  238. ioflag = "I";
  239. }
  240. model.resetInstanceNode( "/root/send" );
  241. model.setValue ( "/root/send/cond1" , gSRCHFLAG); //검색구분(식이, 지시..)
  242. model.setValue ( "/root/send/cond2" , ioflag ); //외래, 입원, 응급 구분
  243. model.setValue ( "/root/send/cond3" , prcpdd); //처방일
  244. model.setValue ( "/root/send/cond4" , "11"); //환자보험유형
  245. model.setValue ( "/root/send/cond8" , prcpclscd ); //분류: 약에서 사용한다.
  246. model.setValue ( "/root/send/cond9" , gPRCPFLAG ); //지시처방
  247. model.setValue ( "/root/send/cond99","getPrcpClassPrcpSrchInfo" ); //검색구분
  248. if (submit( "TRMMO02202" )){
  249. grd_prcpsrchlist.valueMatrix ( 0, 2 ) = "처방분류";
  250. return true;
  251. }
  252. }
  253. }