SMMMO02200.xjs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[var arErrorCode = new HashArray();
  3. var gPRCPFLAG; //처방구분
  4. var gSRCHFLAG; //검색구분
  5. function fPrcpClsSrchInfo(iRow) {
  6. var lvl = ds_main_prcpclscdlist.getColumn(iRow, "lvl");
  7. var lvl2 = ds_main_prcpclscdlist.getColumn(iRow + 1, "lvl");
  8. if ( lvl != lvl2 && !utlf_isNull(lvl2)) {
  9. if ( lvl < lvl2 ) {
  10. return false;
  11. }
  12. }
  13. var prcpclscd = lf_getDsValue(ds_main_prcpclscdlist, iRow, "prcpclscd");
  14. var prcpclscd1 = lf_getDsValue(ds_main_prcpclscdlist, iRow, "prcpclscd1");
  15. var prcpclscd2 = lf_getDsValue(ds_main_prcpclscdlist, iRow, "prcpclscd2");
  16. var prcpclscd3 = lf_getDsValue(ds_main_prcpclscdlist, iRow, "prcpclscd3");
  17. var prcpclsnm = lf_getDsValue(ds_main_prcpclscdlist, iRow, "prcpclsnm");
  18. var prcpdd = oOpener.ds_init.getColumn(0, "prcpdd");
  19. if(gPRCPFLAG == 2){ //지시처방인 경우
  20. var ordprcpflag = "genr";
  21. }else if(gPRCPFLAG == 4){ //BMT인 경우
  22. //var chkflag = "bmt" ;
  23. gPRCPFLAG = 2 ;
  24. var ordprcpflag = "bmt";
  25. }else{
  26. var ordprcpflag = ""; //지시처방이 아닌 경우, cond10은 empty처리함
  27. }
  28. var gSRCHFLAG = ds_send.getColumn(0, "cond1"); //검색구분(식이, 지시..)
  29. var ioflag = oOpener.ds_patflag.getColumn(0, "prcpgenrflag");
  30. if(ioflag == "O" || ioflag == "S"){
  31. ioflag = "O";
  32. }else{
  33. ioflag = "I";
  34. }
  35. ds_send.clearData();
  36. ds_send.addRow();
  37. ds_send.setColumn(0, "cond1" , gSRCHFLAG); //검색구분(식이, 지시..)
  38. ds_send.setColumn(0, "cond2" , ioflag ); //외래, 입원, 응급 구분
  39. ds_send.setColumn(0, "cond3" , prcpdd); //처방일
  40. ds_send.setColumn(0, "cond4" , "11"); //환자보험유형
  41. ds_send.setColumn(0, "cond5" , prcpclscd1); //분류1
  42. ds_send.setColumn(0, "cond6" , prcpclscd2); //분류2
  43. ds_send.setColumn(0, "cond7" , prcpclscd3); //분류3
  44. ds_send.setColumn(0, "cond8" , prcpclscd ); //분류: 약에서 사용한다.
  45. ds_send.setColumn(0, "cond9" , gPRCPFLAG ); //지시처방
  46. ds_send.setColumn(0, "cond10", ordprcpflag); //지시처방구분(일반:genr, BMT:bmt)
  47. ds_send.setColumn(0, "cond99", "getPrcpClsSrchInfo" ); //검색구분
  48. var oParam = {};
  49. oParam.id = "TRMMO02202";
  50. oParam.service = "prcpmngtapp.PrcpMngt";
  51. oParam.method = "reqGetPrcpSrchInfo";
  52. oParam.inds = "req=ds_send";
  53. oParam.outds = "ds_prcpsrch_prcplist=prcplist";
  54. oParam.async = false;
  55. oParam.callback = "cf_TRMMO02202";
  56. tranf_submit(oParam);
  57. if (arErrorCode.pop("TRMMO02202") > -1) {
  58. grd_prcpsrchlist.setCellProperty("head", 2, "text", prcpclsnm.getTrim());
  59. if ( ordprcpflag == "bmt" ) {
  60. gPRCPFLAG = 4 ;
  61. }
  62. return true;
  63. }
  64. }
  65. function cf_TRMMO02202(sSvcId, nErrorCode, sErrorMsg) {
  66. arErrorCode.push(sSvcId, nErrorCode);
  67. if(nErrorCode > -1)
  68. dsf_setDefaultVal(ds_prcpsrch_prcplist, "prcpvol:0,prcpvolunitnm:-,prcpqty:0,prcpqtyunitnm:-,prcptims:0,prcpdayno:0,drugmthdspccdnm:-,drugmthdspccd:-,hsctdelivepos:0,hsctlnkno:0,etcprcpflag:-,drgacptflag:-");
  69. }
  70. function fdetlvw() {
  71. if ( grd_prcpsrchlist.visible ) {
  72. grd_prcpsrchlist.visible = false;
  73. datagrid6.visible = true;
  74. trv_prcpclscdlist.visible = true;
  75. trv_prcpclscdlist.setFocus();
  76. } else {
  77. grd_prcpsrchlist.visible = true;
  78. datagrid6.visible = false;
  79. trv_prcpclscdlist.visible = false;
  80. grd_prcpsrchlist.setFocus();
  81. }
  82. }
  83. /**
  84. * @desc : 처방검색화면에서 button 초기화 setting
  85. * @return : void
  86. * @authur : 마정민 2007. 8. 20
  87. */
  88. function fInitSrchBtnSet() {
  89. var ds_btnsrchenvcnts = oOpener.ds_initsrch_btnsrchenvcnts;
  90. var btn_srchcnt = 0;
  91. for ( var i = 0; i < 16; i++ ) {
  92. btn_srchcnt = i + 1;
  93. var btncd = ds_btnsrchenvcnts.getColumn(i, "btncd");
  94. var btnnm = "group1.button" + btn_srchcnt;
  95. var buttonObj = eval(btnnm);
  96. if ( i < ds_btnsrchenvcnts.rowcount ) {
  97. buttonObj.text = ds_btnsrchenvcnts.getColumn(i, "btnnm");
  98. buttonObj.visible = true;
  99. buttonObj._value = btncd;
  100. buttonObj.onclick.addHandler(fBtnClick2);
  101. } else {
  102. buttonObj.visible = false;
  103. }
  104. }
  105. }
  106. function fBtnClick2(obj:Button, e:ClickEventInfo) {
  107. var btnnm = obj.name.substring ( 6, 8 );
  108. if ( !utlf_isNull (btnnm)) {
  109. var srcnbtnnm = eval ( btnnm ) - 50;
  110. var srcnbtnnm = "button" + srcnbtnnm;
  111. if ( oOpener.div_all.Tap_prcp.tabindex == 3 ) {
  112. fCallSrchBtn(srcnbtnnm);
  113. } else {
  114. oOpener.ds_init.setColumn(0, "srchbtn", srcnbtnnm );
  115. oOpener.div_all.Tap_prcp.tabindex = 3;
  116. }
  117. }
  118. }
  119. /**
  120. * @desc : 처방검색화면에서 버튼값 설정
  121. * @return : void
  122. * @authur : 마정민 2007. 8. 9
  123. */
  124. function fSrchBtnClick(srcnbtnnm) {
  125. var buttonObj = eval("group1." + srcnbtnnm);
  126. var buttonValue = buttonObj._value;
  127. if ( buttonValue == "01") { //진단검사
  128. ds_main_prcpclscdlist.clearData();
  129. oOpener.div_all.button102.onclick.fireEvent(oOpener.div_all.button102, new ClickEventInfo());
  130. } else if ( buttonValue == "02") { //지시
  131. ds_send.clearData();
  132. ds_send.addRow();
  133. ds_send.setColumn(0, "cond1" , "direc");
  134. ds_send.setColumn(0, "cond2" , oOpener.ds_init.getColumn(0, "prcpdd"));
  135. ds_send.setColumn(0, "cond10", "genr");
  136. grd_prcpsrchlist.setCellProperty("head", 2, "text", "처방명");
  137. var oParam = {};
  138. oParam.id = "TRMMO02201";
  139. oParam.service = "prcpmngtapp.PrcpMngt";
  140. oParam.method = "reqGetPrcpClsCdList";
  141. oParam.inds = "req=ds_send";
  142. oParam.outds = "ds_main_prcpclscdlist=prcpclscdlist";
  143. oParam.async = false;
  144. oParam.callback = "cf_TRMMO02201";
  145. tranf_submit(oParam);
  146. if (arErrorCode.pop("TRMMO02201") > -1)
  147. gPRCPFLAG = 2;
  148. } else if ( buttonValue == "03") { //식사
  149. ds_send.clearData();
  150. ds_send.addRow();
  151. ds_send.setColumn(0, "cond1", "meal" );
  152. ds_send.setColumn(0, "cond2", oOpener.ds_init.getColumn(0, "prcpdd"));
  153. grd_prcpsrchlist.setCellProperty("head", 2, "text", "처방명");
  154. var oParam = {};
  155. oParam.id = "TRMMO02201";
  156. oParam.service = "prcpmngtapp.PrcpMngt";
  157. oParam.method = "reqGetPrcpClsCdList";
  158. oParam.inds = "req=ds_send";
  159. oParam.outds = "ds_main_prcpclscdlist=prcpclscdlist";
  160. oParam.async = false;
  161. oParam.callback = "cf_TRMMO02201";
  162. tranf_submit(oParam);
  163. if (arErrorCode.pop("TRMMO02201") > -1)
  164. gPRCPFLAG = 3;
  165. } else if ( buttonValue == "04") { //BMT 20081106 지시, BMT 분리 요청
  166. ds_send.clearData();
  167. ds_send.addRow();
  168. ds_send.setColumn(0, "cond1" , "direc" );
  169. ds_send.setColumn(0, "cond2" , oOpener.ds_init.getColumn(0, "prcpdd"));
  170. ds_send.setColumn(0, "cond10", "bmt" );
  171. grd_prcpsrchlist.setCellProperty("head", 2, "text", "처방명");
  172. var oParam = {};
  173. oParam.id = "TRMMO02201";
  174. oParam.service = "prcpmngtapp.PrcpMngt";
  175. oParam.method = "reqGetPrcpClsCdList";
  176. oParam.inds = "req=ds_send";
  177. oParam.outds = "ds_main_prcpclscdlist=prcpclscdlist";
  178. oParam.async = false;
  179. oParam.callback = "cf_TRMMO02201";
  180. tranf_submit(oParam);
  181. if (arErrorCode.pop("TRMMO02201") > -1)
  182. gPRCPFLAG = 4;
  183. } else if (buttonValue == "05"){
  184. ds_send.clearData();
  185. ds_send.addRow();
  186. ds_send.setColumn(0, "cond1", "prcpclasscd");
  187. ds_send.setColumn(0, "cond2" , oOpener.ds_init.getColumn(0, "prcpdd"));
  188. grd_prcpsrchlist.setCellProperty("head", 2, "text", "처방명");
  189. var oParam = {};
  190. oParam.id = "TRMMO02203";
  191. oParam.service = "prcpmngtapp.PrcpMngt";
  192. oParam.method = "reqGetPrcpClassCdList";
  193. oParam.inds = "req=ds_send";
  194. oParam.outds = "ds_main_prcpclscdlist=prcpclscdlist";
  195. oParam.async = false;
  196. oParam.callback = "cf_TRMMO02203";
  197. tranf_submit(oParam);
  198. if (arErrorCode.pop("TRMMO02203") > -1)
  199. gPRCPFLAG = 5;
  200. }
  201. }
  202. function cf_TRMMO02201(sSvcId, nErrorCode, sErrorMsg) {
  203. arErrorCode.push(sSvcId, nErrorCode);
  204. }
  205. function cf_TRMMO02203(sSvcId, nErrorCode, sErrorMsg) {
  206. arErrorCode.push(sSvcId, nErrorCode);
  207. }
  208. function fCallSrchBtn ( srcnbtnnm ) {
  209. var buttonObj = eval("group1." + srcnbtnnm);
  210. var buttonValue = buttonObj._value;
  211. stt_btnnm.text = buttonObj.text;
  212. if( buttonValue == "01" || buttonValue == "02" || buttonValue == "03" || buttonValue == "04" || buttonValue == "05" ) {
  213. fSrchBtnClick(srcnbtnnm);
  214. } else {
  215. ds_send.clearData();
  216. ds_send.addRow();
  217. ds_send.setColumn(0, "cond1", buttonValue );
  218. ds_send.setColumn(0, "cond2", oOpener.ds_init.getColumn(0, "prcpdd"));
  219. grd_prcpsrchlist.setCellProperty("head", 2, "text", "처방명");
  220. var oParam = {};
  221. oParam.id = "TRMMO02201";
  222. oParam.service = "prcpmngtapp.PrcpMngt";
  223. oParam.method = "reqGetPrcpClsCdList";
  224. oParam.inds = "req=ds_send";
  225. oParam.outds = "ds_main_prcpclscdlist=prcpclscdlist";
  226. oParam.async = false;
  227. oParam.callback = "cf_TRMMO02201";
  228. tranf_submit(oParam);
  229. if (arErrorCode.pop("TRMMO02201") > -1);
  230. gPRCPFLAG = 1;
  231. if ( buttonValue == "A" ) {
  232. grd_prcpsrchlist.setFormatColProperty(1, "size", 40);
  233. grd_prcpsrchlist.setFormatColProperty(2, "size", 322);
  234. } else {
  235. grd_prcpsrchlist.setFormatColProperty(1, "size", 0);
  236. grd_prcpsrchlist.setFormatColProperty(2, "size", 351);
  237. }
  238. }
  239. if( buttonValue != "01" ){
  240. var leng = ds_main_prcpclscdlist.rowcount;
  241. ds_prcpsrch_prcplist.clearData();
  242. datagrid6.visible = true;
  243. ds_main_prcpclscdlist.rowposition = -1;
  244. if ( 1 < leng && leng < 25 ) {
  245. // trv_prcpclscdlist.expandDepth = 3;
  246. trv_prcpclscdlist.treeinitstatus = "expand,all";
  247. } else {
  248. trv_prcpclscdlist.treeinitstatus = "collapse,all";
  249. var lvl1Cnt = ds_main_prcpclscdlist.getCaseCount("lvl == '1'");
  250. var findLvl1 = 0;
  251. for(var i = 0; i < leng; i++) {
  252. var lvl = ds_main_prcpclscdlist.getColumn(i, "lvl");
  253. if(lvl == "1") {
  254. findLvl1++;
  255. var row = trv_prcpclscdlist.getTreeRow(i);
  256. if(row > -1 && !trv_prcpclscdlist.isTreeLeafRow(row, false))
  257. trv_prcpclscdlist.setTreeStatus(row, true);
  258. if(findLvl1 == lvl1Cnt) break;
  259. }
  260. }
  261. trv_prcpclscdlist.userdata = 0;
  262. }
  263. trv_prcpclscdlist.visible = true;
  264. this.setTimer(0, 1); // 그리드 포커스 설정
  265. }
  266. }
  267. /**
  268. * @desc : 처방 분류에 따른 처방 조회
  269. * @
  270. * @param :
  271. * @return :
  272. * @author : 오지훈
  273. * @---------------------------------------------------
  274. */
  275. function fPrcpClassSrchInfo(indx) {
  276. var row = trv_prcpclscdlist.getTreeRow(indx);
  277. if (trv_prcpclscdlist.getTreeStatus(row) == 3) { // 최종 노드를 클릭했을때만 적용되도록 함.
  278. var prcpclscd = ds_main_prcpclscdlist.getColumn(indx, "prcpclscd");
  279. var prcpdd = oOpener.ds_init.getColumn(0, "prcpdd");
  280. gPRCPFLAG = 5 ;
  281. var gSRCHFLAG = ds_send.getColumn(0, "cond1"); //검색구분(식이, 지시..)
  282. var ioflag = oOpener.ds_patflag.getColumn(0, "prcpgenrflag");
  283. if(ioflag == "O" || ioflag == "S"){
  284. ioflag = "O";
  285. }else{
  286. ioflag = "I";
  287. }
  288. ds_send.clearData();
  289. ds_send.addRow();
  290. ds_send.setColumn(0, "cond1" , gSRCHFLAG); //검색구분(식이, 지시..)
  291. ds_send.setColumn(0, "cond2" , ioflag ); //외래, 입원, 응급 구분
  292. ds_send.setColumn(0, "cond3" , prcpdd); //처방일
  293. ds_send.setColumn(0, "cond4" , "11"); //환자보험유형
  294. ds_send.setColumn(0, "cond8" , prcpclscd ); //분류: 약에서 사용한다.
  295. ds_send.setColumn(0, "cond9" , gPRCPFLAG ); //지시처방
  296. ds_send.setColumn(0, "cond99", "getPrcpClassPrcpSrchInfo" ); //검색구분
  297. var oParam = {};
  298. oParam.id = "TRMMO02202";
  299. oParam.service = "prcpmngtapp.PrcpMngt";
  300. oParam.method = "reqGetPrcpSrchInfo";
  301. oParam.inds = "req=ds_send";
  302. oParam.outds = "ds_prcpsrch_prcplist=prcplist";
  303. oParam.async = false;
  304. oParam.callback = "cf_TRMMO02202";
  305. tranf_submit(oParam);
  306. if (arErrorCode.pop("TRMMO02202") > -1) {
  307. grd_prcpsrchlist.setCellProperty("head", 2, "text", "처방분류");
  308. return true;
  309. }
  310. }
  311. }]]></Script>