SPMMI00200_누적조회결과.xrw 37 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLLP00100_WorkList조회.xrw
  4. * 설 명 : WorkList조회
  5. * 설 계 자 : (주)에이씨케이 -
  6. * 작 성 자 : (주)에이씨케이 - 조철형
  7. * 작 성 일 : 2007.09.17
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  12. <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">
  13. <xhtml:head>
  14. <xhtml:title>누적결과조회</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root>
  18. <main>
  19. <acptddlist>
  20. <cd/>
  21. <nm/>
  22. <testmdlcd/>
  23. <interqestcd/>
  24. </acptddlist>
  25. <testmdllist>
  26. <nm00 chk="" gbn="" cd="" readonly=""/>
  27. <nm01 chk="" gbn="" cd="" readonly=""/>
  28. <nm02 chk="" gbn="" cd="" readonly=""/>
  29. <nm03 chk="" gbn="" cd="" readonly=""/>
  30. <nm04 chk="" gbn="" cd="" readonly=""/>
  31. <nm05 chk="" gbn="" cd="" readonly=""/>
  32. <nm06 chk="" gbn="" cd="" readonly=""/>
  33. <nm07 chk="" gbn="" cd="" readonly=""/>
  34. <nm08 chk="" gbn="" cd="" readonly=""/>
  35. <nm09 chk="" gbn="" cd="" readonly=""/>
  36. <nm10 chk="" gbn="" cd="" readonly=""/>
  37. </testmdllist>
  38. <rsltlist>
  39. <row>
  40. <a/>
  41. <b/>
  42. <c/>
  43. <d/>
  44. <e/>
  45. </row>
  46. <hearder/>
  47. <patinfo>
  48. <pid/>
  49. <hngnm/>
  50. <sex/>
  51. <age/>
  52. <rrgstno1/>
  53. <rrgstno2/>
  54. </patinfo>
  55. </rsltlist>
  56. <rsltlist2>
  57. <row>
  58. <chk/>
  59. <tclsscrnnm/>
  60. </row>
  61. </rsltlist2>
  62. </main>
  63. <send>
  64. <data1/>
  65. <data2/>
  66. <term/>
  67. <interqestcd/>
  68. </send>
  69. <init>
  70. <LB0103>
  71. <cd/>
  72. <nm/>
  73. </LB0103>
  74. <envinfo>
  75. <interface>
  76. <answval/>
  77. <qestcd/>
  78. <baseanswvalflag/>
  79. <answvalnm/>
  80. </interface>
  81. </envinfo>
  82. </init>
  83. <popupmenu>
  84. <grid03>
  85. <item>
  86. <name>복사하기</name>
  87. <func>astgrid_liscopy</func>
  88. </item>
  89. </grid03>
  90. </popupmenu>
  91. <hidden>
  92. <ref>
  93. <testgrupseqno/>
  94. <startdd/>
  95. <enddd/>
  96. <pid/>
  97. <refgbn>1</refgbn>
  98. <acptdd/>
  99. <acptdde/>
  100. <testmdllist/>
  101. <tclscdlist>
  102. <tclscdlist/>
  103. <tclsnmlist/>
  104. <tclscdlist2/>
  105. <tclsnmlist2/>
  106. </tclscdlist>
  107. <refflag>2</refflag>
  108. <hngnm/>
  109. <sex/>
  110. <age/>
  111. <rrgstno1/>
  112. <rrgstno2/>
  113. <term/>
  114. </ref>
  115. <temp>
  116. <rsltlist/>
  117. </temp>
  118. <testmdllist/>
  119. </hidden>
  120. </root>
  121. </instance>
  122. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  123. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  124. <script type="javascript" src="../../../lis/commonweb/js/LLZ001.js"/>
  125. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  126. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  127. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  128. <script type="javascript" src="../../../com/commonweb/js/tchartHelper.js"/>
  129. <script type="javascript" ev:event="xforms-model-construct-done">
  130. <![CDATA[
  131. // 초기정보 조회
  132. //datagrid2.fixedcellcheckbox(0,1)=true;
  133. fBaseInfoRef("0103|");
  134. //fMakeTestMdlList();
  135. createTChart("object1", 215, 5, 975, 710, case2); //그래프 object 생성
  136. //createTChart8("object1", 215, 5, 975, 710, case2);. //그래프 object 생성
  137. datagrid2.rowHeight(0) = 30;
  138. datagrid3.fixedcellcheckbox(0,1)=true;
  139. datagrid3.removeRow();
  140. //datagrid2.removeRow();
  141. /*model.setValue("/root/hidden/ref/pid", "10646383");
  142. model.setValue("/root/hidden/ref/sex", "A");
  143. model.setValue("/root/hidden/ref/age", "37");
  144. model.setValue("/root/hidden/ref/hngnm", "개똥아");
  145. model.setValue("/root/hidden/ref/rrgstno1", "800111");
  146. model.setValue("/root/hidden/ref/rrgstno2", "2632542");*/
  147. if(model.getvalue("/root/hidden/ref/pid") == "" ){
  148. model.setValue("/root/hidden/ref/startdd", getCurrentDate());
  149. model.setValue("/root/hidden/ref/enddd", getCurrentDate());
  150. model.refresh();
  151. }
  152. else{
  153. model.refresh();
  154. if(model.getvalue("/root/hidden/ref/refgbn") == "1"){
  155. model.toggle("case1");
  156. fGetNResultRef();
  157. }
  158. else{
  159. model.toggle("case2");
  160. button16.selected = true;
  161. fGetNResultRef();
  162. for(i=1;i<datagrid2.rows;i++){
  163. datagrid2.valueMatrix(i, 1) = "true";
  164. }
  165. fDrawGraph();
  166. }
  167. }
  168. //fSetUserFrozenColInit(); //20100414 kskim
  169. //model.setValue("/root/hidden/ref/testgrupseqno", "00");
  170. ]]>
  171. </script>
  172. <!-- 시행부서 조회-->
  173. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init"/>
  174. <submission id="TRLZZ00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/LB0103"/>
  175. <submission id="TRLLP01201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/temp/rsltlist"/>
  176. <submission id="TRMMI00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/envinfo/interface"/>
  177. <script type="javascript" ev:event="xforms-ready">
  178. <![CDATA[
  179. fGetIntefeAnswAll(); // 사용자환경설정 위치 변경 20100414 kskim
  180. fSetUserFrozenColInit(); // 사용자 환경설정 중 틀고정 틀해제 기능 활성화 20100414 kskim
  181. ]]>
  182. </script>
  183. </model>
  184. <script type="javascript">
  185. <![CDATA[
  186. function fSetInit(){
  187. //fMakeTestMdlList();
  188. model.resetInstanceNode("/root/main/acptddlist");
  189. model.removeNodeset("/root/main/rsltlist/row");
  190. model.removeNodeset("/root/main/rsltlist2/row");
  191. model.refresh();
  192. }
  193. function fMakeTestMdlList(){
  194. submit("TRLLP01002");
  195. datagrid1.rowHidden(0) = true;
  196. if(model.getvalue("/root/main/testmdllist/maxcol") !=""){
  197. var maxcol = parseInt(model.getvalue("/root/main/testmdllist/maxcol")) + 1
  198. for(i=maxcol;i<datagrid1.cols;i++){
  199. datagrid1.colHidden(i) = true;
  200. }
  201. }
  202. for (var r=1; r<datagrid1.rows; r++) {
  203. for (var c=0; c<datagrid1.cols; c++) {
  204. var vCol = c.toString().getLeftPad(2,0);
  205. var imgYN = model.getValue("/root/main/testmdllist["+r+"]/nm" + vCol+"/@img");
  206. if(imgYN == "Y"){
  207. datagrid1.cellstyle("background-image", r, c) = "../../../lis/commonweb/images/chkBOOLG0.gif";
  208. datagrid1.cellstyle("background-position",r, c) = "left";
  209. datagrid1.cellstyle("background-color" , r,c) = "#EEFFFF";
  210. datagrid1.cellstyle("padding-left", r, c) = 15;
  211. }
  212. else{
  213. model.setValue("/root/main/testmdllist["+r+"]/nm" + vCol + "/@readonly", "true");
  214. datagrid1.cellStyle("background-color",r,c,r,c) = "#eaeaea";
  215. }
  216. if(c == 0){
  217. //datagrid1.cellStyle("background-color",r,c,r,c) = "#b9e5fb";
  218. }
  219. }
  220. }
  221. }
  222. function fTestLRGList_Click(){
  223. var row = datagrid1.row;
  224. for(i=0; i<datagrid1.cols; i++){
  225. fTestMdlList_Click(row , i);
  226. }
  227. }
  228. function fTestMdlList_Click(row, col) {
  229. var curRow = row;
  230. var curCol = col;
  231. var vCol = curCol.toString().getLeftPad(2,0);
  232. var chk = model.getValue("/root/main/testmdllist["+curRow+"]/nm" + vCol + "/@chk");
  233. var vSlipcd = model.getValue("/root/main/testmdllist["+curRow+"]/nm" + vCol + "/@cd");
  234. var vReadonly = model.getValue("/root/main/testmdllist["+curRow+"]/nm" + vCol + "/@readonly");
  235. var vSelSlipcd = model.getvalue("/root/hidden/testmdllist");
  236. if (vReadonly != "true") {
  237. if (chk == "1") {
  238. datagrid1.cellstyle("background-image", curRow, curCol) = "../../../lis/commonweb/images/chkBOOLG0.gif";
  239. datagrid1.cellstyle("background-position",curRow, curCol) = "left";
  240. datagrid1.cellstyle("padding-left", curRow, curCol) = 15;
  241. model.setValue("/root/main/testmdllist["+curRow+"]/nm" + vCol + "/@chk", "0");
  242. datagrid1.cellStyle("background-color",curRow,curCol,curRow,curCol) = "#EEFFFF";
  243. //var color = new Array(3);
  244. //color = fCOMLIS_getBackColor("WHITE");
  245. //TFGridRowColor("grdSlipList", curRow, curCol, curRow, curCol, 1, color[0], color[1], color[2]);
  246. if (vSelSlipcd.indexOf("'" + vSlipcd.getTrim() + "'" + ",") >= 0) {
  247. vSelSlipcd = vSelSlipcd.replace("'" +vSlipcd.getTrim() + "'"+ ",", "");
  248. }
  249. } else {
  250. datagrid1.cellstyle("background-image", curRow, curCol) = "../../../lis/commonweb/images/chkBOOLG1.gif";
  251. datagrid1.cellstyle("background-position",curRow, curCol) = "left";
  252. datagrid1.cellStyle("background-color",curRow,curCol,curRow,curCol) = "#ffe79d";
  253. datagrid1.cellstyle("padding-left", curRow, curCol) = 15;
  254. model.setValue("/root/main/testmdllist["+curRow+"]/nm" + vCol + "/@chk", "1");
  255. //TFGridRowColor("grdSlipList", curRow, curCol, curRow, curCol, 1, 221, 234, 234);
  256. if (vSelSlipcd.indexOf(vSlipcd.getTrim() + ",") <= 0) {
  257. vSelSlipcd = vSelSlipcd +"'" +vSlipcd.getTrim()+"'" + "," ;
  258. }
  259. }
  260. model.setValue("/root/hidden/testmdllist", vSelSlipcd);
  261. }
  262. }
  263. function fGetACPTDD() {
  264. //fSetInit();
  265. var vText = model.getValue("/root/hidden/ref/pid");
  266. if(vText == "" ){
  267. messageBox("등록번호를","C001","") ;
  268. return;
  269. }
  270. model.copyNode("/root/send/data1" , "/root/hidden/ref");
  271. submit("TRLLP01001",false);
  272. var mRow = getNodesetCount("/root/main/acptddlist");
  273. if(mRow > 0){
  274. model.setvalue("/root/hidden/ref/startdd" ,model.getvalue("/root/main/acptddlist["+mRow+"]/cd") );
  275. model.setvalue("/root/hidden/ref/enddd" ,model.getvalue("/root/main/acptddlist/cd") );
  276. fGetTestMDLRef();
  277. }
  278. else{
  279. model.setValue("/root/hidden/ref/startdd", getCurrentDate());
  280. model.setValue("/root/hidden/ref/enddd", getCurrentDate());
  281. messageBox("결과가 ","I004","") ;
  282. }
  283. model.refresh();
  284. /*var maxRow = getNodesetCount("/root/main/acptddlist");
  285. model.setValue("/root/hidden/ref/acptdd", model.getValue("/root/main/acptddlist[" + maxRow + "]/cd"));
  286. model.setValue("/root/hidden/ref/startdd", model.getValue("/root/main/acptddlist[" + maxRow + "]/cd"));
  287. model.setValue("/root/hidden/ref/acptdde", model.getValue("/root/MainData/TKDDList/tkdde/cd"));
  288. model.setValue("/root/hidden/ref/enddd", model.getValue("/root/MainData/TKDDList/tkdde/cd"));*/
  289. }
  290. function fGetTestMDLRef(){
  291. var vTestmdlcdStr = "";
  292. var maxr = getNodesetCount("/root/main/acptddlist");
  293. for(var j=1; j<=maxr; j++){
  294. if(model.getValue("/root/main/acptddlist["+j+"]/cd") >= model.getValue("/root/hidden/ref/startdd")){
  295. //alert("j= " + model.getValue("/root/MainData/TKDDList/tkdd["+j+"]/cd"));
  296. var vSelAcptDD = model.getValue("/root/main/acptddlist["+j+"]/cd");
  297. vTestmdlcdStr = vTestmdlcdStr + model.getValue("/root/main/acptddlist["+j+"]/testmdlcd");
  298. }
  299. }
  300. var vMaxRow = datagrid1.rows- 1
  301. var vMaxCol = model.getvalue("/root/main/testmdllist/maxcol");
  302. for (var r=1; r<=vMaxRow; r++) {
  303. for (var c=1; c<=vMaxCol; c++) {
  304. var vCol =c.toString().getLeftPad(2,0);
  305. var vTestmdlcd = model.getValue("/root/main/testmdllist[" + r + "]/nm" + vCol + "/@cd");
  306. if(vTestmdlcd != "") {
  307. if (vTestmdlcdStr.indexOf(vTestmdlcd.getTrim() + ",") < 0) {
  308. model.setValue("/root/main/testmdllist[" + r + "]/nm" + vCol + "/@readonly", "true");
  309. model.setValue("/root/main/testmdllist[" + r + "]/nm" + vCol + "/@chk", "0");
  310. datagrid1.cellstyle("background-image", r, c) = "../../../lis/commonweb/images/chkBOOLG-.gif";
  311. datagrid1.cellstyle("background-position",r, c) = "left";
  312. //datagrid1.cellstyle("background-color" , r,c) = "#EEFFFF";
  313. datagrid1.cellstyle("background-color" , r,c) = "#FFFFFA";
  314. datagrid1.cellstyle("padding-left", r, c) = 15;
  315. //var color = new Array(3);
  316. //color = fCOMLIS_getBackColor("GRAY");
  317. //TFGridRowColor("grdSlipList", r, c, r, c, 1, color[0], color[1], color[2]);
  318. } else {
  319. model.setValue("/root/main/testmdllist[" + r + "]/nm" + vCol + "/@readonly", "false");
  320. model.setValue("/root/main/testmdllist[" + r + "]/nm" + vCol + "/@chk", "0");
  321. datagrid1.cellstyle("background-image", r, c) = "../../../lis/commonweb/images/chkBOOLG0.gif";
  322. datagrid1.cellstyle("background-position",r, c) = "left";
  323. datagrid1.cellstyle("background-color" , r,c) = "#EEFFFF";
  324. datagrid1.cellstyle("padding-left", r, c) = 15;
  325. //var color = new Array(3);
  326. //color = fCOMLIS_getBackColor("WHITE");
  327. //TFGridRowColor("grdSlipList", r, c, r, c, 1, color[0], color[1], color[2]);
  328. }
  329. }
  330. }
  331. model.setValue("/root/hidden/testmdllist", "");
  332. }
  333. }
  334. function fKeyUP(){
  335. if(event.keyCode == "13"){
  336. model.setvalue("/root/hidden/ref/pid", ipt_PID.currentText);
  337. model.refresh();
  338. //fGetACPTDD();
  339. fGetNResultRef();
  340. ipt_PID.selBegin = 0;
  341. ipt_PID.selEnd = ipt_PID.currentText.length;
  342. }
  343. }
  344. function fGetNResultRef(){
  345. var vText = model.getValue("/root/hidden/ref/pid");
  346. if(vText == "" ){
  347. messageBox("등록번호를","C001","") ;
  348. return;
  349. }
  350. if(model.getvalue("/root/hidden/ref/tclscdlist/tclscdlist") == "" ){
  351. messageBox("검사항목을","C001","") ;
  352. return;
  353. }
  354. /*var vText1 = model.getvalue("/root/hidden/testmdllist");
  355. var vText2 = model.getvalue("/root/hidden/ref/testgrupseqno");
  356. if(vText1 == "" && vText2==""){
  357. messageBox("검사중분류를 ","C002","") ;
  358. return;
  359. }*/
  360. var cols = datagrid2.cols-datagrid2.fixedCols;
  361. var rows = datagrid2.rows-datagrid2.fixedRows;
  362. //alert(cols)
  363. for( var i = 0; i < cols; i++ ) {
  364. datagrid2.removeColumn(false);
  365. }
  366. for( var i = 0; i < rows; i++ ) {
  367. datagrid2.removeRow(false);
  368. }
  369. model.removeNodeset("/root/main/rsltlist");
  370. model.makeNode("/root/main/rsltlist/row");
  371. model.refresh();
  372. model.copyNode("/root/send/data1" , "/root/hidden/ref");
  373. model.copyNode("/root/send/data2" , "/root/hidden/ref/tclscdlist");
  374. submit("TRLLP01201" , false);
  375. var gridCaption = model.getValue("/root/hidden/temp/rsltlist/header/caption");
  376. if(gridCaption == "") return;
  377. //ref 정보
  378. var gridColRef = model.getValue("/root/hidden/temp/rsltlist/header/colref");
  379. var gridColRefArray = gridColRef.split("^");
  380. var gridColType = model.getValue("/root/hidden/temp/rsltlist/header/type");
  381. var gridColTypeArray = gridColType.split("^");
  382. for( var i = 0; i < gridColRefArray.length; i++ ) {
  383. datagrid2.addColumn("ref:" + gridColRefArray[i] + "; type:"+gridColTypeArray[i]+"; ", false);
  384. }
  385. datagrid2.colWidth(1) = 22;
  386. datagrid2.colWidth(2) = 150;
  387. datagrid2.colWidth(3) = 100;
  388. datagrid2.colWidth(4) = 80;
  389. for( i = 5; i < datagrid2.cols; i++ ) {
  390. datagrid2.colWidth(i) = 70;
  391. }
  392. datagrid2.caption = gridCaption;
  393. var node = instance1.selectSingleNode("/root/main");
  394. node.replaceChild(instance1.root.hidden.temp.rsltlist, instance1.root.main.rsltlist);
  395. datagrid2.fixedcellcheckbox(0,1)=true;
  396. datagrid2.rebuild();
  397. fReMake();
  398. model.refresh();
  399. }
  400. function fReMake(){
  401. xx = 0;
  402. //alert(model.getvalue("/root/main/rsltlist/row["+9+"]/judg0"))
  403. for(i=1;i<datagrid2.rows;i++){
  404. for(j=5;j<datagrid2.cols;j++){
  405. var vJudg = model.getvalue("/root/main/rsltlist/row["+i+"]/judg" + xx);
  406. if(vJudg == "H"){
  407. datagrid2.cellStyle("color",i,j,i,j) = "#FF0000";
  408. }
  409. else if(vJudg == "L"){
  410. datagrid2.cellStyle("color",i,j,i,j) = "#0000FF";
  411. }
  412. // if(isNull(vJudg)) {
  413. model.makeValue("/root/main/rsltlist/row["+i+"]/rslt" + xx, model.getvalue("/root/main/rsltlist/row["+i+"]/rsltORD" + xx))
  414. // }
  415. xx ++;
  416. }
  417. xx = 0
  418. }
  419. }
  420. function fDrawGraph(){
  421. model.copyNode("/root/main/rsltlist2" , "/root/main/rsltlist");
  422. model.refresh();
  423. drawLine999(object1, datagrid2, 2, "누적결과추이", true);
  424. }
  425. function drawLine999(tChartObj, gridObj, row, title, refresh) {
  426. // TChart 초기화
  427. if( refresh ) {
  428. tChartObj.RemoveAllSeries();
  429. tChartObj.Tools.clear();
  430. }
  431. if( title != null || title == "" ) {
  432. tChartObj.Header.Text(0) = title; // Title 설정
  433. }
  434. tChartObj.Aspect.View3D = 0; // 모양 설정 :: 0 = 2D | 1 = 3D
  435. tChartObj.Legend.CheckBoxes = true;
  436. tChartObj.Legend.Alignment = 0; // Legend 위치 설정 :: 0 = left | 1 = right | 2 = top| 3 = bottom
  437. var Rnd1, Rnd2, Rnd3;
  438. var cColor;
  439. var i;
  440. var x, y;
  441. for(j = 1;j<gridObj.rows;j++){
  442. if(gridObj.valueMatrix(j, 1) == "true"){
  443. tChartObj.AddSeries(0); // TChart Type 설정 :: 0 = Line | 1 = Bar ..
  444. var seriesIndex =tChartObj.SeriesCount - 1;
  445. tChartObj.Series(seriesIndex).asLine.Pointer.Visible = true;
  446. tChartObj.Series(seriesIndex).asLine.Pointer.Style = j; //PointStyle 설정 :: 0 - 8
  447. tChartObj.Series(seriesIndex).Title = datagrid2.valueMatrix(j, 2);
  448. tChartObj.Series(seriesIndex).asLine.LinePen.Width = 3;
  449. //tChartObj.Series(seriesIndex).Marks.Visible = true;
  450. //tChartObj.Series(seriesIndex).Marks.Style = 0;
  451. tChartObj.Axis.Bottom.Labels.Angle = 270;
  452. //tChartObj.Series(cline - 2).Marks.Style = 0;
  453. Rnd1 = Math.random();
  454. Rnd2 = Math.random();
  455. Rnd3 = Math.random();
  456. cColor = window.rgb( (255 - 1) * Rnd1 + 1, (255 - 1) * Rnd2 + 1 , (255 - 1) * Rnd3 + 1);
  457. xx= 0;
  458. for( i = 5; i < gridObj.cols; i++ ){
  459. x = model.getvalue("/root/main/rsltlist/row["+j+"]/acptdt" + xx);
  460. //x = "111"
  461. y = model.getvalue("/root/main/rsltlist/row["+j+"]/rsltORD" + xx);
  462. if(y != "" && !isNaN(y)){
  463. x = x.substring(0,4) + "-" + x.substring(4,6) + "-" +x.substring(6,8) + " " + x.substring(8,10) + ":" + x.substring(10,12);
  464. tChartObj.Series(seriesIndex).Add (y, x, tChartObj.Series(seriesIndex).Color);
  465. tChartObj.Series(seriesIndex).LegendItemColor(cColor);
  466. }
  467. xx ++;
  468. }
  469. }
  470. }
  471. }
  472. function fGraphGrdClick(){
  473. var col = datagrid3.col;
  474. var row = datagrid3.row;
  475. if(col == 1){
  476. if(model.getvalue("/root/main/rsltlist2/row["+row+"]/chk") == "true"){
  477. datagrid2.valueMatrix(row , 1) = "true";
  478. }
  479. else {
  480. datagrid2.valueMatrix(row , 1) = "false";
  481. }
  482. drawLine999(object1, datagrid2, 2, "누적결과추이", true);
  483. }
  484. }
  485. function fSetInit(){
  486. //fMakeTestMdlList();
  487. var cols = datagrid2.cols-datagrid2.fixedCols;
  488. var rows = datagrid2.rows-datagrid2.fixedRows;
  489. //alert(cols)
  490. for( var i = 0; i < cols; i++ ) {
  491. datagrid2.removeColumn(false);
  492. }
  493. for( var i = 0; i < rows; i++ ) {
  494. datagrid2.removeRow(false);
  495. }
  496. model.removeNodeset("/root/main/rsltlist");
  497. model.makeNode("/root/main/rsltlist/row");
  498. model.refresh();
  499. }
  500. /************************************************************************************************
  501. *
  502. * aezfSendMarkBuf
  503. @param
  504. * grdobj : 목적그리드
  505. * colobj : 목적ColRef
  506. * xpath : 목적노드set
  507. * desc : Buffering Send check.
  508. *************************************************************************************************/
  509. function aezfSendMarkBuf(grdobj, colobj, xpath) {
  510. var bufCnts = "";
  511. var rowidx;
  512. var colref_viewcnts = grdobj.colref(colobj);
  513. for (var i = 0; i < grdobj.selectedRows; i++)
  514. {
  515. rowidx = grdobj.selectedRow(i);
  516. bufCnts += grdobj.valueMatrix(rowidx, colref_viewcnts) + "\r\n";
  517. }
  518. window.clipBoardData = bufCnts;
  519. //alert(bufCnts);
  520. }
  521. /* @group : 결과조회
  522. * @ver : 2007.06.14
  523. * @by : 장준원
  524. * @-----------------------------------
  525. * @type : function
  526. * @access : public
  527. * @desc : 그리드의 내용을 엑셀로 Copy하기 위한 Function
  528. */
  529. function astgrid_oncopy() {
  530. //debugger
  531. var trgObj = document.all.item(event.target);
  532. if( trgObj.elementName == "xforms:datagrid" ) { // event.target이 datagrid > input일 경우 return
  533. gridObj = trgObj;
  534. } else {
  535. return;
  536. }
  537. var cellValue = "";
  538. var rClipBoardValue = "";
  539. //선택된 셀의 스타일을 바꾼다
  540. var cells = datagrid2.selectedCells;
  541. var row = -1;
  542. var col = 0;
  543. var selrow = 0;
  544. var cnt =1;
  545. for (var i=0;i<cells.length;i++) {
  546. row = cells.item(i).row;
  547. col = cells.item(i).col;
  548. cellValue = gridObj.valueMatrix(row, col);
  549. model.makeNode("/root/hidden/tmp");
  550. model.makeValue("/root/hidden/tmp[" + cnt + "]/row", row);
  551. model.makeValue("/root/hidden/tmp[" + cnt + "]/col", col);
  552. model.makeValue("/root/hidden/tmp[" + cnt + "]/value", cellValue);
  553. cnt++;
  554. }
  555. datagrid6.rebuild();
  556. var setcol = datagrid6.colRef("row");
  557. datagrid6.colSort(datagrid6.colRef("row")) = "asc";
  558. datagrid6.colSort(datagrid6.colRef("col")) = "asc";
  559. datagrid6.sort(1, setcol, datagrid6.rows-1, datagrid6.cols-1) = "usersort";
  560. datagrid6.gridToInstance();
  561. row = -1;
  562. for (var i=1;i<datagrid6.rows;i++) {
  563. selrow = datagrid6.valueMatrix(i, datagrid6.colRef("row"));
  564. cellValue = datagrid6.valueMatrix(i, datagrid6.colRef("value"));
  565. if (row != selrow) {
  566. rClipBoardValue += "\r\n";
  567. rClipBoardValue += cellValue;
  568. row = selrow;
  569. } else {
  570. rClipBoardValue += "\t\t\t";
  571. rClipBoardValue += cellValue;
  572. }
  573. }
  574. if( rClipBoardValue != "" ) {
  575. window.clipBoardData = rClipBoardValue;
  576. }
  577. model.removeNodeset("/root/hidden/tmp");
  578. }
  579. function astgrid_liscopy() {
  580. // var trgObj = document.all.item(event.target);
  581. var cellValue;
  582. var rClipBoardValue = "";
  583. //선택된 셀의 스타일을 바꾼다
  584. var cells = datagrid2.selectedCells;
  585. var row = -1;
  586. var col = 0;
  587. var selrow = 0;
  588. var cnt =1;
  589. model.removeNodeset("/root/hidden/tmp");
  590. for (var i=0;i<cells.length;i++) {
  591. row = cells.item(i).row;
  592. col = cells.item(i).col;
  593. cellValue = datagrid2.valueMatrix(row, col);
  594. model.makeNode("/root/hidden/tmp");
  595. model.makeValue("/root/hidden/tmp[" + cnt + "]/row", row);
  596. model.makeValue("/root/hidden/tmp[" + cnt + "]/col", col);
  597. model.makeValue("/root/hidden/tmp[" + cnt + "]/value", cellValue);
  598. cnt++;
  599. }
  600. datagrid6.rebuild();
  601. var setcol = datagrid6.colRef("row");
  602. datagrid6.colSort(datagrid6.colRef("row")) = "asc";
  603. datagrid6.colSort(datagrid6.colRef("col")) = "asc";
  604. datagrid6.sort(1, setcol, datagrid6.rows-1, datagrid6.cols-1) = "usersort";
  605. datagrid6.gridToInstance();
  606. row = -1;
  607. for (var i=1;i<datagrid6.rows;i++) {
  608. selrow = datagrid6.valueMatrix(i, datagrid6.colRef("row"));
  609. cellValue = datagrid6.valueMatrix(i, datagrid6.colRef("value"));
  610. if (row != selrow) {
  611. rClipBoardValue += "\r\n";
  612. rClipBoardValue += cellValue;
  613. row = selrow;
  614. } else {
  615. rClipBoardValue += "\t";
  616. rClipBoardValue += cellValue;
  617. }
  618. }
  619. if( rClipBoardValue != "" ) {
  620. window.clipBoardData = rClipBoardValue;
  621. }
  622. model.removeNodeset("/root/hidden/tmp");
  623. }
  624. // 환경설정의 값으로 틀고정과 틀해제 기본값을 준다.
  625. function fSetUserFrozenColInit() {
  626. var AnswData = fGetIntefeAnsw("025");
  627. if (AnswData == "001") { // 틀고정
  628. datagrid2.frozenCols = 4;
  629. } else { // 틀해제
  630. datagrid2.frozenCols = 1;
  631. }
  632. }
  633. function fGetIntefeAnswAll() {
  634. // 조회 변수 조회
  635. model.setValue("/root/send/interqestcd", "ALL");
  636. model.makeNode("/root/init/envinfo/interface"); //submission 'TRLZZ00101'이 init하위노드를 삭제하는 문제로 추가 20100413 kskim
  637. submit("TRMMI00101");
  638. }
  639. function fGetIntefeAnsw(qestcd) {
  640. for (i = 1; i <= getNodesetCount("/root/init/envinfo/interface"); i++) {
  641. if ( qestcd == model.getValue("/root/init/envinfo/interface[" + i + "]/qestcd")) {
  642. //alert(model.getValue("/root/main/interface[" + i + "]/answvalnm"));
  643. // return model.getValue("/root/init/envinfo/interface[" + i + "]/answvalnm");
  644. return model.getValue("/root/init/envinfo/interface[" + i + "]/answcnt");
  645. }
  646. }
  647. return "";
  648. }
  649. ]]>
  650. </script>
  651. </xhtml:head>
  652. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  653. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  654. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">누적결과조회</caption>
  655. </group>
  656. <group id="group3" scroll="auto" style="left:0px; top:65px; width:1195px; height:695px; ">
  657. <switch id="switch1" style="left:0px; top:20px; width:1195px; height:675px; ">
  658. <case id="case1" selected="true">
  659. <datagrid id="datagrid2" nodeset="/root/main/rsltlist/row" backcoloralternate="transparent" caption="검사항목" colsep="^" colwidth="100" dataheight="25" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" selectionmode="free" style="left:0px; top:0px; width:1190px; height:670px; ">
  660. <col ref="chk"/>
  661. <script type="javascript" ev:event="oncopy">
  662. <![CDATA[
  663. astgrid_oncopy();
  664. ]]>
  665. </script>
  666. <script type="javascript" ev:event="onmousedown">
  667. <![CDATA[
  668. //if (isDataCell() == true && (datagrid2.isCell(event.target)) && (event.ctrlKey != true) ) {
  669. setPopupMenu("datagrid2", false, "/root/popupmenu/grid03/item", "name", "func");
  670. //}
  671. ]]>
  672. </script>
  673. <script type="javascript" ev:event="DOMFocusOut">
  674. <![CDATA[
  675. initPopupMenu();
  676. ]]>
  677. </script>
  678. </datagrid>
  679. <line id="line2" class="line_1" style="x1:0px; y1:1px; x2:1190px; y2:1px; "/>
  680. <group id="grp_searchset" visibility="hidden" style="left:345px; top:445px; width:285px; height:170px; ">
  681. <datagrid id="datagrid6" nodeset="/root/hidden/tmp" caption="진료과^구분^SET명" colsep="^" colwidth="67, 54, 94" mergecellsfixedrows="bycolrec" rowsep="|" style="left:1px; top:53px; width:229px; height:97px; ">
  682. <col ref="row"/>
  683. <col ref="col"/>
  684. <col ref="value"/>
  685. </datagrid>
  686. <caption id="caption8" class="tit_1" style="left:25px; top:10px; width:106px; height:13px; ">SET 조회</caption>
  687. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:3px; top:20px; width:267px; height:30px; "/>
  688. <select1 id="combo5" class="combo_search" appearance="minimal" style="left:80px; top:26px; width:113px; height:19px; ">
  689. <choices>
  690. <item>
  691. <label>combo1</label>
  692. <value>combo1</value>
  693. </item>
  694. </choices>
  695. </select1>
  696. <caption id="caption1" class="search_name" style="left:10px; top:26px; width:70px; height:17px; ">진료과</caption>
  697. <button id="button15" class="btn2_letter2" style="left:210px; top:25px; width:42px; height:19px; ">
  698. <caption>닫기</caption>
  699. <script type="javascript" ev:event="DOMActivate">
  700. <![CDATA[
  701. grp_searchset.visible = false;
  702. ]]>
  703. </script>
  704. </button>
  705. </group>
  706. </case>
  707. <case id="case2">
  708. <datagrid id="datagrid3" nodeset="/root/main/rsltlist2/row" backcoloralternate="transparent" caption="^검사항목" colsep="^" colwidth="22, 150" dataheight="25" ellipsis="true" frozencols="5" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" selectionmode="free" style="left:0px; top:5px; width:210px; height:665px; ">
  709. <col ref="chk" type="checkbox"/>
  710. <col ref="tclsscrnnm"/>
  711. <script type="javascript" ev:event="onclick">
  712. <![CDATA[
  713. if(datagrid3.isCell(event.target) && datagrid3.row >= datagrid3.fixedRows ){
  714. fGraphGrdClick();
  715. }
  716. ]]>
  717. </script>
  718. </datagrid>
  719. <line id="line1" class="line_1" style="x1:0px; y1:1px; x2:1175px; y2:1px; "/>
  720. <object id="object1" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" DragCursor="-12" style="left:215px; top:5px; width:975px; height:665px; "/>
  721. </case>
  722. </switch>
  723. <button id="button16" class="btn_sw" group="tab" select.background-image="../../../com/commonweb/images/tab_show.gif" style="left:75px; top:0px; width:75px; height:22px; ">
  724. <caption>그 래 프</caption>
  725. <script type="javascript" ev:event="onclick">
  726. <![CDATA[
  727. model.setvalue("/root/hidden/ref/refgbn","2");
  728. model.toggle("case2");
  729. fDrawGraph();
  730. ]]>
  731. </script>
  732. </button>
  733. <button id="button6" class="btn_sw" group="tab" selected="true" select.background-image="../../../com/commonweb/images/tab_show.gif" style="left:0px; top:0px; width:75px; height:22px; ">
  734. <caption>결 과</caption>
  735. <script type="javascript" ev:event="onclick">
  736. <![CDATA[
  737. model.setvalue("/root/hidden/ref/refgbn","1");
  738. model.toggle("case1");
  739. ]]>
  740. </script>
  741. </button>
  742. <input id="ipt_tclscdlist" visibility="hidden" style="left:225px; top:60px; width:100px; height:19px; "/>
  743. <button id="btn_excel" class="btn2_letter2" style="left:1150px; top:1px; width:42px; height:19px; ">
  744. <caption>엑셀</caption>
  745. <script type="javascript" ev:event="DOMActivate">
  746. <![CDATA[
  747. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  748. if (fileName != "")
  749. {
  750. datagrid2.saveExcel(fileName);
  751. }
  752. ]]>
  753. </script>
  754. </button>
  755. <button id="button48" class="btn5_letter3" style="left:910px; top:0px; width:53px; height:19px; ">
  756. <caption>틀해제</caption>
  757. <script type="javascript" ev:event="DOMActivate">
  758. <![CDATA[
  759. datagrid2.frozenCols = 1;
  760. ]]>
  761. </script>
  762. </button>
  763. <button id="button49" class="btn5_letter3" disabled="false" style="left:959px; top:0px; width:53px; height:19px; ">
  764. <caption>틀고정</caption>
  765. <script type="javascript" ev:event="DOMActivate">
  766. <![CDATA[
  767. datagrid2.frozenCols = 4;
  768. ]]>
  769. </script>
  770. </button>
  771. </group>
  772. <group id="grp_patinfo" visibility="hidden" style="left:275px; top:345px; width:645px; height:35px; ">
  773. <line id="lin_6" class="line_1" style="x1:0px; y1:1px; x2:643px; y2:1px; "/>
  774. <caption id="cpt_ patnm" class="cell_1" style="left:167px; top:6px; width:70px; height:23px; text-align:center; vertical-align:middle; ">성 명</caption>
  775. <caption id="cpt_pid" class="cell_1" style="left:2px; top:6px; width:70px; height:23px; text-align:center; vertical-align:middle; ">등록번호</caption>
  776. <caption id="cpt_sexage" class="cell_1" style="left:344px; top:6px; width:70px; height:23px; text-align:center; vertical-align:middle; ">성별/나이</caption>
  777. <line id="lin_7" class="line_2" style="x1:1px; y1:30px; x2:643; y2:30px; "/>
  778. <output id="output2" ref="/root/main/rsltlist/patinfo/rrgstno1" class="output_fix" navindex="3" visibility="hidden" style="left:489px; top:9px; width:70px; height:19px; "/>
  779. <output id="output3" ref="/root/main/rsltlist/patinfo/rrgstno2" class="output_fix" navindex="3" visibility="hidden" style="left:560px; top:9px; width:70px; height:19px; "/>
  780. <input id="ipt_PID" ref="/root/hidden/ref/pid" class="input_search" navindex="1" visibility="hidden" inputtype="button" style="left:75px; top:7px; width:110px; height:19px; ">
  781. <script type="javascript" ev:event="onbuttonclick">
  782. <![CDATA[
  783. //fGetACPTDD();
  784. ]]>
  785. </script>
  786. <script type="javascript" ev:event="onkeyup">
  787. <![CDATA[
  788. fKeyUP();
  789. ]]>
  790. </script>
  791. </input>
  792. <output id="output1" ref="/root/hidden/ref/tclscdlist/tclsnmlist" class="output_fix" style="left:275px; top:10px; width:15px; height:19px; "/>
  793. </group>
  794. <group id="group2" visibility="visible" style="left:0px; top:15px; width:1190px; height:45px; vertical-align:top; ">
  795. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1190px; height:40px; "/>
  796. <caption id="caption2" class="search_name" visibility="visible" style="left:460px; top:10px; width:90px; height:17px; ">등록번호 :</caption>
  797. <input id="ipt_date1" ref="/root/hidden/ref/startdd" class="input_default" inputtype="date" rclass="input_search" style="left:105px; top:10px; width:95px; height:19px; "/>
  798. <line id="line11" class="line_4" style="x1:1080px; y1:10px; x2:1080px; y2:32px; "/>
  799. <caption id="caption5" class="search_name" style="left:15px; top:10px; width:92px; height:17px; ">검사일자 :</caption>
  800. <input id="ipt_date2" ref="/root/hidden/ref/enddd" class="input_default" inputtype="date" rclass="input_search" style="left:220px; top:10px; width:95px; height:19px; "/>
  801. <caption id="caption7" class="search_no_b" style="left:205px; top:10px; width:15px; height:17px; ">~</caption>
  802. <button id="btn_ref" class="btn1_letter2" style="left:1100px; top:10px; width:56px; height:22px; ">
  803. <caption>조회</caption>
  804. <script type="javascript" ev:event="onclick">
  805. <![CDATA[
  806. fGetNResultRef();
  807. ]]>
  808. </script>
  809. </button>
  810. <select1 id="cmb_term" ref="/root/send/term" class="combo_default" appearance="minimal" style="left:320px; top:10px; width:60px; height:19px; ">
  811. <choices>
  812. <item>
  813. <label>1주</label>
  814. <value>7</value>
  815. </item>
  816. <item>
  817. <label>2주</label>
  818. <value>14</value>
  819. </item>
  820. <item>
  821. <label>3개월</label>
  822. <value>90</value>
  823. </item>
  824. <item>
  825. <label>6개월</label>
  826. <value>180</value>
  827. </item>
  828. <item>
  829. <label>9개월</label>
  830. <value>270</value>
  831. </item>
  832. <item>
  833. <label>1년</label>
  834. <value>365</value>
  835. </item>
  836. <item>
  837. <label>2년</label>
  838. <value>730</value>
  839. </item>
  840. </choices>
  841. <script type="javascript" ev:event="xforms-value-changed">
  842. <![CDATA[
  843. var date2 = ipt_date2.value;
  844. var term = cmb_term.value;
  845. ipt_date1.value = date2.toDate().getAddDate(-term,"D").getDateFormat("YYYYMMDD") ;
  846. //btn_srch.dispatch("DOMActivate");
  847. ]]>
  848. </script>
  849. </select1>
  850. <output id="out_pid" ref="/root/main/rsltlist/patinfo/pid" class="output_fix" style="left:545px; top:10px; width:90px; height:19px; "/>
  851. <output id="opt_patnm" ref="/root/main/rsltlist/patinfo/hngnm" class="output_fix" style="left:720px; top:10px; width:100px; height:19px; "/>
  852. <output id="opt_age" ref="/root/main/rsltlist/patinfo/age" class="output_fix" navindex="3" style="left:930px; top:10px; width:40px; height:19px; "/>
  853. <output id="out_sex" ref="/root/main/rsltlist/patinfo/sex" class="output_fix" navindex="3" style="left:889px; top:10px; width:40px; height:19px; "/>
  854. <caption id="caption3" class="search_name" visibility="visible" style="left:640px; top:10px; width:90px; height:17px; ">환자명 :</caption>
  855. <caption id="caption4" class="search_name" visibility="visible" style="left:825px; top:10px; width:90px; height:17px; ">S/A</caption>
  856. </group>
  857. <button id="btn_reset" class="btn4_letter3" style="left:1080px; top:63px; width:68px; height:22px; ">
  858. <caption>초기화</caption>
  859. <script type="javascript" ev:event="onclick">
  860. <![CDATA[
  861. fSetInit();
  862. ]]>
  863. </script>
  864. </button>
  865. <button id="btn_print" class="btn6_letter2" style="left:1020px; top:63px; width:56px; height:22px; ">
  866. <caption>출력</caption>
  867. </button>
  868. </xhtml:body>
  869. </xhtml:html>