SMMQP00100_CP지표.xrw 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>CP지표</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <cpgidxinfo/>
  11. <cond>
  12. <orddeptcd/>
  13. <medispclid/>
  14. <fromdd/>
  15. <todd/>
  16. <dateflag/>
  17. <cpgno/>
  18. <typeflag/>
  19. <yyyy/>
  20. <wardcd/>
  21. <menuflag/>
  22. <menunm/>
  23. <sumcondflag>D</sumcondflag>
  24. </cond>
  25. <search_cond>
  26. <cpgflagcd>D</cpgflagcd>
  27. <cpgorddeptcd/>
  28. <cpgnm/>
  29. <getflag/>
  30. <no/>
  31. <seq/>
  32. <authflag/>
  33. </search_cond>
  34. <tChartinfo>
  35. <dropChart>
  36. <valunm/>
  37. <jan/>
  38. <feb/>
  39. <mar/>
  40. <apr/>
  41. <may/>
  42. <jun/>
  43. <jul/>
  44. <oug/>
  45. <sep/>
  46. <oct/>
  47. <nob/>
  48. <de/>
  49. </dropChart>
  50. </tChartinfo>
  51. </main>
  52. <send>
  53. <reqdata/>
  54. </send>
  55. <hidden>
  56. </hidden>
  57. <init>
  58. <initdate>
  59. <today/>
  60. </initdate>
  61. <warddeptlist>
  62. </warddeptlist>
  63. <deptlist>
  64. </deptlist>
  65. <userlist>
  66. <usercombo>
  67. <usernm/>
  68. <userid/>
  69. </usercombo>
  70. </userlist>
  71. <M0335list>
  72. </M0335list>
  73. <baseinfo>
  74. <statlst/>
  75. <cpflaglst/>
  76. <srhstat/>
  77. </baseinfo>
  78. <cpglist>
  79. <cpginfo/>
  80. </cpglist>
  81. </init>
  82. <temp>
  83. <cpcpgapppatinfo/>
  84. </temp>
  85. </root>
  86. </instance>
  87. <submission id="TRZSD00109" mediatype="application/x-www-form-urlencoded" method="post"/>
  88. <submission id="TRZSU10105" mediatype="application/x-www-form-urlencoded" method="post"/>
  89. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
  90. <submission id="TRMMB04102" mediatype="application/x-www-form-urlencoded" method="post"/>
  91. <script type="javascript" ev:event="xforms-ready">
  92. <![CDATA[
  93. var cur_day = getCurrentDate();
  94. var idate = new Date();
  95. var peveDate = idate.getAddDate(-1, "M");
  96. var cur_year = cur_day.substr(0,4);
  97. model.setValue("/root/main/cond/fromdd", peveDate.getDateFormat());
  98. model.setValue("/root/main/cond/todd" , cur_day );
  99. model.setValue(cmb_datefg.attribute("ref") , "I");
  100. model.setValue("/root/main/cond/yyyy", cur_year); // 현재 년도 셋팅
  101. model.setValue("/root/main/cond/typeflag", "1");
  102. fInitialize();
  103. fGetCPGInfo();
  104. fGrdinit() ;
  105. group1.visible=false;
  106. model.refresh();
  107. ]]>
  108. </script>
  109. <submission id="TRMMP01201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/init/cpglist"/>
  110. <submission id="TRMQP00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" replace="instance" resultref="/root/main/cpgidxlist"/>
  111. <submission id="TRMQP00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/cpgidxinfo"/>
  112. </model>
  113. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  114. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  115. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  116. <script type="javascript" src="../../../com/commonweb/js/tchartHelper.js"/>
  117. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  118. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  119. <script type="javascript" src="../../../com/userdeptinfoweb/js/ZSU001.js"/>
  120. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  121. <script type="javascript" src="../../../com/commonweb/js/tchartHelper.js"/>
  122. <script type="javascript">
  123. <![CDATA[
  124. function fInitialize() {
  125. // 진료과 정보를 가지고 온다.
  126. var instcd = getUserInfo("dutplceinstcd");
  127. var standard_yn = "orduseyn";
  128. var ord_deptflag = 'D';
  129. var rslt_ref = "/root/init/deptlist";
  130. var sort_field = "depthngnm";
  131. var sort_method = "asc";
  132. zbcfGetDeptCodeList(instcd, standard_yn, ord_deptflag, rslt_ref, sort_method);
  133. addComboInstance("/root/init/deptlist", "deptcd^depthngnm", "0000000000^선택안함", "dept"); //의사콤보 전체항목 추가
  134. addComboItem("cmb_orddept","","","above");
  135. zbcfGetDeptCodeList(instcd, "orduseyn", "W", "/root/init/warddeptlist", "deptcd", "asc"); //병동
  136. addComboInstance("/root/init/warddeptlist", "deptcd^depthngnm", "0^선택안함", "dept"); //의사콤보 전체항목 추가
  137. addComboItem("cmb_ward","","","above");
  138. //담당교수 정보를 가지고 온다.
  139. //zsufGetUserInfoCombo(getUserInfo("dutplcecd"), "/root/init/userlist", "_D"); //의사(담당교수) 콤보조회
  140. mmbfGetUserComboList("/root/send/reqdata" , "/root/init/userlist" , getUserInfo("dutplcecd"), "0330");
  141. model.makeNode("/root/init/userlist/usercombo");
  142. //zsufGetUserInfoCombo(cmb_orddept.value, "/root/init/userlist", "_D"); //부서콤보 해당 의사콤보 조회
  143. addComboInstance("/root/init/userlist", "userid^usernm", "000000^선택안함", "usercombo"); //의사콤보 선택안함항목 추가
  144. addComboInstance("/root/init/userlist", "userid^usernm", "-^전체", "usercombo"); //의사콤보 전체항목 추가
  145. model.setValue("/root/main/cond/medispclid", "-");
  146. model.refresh();
  147. }
  148. // CP 명을 가지고 온다. (TRMMP01201)
  149. function fGetCPGInfo(){
  150. var getFlag = model.getValue("/root/main/search_cond/getflag");
  151. model.removeNodeset("/root/send/reqdata");
  152. model.makeNode("/root/send/reqdata");
  153. model.copyNode("/root/send/reqdata", "/root/main/search_cond");
  154. model.makeValue("/root/send/reqdata/cpgorddeptcd", cmb_orddept.value);
  155. model.makeValue("/root/send/reqdata/getflag", "S");
  156. var srch_str = model.getValue("/root/main/search_cond/cpgnm");
  157. if(srch_str.charCodeAt(0) >= 97){
  158. srch_str = "'%" + srch_str.toUpperCase() + "%'";
  159. } else {
  160. srch_str = "'%" + srch_str + "%'";
  161. }
  162. //var str = srch_str.setReplaceWord(" ", "%' AND UCase(CINF.cpgnm) like '%");
  163. model.setValue("/root/send/reqdata/cpgnm", srch_str);
  164. //model.makeValue("/root/send/reqdata/authdept", dutPlceCd); //추가
  165. submit("TRMMP01201", true);
  166. model.setValue("/root/main/search_cond/getflag", "");
  167. model.setValue("/root/main/search_cond/no", "");
  168. addComboInstance("/root/init/cpglist", "cpgno^cpgnm", "000000^선택안함", "cpginfo"); //CP명 선택안함항목 추가
  169. addComboItem("cmb_cpglst","","","above");
  170. cmb_cpglst.select(0);
  171. }
  172. function fGrdinit() {
  173. var dropflag = model.getValue("/root/main/cond/dropresn");
  174. if (dropflag == 'true') {
  175. model.toggle("case2");
  176. model.removeNodeset("/root/main/cpgidxinfo/cpgidxinfolist");
  177. model.refresh();
  178. } else {
  179. model.toggle("case1");
  180. model.removeNodeset("/root/main/cpgidxinfo/cpgidxinfolist");
  181. model.refresh();
  182. }
  183. }
  184. // 지표메인 클릭
  185. function fCpMain() {
  186. //fChkFixedCols() ;
  187. var fixedCol = grd_cpgidxlist.fixedCols;
  188. grd_cpgidxlist.caption ="진료과^교수명^병동^CP명^CP사용 분석^CP사용 분석^CP사용 분석^CP완료 분석^CP완료 분석^CP완료 분석^CP Drop분석^CP Drop분석^CP Drop분석^병동코드^주치의ID^병동코드^CP코드|진료과^교수명^병동^CP명^CP 대상건수^CP 적용건수^CP사용률^CP 적용건수^CP 완료건수^CP 완료율^CP 적용건수^CP Drop건수^CP Drop률^병동코드^주치의ID^병동코드^CP코드"
  189. grd_cpgidxlist.colHidden(fixedCol) = false;
  190. grd_cpgidxlist.colHidden(fixedCol+1) = false;
  191. grd_cpgidxlist.colHidden(fixedCol+2) = false;
  192. grd_cpgidxlist.colHidden(fixedCol+3) = false;
  193. grd_cpgidxlist.colHidden(fixedCol+4) = false;
  194. grd_cpgidxlist.colHidden(fixedCol+5) = false;
  195. grd_cpgidxlist.colHidden(fixedCol+6) = false;
  196. grd_cpgidxlist.colHidden(fixedCol+7) = false;
  197. grd_cpgidxlist.colHidden(fixedCol+8) = false;
  198. }
  199. //CP 사용분석 버튼 클릭
  200. function fCpUseAnalysis() {
  201. //fChkFixedCols();
  202. var fixedCol = grd_cpgidxlist.fixedCols;
  203. grd_cpgidxlist.caption ="진료과^교수명^병동^CP명^CP사용 분석^CP사용 분석^CP사용 분석^CP완료 분석^CP완료 분석^CP완료 분석^CP Drop분석^CP Drop분석^CP Drop분석^병동코드^주치의ID^병동코드^CP코드|진료과^교수명^병동^CP명^CP 대상건수^CP 적용건수^CP사용률^CP 적용건수^CP 완료건수^CP 완료율^CP 적용건수^CP Drop건수^CP Drop률^병동코드^주치의ID^병동코드^CP코드"
  204. grd_cpgidxlist.colHidden(fixedCol) = false;
  205. grd_cpgidxlist.colHidden(fixedCol+1) = false;
  206. grd_cpgidxlist.colHidden(fixedCol+2) = false;
  207. grd_cpgidxlist.colHidden(fixedCol+3) = true;
  208. grd_cpgidxlist.colHidden(fixedCol+4) = true;
  209. grd_cpgidxlist.colHidden(fixedCol+5) = true;
  210. grd_cpgidxlist.colHidden(fixedCol+6) = true;
  211. grd_cpgidxlist.colHidden(fixedCol+7) = true;
  212. grd_cpgidxlist.colHidden(fixedCol+8) = true;
  213. }
  214. //CP 완료분석 버튼 클릭
  215. function fCpEndAnalysis() {
  216. //fChkFixedCols() ;
  217. var fixedCol = grd_cpgidxlist.fixedCols;
  218. grd_cpgidxlist.caption ="진료과^교수명^병동^CP명^CP사용 분석^CP사용 분석^CP사용 분석^CP완료 분석^CP완료 분석^CP완료 분석^CP Drop분석^CP Drop분석^CP Drop분석^병동코드^주치의ID^병동코드^CP코드|진료과^교수명^병동^CP명^CP 대상건수^CP 적용건수^CP사용률^CP 적용건수^CP 완료건수^CP 완료율^CP 적용건수^CP Drop건수^CP Drop률^병동코드^주치의ID^병동코드^CP코드"
  219. grd_cpgidxlist.colHidden(fixedCol) = true;
  220. grd_cpgidxlist.colHidden(fixedCol+1) = true;
  221. grd_cpgidxlist.colHidden(fixedCol+2) = true;
  222. grd_cpgidxlist.colHidden(fixedCol+3) = false;
  223. grd_cpgidxlist.colHidden(fixedCol+4) = false;
  224. grd_cpgidxlist.colHidden(fixedCol+5) = false;
  225. grd_cpgidxlist.colHidden(fixedCol+6) = true;
  226. grd_cpgidxlist.colHidden(fixedCol+7) = true;
  227. grd_cpgidxlist.colHidden(fixedCol+8) = true;
  228. }
  229. //CP Drop분석 버튼 클릭
  230. function fCpDropAnalysis() {
  231. //fChkFixedCols() ;
  232. var fixedCol = grd_cpgidxlist.fixedCols;
  233. grd_cpgidxlist.caption ="진료과^교수명^병동^CP명^CP사용 분석^CP사용 분석^CP사용 분석^CP완료 분석^CP완료 분석^CP완료 분석^CP Drop분석^CP Drop분석^CP Drop분석^병동코드^주치의ID^병동코드^CP코드|진료과^교수명^병동^CP명^CP 대상건수^CP 적용건수^CP사용률^CP 적용건수^CP 완료건수^CP 완료율^CP 적용건수^CP Drop건수^CP Drop률^병동코드^주치의ID^병동코드^CP코드"
  234. grd_cpgidxlist.colHidden(fixedCol) = true;
  235. grd_cpgidxlist.colHidden(fixedCol+1) = true;
  236. grd_cpgidxlist.colHidden(fixedCol+2) = true;
  237. grd_cpgidxlist.colHidden(fixedCol+3) = true;
  238. grd_cpgidxlist.colHidden(fixedCol+4) = true;
  239. grd_cpgidxlist.colHidden(fixedCol+5) = true;
  240. grd_cpgidxlist.colHidden(fixedCol+6) = false;
  241. grd_cpgidxlist.colHidden(fixedCol+7) = false;
  242. grd_cpgidxlist.colHidden(fixedCol+8) = false;
  243. }
  244. // Case1 그리드의 fixedCols의 값을 변경한다.
  245. function fChkFixedCols() {
  246. var fixedCol = grd_cpgidxlist.fixedCols;
  247. cmborddeptcd = model.getValue("/root/main/cond/orddeptcd");
  248. cmbmedispclid = model.getValue("/root/main/cond/medispclid");
  249. cmbcpgno = model.getValue("/root/main/cond/cpgno");
  250. cmbwardcd = model.getValue("root/main/cond/wardcd");
  251. if (cmborddeptcd == '0000000000') {
  252. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("orddeptnm")) = true;
  253. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("orddeptcd")) = true;
  254. } else {
  255. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("orddeptnm")) = false;
  256. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("orddeptcd")) = false;
  257. }
  258. if (cmbmedispclid == '000000') {
  259. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("medispclid")) = true;
  260. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("medispclnm")) = true;
  261. } else {
  262. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("medispclid")) = false;
  263. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("medispclnm")) = false;
  264. }
  265. if (cmbcpgno == '000000') {
  266. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("cpgnm")) = true;
  267. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("cpgno")) = true;
  268. } else {
  269. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("cpgnm")) = false;
  270. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("cpgno")) = false;
  271. }
  272. if (cmbwardcd == '0') {
  273. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("wardcdnm")) = true;
  274. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("wardcd")) = true;
  275. } else {
  276. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("wardcdnm")) = false;
  277. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("wardcd")) = false;
  278. }
  279. }
  280. // Case 2 그리드의 fixedCols의 값을 변경한다.
  281. function fChkFixedCols2() {
  282. var fixedCol = grd_cpgidxlist2.fixedCols;
  283. cmborddeptcd = model.getValue("/root/main/cond/orddeptcd");
  284. cmbmedispclid = model.getValue("/root/main/cond/medispclid");
  285. cmbcpgno = model.getValue("/root/main/cond/cpgno");
  286. cmbwardcd = model.getValue("root/main/cond/wardcd");
  287. var yyyy = model.getValue("/root/main/cond/yyyy");
  288. grd_cpgidxlist2.caption ="진료과^주치의^병동^CP명^사유^"+ yyyy + '^'+ yyyy + '^'+ yyyy + '^'+ yyyy + '^'+ yyyy + '^'+ yyyy + '^'+ yyyy + '^'+ yyyy + '^'+ yyyy + '^'+ yyyy + '^'+ yyyy + '^'+ yyyy + "|진료과^주치의^병동^CP명^사유^1월^2월^3월^4월^5월^6월^7월^8월^9월^10월^11월^12월"
  289. if (cmborddeptcd == '0000000000') {
  290. grd_cpgidxlist2.colHidden(grd_cpgidxlist2.colRef("orddeptnm")) = true;
  291. } else {
  292. grd_cpgidxlist2.colHidden(grd_cpgidxlist2.colRef("orddeptnm")) = false;
  293. }
  294. if (cmbmedispclid == '000000') {
  295. grd_cpgidxlist2.colHidden(grd_cpgidxlist2.colRef("medispclid")) = true;
  296. } else {
  297. grd_cpgidxlist2.colHidden(grd_cpgidxlist2.colRef("medispclid")) = false;
  298. }
  299. if (cmbcpgno == '000000') {
  300. grd_cpgidxlist2.colHidden(grd_cpgidxlist2.colRef("cpgnm")) = true;
  301. } else {
  302. grd_cpgidxlist2.colHidden(grd_cpgidxlist2.colRef("cpgnm")) = false;
  303. }
  304. if (cmbwardcd == '0') {
  305. grd_cpgidxlist2.colHidden(grd_cpgidxlist2.colRef("wardcdnm")) = true;
  306. } else {
  307. grd_cpgidxlist2.colHidden(grd_cpgidxlist2.colRef("wardcdnm")) = false;
  308. }
  309. }
  310. function fChkDateflag() {
  311. var cmbwardcd = model.getValue("root/main/cond/wardcd");
  312. var dateflag = model.getValue("/root/main/cond/dateflag");
  313. if (cmbwardcd != '0') {
  314. if (dateflag == "O") {
  315. grd_cpgidxlist2.colHidden(grd_cpgidxlist2.colRef("wardcdnm")) = true;
  316. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("wardcdnm")) = true;
  317. } else {
  318. grd_cpgidxlist2.colHidden(grd_cpgidxlist2.colRef("wardcdnm")) = false;
  319. grd_cpgidxlist.colHidden(grd_cpgidxlist.colRef("wardcdnm")) = false;
  320. }
  321. }
  322. }
  323. // typeflag 의 값에 따라서 조회조건의 기간 구분을 연도와 fromdd와 todd로 변경해준다.
  324. // 조회시에도 사용한다.
  325. function fChkTypeFlag() {
  326. var typeflag = model.getValue("/root/main/cond/typeflag");
  327. if (typeflag == 1) {
  328. ipt_yyyy.visible = false;
  329. ipt_fromdd.visible = true;
  330. ipt_todd.visible = true;
  331. caption12.visible = true;
  332. btn_pre.visible = false;
  333. btn_next.visible = false;
  334. } else {
  335. ipt_yyyy.visible = true;
  336. ipt_fromdd.visible = false;
  337. ipt_todd.visible = false;
  338. caption12.visible = false;
  339. btn_pre.visible = true;
  340. btn_next.visible = true;
  341. }
  342. }
  343. // 한개의 라인을 그리기 위해서 사용
  344. function fdrawLine(tChartObj, gridObj, col, title, refresh) {
  345. // TChart 초기화
  346. if( refresh ) {
  347. clearTChart(tChartObj);
  348. }
  349. if( title != null || title != "" ) {
  350. tChartObj.Header.Text(0) = title; // Title 설정
  351. }
  352. tChartObj.Aspect.View3D = 0; // 모양 설정 :: 0 = 2D | 1 = 3D
  353. tChartObj.Legend.CheckBoxes = true;
  354. tChartObj.Legend.Alignment = 0; // Legend 위치 설정 :: 0 = left | 1 = right | 2 = top| 3 = bottom
  355. var Rnd1, Rnd2, Rnd3;
  356. var cColor;
  357. var i;
  358. var x, y;
  359. tChartObj.AddSeries(0); // TChart Type 설정 :: 0 = Line | 1 = Bar ..
  360. var seriesIndex = tChartObj.SeriesCount - 1;
  361. var trgCol = col;
  362. tChartObj.Series(seriesIndex).asLine.Pointer.Visible = true;
  363. tChartObj.Series(seriesIndex).asLine.Pointer.Style = 1; //PointStyle 설정 :: 0 - 8
  364. tChartObj.Series(seriesIndex).Title = gridObj.valueMatrix(0, trgCol);
  365. //tChartObj.Series(cline - 2).Marks.Style = 0;
  366. Rnd1 = Math.random();
  367. Rnd2 = Math.random();
  368. Rnd3 = Math.random();
  369. cColor = window.rgb( (255 - 1) * Rnd1 + 1, (255 - 1) * Rnd2 + 1 , (255 - 1) * Rnd3 + 1);
  370. for( i = 0; i < gridObj.rows - gridObj.fixedRows; i++ ){
  371. x = gridObj.valueMatrix(i+gridObj.fixedRows, 0);
  372. y = gridObj.valueMatrix(i+gridObj.fixedRows, trgCol);
  373. tChartObj.Series(seriesIndex).Add (y, x, tChartObj.Series(seriesIndex).Color);
  374. tChartObj.Series(seriesIndex).LegendItemColor(cColor);
  375. }
  376. }
  377. function fdrawLineAll(tChartObj, gridObj, title) {
  378. for( var i = gridObj.fixedCols; i < gridObj.cols; i ++)
  379. fdrawLine(tChartObj, gridObj, i, title, false);
  380. }
  381. //CP 지표 메인
  382. function fMainChart() {
  383. clearTChart(TChart1);
  384. var cols = new Array();
  385. cols[0] = grd_cpgidxlist.colRef("userate");
  386. cols[1] = grd_cpgidxlist.colRef("endrate");
  387. cols[2] = grd_cpgidxlist.colRef("droprate");
  388. var rows = new Array();
  389. for (var i=0 ; i < grd_cpgidxlist.rows - grd_cpgidxlist.fixedRows ; i++) {
  390. rows[i] = i + grd_cpgidxlist.fixedRows;
  391. }
  392. drawSelectBar(TChart1, grd_cpgidxlist, "데이터", rows, cols, true, false, "row");
  393. }
  394. //CP 사용분석
  395. function fUseChart() {
  396. clearTChart(TChart1);
  397. var cols = new Array();
  398. cols[0] = grd_cpgidxlist.colRef("cppasscnt");
  399. cols[1] = grd_cpgidxlist.colRef("cpappcnt");
  400. var rows = new Array();
  401. for (var i=0 ; i < grd_cpgidxlist.rows - grd_cpgidxlist.fixedRows ; i++) {
  402. rows[i] = i + grd_cpgidxlist.fixedRows;
  403. }
  404. drawSelectBar(TChart1, grd_cpgidxlist, "데이터", rows, cols, true, false, "row");
  405. fdrawLine(TChart1, grd_cpgidxlist, 5, "TChart Line Sample", false);
  406. }
  407. //CP 완료 분석
  408. function fEndChart() {
  409. clearTChart(TChart1);
  410. var cols = new Array();
  411. cols[0] = grd_cpgidxlist.colRef("cpappcnt");
  412. cols[1] = grd_cpgidxlist.colRef("endcnt");
  413. var rows = new Array();
  414. for (var i=0 ; i < grd_cpgidxlist.rows - grd_cpgidxlist.fixedRows ; i++) {
  415. rows[i] = i + grd_cpgidxlist.fixedRows;
  416. }
  417. drawSelectBar(TChart1, grd_cpgidxlist, "데이터", rows, cols, true, false, "row");
  418. fdrawLine(TChart1, grd_cpgidxlist, 8, "TChart Line Sample", false);
  419. }
  420. //CP Drop 분석
  421. function fDropChart() {
  422. clearTChart(TChart1);
  423. var cols = new Array();
  424. cols[0] = grd_cpgidxlist.colRef("cpappcnt");
  425. cols[1] = grd_cpgidxlist.colRef("dropcnt");
  426. var rows = new Array();
  427. for (var i=0 ; i < grd_cpgidxlist.rows - grd_cpgidxlist.fixedRows ; i++) {
  428. rows[i] = i + grd_cpgidxlist.fixedRows;
  429. }
  430. drawSelectBar(TChart1, grd_cpgidxlist, "데이터", rows, cols, true, false, "row");
  431. fdrawLine(TChart1, grd_cpgidxlist, 11, "TChart Line Sample", false);
  432. }
  433. function fCallWndCpAppList() {
  434. iRow = grd_cpgidxlist.row;
  435. var orddeptnm = model.getValue("/root/main/cpgidxinfo/cpgidxinfolist["+ iRow + "]/orddeptcd");
  436. var medispclid = model.getValue("/root/main/cpgidxinfo/cpgidxinfolist["+ iRow + "]/orddeptcd");
  437. var cpgnm = model.getValue("/root/main/cpgidxinfo/cpgidxinfolist["+ iRow + "]/orddeptcd");
  438. setParameter("SMMMP02700_openflag", "P");
  439. setParameter("SMMMP02700_datefg", cmb_datefg.value);
  440. setParameter("SMMMP02700_fromdd", ipt_fromdd.value);
  441. setParameter("SMMMP02700_todd", ipt_todd.value);
  442. setParameter("SMMMP02700_cpgnm", cpgnm);
  443. setParameter("SMMMP02700_medispclid", medispclid);
  444. setParameter("SMMMP02700_orddeptnm", orddeptnm);
  445. open("SMMMP02700");
  446. }
  447. // 조회
  448. function fSearch() {
  449. model.makeNode("/root/send/reqdata");
  450. model.removeNodeset("/root/main/cpgidxinfo/cpgidxinfolist");
  451. model.copyNode("/root/send/reqdata", "/root/main/cond");
  452. model.removeNodeset("/root/init/userlist");
  453. model.makeNode("/root/init/userlist/usercombo");
  454. zsufGetUserInfoCombo(cmb_orddept.value, "/root/init/userlist", "_D"); //부서콤보 해당 의사콤보 조회
  455. addComboInstance("/root/init/userlist", "userid^usernm", "000000^선택안함", "usercombo"); //의사콤보 선택안함항목 추가
  456. addComboInstance("/root/init/userlist", "userid^usernm", "-^전체", "usercombo"); //의사콤보 전체항목 추가
  457. var typeflag = model.getValue("/root/main/cond/typeflag");
  458. if (typeflag == 1) {
  459. fChkFixedCols() ;
  460. submit("TRMQP00101");
  461. } else {
  462. fChkFixedCols2();
  463. submit("TRMQP00102");
  464. }
  465. // 레포트에 각 조회조건을 전달하기 위한 값을 저장
  466. var datanm = cmb_datefg.label;
  467. model.makeValue("/root/main/cond/datenm", datanm);
  468. var orddeptcd = model.getValue("/root/main/cond/orddeptcd");
  469. var depthngnm = model.getValue("/root/init/deptlist/dept" + "[deptcd = '" + orddeptcd + "']/depthngnm");
  470. model.makeValue("/root/main/cond/deptnm",depthngnm);
  471. var medispclid = model.getValue("/root/main/cond/medispclid");
  472. var usernm = model.getValue("/root/init/userlist/usercombo" + "[userid= '" + medispclid+ "']/usernm");
  473. model.makeValue("/root/main/cond/usernm",usernm);
  474. var cpgno = model.getValue("/root/main/cond/cpgno");
  475. var cpgnm = model.getValue("/root/init/cpglist/cpginfo" + "[cpgno= '" + cpgno+ "']/cpgnm");
  476. model.makeValue("/root/main/cond/cpgnm",cpgnm);
  477. }
  478. function saveGridToExcel(grdObj){
  479. var excelnm = model.getValue("/root/main/cond/menunm");
  480. var fileName = window.fileDialog("save", ",", false, excelnm, "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  481. if (fileName != ""){
  482. grdObj.saveExcel(fileName, "SheetName", true, true, "", "", true);
  483. }
  484. }
  485. ]]>
  486. </script>
  487. </xhtml:head>
  488. <xhtml:body pagewidth="1211" pageheight="784" guideline="2,0;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  489. <group id="group3" scroll="auto" style="left:0px; top:0px; width:1195px; height:784px; ">
  490. <line id="line7" class="line_1" style="x1:0px; y1:60px; x2:1194px; y2:60px; "/>
  491. <line id="line1" class="line_3" style="x1:0px; y1:753px; x2:1194px; y2:753px; "/>
  492. <line id="line4" class="line_3" style="x1:0px; y1:756px; x2:1194px; y2:756px; "/>
  493. <group id="grp_sea" style="left:0px; top:15px; width:1194px; height:45px; vertical-align:top; ">
  494. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:1px; width:1194px; height:40px; "/>
  495. <select1 id="cmb_medispclid" ref="/root/main/cond/medispclid" class="combo_search" appearance="minimal" style="left:623px; top:9px; width:74px; height:19px; ">
  496. <choices>
  497. <itemset nodeset="/root/init/userlist/usercombo">
  498. <label ref="usernm"/>
  499. <value ref="userid"/>
  500. </itemset>
  501. </choices>
  502. </select1>
  503. <caption id="caption5" class="search_name" style="left:5px; top:11px; width:89px; height:17px; ">기 간 :</caption>
  504. <line id="line3" style="x1:1115px; y1:11px; x2:1115px; y2:35px; border-color:#ffe4bb; border-left-style:solid; "/>
  505. <caption id="caption7" class="search_name" style="left:366px; top:11px; width:83px; height:17px; ">진료과 :</caption>
  506. <caption id="caption8" class="search_name" style="left:870px; top:11px; width:70px; height:17px; ">CP명 :</caption>
  507. <input id="ipt_yyyy" ref="/root/main/cond/yyyy" class="input_s_essential" visibility="hidden" format="yyyy" style="left:197px; top:9px; width:60px; height:19px; text-align:left; ">
  508. <script type="javascript" ev:event="onkeypress">
  509. <![CDATA[
  510. if (event.keyCode == "13") {
  511. model.setFocus("btn_search");
  512. btn_search.dispatch("DOMActivate");
  513. }
  514. ]]>
  515. </script>
  516. </input>
  517. <button id="btn_search" class="btn1_letter2" style="left:1125px; top:11px; width:56px; height:22px; ">
  518. <caption>조회</caption>
  519. <script type="javascript" ev:event="DOMActivate">
  520. <![CDATA[
  521. model.makeNode("/root/send/reqdata");
  522. model.removeNodeset("/root/main/cpgidxinfo/cpgidxinfolist");
  523. model.copyNode("/root/send/reqdata", "/root/main/cond");
  524. /*
  525. model.removeNodeset("/root/init/userlist");
  526. model.makeNode("/root/init/userlist/usercombo");
  527. zsufGetUserInfoCombo(cmb_orddept.value, "/root/init/userlist", "_D"); //부서콤보 해당 의사콤보 조회
  528. addComboInstance("/root/init/userlist", "userid^usernm", "000000^선택안함", "usercombo"); //의사콤보 선택안함항목 추가
  529. addComboInstance("/root/init/userlist", "userid^usernm", "-^전체", "usercombo"); //의사콤보 전체항목 추가
  530. */
  531. var typeflag = model.getValue("/root/main/cond/typeflag");
  532. if (typeflag == 1) {
  533. fChkFixedCols() ;
  534. fChkDateflag();
  535. submit("TRMQP00101");
  536. /*
  537. var menuflag = model.getValue("/root/main/cond/menuflag")
  538. if (menuflag == 1 || menuflag==""){
  539. fMainChart();
  540. } else if (menuflag == 2) {
  541. fUseChart();
  542. } else if (menuflag ==3) {
  543. fEndChart()
  544. } else if (menuflag == 5) {
  545. fDropChart() ;
  546. }
  547. */
  548. } else {
  549. fChkFixedCols2();
  550. fChkDateflag() ;
  551. submit("TRMQP00102");
  552. /*
  553. var menuflag = model.getValue("/root/main/cond/menuflag")
  554. if (menuflag == 4) {
  555. clearTChart(TChart2);
  556. drawLineAll(TChart2, grd_cpgidxlist2, "Exclusion 사유 분석");
  557. } else if (menuflag == 6) {
  558. clearTChart(TChart2);
  559. drawLineAll(TChart2, grd_cpgidxlist2, "Drop 사유 분석");
  560. }
  561. */
  562. }
  563. // 레포트에 각 조회조건을 전달하기 위한 값을 저장
  564. var datanm = cmb_datefg.label;
  565. model.makeValue("/root/main/cond/datenm", datanm);
  566. var orddeptcd = model.getValue("/root/main/cond/orddeptcd");
  567. var depthngnm = model.getValue("/root/init/deptlist/dept" + "[deptcd = '" + orddeptcd + "']/depthngnm");
  568. model.makeValue("/root/main/cond/deptnm",depthngnm);
  569. var medispclid = model.getValue("/root/main/cond/medispclid");
  570. var usernm = model.getValue("/root/init/userlist/usercombo" + "[userid= '" + medispclid+ "']/usernm");
  571. model.makeValue("/root/main/cond/usernm",usernm);
  572. var cpgno = model.getValue("/root/main/cond/cpgno");
  573. var cpgnm = model.getValue("/root/init/cpglist/cpginfo" + "[cpgno= '" + cpgno+ "']/cpgnm");
  574. model.makeValue("/root/main/cond/cpgnm",cpgnm);
  575. ]]>
  576. </script>
  577. </button>
  578. <select1 id="cmb_cpglst" ref="/root/main/cond/cpgno" class="combo_search" appearance="minimal" style="left:935px; top:9px; width:175px; height:19px; ">
  579. <choices>
  580. <itemset nodeset="/root/init/cpglist/cpginfo">
  581. <label ref="cpgnm"/>
  582. <value ref="cpgno"/>
  583. </itemset>
  584. </choices>
  585. </select1>
  586. <select1 id="cmb_orddept" ref="/root/main/cond/orddeptcd" class="combo_search" appearance="minimal" style="left:441px; top:9px; width:74px; height:19px; ">
  587. <choices>
  588. <itemset nodeset="/root/init/deptlist/dept">
  589. <label ref="depthngnm"/>
  590. <value ref="deptcd"/>
  591. </itemset>
  592. </choices>
  593. <script type="javascript" ev:event="xforms-value-changed">
  594. <![CDATA[
  595. model.removeNodeset("/root/init/userlist");
  596. model.makeNode("/root/init/userlist/usercombo");
  597. //zsufGetUserInfoCombo(cmb_orddept.value, "/root/init/userlist", "_D"); //부서콤보 해당 의사콤보 조회
  598. if(cmb_orddept.value != "" && cmb_orddept.value != "0000000000"){
  599. mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist" , cmb_orddept.value, "0330"); //진료과 의사콤보 조회
  600. }
  601. addComboInstance("/root/init/userlist", "userid^usernm", "000000^선택안함", "usercombo"); //의사콤보 선택안함항목 추가
  602. addComboInstance("/root/init/userlist", "userid^usernm", "-^전체", "usercombo"); //의사콤보 전체항목 추가
  603. //2008-01-27 손주연 수정 시작
  604. fGetCPGInfo();
  605. cmborddeptcd = model.getValue("/root/main/cond/orddeptcd");
  606. //2008-01-27 손주연 수정 종료
  607. model.setValue("/root/main/cond/medispclid", "-");
  608. model.refresh();
  609. ]]>
  610. </script>
  611. </select1>
  612. <caption id="caption2" class="search_name" style="left:538px; top:11px; width:86px; height:17px; ">담당교수 :</caption>
  613. <input id="ipt_fromdd" ref="/root/main/cond/fromdd" class="input_s_essential" inputtype="date" style="left:155px; top:9px; width:90px; height:19px; "/>
  614. <input id="ipt_todd" ref="/root/main/cond/todd" class="input_s_essential" inputtype="date" style="left:265px; top:9px; width:90px; height:19px; "/>
  615. <caption id="caption12" class="search_no_b" style="left:250px; top:11px; width:12px; height:17px; ">~</caption>
  616. <select1 id="cmb_datefg" ref="/root/main/cond/dateflag" class="combo_s_essential" appearance="minimal" style="left:85px; top:9px; width:67px; height:19px; ">
  617. <choices>
  618. <item>
  619. <label>입원일</label>
  620. <value>I</value>
  621. </item>
  622. <item>
  623. <label>퇴원일</label>
  624. <value>D</value>
  625. </item>
  626. <!--item>
  627. <label>내원일</label>
  628. <value>O</value>
  629. </item-->
  630. <item>
  631. <label>적용일</label>
  632. <value>A</value>
  633. </item>
  634. </choices>
  635. <script type="javascript" ev:event="xforms-value-changed">
  636. <![CDATA[
  637. var dateflag = model.getValue("/root/main/cond/dateflag");
  638. if (dateflag == "O") {
  639. cmb_ward.disabled = true;
  640. } else {
  641. cmb_ward.disabled = false;
  642. }
  643. ]]>
  644. </script>
  645. </select1>
  646. <button id="btn_pre" class="icon_left" visibility="hidden" style="left:168px; top:9px; width:26px; height:19px; ">
  647. <caption/>
  648. <script type="javascript" ev:event="DOMActivate">
  649. <![CDATA[
  650. var cur_year = ipt_yyyy.value;
  651. cur_year --;
  652. model.setValue("/root/main/cond/yyyy", cur_year);
  653. model.makeValue("/root/send/reqdata/yyyy", cur_year);
  654. model.copyNode("/root/send/reqdata", "/root/main/cond");
  655. submit("TRMQP00102");
  656. ]]>
  657. </script>
  658. </button>
  659. <button id="btn_next" class="icon_right" visibility="hidden" style="left:260px; top:9px; width:26px; height:19px; ">
  660. <caption/>
  661. <script type="javascript" ev:event="DOMActivate">
  662. <![CDATA[
  663. var cur_year = ipt_yyyy.value;
  664. cur_year ++;
  665. model.setValue("/root/main/cond/yyyy", cur_year);
  666. model.copyNode("/root/send/reqdata", "/root/main/cond");
  667. submit("TRMQP00102");
  668. ]]>
  669. </script>
  670. </button>
  671. <caption id="caption1" class="search_name" style="left:715px; top:11px; width:65px; height:17px; ">병동 :</caption>
  672. <select1 id="cmb_ward" ref="/root/main/cond/wardcd" class="combo_search" appearance="minimal" style="left:775px; top:9px; width:74px; height:19px; ">
  673. <choices>
  674. <itemset nodeset="/root/init/warddeptlist/dept">
  675. <label ref="depthngnm"/>
  676. <value ref="deptcd"/>
  677. </itemset>
  678. </choices>
  679. </select1>
  680. </group>
  681. <switch id="switch1" style="left:100px; top:65px; width:1095px; height:685px; ">
  682. <case id="case1" selected="true">
  683. <!--<datagrid id="grd_cpgidxlist" nodeset="/root/main/cpgidxinfo/cpgidxinfolist" caption="진료과^교수명^CP명^CP사용 분석^CP사용 분석^CP사용 분석^CP완료 분석^CP완료 분석^CP완료 분석^CP Drop분석^CP Drop분석^CP Drop분석|진료과^교수명^CP명^CP 대상건수^CP 적용건수^CP사용률^CP 적용건수^CP 완료건수^CP 완료율^CP 적용건수^CP Drop건수^CP Drop률" colsep="^" colwidth="80, 75, 215, 80, 80, 80, 80, 80, 80, 80, 80, 80" ellipsis="true" fixedcols="3" mergecellsfixedcols="bycolrec" mergecellsfixedrows="bycolrec" rowheight="32" rowsep="|" tooltip="true" style="left:0px; top:0px; width:1093px; height:350px; text-align:center; ">-->
  684. <datagrid id="grd_cpgidxlist" nodeset="/root/main/cpgidxinfo/cpgidxinfolist" caption="진료과^교수명^병동^CP명^CP사용 분석^CP사용 분석^CP사용 분석^CP완료 분석^CP완료 분석^CP완료 분석^CP Drop분석^CP Drop분석^CP Drop분석^병동코드^주치의ID^병동코드^CP코드|진료과^교수명^병동^CP명^CP 대상건수^CP 적용건수^CP적용률^CP 적용건수^CP 완료건수^CP 완료율^CP 적용건수^CP Drop건수^CP Drop률^병동코드^주치의ID^병동코드^CP코드" colsep="^" colwidth="65, 60, 70, 215, 80, 80, 80, 80, 80, 80, 80, 80, 80, 0, 0, 0, 0" ellipsis="true" fixedcols="4" mergecellsfixedcols="bycolrec" mergecellsfixedrows="bycolrec" rowheight="32" rowsep="|" tooltip="true" style="left:0px; top:0px; width:1088px; height:683px; text-align:center; ">
  685. <col ref="orddeptnm"/>
  686. <col ref="medispclnm"/>
  687. <col ref="wardcdnm"/>
  688. <col ref="cpgnm"/>
  689. <col ref="cppasscnt"/>
  690. <col ref="cpappcnt"/>
  691. <col ref="userate" format="###%" style="text-align:center; "/>
  692. <col ref="cpappcnt"/>
  693. <col ref="endcnt"/>
  694. <col ref="endrate" format="###%" style="text-align:center; "/>
  695. <col ref="cpappcnt"/>
  696. <col ref="dropcnt"/>
  697. <col ref="droprate" format="###%" style="text-align:center; "/>
  698. <col ref="orddeptcd"/>
  699. <col ref="medispclid"/>
  700. <col ref="wardcd"/>
  701. <col ref="cpgno"/>
  702. <script type="javascript" ev:event="onclick">
  703. <![CDATA[
  704. var currow = grd_cpgidxlist.row;
  705. var curcol = grd_cpgidxlist.col;
  706. ]]>
  707. </script>
  708. <script type="javascript" ev:event="ondblclick">
  709. <![CDATA[
  710. if (isDataCell() == true) {
  711. fCallWndCpAppList() ;
  712. }
  713. ]]>
  714. </script>
  715. </datagrid>
  716. <!--
  717. <group id="group1" style="left:0px; top:350px; width:1090px; height:325px; ">
  718. <object id="TChart1" navindex="-1" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" Visible="false" style="left:0px; top:0px; width:1089px; height:324px; margin-left:2; margin-top:1; "/>
  719. </group>
  720. -->
  721. </case>
  722. <case id="case2">
  723. <!--<datagrid id="grd_cpgidxlist2" nodeset="/root/main/cpgidxinfo/cpgidxinfolist2" caption="진료과^주치의^CP명^사유^^^^^^^^^^^^|진료과^주치의^CP명^사유^1월^2월^3월^4월^5월^6월^7월^8월^9월^10월^11월^12월" colsep="^" colwidth="70, 65, 230, 244, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40" ellipsis="true" fixedcols="4" mergecellsfixedcols="byrowrec" mergecellsfixedrows="bycolrec" rowheight="32" rowsep="|" tooltip="true" style="left:0px; top:0px; width:1092px; height:350px; text-align:center; ">-->
  724. <datagrid id="grd_cpgidxlist2" nodeset="/root/main/cpgidxinfo/cpgidxinfolist2" caption="진료과^주치의^병동^CP명^사유^^^^^^^^^^^^^합계|진료과^주치의^병동^CP명^사유^1월^2월^3월^4월^5월^6월^7월^8월^9월^10월^11월^12월^합계" colsep="^" colwidth="65, 50, 63, 181, 244, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 39" ellipsis="true" fixedcols="5" mergecellsfixedcols="byrowrec" mergecellsfixedrows="bycolrec" rowheight="32" rowsep="|" tooltip="true" style="left:0px; top:0px; width:1092px; height:683px; text-align:center; ">
  725. <col ref="orddeptnm"/>
  726. <col ref="medispclid"/>
  727. <col ref="wardcdnm"/>
  728. <col ref="cpgnm"/>
  729. <col ref="valunm"/>
  730. <col ref="jan"/>
  731. <col ref="feb"/>
  732. <col ref="mar"/>
  733. <col ref="apr"/>
  734. <col ref="may"/>
  735. <col ref="jun"/>
  736. <col ref="jul"/>
  737. <col ref="oug"/>
  738. <col ref="sep"/>
  739. <col ref="oct"/>
  740. <col ref="nob"/>
  741. <col ref="de"/>
  742. <col ref="total"/>
  743. </datagrid>
  744. <!--<group id="group2" style="left:0px; top:350px; width:1090px; height:325px; ">
  745. <object id="TChart2" navindex="-1" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" Visible="false" style="left:0px; top:0px; width:1089px; height:324px; margin-left:2; margin-top:1; "/>
  746. </group>
  747. -->
  748. <datagrid id="grd_dropChart" nodeset="/root/main/tChartinfo/dropChart" visibility="hidden" caption="사유^1월^2월^3월^4월^5월^6월^7월^8월^9월^10월^11월^12월" colsep="^" colwidth="56, 31, 20, 17, 22, 23, 22, 25, 33, 21, 30, 35, 19" fixedcols="1" mergecellsfixedrows="bycolrec" rowsep="|" style="left:365px; top:135px; width:365px; height:150px; ">
  749. <col ref="valunm"/>
  750. <col ref="jan"/>
  751. <col ref="feb"/>
  752. <col ref="mar"/>
  753. <col ref="apr"/>
  754. <col ref="may"/>
  755. <col ref="jun"/>
  756. <col ref="jul"/>
  757. <col ref="oug"/>
  758. <col ref="sep"/>
  759. <col ref="oct"/>
  760. <col ref="nob"/>
  761. <col ref="de"/>
  762. </datagrid>
  763. <group id="group1" style="left:15px; top:315px; width:1045px; height:330px; ">
  764. <object id="TChart1" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" Top="106" Width="580" Height="325" style="left:0px; top:0px; width:945px; height:325px; "/>
  765. </group>
  766. <datagrid id="datagrid1" visibility="hidden" caption="caption1^caption2^caption3" colsep="^" mergecellsfixedrows="bycolrec" rowsep="|" style="left:10px; top:85px; width:350px; height:150px; ">
  767. <col/>
  768. <col/>
  769. <col/>
  770. </datagrid>
  771. </case>
  772. </switch>
  773. <button id="btn_main" class="btn2_letter7" style="left:1px; top:106px; width:97px; height:19px; ">
  774. <caption>지표Main</caption>
  775. <script type="javascript" ev:event="DOMActivate">
  776. <![CDATA[
  777. rdo_sumcondflag.disabled = false;
  778. var typeflag = model.getValue("/root/main/cond/typeflag");
  779. model.setValue("/root/main/cond/menuflag", "1");
  780. model.setValue("/root/main/cond/menunm", btn_main.attribute("text"));
  781. model.toggle("case1");
  782. model.removeNodeset("/root/main/cpgidxinfo/cpgidxinfolist2");
  783. if (typeflag !=1) {
  784. submit("TRMQP00101");
  785. }
  786. model.setValue("/root/main/cond/typeflag", "1");
  787. fChkFixedCols();
  788. fChkDateflag();
  789. fChkTypeFlag();
  790. model.refresh();
  791. fCpMain();
  792. //fMainChart();
  793. ]]>
  794. </script>
  795. </button>
  796. <button id="btn_use" class="btn2_letter7" style="left:1px; top:128px; width:97px; height:19px; ">
  797. <caption>CP 적용분석</caption>
  798. <script type="javascript" ev:event="DOMActivate">
  799. <![CDATA[
  800. rdo_sumcondflag.disabled = false;
  801. var typeflag = model.getValue("/root/main/cond/typeflag");
  802. model.setValue("/root/main/cond/menuflag", "2");
  803. model.setValue("/root/main/cond/menunm", btn_main.attribute("text"));
  804. model.toggle("case1");
  805. model.removeNodeset("/root/main/cpgidxinfo/cpgidxinfolist2");
  806. if (typeflag !=1) {
  807. submit("TRMQP00101");
  808. }
  809. model.setValue("/root/main/cond/typeflag", "1");
  810. fChkFixedCols();
  811. fChkDateflag();
  812. fChkTypeFlag();
  813. model.refresh();
  814. fCpUseAnalysis() ;
  815. //fUseChart();
  816. ]]>
  817. </script>
  818. </button>
  819. <button id="btn_end" class="btn2_letter7" style="left:1px; top:150px; width:97px; height:19px; ">
  820. <caption>CP 완료분석</caption>
  821. <script type="javascript" ev:event="DOMActivate">
  822. <![CDATA[
  823. rdo_sumcondflag.disabled = false;
  824. var typeflag = model.getValue("/root/main/cond/typeflag");
  825. model.setValue("/root/main/cond/menuflag", "3");
  826. model.setValue("/root/main/cond/menunm", btn_main.attribute("text"));
  827. model.toggle("case1");
  828. model.removeNodeset("/root/main/cpgidxinfo/cpgidxinfolist2");
  829. if (typeflag !=1) {
  830. submit("TRMQP00101");
  831. }
  832. model.setValue("/root/main/cond/typeflag", "1");
  833. fChkFixedCols();
  834. fChkDateflag();
  835. fChkTypeFlag();
  836. model.refresh();
  837. fCpEndAnalysis() ;
  838. //fEndChart()
  839. ]]>
  840. </script>
  841. </button>
  842. <button id="btn_exclusion" class="btn2_letter7" style="left:1px; top:194px; width:97px; height:19px; ">
  843. <caption>Exclusion분석</caption>
  844. <script type="javascript" ev:event="DOMActivate">
  845. <![CDATA[
  846. rdo_sumcondflag.disabled = true;
  847. model.setValue("/root/main/cond/typeflag", "2");
  848. model.setValue("/root/main/cond/menuflag", "4");
  849. model.setValue("/root/main/cond/menunm", btn_exclusion.attribute("text"));
  850. model.toggle("case2");
  851. model.removeNodeset("/root/main/cpgidxinfo/cpgidxinfolist2");
  852. fChkFixedCols2();
  853. fChkTypeFlag();
  854. model.refresh();
  855. fChkTypeFlag();
  856. fSearch();
  857. fChkDateflag();
  858. //clearTChart(TChart2);
  859. //drawLineAll(TChart2, grd_cpgidxlist2, "Exclusion 사유 분석");
  860. grd_cpgidxlist2.caption = "진료과^주치의^병동^CP명^Exclusion 사유^^^^^^^^^^^^^합계|진료과^주치의^병동^CP명^Exclusion 사유^1월^2월^3월^4월^5월^6월^7월^8월^9월^10월^11월^12월^합계";
  861. ]]>
  862. </script>
  863. </button>
  864. <button id="btn_drop" class="btn2_letter7" style="left:1px; top:172px; width:97px; height:19px; ">
  865. <caption>CP Drop분석</caption>
  866. <script type="javascript" ev:event="DOMActivate">
  867. <![CDATA[
  868. rdo_sumcondflag.disabled = false;
  869. var typeflag = model.getValue("/root/main/cond/typeflag");
  870. model.setValue("/root/main/cond/menuflag", "5");
  871. model.setValue("/root/main/cond/menunm", btn_main.attribute("text"));
  872. model.toggle("case1");
  873. model.removeNodeset("/root/main/cpgidxinfo/cpgidxinfolist2");
  874. if (typeflag !=1) {
  875. submit("TRMQP00101");
  876. }
  877. model.setValue("/root/main/cond/typeflag", "1");
  878. fChkFixedCols();
  879. fChkDateflag();
  880. fChkTypeFlag();
  881. model.refresh();
  882. fCpDropAnalysis() ;
  883. //fDropChart() ;
  884. ]]>
  885. </script>
  886. </button>
  887. <button id="btn_droprsn" class="btn2_letter7" style="left:1px; top:216px; width:97px; height:19px; ">
  888. <caption>Drop 사유분석</caption>
  889. <script type="javascript" ev:event="DOMActivate">
  890. <![CDATA[
  891. rdo_sumcondflag.disabled = true;
  892. model.setValue("/root/main/cond/typeflag", "3");
  893. model.setValue("/root/main/cond/menuflag", "6");
  894. model.setValue("/root/main/cond/menunm", btn_droprsn.attribute("text"));
  895. model.toggle("case2");
  896. model.removeNodeset("/root/main/cpgidxinfo/cpgidxinfolist2");
  897. fChkFixedCols2();
  898. fChkTypeFlag();
  899. model.refresh();
  900. fChkTypeFlag();
  901. fSearch();
  902. fChkDateflag();
  903. //clearTChart(TChart2);
  904. //drawLineAll(TChart2, grd_cpgidxlist2, "Drop 사유 분석");
  905. grd_cpgidxlist2.caption = "진료과^주치의^병동^CP명^Drop 사유^^^^^^^^^^^^^합계|진료과^주치의^병동^CP명^Drop 사유^1월^2월^3월^4월^5월^6월^7월^8월^9월^10월^11월^12월^합계";
  906. ]]>
  907. </script>
  908. </button>
  909. <button id="button14" class="btn2_letter7" style="left:1px; top:238px; width:97px; height:19px; ">
  910. <caption>CP처방 일치율</caption>
  911. <script type="javascript" ev:event="DOMActivate">
  912. <![CDATA[
  913. rdo_sumcondflag.disabled = true;
  914. messageBox("개발중", "E008");
  915. ]]>
  916. </script>
  917. </button>
  918. <button id="button1" class="icon_bottom" visibility="hidden" style="left:70px; top:370px; width:26px; height:19px; ">
  919. <caption/>
  920. <script type="javascript" ev:event="DOMActivate">
  921. <![CDATA[
  922. grd_cpgidxlist2.attribute("top") = 0;
  923. grd_cpgidxlist2.attribute("height") = 683;
  924. group2.visible = false;
  925. grd_cpgidxlist.attribute("top") = 0;
  926. grd_cpgidxlist.attribute("height") = 683;
  927. group1.visible = false;
  928. ]]>
  929. </script>
  930. </button>
  931. <button id="button2" class="icon_top" visibility="hidden" style="left:70px; top:390px; width:26px; height:19px; ">
  932. <caption/>
  933. <script type="javascript" ev:event="DOMActivate">
  934. <![CDATA[
  935. grd_cpgidxlist2.attribute("top") = 0;
  936. grd_cpgidxlist2.attribute("height") = 350;
  937. group2.visible = true;
  938. grd_cpgidxlist.attribute("top") = 0;
  939. grd_cpgidxlist.attribute("height") = 350;
  940. group1.visible = true;
  941. ]]>
  942. </script>
  943. </button>
  944. <select1 id="rdo_sumcondflag" ref="/root/main/cond/sumcondflag" appearance="full" cellspacing="5" cols="1" overflow="visible" style="left:0px; top:68px; width:100px; height:37px; border-style:none; ">
  945. <choices>
  946. <item>
  947. <label>과별 합계</label>
  948. <value>D</value>
  949. </item>
  950. <item>
  951. <label>진료의별 합계</label>
  952. <value>R</value>
  953. </item>
  954. </choices>
  955. <script type="javascript" ev:event="xforms-value-changed">
  956. <![CDATA[
  957. btn_search.dispatch("DOMActivate");
  958. ]]>
  959. </script>
  960. </select1>
  961. <button id="btn_graph" class="icon_bottom" visibility="hidden" style="left:70px; top:420px; width:26px; height:19px; ">
  962. <caption/>
  963. <script type="javascript" ev:event="DOMActivate">
  964. <![CDATA[
  965. var ref = "/root/main/cpgidxinfo/cpgidxinfolist2";
  966. var ref1 ="/root/main/tChartinfo/dropChart";
  967. group1.visible=true;
  968. var cpgnm;
  969. var valunm;
  970. // model.makeNode("/root/main/tChartinfo/dropChart/valunm");
  971. //grd_cpgidxlist2.attribute("top") = 0;
  972. grd_cpgidxlist2.attribute("height") = 283;
  973. /*group2.visible = false;
  974. grd_cpgidxlist.attribute("top") = 0;
  975. grd_cpgidxlist.attribute("height") = 683;
  976. group1.visible = false;*/
  977. for(var i=1;i<grd_cpgidxlist2.rows;i++){
  978. cpgnm = model.getValue(ref + "[" + i + "]/cpgnm");
  979. for(var j=1; j<=i; j++){
  980. if (model.getValue(ref + "[" + j + "]/cpgnm")==cpgnm){
  981. //model.alert("4444444444");
  982. valunm = model.getValue(ref + "[" + j + "]/valunm");
  983. //model.alert("555");
  984. //model.setValue(ref1 + "[" + j + "]/valunm",valunm);
  985. model.setValue("/root/main/tChartinfo/dropChart/valunm",valunm);
  986. }
  987. }
  988. }
  989. //drawLine(TChart1,grd_dropChart,1,"TChart1",true);
  990. ]]>
  991. </script>
  992. <hint>
  993. <![CDATA[그래프 보이기]]>
  994. </hint>
  995. </button>
  996. <button id="btn_graphHide" class="icon_top" visibility="hidden" style="left:70px; top:440px; width:26px; height:19px; ">
  997. <caption/>
  998. <script type="javascript" ev:event="DOMActivate">
  999. <![CDATA[
  1000. group1.visible=false;
  1001. //grd_cpgidxlist2.attribute("top") = 0;
  1002. grd_cpgidxlist.attribute("height") = 683;
  1003. /* group2.visible = true;
  1004. grd_cpgidxlist.attribute("top") = 0;
  1005. grd_cpgidxlist.attribute("height") = 350;
  1006. group1.visible = true; */
  1007. ]]>
  1008. </script>
  1009. <hint>
  1010. <![CDATA[그래프 숨기기]]>
  1011. </hint>
  1012. </button>
  1013. </group>
  1014. <group id="grp_btn" style="left:0px; top:755px; width:1195px; height:29px; ">
  1015. <button id="btn_prt" class="btn6_letter2" style="left:139px; top:3px; width:56px; height:22px; ">
  1016. <caption>출력</caption>
  1017. <script type="javascript" ev:event="DOMActivate">
  1018. <![CDATA[
  1019. var typeflag = model.getValue("/root/main/cond/typeflag");
  1020. if (typeflag == "1") {
  1021. exeReportPreview("RPMQP00100", "XMLSTR");
  1022. } else {
  1023. }
  1024. ]]>
  1025. </script>
  1026. </button>
  1027. <button id="btn_help" class="btn4_letter3" visibility="hidden" style="left:1127px; top:3px; width:68px; height:22px; ">
  1028. <caption>도움말</caption>
  1029. <script type="javascript" ev:event="DOMActivate">
  1030. <![CDATA[
  1031. model.removeNodeset("/root/main/cpgidxlist/cpgidxlist");
  1032. model.refresh();
  1033. ]]>
  1034. </script>
  1035. </button>
  1036. <button id="btn_preview" class="btn6_letter4" style="left:59px; top:3px; width:80px; height:22px; ">
  1037. <caption>미리보기</caption>
  1038. </button>
  1039. <button id="btn_exesave" class="btn3_letter2" style="left:3px; top:3px; width:56px; height:22px; ">
  1040. <caption>엑셀</caption>
  1041. <script type="javascript" ev:event="DOMActivate">
  1042. <![CDATA[
  1043. var typeflag = model.getValue("/root/main/cond/typeflag");
  1044. if (typeflag == "1") {
  1045. saveGridToExcel(grd_cpgidxlist);
  1046. } else {
  1047. saveGridToExcel(grd_cpgidxlist2);
  1048. }
  1049. ]]>
  1050. </script>
  1051. </button>
  1052. </group>
  1053. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1054. <caption id="caption9" class="tit_1" style="left:0px; top:0px; width:205px; height:13px; ">CP지표</caption>
  1055. </group>
  1056. </xhtml:body>
  1057. </xhtml:html>