SMMNI01000.xjs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. 주사실통계(SMMNI01000.xfm - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. */
  7. /**
  8. * @group :
  9. * @ver : 2007.08.16
  10. * @by : 신혁춘
  11. * @---------------------------------------------------
  12. * @type : function
  13. * @access : public
  14. * @desc : grd_chospat 구분 내용 삽입
  15. * @param :
  16. * @return :
  17. * @---------------------------------------------------
  18. */
  19. function fchospatstat(){
  20. for (i=0; i<9; i++){
  21. ds_grid_grd_chospat.addRow();
  22. }
  23. ds_grid_grd_chospat.setColumn(0,"flag","예방");
  24. ds_grid_grd_chospat.setColumn(1,"flag","항암");
  25. ds_grid_grd_chospat.setColumn(2,"flag","항생");
  26. ds_grid_grd_chospat.setColumn(3,"flag","일반");
  27. ds_grid_grd_chospat.setColumn(4,"flag","수액");
  28. ds_grid_grd_chospat.setColumn(5,"flag","혈액");
  29. ds_grid_grd_chospat.setColumn(6,"flag","기타");
  30. ds_grid_grd_chospat.setColumn(7,"flag","처치");
  31. ds_grid_grd_chospat.setColumn(8,"flag","총 건수");
  32. fchospatvacn();
  33. }
  34. /**
  35. * @group :
  36. * @ver : 2007.08.16
  37. * @by : 신혁춘
  38. * @---------------------------------------------------
  39. * @type : function
  40. * @access : public
  41. * @desc : grd_vacn 구분 내용 삽입
  42. * @param :
  43. * @return :
  44. * @---------------------------------------------------
  45. */
  46. function fvacnstat(yearrefday){
  47. var ds_temp = dsf_createDsRow("ds_temp"
  48. ,[{col: "yearrefday", val:yearrefday }]);
  49. var objParam = new Object();
  50. objParam.id = "TRMNI01002"
  51. objParam.service = "injroomapp.InjRoomPatMngt";
  52. objParam.method = "reqGetVacnList";
  53. objParam.inds = "refCond="+ds_temp
  54. objParam.outds ="ds_grid_data_vacnlist=vacnlist";
  55. //objParam.callback = "CBF_TRPZZ00102";
  56. //obj.async=true;
  57. tranf_submit(objParam);
  58. ds_grid_grd_vacn.clearData();
  59. for(var i=0;i<ds_grid_data_vacnlist.getRowCount();i++){
  60. var drugcd = ds_grid_data_vacnlist.getColumn(i,"drugcd");
  61. var nRow = ds_grid_grd_vacn.addRow();
  62. ds_grid_grd_vacn.setColumn(nRow,"flag",drugcd);
  63. }
  64. }
  65. /**
  66. * @group :
  67. * @ver : 2007.08.17
  68. * @by : 신혁춘
  69. * @---------------------------------------------------
  70. * @type : function
  71. * @access : public
  72. * @desc : grd_chospat, grd_vacn 통계 조회
  73. * @param :
  74. * @return :
  75. * @---------------------------------------------------
  76. */
  77. function fchospatvacn(){
  78. var switc = switch1.tabindex;
  79. var yearrefday = grp_sea.Spin00.value; //"20140101"//
  80. yearrefday = yearrefday+"0101";
  81. if (switc == "0"){
  82. fn_search_tab1(yearrefday);
  83. }
  84. if (switc == "1"){
  85. fvacnstat(yearrefday);
  86. ds_grid_data_vacn.clearData();
  87. var ds_temp = dsf_createDsRow("ds_temp"
  88. ,[{col: "yearrefday", val:yearrefday }]);
  89. tranf_submit({
  90. id: "TRMNI01003"
  91. , service: "injroomapp.InjRoomPatMngt"
  92. , method: "reqGetVacnData"
  93. , inds: "refCond="+ds_temp
  94. , outds: "ds_grid_data_vacn=vacndata"
  95. , async: false
  96. // , callback: "cbk_TRMNO05411"
  97. });
  98. for(var i=0;i<ds_grid_data_vacn.getRowCount();i++){
  99. var drugcdname = ds_grid_data_vacn.getColumn(i,"drugcdname");
  100. var drugcdseq = ds_grid_data_vacn.getColumn(i,"drugcdseq");
  101. var sorder = ds_grid_data_vacn.getColumn(i,"sorder");
  102. for(var j=0;j<ds_grid_grd_vacn.getRowCount();j++){
  103. var flag = ds_grid_grd_vacn.getColumn(j,"flag");
  104. if(flag == drugcdname){
  105. var colnm = ds_grid_grd_vacn.getColID(sorder);
  106. ds_grid_grd_vacn.setColumn(j,colnm,drugcdseq);
  107. }
  108. }
  109. }
  110. for(var k=0;k<ds_grid_grd_vacn.getRowCount();k++){
  111. var mar = ds_grid_grd_vacn.getColumn(k,"mar");
  112. var apr = ds_grid_grd_vacn.getColumn(k,"apr");
  113. var may = ds_grid_grd_vacn.getColumn(k,"may");
  114. var jun = ds_grid_grd_vacn.getColumn(k,"jun");
  115. var jul = ds_grid_grd_vacn.getColumn(k,"jul");
  116. var aug = ds_grid_grd_vacn.getColumn(k,"aug");
  117. var sep = ds_grid_grd_vacn.getColumn(k,"sep");
  118. var oct = ds_grid_grd_vacn.getColumn(k,"oct");
  119. var nov = ds_grid_grd_vacn.getColumn(k,"nov");
  120. var dec = ds_grid_grd_vacn.getColumn(k,"dec");
  121. var jan = ds_grid_grd_vacn.getColumn(k,"jan");
  122. var feb = ds_grid_grd_vacn.getColumn(k,"feb");
  123. var prioryysum = ds_grid_grd_vacn.getColumn(k,"prioryysum");
  124. if(toNumber(mar).toString() == "NaN"){
  125. ds_grid_grd_vacn.setColumn(k,"mar","0");
  126. mar=0;
  127. }
  128. if(toNumber(apr).toString() == "NaN"){
  129. ds_grid_grd_vacn.setColumn(k,"apr","0");
  130. apr =0;
  131. }
  132. if(toNumber(may).toString() == "NaN"){
  133. ds_grid_grd_vacn.setColumn(k,"may","0");
  134. may=0;
  135. }
  136. if(toNumber(jun).toString() == "NaN"){
  137. ds_grid_grd_vacn.setColumn(k,"jun","0");
  138. jun=0;
  139. }
  140. if(toNumber(jul).toString() == "NaN"){
  141. ds_grid_grd_vacn.setColumn(k,"jul","0");
  142. jul=0;
  143. }
  144. if(toNumber(aug).toString() == "NaN"){
  145. ds_grid_grd_vacn.setColumn(k,"aug","0");
  146. aug=0;
  147. }
  148. if(toNumber(sep).toString() == "NaN"){
  149. ds_grid_grd_vacn.setColumn(k,"sep","0");
  150. sep =0;
  151. }
  152. if(toNumber(oct).toString() == "NaN"){
  153. ds_grid_grd_vacn.setColumn(k,"oct","0");
  154. oct =0;
  155. }
  156. if(toNumber(nov).toString() == "NaN"){
  157. ds_grid_grd_vacn.setColumn(k,"nov","0");
  158. nov =0;
  159. }
  160. if(toNumber(dec).toString() == "NaN"){
  161. ds_grid_grd_vacn.setColumn(k,"dec","0");
  162. dec =0;
  163. }
  164. if(toNumber(jan).toString() == "NaN"){
  165. ds_grid_grd_vacn.setColumn(k,"jan","0");
  166. jan =0;
  167. }
  168. if(toNumber(feb).toString() == "NaN"){
  169. ds_grid_grd_vacn.setColumn(k,"feb","0");
  170. feb =0;
  171. }
  172. if(toNumber(prioryysum).toString() == "NaN"){
  173. ds_grid_grd_vacn.setColumn(k,"prioryysum","0");
  174. prioryysum =0;
  175. }
  176. var tot = toNumber(mar)+toNumber(apr)+toNumber(may)+toNumber(jun)+toNumber(jul)+toNumber(aug)+toNumber(sep)+toNumber(oct)+toNumber(nov)+toNumber(dec)+toNumber(jan)+toNumber(feb);
  177. var fluctuate = toNumber( toNumber(tot) - toNumber(prioryysum) )/toNumber(toNumber(prioryysum)*100);
  178. ds_grid_grd_vacn.setColumn(k,"total",tot);
  179. if(toNumber(fluctuate).toString() =="NaN" || toNumber(prioryysum) == 0){
  180. ds_grid_grd_vacn.setColumn(k,"fluctuate","-");
  181. }else{
  182. ds_grid_grd_vacn.setColumn(k,"fluctuate",fluctuate.toFixed(3)+"%");
  183. }
  184. }
  185. var sum = ds_grid_grd_vacn.getSum("mar");
  186. var apr = ds_grid_grd_vacn.getSum("apr");
  187. ds_grid_grd_vacn.setColumn(ds_grid_grd_vacn.getRowCount()-1,"mar",ds_grid_grd_vacn.getSum("mar"));
  188. ds_grid_grd_vacn.setColumn(ds_grid_grd_vacn.getRowCount()-1,"apr",ds_grid_grd_vacn.getSum("apr"));
  189. ds_grid_grd_vacn.setColumn(ds_grid_grd_vacn.getRowCount()-1,"may",ds_grid_grd_vacn.getSum("may"));
  190. ds_grid_grd_vacn.setColumn(ds_grid_grd_vacn.getRowCount()-1,"jun",ds_grid_grd_vacn.getSum("jun"));
  191. ds_grid_grd_vacn.setColumn(ds_grid_grd_vacn.getRowCount()-1,"jul",ds_grid_grd_vacn.getSum("jul"));
  192. ds_grid_grd_vacn.setColumn(ds_grid_grd_vacn.getRowCount()-1,"aug",ds_grid_grd_vacn.getSum("aug"));
  193. ds_grid_grd_vacn.setColumn(ds_grid_grd_vacn.getRowCount()-1,"sep",ds_grid_grd_vacn.getSum("sep"));
  194. ds_grid_grd_vacn.setColumn(ds_grid_grd_vacn.getRowCount()-1,"oct",ds_grid_grd_vacn.getSum("oct"));
  195. ds_grid_grd_vacn.setColumn(ds_grid_grd_vacn.getRowCount()-1,"nov",ds_grid_grd_vacn.getSum("nov"));
  196. ds_grid_grd_vacn.setColumn(ds_grid_grd_vacn.getRowCount()-1,"dec",ds_grid_grd_vacn.getSum("dec"));
  197. ds_grid_grd_vacn.setColumn(ds_grid_grd_vacn.getRowCount()-1,"jan",ds_grid_grd_vacn.getSum("jan"));
  198. ds_grid_grd_vacn.setColumn(ds_grid_grd_vacn.getRowCount()-1,"feb",ds_grid_grd_vacn.getSum("feb"));
  199. var prioryysum = ds_grid_grd_vacn.getSum("prioryysum");
  200. var total = ds_grid_grd_vacn.getSum("total");
  201. ds_grid_grd_vacn.setColumn(ds_grid_grd_vacn.getRowCount()-1,"prioryysum",prioryysum);
  202. ds_grid_grd_vacn.setColumn(ds_grid_grd_vacn.getRowCount()-1,"total",total);
  203. var fluctuate = toNumber( toNumber(total) - toNumber(prioryysum) )/toNumber(toNumber(prioryysum)*100);
  204. ds_grid_grd_vacn.setColumn(ds_grid_grd_vacn.getRowCount()-1,"fluctuate",fluctuate.toFixed(3)+"%");
  205. }
  206. }
  207. /**
  208. * @group :
  209. * @ver : 2007.08.29
  210. * @by : 신혁춘
  211. * @---------------------------------------------------
  212. * @type : function
  213. * @access : public
  214. * @desc : grd_chospat, grd_vacn 엑셀 저장
  215. * @param :
  216. * @return :
  217. * @---------------------------------------------------
  218. */
  219. function fsavexls(){
  220. if(switch1.tabindex =="0"){
  221. grdf_exportExcel(switch1.case1.grd_chospat, "내원환자현황", "내원환자현황");
  222. }else{
  223. grdf_exportExcel(switch1.case2.grd_vacn, "예방접종현황", "예방접종현황");
  224. }
  225. }
  226. /**
  227. * @group :
  228. * @ver : 2007.08.30
  229. * @by : 신혁춘
  230. * @---------------------------------------------------
  231. * @type : function
  232. * @access : public
  233. * @desc : grd_chospat, grd_vacn 출력 연동
  234. * @param :
  235. * @return :
  236. * @---------------------------------------------------
  237. */
  238. function frexpert(){
  239. var switc = switch1.tabindex;
  240. var yearrefday = grp_sea.Spin00.value;
  241. ds_print.clearData();
  242. ds_print.addRow();
  243. ds_print.setColumn(0,"yearrefday",yearrefday);
  244. ds_print.setColumn(0,"switch",switc);
  245. if(switc=="0"){
  246. var objDOM = rptf_createDOM(); // DOM 객체 설정
  247. rptf_setNodeListToDOM(objDOM, "root/send/ref",ds_print); // 데이터셋 1
  248. rptf_setNodeListToDOM(objDOM, "root/send/rexdata/chospatlist", ds_grid_grd_chospat); // 데이터셋 1
  249. var objParam = new Object();
  250. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  251. var option = "open=1;save=1;directprint=0;print=1;zoom=0;callno=0321234567;faxno=0323298384";
  252. rptf_exeReportPreview30(["RPMNI01001"],[objParam], option);
  253. }
  254. if(switc=="1"){
  255. var objDOM = rptf_createDOM(); // DOM 객체 설정
  256. rptf_setNodeListToDOM(objDOM, "root/send/ref",ds_print); // 데이터셋 1
  257. rptf_setNodeListToDOM(objDOM, "root/send/rexdata/vacnlist", ds_grid_grd_vacn); // 데이터셋 1
  258. var objParam = new Object();
  259. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  260. var option = "open=1;save=1;directprint=0;print=1;zoom=0;callno=0321234567;faxno=0323298384";
  261. rptf_exeReportPreview30(["RPMNI01002"],[objParam], option);
  262. }
  263. }
  264. /**
  265. tabindex 1번째 grid search
  266. **/
  267. function fn_search_tab1(yearrefday){
  268. var switc = switch1.tabindex;
  269. var ds_temp = dsf_createDsRow("ds_temp"
  270. ,[{col: "yearrefday", val:yearrefday }]);
  271. tranf_submit({
  272. id: "TRMNI01001"
  273. , service: "injroomapp.InjRoomPatMngt"
  274. , method: "reqGetChosData"
  275. , inds: "refCond="+ds_temp
  276. , outds: "ds_grid_data_chosdata=chosdata"
  277. , async: false
  278. // , callback: "cbk_TRMNO05411"
  279. });
  280. for(var i=0;i<ds_grid_data_chosdata.getRowCount();i++){
  281. var sorder = ds_grid_data_chosdata.getColumn(i,"sorder");
  282. var prvn = ds_grid_data_chosdata.getColumn(i,"prvn");
  283. var anticncr = ds_grid_data_chosdata.getColumn(i,"anticncr");
  284. var antibio = ds_grid_data_chosdata.getColumn(i,"antibio");
  285. var gnrl = ds_grid_data_chosdata.getColumn(i,"gnrl");
  286. var sap = ds_grid_data_chosdata.getColumn(i,"sap");
  287. var blod = ds_grid_data_chosdata.getColumn(i,"blod");
  288. var inj = ds_grid_data_chosdata.getColumn(i,"inj");
  289. var cure = ds_grid_data_chosdata.getColumn(i,"cure");
  290. var totcnt = ds_grid_data_chosdata.getColumn(i,"totcnt");
  291. var smon_info = "";
  292. if(i == 0) smon_info = "mar";
  293. if(i == 1) smon_info = "apr";
  294. if(i == 2) smon_info = "may";
  295. if(i == 3) smon_info = "jun";
  296. if(i == 4) smon_info = "jul";
  297. if(i == 5) smon_info = "aug";
  298. if(i == 6) smon_info = "sep";
  299. if(i == 7) smon_info = "oct";
  300. if(i == 8) smon_info = "nov";
  301. if(i == 9) smon_info = "dec";
  302. if(i == 10) smon_info = "jan";
  303. if(i == 11) smon_info = "feb";
  304. if(i == 12) smon_info = "prioryysum";
  305. ds_grid_grd_chospat.setColumn(0,smon_info,prvn);
  306. ds_grid_grd_chospat.setColumn(1,smon_info,anticncr);
  307. ds_grid_grd_chospat.setColumn(2,smon_info,antibio);
  308. ds_grid_grd_chospat.setColumn(3,smon_info,gnrl);
  309. ds_grid_grd_chospat.setColumn(4,smon_info,sap);
  310. ds_grid_grd_chospat.setColumn(5,smon_info,blod);
  311. ds_grid_grd_chospat.setColumn(6,smon_info,inj);
  312. ds_grid_grd_chospat.setColumn(7,smon_info,cure);
  313. ds_grid_grd_chospat.setColumn(8,smon_info,totcnt);
  314. if(i == 12) break;
  315. }
  316. var tot_prvn = ds_grid_data_chosdata.getSum("prvn",0,12);
  317. var tot_anticncr = ds_grid_data_chosdata.getSum("anticncr",0,12);
  318. var tot_antibio = ds_grid_data_chosdata.getSum("antibio",0,12);
  319. var tot_gnrl = ds_grid_data_chosdata.getSum("gnrl",0,12);
  320. var tot_sap = ds_grid_data_chosdata.getSum("sap",0,12);
  321. var tot_blod = ds_grid_data_chosdata.getSum("blod",0,12);
  322. var tot_inj = ds_grid_data_chosdata.getSum("inj",0,12);
  323. var tot_cure = ds_grid_data_chosdata.getSum("cure",0,12);
  324. var tot_totcnt = ds_grid_data_chosdata.getSum("totcnt",0,12);
  325. ds_grid_grd_chospat.setColumn(0,"total",tot_prvn);
  326. ds_grid_grd_chospat.setColumn(1,"total",tot_anticncr);
  327. ds_grid_grd_chospat.setColumn(2,"total",tot_antibio);
  328. ds_grid_grd_chospat.setColumn(3,"total",tot_gnrl);
  329. ds_grid_grd_chospat.setColumn(4,"total",tot_sap);
  330. ds_grid_grd_chospat.setColumn(5,"total",tot_blod);
  331. ds_grid_grd_chospat.setColumn(6,"total",tot_inj);
  332. ds_grid_grd_chospat.setColumn(7,"total",tot_cure);
  333. ds_grid_grd_chospat.setColumn(8,"total",tot_totcnt);
  334. for(var i=0;i<9;i++){
  335. var prioryysum = ds_grid_grd_chospat.getColumn(i,"prioryysum");
  336. var total = ds_grid_grd_chospat.getColumn(i,"total");
  337. if(toNumber(prioryysum) == 0){
  338. ds_grid_grd_chospat.setColumn(i,"fluctuate","-");
  339. }else{
  340. var fing_prvn = (toNumber(total) - toNumber(prioryysum)) / (toNumber(prioryysum) *100);
  341. ds_grid_grd_chospat.setColumn(i,"fluctuate",fing_prvn.toFixed(3)+"%");
  342. }
  343. }
  344. }
  345. ]]></Script>