1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <!--
- * 제 목 : SMLQP00200_QC그래프조회.xrw
- * 설 명 : QC그래프조회
- * 설 계 자 : (주)에이씨케이 -
- * 작 성 자 : (주)에이씨케이 -
- * 작 성 일 : 2006.12.04
- * 수정이력 :
- * 기 타 :
- -->
- <?xml-stylesheet href="../../../com/commonweb/css/common.css" ztype="text/css" ?>
- <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">
- <xhtml:head>
- <xhtml:title/>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <rsltlist>
- <row>
- </row>
- <hearder/>
- </rsltlist>
- <matrinfo>
- <matrnm/>
- <levlnm/>
- <lotno/>
- <prodcmpy/>
- <wgmrscop/>
- <wgmrstat/>
- <measfactcnts test="Attribute" test2="Attribute2"/>
- <measfactcd/>
- </matrinfo>
- </main>
- <send>
- <codeflag/>
- <basecdid/>
- <data1/>
- <levlcd/>
- <factcntlist/>
- <deptflag/>
- <divgrupcd/>
- </send>
- <init>
- </init>
- <hidden>
- <ref>
- <acptfromdd/>
- <acpttodd/>
- <testroom>N</testroom>
- <eqmtcd>00</eqmtcd>
- <testnm/>
- <basecdid/>
- <testlist>
- <testnm/>
- <testcd/>
- <testcd2/>
- </testlist>
- <testcdlist/>
- <levllist>
- <levlnm/>
- <levlcd/>
- <levlcd2/>
- </levllist>
- <levlcd/>
- <acptflag>0</acptflag>
- <divgrupcd>00</divgrupcd>
- <testdetlinfo>
- <testdetlinfo>
- </testdetlinfo>
- </testdetlinfo>
- </ref>
- <temp>
- <rsltlist/>
- <factcnts>
- <finddata/>
- <matrcd/>
- <testcd/>
- <levlcd/>
- <measfactcnts/>
- <measfactcd/>
- <bcno/>
- </factcnts>
- <toddlist>
- <matrkindcd/>
- <toddlist/>
- <fromddlist/>
- </toddlist>
- </temp>
- <gref>
- <grapegbn>1</grapegbn>
- <img/>
- <factcnts/>
- <testinfo/>
- <yn/>
- <report/>
- <title/>
- </gref>
- </hidden>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-model-construct-done">
- <![CDATA[
- fSetinit();
- ]]>
- </script>
- <script type="javascript" src="../js/LLZ001.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
- <script type="javascript" src="../../../lis/commonweb/js/LLZ001.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tchartHelper.js"/>
- <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/LB0111"/>
- <submission id="TRLQP00204" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/temp"/>
- <submission id="TRLQP00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/matrinfo"/>
- <submission id="TRLQP00203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/hidden/temp/toddlist"/>
- <submission id="TXLQP00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
- </model>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- if(model.getValue("/root/hidden/ref/testdetlinfo/testdetlinfo/rsltcnfmdt") == ""){
- button2.visible = false;
- model.refresh();
- }
- ]]>
- </script>
- <script type="javascript">
- <![CDATA[
- function fSetTestCd2() {
- model.removeNodeset("/root/main/testdetlinfo/testdetlinfo");
- model.removeNodeset("/root/hidden/divgrupnmlist");
- model.setValue("/root/hidden/ref/divgrupcd", "00");
-
- model.refresh();
- }
-
- var vLength = 15; //결과 데이터가 시작되는 col?
-
- function fSetinit(){
- var fromdate = getCurrentDate().toDate("YYYYMMDD").getAddDate(-6)
-
- if(model.getValue("/root/hidden/ref/acptfromdd") == "" || model.getValue("/root/hidden/ref/acpttodd") == ""){
- model.setValue("/root/hidden/ref/acptfromdd", fromdate.getDateFormat("YYYYMMDD"));
- model.setValue("/root/hidden/ref/acpttodd", getCurrentDate());
- }
- model.makeValue("/root/send/codeflag","0000|0111|0701|0703|0116|"); //0000:사용자부서코드, 0111:시행부서계 0701: 장비코드, 0703:조치사항코드
- submit("TRLZZ00101", false);
-
- model.makeValue("/root/send/basecdid", model.getValue("/root/init/LB0000/nm"));
- model.setValue("/root/send/codeflag", "0501|0704|"); //사용자 부서별로 레벨코드를 조회하기 위해 사용자부서 코드를 가져온 다음 다시 레벨코드 조회
- submit("TRLZZ00101");
-
- //createTChart("object1", 0, 5, 1184, 360, case1); //그래프 object 생성
- //createTChart("object2", 10, 5, 1150, 360, case1);
- //createTChart("object3", 10, 5, 1150, 360, case1);
- //fInitChart();
- model.refresh();
- }
-
-
- function fSetEqmtCd(){
-
- model.removeNodeset("/root/init/LB0701");
-
- var testroom = model.getValue("/root/hidden/ref/testroom");
- model.makeValue("/root/send/basecdid", testroom); //검사실구분 코드(장비코드앞자리)
- model.setValue("/root/send/codeflag","0701|");
- model.setValue("/root/hidden/ref/eqmtcd", "00");
-
- submit("TRLZZ00101");
- }
-
-
- //장비별 검사항목 조회 팝업
- function fTestListSch(){
- var eqmtcd = model.getValue("/root/hidden/ref/eqmtcd"); //장비코드
- var deptflag = model.getValue("/root/init/LB0000/nm"); //사용자부서코드
- //model.setValue("/root/send/testcd", "");
- model.setValue("/root/send/divgrupcd", combo4.value);
- var sflag = "nu" + "▦" + eqmtcd + "▦" + deptflag;
-
- //if(eqmtcd == "00"){ //장비코드가 전체이면
- // messageBox("장비을", "C002","");
- // return;
- //}
- setParameter("opener_parameter_id", sflag);
- var divgrup = model.getValue("/root/hidden/ref/divgrupcd");
-
- if(divgrup != "00") {
-
- modal("SPLQP00300","","","","","/root/send/divgrupcd","/root/send/divgrupcd");
-
- }
- //var testcd = model.getValue("/root/hidden/ref/testlist/testcd");
- //if(testcd.split("▦").length > 10){
- // alert("최대조회 항목 수는 10개입니다\n검사항목을 다시 선택하세요!!");
- // fTestListSch();
- //}
-
- //model.setValue("/root/send/testnm" , model.getValue("/root/hidden/ref/testnm")); //검사명
- //model.setValue("/root/send/testnm2" , model.getValue("/root/hidden/ref/testlist/testnm2")); //검사명
- //model.setValue("/root/send/testcd" , model.getValue("/root/hidden/ref/testlist/testcd")); //검사코드를 받아와서 셋팅~
- //model.setValue("/root/send/testcd2" , model.getValue("/root/hidden/ref/testlist/testcd2"));
-
- model.refresh();
- model.setValue("/root/hidden/ref/testnm",model.getValue("/root/hidden/ref/testlist/testnm"))
-
- if(divgrup != "00") {
- fTestLevlSch();
- }
- model.refresh();
- }
-
- //검사항목별 레벨 조회 팝업
- function fTestLevlSch(){
- var eqmtcd = model.getValue("/root/hidden/ref/eqmtcd"); //장비코드
- var deptflag = model.getValue("/root/init/LB0000/nm"); //사용자부서코드
- var tlentgh = model.getValue("/root/hidden/ref/testlist/testcd").split("▦");
- var testcd = model.getValue("/root/hidden/ref/testlist/testcd");
- for(i = 0; i < tlentgh.length; i++){
- testcd = testcd.replace("▦", "▤");
- }
- var sflag = "nu" + "▦" + eqmtcd + "▦" + deptflag + "▦" + testcd;
- setParameter("opener_parameter_id", sflag);
- modal("SPLQP00200", "", "", "", "", "", "");
-
- //model.makeValue("/root/send/levlnm" , model.getValue("/root/hidden/ref/levllist/levlnm")); //레벨명
- model.setValue("/root/hidden/ref/levlcd" , model.getValue("/root/hidden/ref/levllist/levlcd")); //레벨코드
- //model.makeValue("/root/send/levlcd2" , model.getValue("/root/hidden/ref/levllist/levlcd2"));
- model.refresh();
-
- }
-
- // 조회일자 3달 이전으로 못가게 막기
- function fChkDate(){
-
- var todd = model.getValue("/root/hidden/ref/acpttodd");
-
- var mDate = todd.toDate("YYYYMMDD").getAddDate(-12, "M");
- var fromdd = model.getValue("/root/hidden/ref/acptfromdd");
-
- if( mDate.getDateFormat("YYYYMMDD") > fromdd){
- model.alert("1년 이내의 기간으로 검색하세요.");
- return false;
- }else if(todd < fromdd){
- model.alert("기간설정이 잘못 되었습니다.");
- return false;
- }else{
- return true;
- }
- }
-
- function fGetGrapeRsltList(){
- datagrid2.clearStatus(); //조치사항 그리드 초기화
-
- if(!fChkDate()){ //조회일자 check
- return;
- }
- var eqmtcd = model.getValue("/root/hidden/ref/eqmtcd");
- var testnm = model.getValue("/root/hidden/ref/testnm");
- var levlcd = model.getValue("/root/hidden/ref/levllist/levlcd");
-
- //if(eqmtcd == "00"){
- // messageBox("장비를", "C002","");
- // return;
- //}
- //if(testnm == ""){
- // messageBox("검사항목을", "C002","");
- // return;
- //}
- if(levlcd == ""){
- messageBox("Standard를", "C002","");
- return;
- }
-
- // 그리드 컬럼 초기화
- var cols = datagrid1.cols-datagrid1.fixedCols;
- var rows = datagrid1.rows-datagrid1.fixedRows;
- //alert(cols)
- for( var i = 0; i < cols; i++ ) {
- datagrid1.removeColumn(false);
- }
-
- for( var i = 0; i < rows; i++ ) {
- datagrid1.removeRow(false);
- }
-
- model.removeNodeset("/root/main/");
- model.copyNode("/root/send/data1", "/root/hidden/ref");
- model.setValue("/root/send/deptflag", model.getValue("/root/init/LB0000/nm"));
- submit("TRLQP00204", false);
-
- var gridCaption = model.getValue("/root/hidden/temp/rsltlist/header/caption");
-
- if(gridCaption == "") return;
- //ref 정보
- var gridColRef = model.getValue("/root/hidden/temp/rsltlist/header/colref");
- var gridColRefArray = gridColRef.split("^");
-
- var gridColType = model.getValue("/root/hidden/temp/rsltlist/header/type");
- var gridColTypeArray = gridColType.split("^");
-
- for( var i = 0; i < gridColRefArray.length; i++ ) {
- datagrid1.addColumn("ref:" + gridColRefArray[i] + "; type:"+gridColTypeArray[i]+"; ", false);
- }
-
- //컬럼 width Set..
- for( i = 1; i < datagrid1.cols; i++ ) {
- if(i == 1){
- datagrid1.colWidth(i) = 25;
- }else if( i == 3){
- datagrid1.colWidth(i) = 150;
- }else if( i < vLength){
- datagrid1.colWidth(i) = 60;
- }else{
- datagrid1.colWidth(i) = 75;
- }
- }
- datagrid1.caption = gridCaption;
- copyNodesetType("/root/main/rsltlist/row", "/root/hidden/temp/rsltlist/row", "replace"); //attribute값때문에 replaceChild대신 copyNodesetType씀..
- //var node = instance1.selectSingleNode("/root/main");
- //node.replaceChild(instance1.root.hidden.temp.rsltlist, instance1.root.main.rsltlist);
-
- //datagrid1.rowheight(0) = 40;
- var testlist = model.getValue("/root/send/data1/testlist/testcd").split("▦");
- if(testlist.length == 1){ //조회하는 검사항목이 하나일 경우에만 std 및 표준곡선 그래프 작성가능하게..
- for(i = vLength; i <datagrid1.cols; i++){
- datagrid1.fixedcellcheckbox(0, i) = true;
- datagrid1.fixedcellischeck(0, i) = false;
- }
- button7.disabled = false;
- button5.disabled = false;
- }else{
- button7.disabled = true;
- button5.disabled = true;
- }
- datagrid1.rebuild();
- //datagrid1.colHidden(1) = true; //체크
- datagrid1.colHidden(11) = true; //검사코드
- datagrid1.colHidden(12) = true; //레벨코드
- datagrid1.colHidden(13) = true; //물질코드
- datagrid1.colHidden(14) = true; //그래프 구분 코드
-
- //WGMR 에 걸린 결과값 색 변경
- /*for(i = 1; i < datagrid1.rows; i++){
- for(j = vLength; j < datagrid1.cols; j++){
- if(datagrid1.valueMatrix(i, j).indexOf("W") != -1){
- datagrid1.cellStyle("background-color", i , j) = "#99cf16";
- }
- }
- }
- datagrid1.rightCol = datagrid1.cols;*/
- datagrid1.gridToInstance();
- model.refresh();
- }
-
- //물질상세정보 조회 _사용안함
- /*function fGetMatrInfo(){
-
- var rslt = datagrid1.valueMatrix(datagrid1.row, datagrid1.col);
- if(datagrid1.col >(vLength -1) && rslt != ""){ //14번째 컬럼부터 결과 && rslt != "" 일단제외
-
- var testcd = model.getValue("/root/main/rsltlist/row["+ datagrid1.row +"]/testcd");
- var levlcd = model.getValue("/root/main/rsltlist/row["+ datagrid1.row +"]/levlcd");
- var matrcd = model.getValue("/root/main/rsltlist/row["+ datagrid1.row +"]/matrcd");
- var testdt = datagrid1.valueMatrix(0, datagrid1.col);
- var acptdt = testdt.substr(0,4) + testdt.substr(5,2) + testdt.substr(8,2) + testdt.substr(11,2) + testdt.substr(14,2) + testdt.substr(17,2);
-
- model.makeValue("/root/send/matrcd" , matrcd);
- model.makeValue("/root/send/levlcda" , levlcd);
- model.makeValue("/root/send/tclscd" , testcd);
- model.makeValue("/root/send/acptdt" , acptdt);
-
- submit("TRLQP00202");
- //소견 저장하지 않았을때 검사 결과 선택시 조치사항 조회 위함
- var findData = testcd+matrcd+levlcd+acptdt;
- var findRow = datagrid2.findRow(findData, 0, 1);
- if(findRow != -1){
- model.setValue("/root/main/matrinfo/measfactcnts", model.getValue("/root/hidden/temp/factcnts["+ findRow+"]/measfactcnts"));
- model.setValue("/root/main/matrinfo/measfactcd", model.getValue("/root/hidden/temp/factcnts["+ findRow+"]/measfactcd"));
- }
-
- }else{
- model.removeNodeset("/root/main/matrinfo");
- }
- model.refresh();
- }*/
-
- //그래프를 그려보자(1)정규화 그래프
- function fInitChartRegl(sGrapFlag){
- //sGrapFalg 1: 정규화, 2: 로하이, 3: 민에스디
- var Obj_Chart = object1; //시리즈 번호
- //var vEnd = datagrid1.cols - 15; //끝좌표
- var count = model.getXPathValue('count(/root/main/rsltlist/row[chk="true"])'); //선택된 항목의 갯수
- if(count == 0){
- alert("그래프를 작성할 항목을 선택하세요");
- return;
- }else if(count ==1){
- var vEnd = -1;
- var chkrow = datagrid1.findRow("true", 1, 1);
-
- for(i = vLength; i < datagrid1.cols; i++){ //14번째 컬럼부터 column0~ 시작
- var x = datagrid1.valueMatrix(chkrow, i); //결과값
- if(x != ""){
- vEnd += 1; //결과 값이 있다면 1씩 더해
- }
- }
- }else{
- var vEnd = datagrid1.cols - (vLength+1); //끝 좌표
- }
- Obj_Chart.Aspect.View3D = 0; // 2d 로 표현하기
- Obj_Chart.Zoom.Enable = false; // zoom 사용하지 않기
- Obj_Chart.Scroll.Enable = 2;
- Obj_Chart.Environment.MouseWheelScroll = false;
- Obj_Chart.Legend.Visible = true; // 그래프 참조 박스 띄우지 않기
- Obj_Chart.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
- Obj_Chart.Panel.Gradient.StartColor = 0xffffff;
- Obj_Chart.Panel.Gradient.EndColor=0xffffff;
- Obj_Chart.Legend.Visible = true; //범례표시 여부
- Obj_Chart.Legend.Alignment = 3; // Legend 위치 설정 :: 0 = left | 1 = right | 2 = top| 3 = bottom
- Obj_Chart.Legend.CheckBoxes = false; //범례 체크박스
-
- Obj_Chart.RemoveAllSeries();
- Obj_Chart.Axis.RemoveAllCustom();
- //margin 값 정하기
- Obj_Chart.Panel.MarginTop = 5;
- Obj_Chart.Panel.MarginLeft = 2;
- Obj_Chart.Panel.MarginRight = 0;
- Obj_Chart.Panel.MarginBottom = 2;
-
- Obj_Chart.Header.Visible = true; //헤더 타이틀 보이지 않기
- Obj_Chart.Header.Text(0) = "";
- Obj_Chart.Header.Font.Size = 13;
- Obj_Chart.Header.Font.Bold = 5;
- Obj_Chart.Axis.Left.Labels.Style = 0;
- Obj_Chart.Axis.Right.Labels.Style = 1;
- Obj_Chart.Axis.Bottom.Labels.Style = 4; // 0:auto or value, 1:No, 2 :민 맥스, 3: marks style, 4:text
- Obj_Chart.Axis.Bottom.Labels.Angle = 90; //90도 돌려서 라벨 표시
- Obj_Chart.Axis.Left.Title.Caption = "SD";
-
- Obj_Chart.Axis.Left.Automatic = false;
- Obj_Chart.Axis.Left.Maximum = 2.5;
- Obj_Chart.Axis.Left.Minimum = -2.5;
- Obj_Chart.Axis.Left.Increment = 1;
-
- //Avg 라인
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(0).asLine.LinePen.Width = 2;
- Obj_Chart.Series(0).Color = 0x000000;
- Obj_Chart.Series(0).AddXY (0 , 0 , "", Obj_Chart.Series(0).Color );
- Obj_Chart.Series(0).AddXY (vEnd , 0 , "", Obj_Chart.Series(0).Color );
-
- //+1SD 라인
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(1).asLine.LinePen.Width = 1;
- Obj_Chart.Series(1).Color = 0x000000;
- Obj_Chart.Series(1).AddXY (0 , 1 , "", Obj_Chart.Series(1).Color );
- Obj_Chart.Series(1).AddXY (vEnd , 1 , "", Obj_Chart.Series(1).Color );
-
- //-1SD 라인
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(2).asLine.LinePen.Width = 1;
- Obj_Chart.Series(2).Color = 0x000000;
- Obj_Chart.Series(2).AddXY (0 , -1 , "", Obj_Chart.Series(2).Color );
- Obj_Chart.Series(2).AddXY (vEnd , -1 , "", Obj_Chart.Series(2).Color );
-
- //+2SD 라인
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(3).asLine.LinePen.Width = 2;
- Obj_Chart.Series(3).Color = 0x00ccff;
- Obj_Chart.Series(3).AddXY (0 , 2 , "", Obj_Chart.Series(3).Color );
- Obj_Chart.Series(3).AddXY (vEnd , 2 , "", Obj_Chart.Series(3).Color );
-
- //-2SD 라인
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(4).asLine.LinePen.Width = 2;
- Obj_Chart.Series(4).Color = 0x00ccff;
- Obj_Chart.Series(4).AddXY (0 , -2 , "", Obj_Chart.Series(4).Color );
- Obj_Chart.Series(4).AddXY (vEnd , -2 , "", Obj_Chart.Series(4).Color );
-
- //+3SD 라인
- /*Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(5).asLine.LinePen.Width = 2;
- Obj_Chart.Series(5).Color = 0x0000ee;
- Obj_Chart.Series(5).AddXY (0 , 3 , "", Obj_Chart.Series(5).Color );
- Obj_Chart.Series(5).AddXY (vEnd , 3 , "", Obj_Chart.Series(5).Color );
-
- //-3SD 라인
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(6).asLine.LinePen.Width = 2;
- Obj_Chart.Series(6).Color = 0x0000ee;
- Obj_Chart.Series(6).AddXY (0 , -3 , "", Obj_Chart.Series(6).Color );
- Obj_Chart.Series(6).AddXY (vEnd , -3 , "", Obj_Chart.Series(6).Color );
- */
- //날짜 10번째 시리즈
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(5).Color = 0x000000;
- Obj_Chart.Series(5).asLine.LinePen.Width = 1; //펜 두께
- Obj_Chart.Series(5).asLine.Pointer.Visible = false; //값에 대한 포인터
-
- for(i=0; i <= 5 ; i++){ //라인들에 대한 범례 보이지 않게
- Obj_Chart.Series(i).ShowInLegend = false;
- }
-
- fMakeChartRegl(); //정규화 챠트 그리기
- }
-
- //정규화 그래프 그리기
- function fMakeChartRegl(){
- var Obj_Chart = object1;
- var vAvg, vSD, v4SDH, v4SDL, v3SDH, v3SDL, v2SDH, v2SDL, v1SDH, v1SDL, y, cap, tmpY, vTitle, vLotNo, vLevlNm, vRslt, vEqmtNm;
- var Rnd1, Rnd2, Rnd3, cColor, vCnt;
- var count = model.getXPathValue('count(/root/main/rsltlist/row[chk="true"])'); //선택된 항목의 갯수
-
- if( count == 1){ //선택된 항목이 하나일 경우
- //조회된 항목중 선택된 항목에 대한 그래프 그리기
- var chkrow = datagrid1.findRow("true", 1, 1);
- var xx = 0;
- vCnt = Obj_Chart.SeriesCount ; //생성된 시리즈 갯수
- vTitle = model.getValue("/root/main/rsltlist/row["+ chkrow +"]/testnm");
- vAvg = parseFloat(model.getValue("/root/main/rsltlist/row["+ chkrow +"]/avg"));
- vSD = parseFloat(model.getValue("/root/main/rsltlist/row["+ chkrow +"]/sdval"));
- //vLotNo = model.getValue("/root/main/rsltlist/row["+ chkrow +"]/lotno");
- vLevlNm = model.getValue("/root/main/rsltlist/row["+ chkrow +"]/levlnm");
- vEqmtNm = combo3.label;
- v3SDH = vAvg+vSD*3;
- v3SDL = vAvg-vSD*3;
- v2SDH = vAvg+vSD*2;
- v2SDL = vAvg-vSD*2;
- v1SDH = vAvg+vSD*1;
- v1SDL = vAvg-vSD*1;
-
- //시리즈별 컬러
- Rnd1 = Math.random();
- Rnd2 = Math.random();
- Rnd3 = Math.random();
- cColor = window.rgb( (255 - 1) * Rnd1 + 1, (255 - 1) * Rnd2 + 1 , (255 - 1) * Rnd3 + 1);
-
- //그래프가 그려질 시리즈
- Obj_Chart.AddSeries(37); //asHorizLine
- Obj_Chart.Series(vCnt).Color = cColor;
- Obj_Chart.Series(vCnt).asHorizLine.LinePen.Width = 2; //펜 두께
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Visible = true; //값에 대한 포인터
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Brush.Color = cColor;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Style = 0;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.VerticalSize = 3;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.HorizontalSize = 3;
- Obj_Chart.Series(vCnt).Title = vEqmtNm + " " + vTitle + "_"+vLevlNm;
- Obj_Chart.Header.Text(0) = vEqmtNm + " " + vTitle + "_"+vLevlNm; //헤더 타이틀
-
- Obj_Chart.Series(vCnt).Clear(); //라인 초기화
-
- //fAddPointSeries(); //WGMR, 2SD, 3SD 포인터 시리즈 추가
-
- for(var x = vLength; x < datagrid1.cols; x++ ) {
-
- vRslt = parseFloat(datagrid1.valueMatrix(chkrow, x)); //결과값
- cap = datagrid1.valueMatrix(0, x);
- if (!isNaN(vRslt)){
- tmpY = (vRslt - vAvg) / vSD; //y좌표
-
- if(tmpY >= 2.5){
- y = 2.5;
- }else if(tmpY <= -2.5){
- y = -2.5
- }else{
- y = tmpY;
- }
- //결과에대한 그래프 찍기
- Obj_Chart.Series(vCnt).AddXY (xx, y, "", Obj_Chart.Series(vCnt).Color );
- /*
- if(datagrid1.valueMatrix(chkrow, x).indexOf("W") != -1){
- //WGMR포인트 찍어
- Obj_Chart.Series(vCnt+3).AddXY (xx, y, "", Obj_Chart.Series(vCnt+3).Color );
- }else if( y == 3 || y == -3){
- //3SD
- Obj_Chart.Series(vCnt+2).AddXY (xx, y, cap, Obj_Chart.Series(vCnt+2).Color );
- }else if(y >= 2 || y <= -2){
- //2SD
- Obj_Chart.Series(vCnt+1).AddXY (xx, y, cap, Obj_Chart.Series(vCnt+1).Color );
- }*/
- Obj_Chart.Series(5).AddXY (xx, -3.5, cap, Obj_Chart.Series(5).Color ); //날짜 보였다 안보였다해서 시리즈 따로 추가함
- xx += 1;
- }
- }
- }else{ //여러항목 작성시
- //조회된 항목중 선택된 항목에 대한 그래프 그리기
- for( i = datagrid1.fixedRows; i < datagrid1.rows; i++ ){
- if(model.getValue("/root/main/rsltlist/row["+ i +"]/chk") == "true"){
-
- vCnt = Obj_Chart.SeriesCount ; //생성된 시리즈 갯수
- vTitle = model.getValue("/root/main/rsltlist/row["+ i +"]/testnm");
- vAvg = parseFloat(model.getValue("/root/main/rsltlist/row["+ i +"]/avg"));
- vSD = parseFloat(model.getValue("/root/main/rsltlist/row["+ i +"]/sdval"));
- //vLotNo = model.getValue("/root/main/rsltlist/row["+ i +"]/lotno");
- vLevlNm = model.getValue("/root/main/rsltlist/row["+ i +"]/levlnm");
- vEqmtNm = combo3.label;
- v3SDH = vAvg+vSD*3;
- v3SDL = vAvg-vSD*3;
- v2SDH = vAvg+vSD*2;
- v2SDL = vAvg-vSD*2;
- v1SDH = vAvg+vSD*1;
- v1SDL = vAvg-vSD*1;
-
- //시리즈별 컬러
- Rnd1 = Math.random();
- Rnd2 = Math.random();
- Rnd3 = Math.random();
- cColor = window.rgb( (255 - 1) * Rnd1 + 1, (255 - 1) * Rnd2 + 1 , (255 - 1) * Rnd3 + 1);
-
- //그래프가 그려질 시리즈
- Obj_Chart.AddSeries(37); //asHorizLine
- Obj_Chart.Series(vCnt).Color = cColor;
- Obj_Chart.Series(vCnt).asHorizLine.LinePen.Width = 2; //펜 두께
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Visible = true; //값에 대한 포인터
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Brush.Color = cColor;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Style = 0;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.VerticalSize = 3;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.HorizontalSize = 3;
- Obj_Chart.Series(vCnt).Title = vEqmtNm + " " + vTitle + "_"+vLevlNm;
- Obj_Chart.Header.Text(0) += vEqmtNm + " " + vTitle + "_"+vLevlNm + " ";
-
- Obj_Chart.Series(vCnt).Clear(); //라인 초기화
-
- //fAddPointSeries(); //WGMR, 2SD, 3SD 포인터 시리즈 추가
-
- for(var x = vLength; x < datagrid1.cols; x++ ) {
-
- vRslt = parseFloat(datagrid1.valueMatrix(i, x)); //결과값
- cap = datagrid1.valueMatrix(0, x);
- if (!isNaN(vRslt)){
- tmpY = (vRslt - vAvg) / vSD; //y좌표
-
- if(tmpY >= 2.5){
- y = 2.5;
- }else if(tmpY <= -2.5){
- y = -2.5
- }else{
- y = tmpY;
- }
- //결과에대한 그래프 찍기
- Obj_Chart.Series(vCnt).AddXY (x-vLength, y, "", Obj_Chart.Series(vCnt).Color );
- /*
- if(datagrid1.valueMatrix(i, x).indexOf("W") != -1){
- //WGMR포인트 찍어
- Obj_Chart.Series(vCnt+3).AddXY (x-14, y, "", Obj_Chart.Series(vCnt+3).Color );
- }else if( y == 3 || y == -3){
- //3SD
- Obj_Chart.Series(vCnt+2).AddXY (x-14, y, "", Obj_Chart.Series(vCnt+2).Color );
- }else if(y >= 2 || y <= -2){
- //2SD
- Obj_Chart.Series(vCnt+1).AddXY (x-14, y, "", Obj_Chart.Series(vCnt+1).Color );
- }*/
- }
- Obj_Chart.Series(5).AddXY (x-vLength, -3.5, cap, Obj_Chart.Series(5).Color ); //날짜 보였다 안보였다해서 시리즈 따로 추가함
- }
- }//end if
- }//end for(i)
- }
- }
-
- //Standard 그래프 작성
- function fMakeStdGrp(count, ref){
-
- var Obj_Chart = object2;
- Obj_Chart.Aspect.View3D = 0; // 2d 로 표현하기
- Obj_Chart.Zoom.Enable = false; // zoom 사용하지 않기
- Obj_Chart.Scroll.Enable = 2;
- Obj_Chart.Environment.MouseWheelScroll = false;
- Obj_Chart.Legend.Visible = false; // 그래프 참조 박스 띄우지 않기
- Obj_Chart.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
- Obj_Chart.Panel.Gradient.StartColor = 0xffffff;
- Obj_Chart.Panel.Gradient.EndColor=0xffffff;
- Obj_Chart.Legend.Visible = true; //범례표시 여부
- Obj_Chart.Legend.Alignment = 3; // Legend 위치 설정 :: 0 = left | 1 = right | 2 = top| 3 = bottom
- Obj_Chart.Legend.CheckBoxes = false; //범례 체크박스
-
- //Obj_Chart.RemoveAllSeries();
- //Obj_Chart.Axis.RemoveAllCustom();
- //margin 값 정하기
- Obj_Chart.Panel.MarginTop = 5;
- Obj_Chart.Panel.MarginLeft = 2;
- Obj_Chart.Panel.MarginRight = 0;
- Obj_Chart.Panel.MarginBottom = 2;
-
- Obj_Chart.Header.Visible = true; //헤더 타이틀 보이지 않기
- Obj_Chart.Header.Text(0) = "Standard";
- Obj_Chart.Header.Font.Size = 13;
- Obj_Chart.Header.Font.Bold = 5;
- Obj_Chart.Axis.Left.Labels.Style = 2;
- Obj_Chart.Axis.Right.Labels.Style = 1;
- Obj_Chart.Axis.Bottom.Labels.Style = 4; // 0:auto or value, 1:No, 2 :민 맥스, 3: marks style, 4:text
- Obj_Chart.Axis.Bottom.Labels.Angle = 90; //0도 돌려서 라벨 표시
- Obj_Chart.Axis.Left.Title.Caption = "CPM";
-
- Obj_Chart.Axis.Left.Automatic = true;
- Obj_Chart.Legend.LegendStyle = 1; //각 시리즈별 title값으로 설정
-
- var vCnt, vRow, vRnd1, vRnd2, vRnd3, cColor, vDD, xx, y, cap, cnt;
- var vCol = ref.split("▦");
- vCnt = Obj_Chart.SeriesCount ;
- vRow = datagrid1.findRow("Standard", 1, 4, true, false ); //Standard레벨 찾음..
- if(count == 1){
- vRnd1 = Math.random();
- vRnd2 = Math.random();
- vRnd3 = Math.random();
- cColor = window.rgb( (255 - 1) * vRnd1 + 1, (255 - 1) * vRnd2 + 1 , (255 - 1) * vRnd3 + 1);
- vDD = datagrid1.valueMatrix(0, vCol[0]);
- Obj_Chart.AddSeries(37); //asHorizLine
- Obj_Chart.Series(vCnt).asHorizLine.LinePen.Width = 2; //펜 두께
- }else{
- cColor = 0x0000dd;
- vDD = "Avg";
- Obj_Chart.AddSeries(37); //asHorizLine
- Obj_Chart.Series(vCnt).asHorizLine.LinePen.Width = 3; //펜 두께
- }
- //그래프가 그려질 시리즈
- Obj_Chart.Series(vCnt).Color = cColor;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Visible = true; //값에 대한 포인터
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Brush.Color = cColor;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Style = 0;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.VerticalSize = 3;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.HorizontalSize = 3;
- Obj_Chart.Series(vCnt).Title = vDD;
-
- //Obj_Chart.Series(vCnt).Clear(); //라인 초기화
- xx = 0; //x좌표 초기화
- for(x = vRow; x < datagrid1.rows; x++ ) {
- if((datagrid1.valueMatrix(x, 4)).indexOf("Standard") != -1){//스텐다드 레벨만 함..
- if(count == 1){
- y = parseFloat(datagrid1.valueMatrix(x, vCol[0])); //결과값
- }else{ //여러항목 선택했을때는 평균 구해서 그래프 그려야 함
- y = 0;
- cnt = count;
- for(i = 0; i < count; i++){
- if(!isNaN(parseFloat(datagrid1.valueMatrix(x, vCol[i])))){ //수치일때는 y값에 더함
- y += parseFloat(datagrid1.valueMatrix(x, vCol[i]));
- }else{ //수치가 아니면 count -1
- cnt -= 1;
- }
- }
- y = y / cnt; //선택 standard 값의 평균
- }
- cap = datagrid1.valueMatrix(x, 4);
- if (!isNaN(y)){
- //결과에대한 포인트 찍기
- Obj_Chart.Series(vCnt).AddXY (xx, y, cap, Obj_Chart.Series(vCnt).Color );
- xx += 1;
- }else{
- Obj_Chart.Series(vCnt).AddNullXY (xx, 0, cap);
- xx += 1;
- }
- }
- }
- }
-
- /*scLine = 0;
- scBar = 1;
- scHorizBar = 2;
- scArea = 3;
- scPoint = 4;
- scPie = 5;
- scFastLine = 6;
- scShape = 7;
- scGantt = 8;
- scBubble = 9;
- scArrow = 10;
- scCandle = 11;
- scPolar = 12;
- scSurface = 13;
- scVolume = 14;
- scErrorBar = 15;
- scBezier = 16;
- scContour = 17;
- scError = 18;
- scPoint3D = 19;
- scRadar = 20;
- scClock = 21;
- scWindRose = 22;
- scBar3D = 23;
- scImageBar = 24;
- */
-
- //표준곡선 그래프 작성
- function fMakeCurveGrp(count, ref){
-
- var Obj_Chart = object3;
-
- var grphflag = model.getValue("/root/main/rsltlist/row[" + 1 + "]/grphflag").split("▦");
- var curvefit = grphflag[0]; //그래프종류(0:Auto SpLine, 1: Linear
- var tx = grphflag[1]; //x좌표(0:None, 1:Log, 2:LogIt, 3:Linear)
- var ty = grphflag[2];
- var tz = grphflag[3]; //현재 사용안함
-
- if(grphflag == "▦▦▦"){
- alert("표준곡선에 대한 그래프 설정이 되어있지 않습니다\n기준자료를 확인하세요");
- return;
- }
-
- Obj_Chart.Aspect.View3D = 0; // 2d 로 표현하기
- Obj_Chart.Zoom.Enable = false; // zoom 사용하지 않기
- Obj_Chart.Scroll.Enable = 2;
- Obj_Chart.Environment.MouseWheelScroll = false;
- Obj_Chart.Legend.Visible = false; // 그래프 참조 박스 띄우지 않기
- Obj_Chart.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
- Obj_Chart.Panel.Gradient.StartColor = 0xffffff;
- Obj_Chart.Panel.Gradient.EndColor=0xffffff;
- Obj_Chart.Legend.Visible = true; //범례표시 여부
- Obj_Chart.Legend.Alignment = 3; // Legend 위치 설정 :: 0 = left | 1 = right | 2 = top| 3 = bottom
- Obj_Chart.Legend.CheckBoxes = false; //범례 체크박스
-
- //Obj_Chart.RemoveAllSeries();
- //Obj_Chart.Axis.RemoveAllCustom();
- //margin 값 정하기
- Obj_Chart.Panel.MarginTop = 5;
- Obj_Chart.Panel.MarginLeft = 2;
- Obj_Chart.Panel.MarginRight = 2;
- Obj_Chart.Panel.MarginBottom = 2;
-
- Obj_Chart.Header.Visible = true; //헤더 타이틀 보이지 않기
- Obj_Chart.Header.Text(0) = "표준곡선";
- Obj_Chart.Header.Font.Size = 13;
- Obj_Chart.Header.Font.Bold = 5;
- Obj_Chart.Axis.Left.Labels.Style = 2;
- Obj_Chart.Axis.Right.Labels.Style = 1;
- Obj_Chart.Axis.Bottom.Labels.Style = 4; // 0:auto or value, 1:No, 2 :민 맥스, 3: marks style, 4:text
- Obj_Chart.Axis.Bottom.Labels.Angle = 0; //0도 돌려서 라벨 표시
- Obj_Chart.Axis.Left.Title.Caption = "%B/F";
-
- Obj_Chart.Axis.Left.Automatic = false;
- Obj_Chart.Axis.Left.Maximum = 100;
- Obj_Chart.Axis.Left.Minimum = 0;
- Obj_Chart.Axis.Left.Increment = 2;
-
- Obj_Chart.Axis.Left.Automatic = true;
- Obj_Chart.Legend.LegendStyle = 1; //각 시리즈별 title값으로 설정
-
- var vCnt, vRow, vRnd1, vRnd2, vRnd3, cColor, vDD, xx, y, cap, cnt, txx;
- var vCol = ref.split("▦");
- vCnt = Obj_Chart.SeriesCount ;
- vRow = datagrid1.findRow("Standard", 1, 4, true, false ); //Standard레벨 찾음..
-
- vRnd1 = Math.random();
- vRnd2 = Math.random();
- vRnd3 = Math.random();
- cColor = window.rgb( (255 - 1) * vRnd1 + 1, (255 - 1) * vRnd2 + 1 , (255 - 1) * vRnd3 + 1);
- vDD = datagrid1.valueMatrix(0, vCol[0]);
-
- //그래프가 그려질 시리즈
- /*Obj_Chart.AddSeries(37);
- Obj_Chart.Series(vCnt).asHorizLine.LinePen.Width = 2; //펜 두께
- Obj_Chart.Series(vCnt).Color = cColor;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Visible = true; //값에 대한 포인터
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Brush.Color = cColor;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Style = 0;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.VerticalSize = 3;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.HorizontalSize = 3;
- Obj_Chart.Series(vCnt).Title = vDD;
- */
- var xPath = "/root/main/rsltlist/row";
- var nNode = model.instances(0).selectSingleNode(xPath);
- var obj = nNode.childNodes((vCol[0]-1));
- var objNm = obj.nodeName;
-
- if(curvefit == 0){ //Auto SpLine일때
-
- Obj_Chart.AddSeries(4); //요건 포인트 찍기용 ddose
- Obj_Chart.Series(vCnt).asPoint.Pointer.Style = 0;
- Obj_Chart.Series(vCnt).asPoint.Pointer.Brush.Color = cColor;
- Obj_Chart.Series(vCnt).asPoint.Pointer.VerticalSize = 3;
- Obj_Chart.Series(vCnt).asPoint.Pointer.HorizontalSize = 3;
-
-
- Obj_Chart.AddSeries(0); //실제 결과로 그래프가 그려질 시리즈 Type가 0일때만 asSmoothing 가능 요건 곡선 그래프용 cdose
-
- }else if(curvefit == 1){ //Linear일때
- Obj_Chart.AddSeries(37); //asHorizLine
- Obj_Chart.Series(vCnt).asHorizLine.LinePen.Width = 2; //펜 두께
- Obj_Chart.Series(vCnt).Color = cColor;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Visible = true; //값에 대한 포인터
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Brush.Color = cColor;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Style = 0;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.VerticalSize = 3;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.HorizontalSize = 3;
- Obj_Chart.Series(vCnt).Title = vDD;
- }else{ //마스터에 '-'일때
- alert("그래프마스터에 그래프 종류를 선택하세요");
- return;
- }
-
- //logit(p) = log(p/1-p) = log(p) -log(1-p)
- var ddosevalue, cdosevalue, bfvalue;
- for(x = vRow; x < datagrid1.rows; x++ ) {
- if((datagrid1.valueMatrix(x, 4)).indexOf("Standard") != -1){//스텐다드 레벨만 함..
- ddosevalue = parseFloat(model.getValue("/root/hidden/temp/rsltlist/row["+ x +"]/"+ objNm +"/@ddosevalue"+objNm.substring(objNm.length-1, objNm.length)));
- cdosevalue = parseFloat(model.getValue("/root/hidden/temp/rsltlist/row["+ x +"]/"+ objNm +"/@cdosevalue"+objNm.substring(objNm.length-1, objNm.length)));
- bfvalue = parseFloat(model.getValue("/root/hidden/temp/rsltlist/row["+ x +"]/"+ objNm +"/@bfvalue"+objNm.substring(objNm.length-1, objNm.length)));
- if(tx == "1"){ //log
- xx = Math.log(ddosevalue);
- txx = Math.log(cdosevalue);
- }else if(tx == "2"){ //logit ---------------- logit로 그래프 그릴때 좌표점 구하는 공식 모름 받아서 처리해야함
- xx = Math.log(ddosevalue);
- txx = Math.log(cdosevalue);
- }else{ //0, 3, -
- xx = ddosevalue;
- txx = cdosevalue;
- }
- if(isNaN(parseFloat(bfvalue))){ //공백이나 문자등등? 일때.. 아마 없을경우...
- //bfvalue = cdosevalue; //cdose값으로 바꿔...
- bfvalue = parseFloat(datagrid1.valueMatrix(x, vCol[0])); //cpm값으로 변경(standard)
- }
- if(ty == "1"){
- y = Math.log(bfvalue);
- }else if(ty == "2"){ //Logit : 맞는건지는 모르겠음.. 확인 필요
- y = Math.log(bfvalue); //---------------- logit로 그래프 그릴때 좌표점 구하는 공식 모름 받아서 처리해야함
- }else{
- y = bfvalue;
- }
- cap = ddosevalue;
-
- if (!isNaN(y)){
- //결과에대한 포인트 찍기
- if(curvefit == 0){
- Obj_Chart.Series(vCnt).AddXY (xx, y, cap, Obj_Chart.Series(vCnt).Color ); //포인트 : ddosevalue
- Obj_Chart.Series(vCnt+1).AddXY (txx, y, cap, Obj_Chart.Series(vCnt+1).Color ); //실제 : cdosevalue
- }else{
- Obj_Chart.Series(vCnt).AddXY (txx, y, cap, Obj_Chart.Series(vCnt).Color ); //Liner그래프를 그릴때는 cdose로 그리는게 맞을듯?
- }
- xx += 1;
- }else{
- if(curvefit == 0){
- Obj_Chart.Series(vCnt).AddNullXY (xx, 0, cap);
- Obj_Chart.Series(vCnt+1).AddNullXY (xx, 0, cap);
- }else{
- Obj_Chart.Series(vCnt).AddNullXY (xx, 0, cap);
- }
- xx += 1;
- }
- }
- }
-
- if(curvefit == 0){
- Obj_Chart.Series(vCnt).ShowInLegend = false; //포인트 그래프에 대한 범례 숨기기
- Obj_Chart.Series(vCnt+1).Active = false; //cdose로 그린 기준 그래프 숨기기
- Obj_Chart.AddSeries(37); //asHorizLine
- Obj_Chart.Series(vCnt+2).asHorizLine.LinePen.Width = 2; //펜 두께
- Obj_Chart.Series(vCnt+2).Color = cColor;
- Obj_Chart.Series(vCnt+2).asHorizLine.Pointer.Visible = false; //값에 대한 포인터 숨기기
- //Obj_Chart.Series(vCnt+2).asHorizLine.Pointer.Brush.Color = cColor;
- //Obj_Chart.Series(vCnt+2).asHorizLine.Pointer.Style = 0;
- //Obj_Chart.Series(vCnt+2).asHorizLine.Pointer.VerticalSize = 3; //포인트 크기
- //Obj_Chart.Series(vCnt+2).asHorizLine.Pointer.HorizontalSize = 3; //포인트 크기
- Obj_Chart.Series(vCnt+2).Title = vDD;
- Obj_Chart.Series(vCnt+2).SetFunction(25); //tfSmoothing
- Obj_Chart.Series(vCnt+2).DataSource = Obj_Chart.Series(vCnt+1); //기준이 될 그래프 지정 : cdose그래프
- Obj_Chart.Series(vCnt+2).FunctionType.asSmoothing.Factor = 20; //요거 수치 높일수록 부드러워짐 한계치 존재
- //Obj_Chart.Series(vCnt+1).FunctionType.asSmoothing.Interpolate = false;
- }
-
- //Obj_Chart.Series.CheckDataSource;
- }
- //그래프를 그려보자(2,3)
- /*function fInitChart(sGrapFlag){
- //sGrapFalg 1: 정규화, 2: 로하이, 3: 민에스디
-
- var count = model.getXPathValue('count(/root/main/rsltlist/row[chk="true"])'); //선택된 항목의 갯수
- if(count == 0){
- alert("그래프를 작성할 항목을 선택하세요");
- return;
- }else if(count ==1){
- var vEnd = -1;
- var chkrow = datagrid1.findRow("true", 1, 1);
-
- for(i = 14; i < datagrid1.cols; i++){ //14번째 컬럼부터 column0~ 시작
- var x = datagrid1.valueMatrix(chkrow, i); //결과값
- if(x != ""){
- vEnd += 1; //결과 값이 있다면 1씩 더해
- }
- }
- var vAvg = parseFloat(model.getValue("/root/main/rsltlist/row["+ chkrow +"]/mean"));
- var vSD = parseFloat(model.getValue("/root/main/rsltlist/row["+ chkrow +"]/sd"));
- var vTitle = model.getValue("/root/main/rsltlist/row["+ chkrow +"]/testnm");
- var vLevlnm = model.getValue("/root/main/rsltlist/row["+ chkrow +"]/levlnm");
- var ref = model.getValue("/root/main/rsltlist/row["+ chkrow +"]/ref").split("~");
- var vLow = ref[0];
- var vHigh = ref[1];
- var v1SDH = vAvg + vSD;
- var v2SDH = vAvg + vSD*2;
- var v3SDH = vAvg + vSD*3;
- var v4SDH = vAvg + vSD*4;
- var v1SDL = vAvg - vSD;
- var v2SDL = vAvg - vSD*2;
- var v3SDL = vAvg - vSD*3;
- var v4SDL = vAvg - vSD*4;
- }else{
- var vEnd;// = datagrid1.cols - 13; //끝 좌표
- }
-
- var Obj_Chart = object2;
- var vStart = 0; //시리즈 번호
-
- Obj_Chart.Aspect.View3D = 0; // 2d 로 표현하기
- Obj_Chart.Zoom.Enable = false; // zoom 사용하지 않기
- Obj_Chart.Scroll.Enable = 2;
- Obj_Chart.Environment.MouseWheelScroll = false;
- Obj_Chart.Legend.Visible = false; // 그래프 참조 박스 띄우지 않기
- Obj_Chart.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
- Obj_Chart.Panel.Gradient.StartColor = 0xffffff;
- Obj_Chart.Panel.Gradient.EndColor=0xffffff;
- Obj_Chart.Legend.Visible = true; //범례표시 여부
- Obj_Chart.Legend.Alignment = 3; // Legend 위치 설정 :: 0 = left | 1 = right | 2 = top| 3 = bottom
- Obj_Chart.Legend.CheckBoxes = false; //범례 체크박스
-
- Obj_Chart.RemoveAllSeries();
- Obj_Chart.Axis.RemoveAllCustom();
- //margin 값 정하기
- Obj_Chart.Panel.MarginTop = 0;
- Obj_Chart.Panel.MarginLeft = 2;
- Obj_Chart.Panel.MarginRight = 0;
- Obj_Chart.Panel.MarginBottom = 2;
-
- Obj_Chart.Header.Visible = true;
- Obj_Chart.Header.Text(0) = vTitle+"_"+vLevlnm;
- Obj_Chart.Header.Font.Size = 14;
- Obj_Chart.Header.Font.Color = 0x000000;
- Obj_Chart.Axis.Left.Labels.Style = 2;
- Obj_Chart.Axis.Right.Labels.Style = 1;
- Obj_Chart.Axis.Bottom.Labels.Style = 4; // 0:auto or value, 1:No, 2 :민 맥스, 3: marks style, 4:text
- Obj_Chart.Axis.Bottom.Labels.Angle = 90; //90도 돌려서 라벨 표시
- Obj_Chart.Axis.Left.Title.Caption = "실측값";
- Obj_Chart.Axis.Left.Automatic = true;
-
- //날짜그래프
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(0).asLine.LinePen.Width = 1; //펜 두께
- Obj_Chart.Series(0).asLine.Pointer.Visible = false; //값에 대한 포인터
- Obj_Chart.Series(0).ShowInLegend = false;
-
- var find, row, tmp;
- var findRows = "";
-
- for(r = 1; r <datagrid1.rows; r++){ //선택된 검사항목 그래프 그리기 위함
- if(model.getValue("/root/main/rsltlist/row["+ r +"]/chk") == "true"){
- findRows = findRows + r + "▦";
- }
- }
- row = findRows.substr(0, findRows.length-1).split("▦"); //체크된 항목의 row▦row...
-
- if(sGrapFlag == "3"){ //Mean/SD그래푸
- if(row.length == 1){
- //alert("vCnt = "+vCnt + " vAvg = " + vAvg + " vSD = " + vSD + " vStart = " +vStart + " vEnd = " + vEnd);
- fMakeLineSD(vAvg, vSD, vStart, vEnd); //라인그리기
- }else{ //중복된 검사항목이 있을 경우에 평균이나 편차에 대해서 여러줄 그려
- for(i = 0; i < row.length; i++){
- vAvg = parseFloat(model.getValue("/root/main/rsltlist/row["+ row[i] +"]/mean"));
- vSD = parseFloat(model.getValue("/root/main/rsltlist/row["+ row[i] +"]/sd"));
- tmp = 0;
- vEnd = 0; //각 검사항목의 라인 끝점
- for(j = 14; j < datagrid1.cols; j++){ //14번째 컬럼부터 column0~ 시작
- x = datagrid1.valueMatrix(row[i], j);
- if(x != ""){
- if(tmp == 0){
- vStart = j - 14; //라인의 시작점
- }
- tmp++;
- vEnd = j - 14; //라인의 끝점
- }
- }//alert( "vStart :" + vStart+ " tmpEnd:"+ tmpEnd+" j:"+j);
- fMakeLineSD(vAvg, vSD, vStart, vEnd); //라인그리기
- }
- }
- }else if(sGrapFlag == "2"){ //Low/High그래푸
- if(row.length == 1){
- fMakeLineLH(vAvg, vHigh, vLow, vStart, vEnd);
- }else{ //여러항목일 경우 평균이나 편차에 대한 라인 여러줄 그려
- for(i = 0; i < row.length; i++){
- vAvg = parseFloat(model.getValue("/root/main/rsltlist/row["+ row[i] +"]/mean"));
- ref = model.getValue("/root/main/rsltlist/row["+ row[i] +"]/ref").split("~");
- vLow = ref[0];
- vHigh = ref[1];
- tmp = 0;
- vEnd = 0; //각 검사항목의 라인 끝점
- for(j = 14; j < datagrid1.cols; j++){ //14번째 컬럼부터 column0~ 시작
- x = datagrid1.valueMatrix(row[i], j);
- if(x != ""){
- //vEnd += 1; //결과 값이 있다면 1씩 더해
- if(tmp == 0){
- vStart = j - 14; //라인의 시작점
- }
- tmp++;
- vEnd = j - 14;
- }
- }
- fMakeLineLH(vAvg, vHigh, vLow, vStart, vEnd);
- }
- }
- }
-
- fMakeChartOrgRslt(row); //L/H 및 Mean/SD 챠트 그리기
-
- }
- */
- //Mean/SD 그래프에 대한 SD단위 라인 그리기
- /*function fMakeLineSD(vAvg, vSD, vStart, vEnd){
-
- var Obj_Chart = object2;
- var v1SDH = vAvg + vSD;
- var v2SDH = vAvg + vSD*2;
- var v3SDH = vAvg + vSD*3;
- var v4SDH = vAvg + vSD*4;
- var v1SDL = vAvg - vSD;
- var v2SDL = vAvg - vSD*2;
- var v3SDL = vAvg - vSD*3;
- var v4SDL = vAvg - vSD*4;
- var idx = Obj_Chart.SeriesCount ;
-
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(idx).asLine.LinePen.Width = 2;
- Obj_Chart.Series(idx).Color = 0x000000; //Avg 라인
- Obj_Chart.Series(idx).AddXY (vStart , vAvg , "", Obj_Chart.Series(idx).Color );
- Obj_Chart.Series(idx).AddXY (vEnd , vAvg , "", Obj_Chart.Series(idx).Color );
-
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(1+idx).asLine.LinePen.Width = 1;
- Obj_Chart.Series(1+idx).Color = 0x000000; //+1SD 라인
- Obj_Chart.Series(1+idx).AddXY (vStart , v1SDH , "", Obj_Chart.Series(1+idx).Color );
- Obj_Chart.Series(1+idx).AddXY (vEnd , v1SDH , "", Obj_Chart.Series(1+idx).Color );
-
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(2+idx).asLine.LinePen.Width = 1;
- Obj_Chart.Series(2+idx).Color = 0x000000; //-1SD 라인
- Obj_Chart.Series(2+idx).AddXY (vStart , v1SDL , "", Obj_Chart.Series(2+idx).Color );
- Obj_Chart.Series(2+idx).AddXY (vEnd , v1SDL , "", Obj_Chart.Series(2+idx).Color );
-
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(3+idx).asLine.LinePen.Width = 2;
- Obj_Chart.Series(3+idx).Color = 0x00ccff; //+2SD 라인
- Obj_Chart.Series(3+idx).AddXY (vStart , v2SDH , "", Obj_Chart.Series(3+idx).Color );
- Obj_Chart.Series(3+idx).AddXY (vEnd , v2SDH , "", Obj_Chart.Series(3+idx).Color );
-
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(4+idx).asLine.LinePen.Width = 2;
- Obj_Chart.Series(4+idx).Color = 0x00ccff; //-2SD 라인
- Obj_Chart.Series(4+idx).AddXY (vStart , v2SDL , "", Obj_Chart.Series(4+idx).Color );
- Obj_Chart.Series(4+idx).AddXY (vEnd , v2SDL , "", Obj_Chart.Series(4+idx).Color );
-
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(5+idx).asLine.LinePen.Width = 2;
- Obj_Chart.Series(5+idx).Color = 0x0000ee; //+3SD 라인
- Obj_Chart.Series(5+idx).AddXY (vStart , v3SDH , "", Obj_Chart.Series(5+idx).Color );
- Obj_Chart.Series(5+idx).AddXY (vEnd , v3SDH , "", Obj_Chart.Series(5+idx).Color );
-
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(6+idx).asLine.LinePen.Width = 2;
- Obj_Chart.Series(6+idx).Color = 0x0000ee; //-3SD 라인
- Obj_Chart.Series(6+idx).AddXY (vStart , v3SDL , "", Obj_Chart.Series(6+idx).Color );
- Obj_Chart.Series(6+idx).AddXY (vEnd , v3SDL , "", Obj_Chart.Series(6+idx).Color );
-
- for(k=idx;k<idx+7;k++){ //라인들에 대한 범례 보이지 않게
- Obj_Chart.Series(k).ShowInLegend = false;
- }
- }*/
- /*
- //Low/High 그래프에 대한 라인 그리기
- function fMakeLineLH(vAvg, vHigh, vLow, vStart, vEnd){
- var Obj_Chart = object2;
- var idx = Obj_Chart.SeriesCount ;
-
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(idx).asLine.LinePen.Width = 2;
- Obj_Chart.Series(idx).Color = 0x000000; //Avg 라인
- Obj_Chart.Series(idx).ShowInLegend = false;
- Obj_Chart.Series(idx).AddXY (vStart , vAvg , "", Obj_Chart.Series(idx).Color );
- Obj_Chart.Series(idx).AddXY (vEnd , vAvg , "", Obj_Chart.Series(idx).Color );
-
- if(vHigh != ""){
- idx = Obj_Chart.SeriesCount ;
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(idx).asLine.LinePen.Width = 2;
- Obj_Chart.Series(idx).Color = 0x0000FF; //High 라인
- Obj_Chart.Series(idx).ShowInLegend = false;
- Obj_Chart.Series(idx).AddXY (vStart , vHigh , "", Obj_Chart.Series(idx).Color);
- Obj_Chart.Series(idx).AddXY (vEnd , vHigh , "", Obj_Chart.Series(idx).Color);
- }
- if(vLow != ""){
- idx = Obj_Chart.SeriesCount ;
- Obj_Chart.AddSeries(0); //asLine
- Obj_Chart.Series(idx).asLine.LinePen.Width = 2;
- Obj_Chart.Series(idx).Color = 0xFF0000; //Low 라인
- Obj_Chart.Series(idx).ShowInLegend = false;
- Obj_Chart.Series(idx).AddXY (vStart , vLow , "", Obj_Chart.Series(idx).Color);
- Obj_Chart.Series(idx).AddXY (vEnd , vLow , "", Obj_Chart.Series(idx).Color);
- }
- }
-
- //L/H 및 Mean/SD 챠트 그리기
- function fMakeChartOrgRslt(row){
- var Obj_Chart = object2;
- var Rnd1, Rnd2, Rnd3, cColor;
- var vAvg, vSD, v4SDH, v4SDL, vTestnm, vLotno, vLevlNm, vCnt;
- var x = 0;
- //var count = model.getXPathValue('count(/root/main/rsltlist/row[testnm="'+vTestnm+'"])'); //같은 검사명을 가진 row 카운트
- var title = "";
-
- //그래프가 그려질 시리즈
- for (series = 0; series < row.length; series++){
- vLotno = model.getValue("/root/main/rsltlist/row["+ row[series] +"]/lotno"); //검사명(LotNo)
- vTestnm = model.getValue("/root/main/rsltlist/row["+ row[series] +"]/testnm"); //조회할 검사명, Title에 집어넣을놈
- vLevlNm = model.getValue("/root/main/rsltlist/row["+ row[series] +"]/levlnm"); //조회할 레벨명, Title에 집어넣을놈
- Rnd1 = Math.random();
- Rnd2 = Math.random();
- Rnd3 = Math.random();
- cColor = window.rgb( (235 - 1) * Rnd1 + 1, (235 - 1) * Rnd2 + 1 , (235 - 1) * Rnd3 + 1); //각 검사항목별로 포인터 색깔 변경
- vCnt = Obj_Chart.SeriesCount ;
-
- Obj_Chart.AddSeries(37); //asHorizLine
- Obj_Chart.Series(vCnt).Color = 0xBE5B42;
- Obj_Chart.Series(vCnt).asHorizLine.LinePen.Width = 2; //펜 두께
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Visible = true; //값에 대한 포인터
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Brush.Color = cColor; //포인트 컬러
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.Style = 0;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.VerticalSize = 1;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.HorizontalSize = 1;
- Obj_Chart.Series(vCnt).VerticalAxis = 2; //좌표 y축에대한 스타일 2:both??
- Obj_Chart.Series(vCnt).Title = vTestnm+ "(" + vLotno + ")";
- title = title + vTestnm+ "(" + vLotno + ")_"+vLevlNm + ", ";
- //결과값에 대한 주석 보이기
- Obj_Chart.Series(vCnt).Marks.Visible = false; //요거 true로 해야 아래꺼 보임
- Obj_Chart.Series(vCnt).Marks.Style = 8; //수치값에 대한 값보이기 8아니면 다른수치보임
- Obj_Chart.Series(vCnt).Marks.ArrowLength = 0;
-
- fAddPointSeries(); //WGMR, 2SD, 3SD 포인터 시리즈 추가
-
- x =0;
- for(var i = 14; i < datagrid1.cols; i++ ) {
- vAvg = parseFloat(model.getValue("/root/main/rsltlist/row["+ row[series] +"]/avg"));
- vSD = parseFloat(model.getValue("/root/main/rsltlist/row["+ row[series] +"]/sdval"));
- v4SDH = vAvg+vSD*4;
- v4SDL = vAvg-vSD*4;
-
- var y = parseFloat(datagrid1.valueMatrix(row[series], i)); //결과값 : y 좌표
- var cap = datagrid1.valueMatrix(0, i);
-
- if (!isNaN(y) && y < v4SDH && y > v4SDL) {
- Obj_Chart.Series(vCnt).AddXY (x, y, "" , Obj_Chart.Series(vCnt).Color );
- x += 1;
- }else if(!isNaN(y) && y > v4SDH){
- y = v4SDH;
- Obj_Chart.Series(vCnt).AddXY (x, y, "", Obj_Chart.Series(vCnt).Color );
- x += 1;
- }else if(!isNaN(y) && y < v4SDH){
- y = v4SDL;
- Obj_Chart.Series(vCnt).AddXY (x, y, "", Obj_Chart.Series(vCnt).Color );
- x += 1;
- }else if(isNaN(y) && row.length != 1){
- x += 1;
- }
- if(!isNaN(y)){
- Obj_Chart.Series(0).AddNullXY (x-1, vAvg,cap); //두개이상 그릴때 날짜가 제대로 보여지지 않는것 때문에 날짜는 따로 찍음
- }
- //룰이나 2SD, 3SD벗어난 포인트 찍어주기
- if(datagrid1.valueMatrix(row[series], i).indexOf("W") != -1){
- //WGMR포인트 찍어
- Obj_Chart.Series(vCnt+3).AddXY (x-1, y, "", Obj_Chart.Series(vCnt+3).Color );
- }else if(y >= vAvg+vSD*3 || y <= vAvg-vSD*3){
- //3SD
- Obj_Chart.Series(vCnt+2).AddXY (x-1, y, "", Obj_Chart.Series(vCnt+2).Color );
- }else if(y >= vAvg+vSD*2 || y <= vAvg-vSD*2){
- //2SD
- Obj_Chart.Series(vCnt+1).AddXY (x-1, y, "", Obj_Chart.Series(vCnt+1).Color );
- }
-
- }
- }
- Obj_Chart.Header.Text(0) = title.substr(0, title.length-2); //그래프 타이틀
-
- }
- */
-
- /*
- //2SD, 3SD, WGMR에 대한 포인트 그래프 추가
- function fAddPointSeries(){
-
- var Obj_Chart;
- if(radio1.value == 1){
- Obj_Chart = object1;
- }else{
- Obj_Chart = object2;
- }
- var idx = Obj_Chart.SeriesCount ;
-
- //Wgmr 포인트
- Obj_Chart.AddSeries(4);
- Obj_Chart.Series(idx).asPoint.Pointer.Pen.Color = window.RGB(255, 0, 0)
- Obj_Chart.Series(idx).asPoint.Pointer.Brush.Color = window.RGB(255, 0, 0)
- Obj_Chart.Series(idx).asPoint.Pointer.Style = 0
- Obj_Chart.Series(idx).asPoint.Pointer.HorizontalSize = 3
- Obj_Chart.Series(idx).asPoint.Pointer.VerticalSize = 3
- Obj_Chart.Series(idx).ShowInLegend = false;
-
- //2SD포인트
- Obj_Chart.AddSeries(4);
- Obj_Chart.Series(idx+1).asPoint.Pointer.Pen.Color = window.RGB(255, 0, 0)
- Obj_Chart.Series(idx+1).asPoint.Pointer.Brush.Color = window.RGB(255, 0, 0)
- Obj_Chart.Series(idx+1).asPoint.Pointer.Style = 0
- Obj_Chart.Series(idx+1).asPoint.Pointer.HorizontalSize = 3
- Obj_Chart.Series(idx+1).asPoint.Pointer.VerticalSize = 3
- Obj_Chart.Series(idx+1).ShowInLegend = false;
-
- //3SD포인트
- Obj_Chart.AddSeries(4);
- Obj_Chart.Series(idx+2).asPoint.Pointer.Pen.Color = window.RGB(0, 255, 0)
- Obj_Chart.Series(idx+2).asPoint.Pointer.Brush.Color = window.RGB(0, 255, 0)
- Obj_Chart.Series(idx+2).asPoint.Pointer.Style = 0
- Obj_Chart.Series(idx+2).asPoint.Pointer.HorizontalSize = 3
- Obj_Chart.Series(idx+2).asPoint.Pointer.VerticalSize = 3
- Obj_Chart.Series(idx+2).ShowInLegend = false;
-
- }
- */
- //소견세팅
- function fCntsSet(row, col, flag){
-
- var testcd = model.getValue("/root/main/rsltlist/row[" + row + "]/testcd");
- var matrcd = model.getValue("/root/main/rsltlist/row[" + row + "]/matrcd");;
- var levlcd = model.getValue("/root/main/rsltlist/row[" + row + "]/levlcd");;
- var testdt = datagrid1.valueMatrix(0, col);
- var acptdt = testdt.substr(0,4) + testdt.substr(5,2) + testdt.substr(8,2) + testdt.substr(11,2) + testdt.substr(14,2) + testdt.substr(17,2);
- var findData = testcd+matrcd+levlcd+acptdt;
- var findRow = datagrid2.findRow(findData, 0, 1);
-
- if(findRow != -1){
- if(flag == 1){ //조치사항 코드
- var measfactcd = model.getValue("/root/main/matrinfo/measfactcd");
- model.setValue("/root/hidden/temp/factcnts[" + findRow + "]/measfactcd", combo13.value);
- model.setValue("/root/hidden/temp/factcnts[" + findRow + "]/measfactcnts", combo13.label);
- textarea1.value = combo13.label;
-
- }else{ //조치사항
- var measfactcnts = model.getValue("/root/main/matrinfo/measfactcnts");
- model.setValue("/root/hidden/temp/factcnts[" + findRow + "]/measfactcnts", measfactcnts);
- }
- datagrid2.addStatus(findRow, "update");
- }
- }
-
- //사유저장
- function fSetSave(){
- //alert(datagrid2.getUpdateData()); return;
- if(messageBox("", "Q004")==6){ //실행하시겠습니까? 6:ok
- if(checkGridUpdate(datagrid2)){ //저장데이터 유무 체크
- model.setValue("/root/send/factcntlist", datagrid2.getUpdateData());
- if(submit("TXLQP00201")){
- datagrid2.clearStatus();
- alert("저장 완료");
- }
- }else{
- alert("저장할 자료가 존재하지 않습니다!");
- }
- }
- }
-
- //저장 데이터 확인
- function checkGridUpdate(grid){
- var uData = grid.getUpdateDataXml("update");
- if (uData==""){
- return false;
- }else{
- return true;
- }
- }
-
- function fClearChart(){
- clearTChart(object1);
- clearTChart(object2);
- clearTChart(object3);
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
- <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:111px; height:14px; ">
- <![CDATA[QC그래프조회]]>
- <script type="javascript" ev:event="ondblclick">
- <![CDATA[
- if(datagrid2.visible == true){
- datagrid2.visible = false;
- }else{
- datagrid2.visible = true;
- }
- ]]>
- </script>
- </caption>
- </group>
- <group id="group5" scroll="auto" style="left:0px; top:13px; width:1195px; height:27px; ">
- <line id="line32" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
- <button id="button10" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
- <caption>초기화</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- window.reload();
- ]]>
- </script>
- </button>
- <button id="btn_save" class="btn4_letter2" visibility="hidden" style="left:1069px; top:3px; width:56px; height:22px; ">
- <caption>저장</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- fSetSave();
- ]]>
- </script>
- </button>
- <button id="button2" class="btn6_letter2" style="left:0px; top:3px; width:56px; height:22px; ">
- <caption>출력</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var Obj_Chart;
- if(model.getValue("/root/hidden/gref/grapegbn") == 1){
- Obj_Chart = object1;
- }else if(model.getValue("/root/hidden/gref/grapegbn") == 2){
- Obj_Chart = object2;
- }else {
- Obj_Chart = object3;
- }
-
- Obj_Chart.Tools.Clear();
- Obj_Chart.Export.CopyToClipboardBitmap(); //클립보드로 이미지 넘겨
- model.setValue("/root/hidden/gref/img", window.clipBoardData); //이미지 넘김
-
- var cnts = getNodesetCount("/root/hidden/ref/testdetlinfo/testdetlinfo");
- var stcnts = getNodesetCount("/root/main/rsltlist/row");
- var title = model.getValue("/root/hidden/ref/testnm") + " 검사의 CONTROL RANGE 수치 "
- + "(" + model.getValue("/root/hidden/ref/acptfromdd").substring(0,4) + "." + model.getValue("/root/hidden/ref/acptfromdd").substring(4,6)
- + "." + model.getValue("/root/hidden/ref/acptfromdd").substring(6,8) + " ~ "
- + model.getValue("/root/hidden/ref/acpttodd").substring(0,4) + "." + model.getValue("/root/hidden/ref/acpttodd").substring(4,6)
- + "." + model.getValue("/root/hidden/ref/acpttodd").substring(6,8) + ")";
- model.setValue("/root/hidden/gref/title", title);
-
- for(i = 1 ; i <= cnts ; i++){
- model.makeValue("/root/hidden/gref/report["+i+"]/levlnm", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/ref", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/rsltcnfmdt", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/rsltcnfmdt2", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/column0", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/column1", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/column2", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/column3", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/column4", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/column5", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/column6", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/column7", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/column8", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/column9", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/column10", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/column11", "");
- model.makeValue("/root/hidden/gref/report["+i+"]/rsltcnfmdt", model.getValue("/root/hidden/ref/testdetlinfo/testdetlinfo["+i+"]/rsltcnfmdt"));
- model.makeValue("/root/hidden/gref/report["+i+"]/rsltcnfmdt2", model.getValue("/root/hidden/ref/testdetlinfo/testdetlinfo["+i+"]/rsltcnfmdt"));
- model.makeValue("/root/hidden/gref/report["+i+"]/column0", model.getValue("/root/hidden/ref/testdetlinfo/testdetlinfo["+i+"]/column0"));
- model.makeValue("/root/hidden/gref/report["+i+"]/column1", model.getValue("/root/hidden/ref/testdetlinfo/testdetlinfo["+i+"]/column1"));
- model.makeValue("/root/hidden/gref/report["+i+"]/column2", model.getValue("/root/hidden/ref/testdetlinfo/testdetlinfo["+i+"]/column2"));
- model.makeValue("/root/hidden/gref/report["+i+"]/column3", model.getValue("/root/hidden/ref/testdetlinfo/testdetlinfo["+i+"]/column3"));
- model.makeValue("/root/hidden/gref/report["+i+"]/column4", model.getValue("/root/hidden/ref/testdetlinfo/testdetlinfo["+i+"]/column4"));
- model.makeValue("/root/hidden/gref/report["+i+"]/column5", model.getValue("/root/hidden/ref/testdetlinfo/testdetlinfo["+i+"]/column5"));
- model.makeValue("/root/hidden/gref/report["+i+"]/column6", model.getValue("/root/hidden/ref/testdetlinfo/testdetlinfo["+i+"]/column6"));
- model.makeValue("/root/hidden/gref/report["+i+"]/column7", model.getValue("/root/hidden/ref/testdetlinfo/testdetlinfo["+i+"]/column7"));
- model.makeValue("/root/hidden/gref/report["+i+"]/column8", model.getValue("/root/hidden/ref/testdetlinfo/testdetlinfo["+i+"]/column8"));
- model.makeValue("/root/hidden/gref/report["+i+"]/column9", model.getValue("/root/hidden/ref/testdetlinfo/testdetlinfo["+i+"]/column9"));
- model.makeValue("/root/hidden/gref/report["+i+"]/column10", model.getValue("/root/hidden/ref/testdetlinfo/testdetlinfo["+i+"]/column10"));
- model.makeValue("/root/hidden/gref/report["+i+"]/column11", model.getValue("/root/hidden/ref/testdetlinfo/testdetlinfo["+i+"]/column11"));
- if (model.getValue("/root/hidden/gref/report[1]/column6") == ""){
- model.resetInstanceNode("/root/hidden/gref/report["+i+"]/rsltcnfmdt2");
- }
- }
-
- for(j = 1 ; j <= stcnts ; j++){
- model.makeValue("/root/hidden/gref/report["+j+"]/levlnm", model.getValue("/root/main/rsltlist/row["+j+"]/levlnm"));
- model.makeValue("/root/hidden/gref/report["+j+"]/ref", model.getValue("/root/main/rsltlist/row["+j+"]/ref"));
- }
-
- // return;
- exeReportPreview("RPLQJ00102", "XMLSTR");
- model.setValue("/root/hidden/gref/img", ""); //이미지 초기화
- model.resetInstanceNode("/root/hidden/ref/testdetlinfo/testdetlinfo");
- model.resetInstanceNode("/root/hidden/gref/report");
- model.refresh();
- ]]>
- </script>
- </button>
- <select id="checkbox2" ref="/root/hidden/gref/yn" visibility="hidden" overflow="visible" appearance="full" style="left:65px; top:5px; width:110px; height:20px; border-style:none; ">
- <choices>
- <item>
- <label>상세출력</label>
- <value>Y</value>
- </item>
- </choices>
- </select>
- </group>
- <group id="group2" scroll="auto" style="left:0px; top:40px; width:1195px; height:744px; ">
- <group id="group3" visibility="hidden" scroll="auto" style="left:0px; top:75px; width:1194px; height:75px; ">
- <caption id="caption13" class="tit_2" style="left:5px; top:2px; width:125px; height:13px; ">QC물질 상세 정보</caption>
- <line id="line6" class="line_1" style="x1:0px; y1:17px; x2:1194px; y2:17px; "/>
- <caption id="caption23" class="cell_1" style="left:0px; top:22px; width:100px; height:23px; ">QC물질</caption>
- <caption id="caption24" class="cell_1" style="left:261px; top:22px; width:100px; height:23px; ">레벨</caption>
- <caption id="caption25" class="cell_1" style="left:522px; top:22px; width:100px; height:23px; ">LOT NO</caption>
- <caption id="caption26" class="cell_1" style="left:0px; top:46px; width:100px; height:23px; ">제조회사</caption>
- <caption id="caption27" class="cell_1" style="left:261px; top:46px; width:100px; height:23px; ">적용률</caption>
- <caption id="caption28" class="cell_1" style="left:522px; top:46px; width:100px; height:22px; ">룰</caption>
- <caption id="caption29" class="cell_1" style="left:783px; top:22px; width:100px; height:22px; ">조치사항 코드</caption>
- <caption id="caption1" class="cell_1" style="left:783px; top:45px; width:100px; height:23px; ">조치사항</caption>
- <textarea id="textarea1" ref="/root/main/matrinfo/measfactcnts" style="left:886px; top:46px; width:308px; height:22px; ">
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- fCntsSet(datagrid1.row, datagrid1.col, 2);
- ]]>
- </script>
- </textarea>
- <select1 id="combo13" ref="/root/main/matrinfo/measfactcd" class="combo_search" appearance="minimal" style="left:886px; top:23px; width:308px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/LB0703">
- <label ref="nm"/>
- <value ref="cd"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- fCntsSet(datagrid1.row, datagrid1.col, 1);
- ]]>
- </script>
- </select1>
- <output id="output1" ref="/root/main/matrinfo/matrnm" class="output_fix" style="left:103px; top:23px; width:155px; height:19px; "/>
- <output id="output2" ref="/root/main/matrinfo/levlnm" class="output_fix" style="left:364px; top:23px; width:155px; height:19px; "/>
- <output id="output3" ref="/root/main/matrinfo/lotno" class="output_fix" style="left:625px; top:25px; width:155px; height:19px; "/>
- <output id="output4" ref="/root/main/matrinfo/prodcmpy" class="output_fix" style="left:103px; top:47px; width:155px; height:19px; "/>
- <output id="output5" ref="/root/main/matrinfo/wgmrscop" class="output_fix" style="left:364px; top:47px; width:155px; height:19px; "/>
- <output id="output6" ref="/root/main/matrinfo/wgmrstat" class="output_fix" style="left:625px; top:47px; width:155px; height:19px; "/>
- <line id="line1" class="line_3" style="x1:0px; y1:68px; x2:1194px; y2:68px; "/>
- </group>
- <datagrid id="datagrid2" nodeset="/root/hidden/temp/factcnts" class="datagrid2" visibility="hidden" caption="finddata^bcno^물질코드^검사코드^레벨코드^사유코드^사유" colsep="^" colwidth="250, 80, 100, 80, 70, 80, 100" dataheight="23" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:500px; top:173px; width:694px; height:157px; ">
- <col ref="finddata"/>
- <col ref="bcno"/>
- <col ref="matrcd"/>
- <col ref="testcd"/>
- <col ref="levlcd"/>
- <col ref="measfactcd"/>
- <col ref="measfactcnts"/>
- </datagrid>
- <datagrid id="datagrid1" nodeset="/root/main/rsltlist/row" class="datagrid2" colsep="^" colwidth="25, 60, 150, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60" dataheight="23" frozencols="10" rowheader="seq" rowheight="23" rowsep="|" selectionmode="free" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:97px; width:1194px; height:235px; ">
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- if (isDataCell()){
- //fGetMatrInfo();
- }
- ]]>
- </script>
- </datagrid>
- <caption id="caption30" class="tit_2" style="left:145px; top:77px; width:127px; height:13px; ">QC물질 검사정보</caption>
- <line id="line7" class="line_1" style="x1:0px; y1:92px; x2:1194px; y2:92px; "/>
- <caption id="caption31" class="tit_2" style="left:0px; top:339px; width:125px; height:13px; ">QC물질별 그래프</caption>
- <line id="line8" class="line_1" style="x1:0px; y1:356px; x2:1194px; y2:356px; "/>
- <line id="line9" class="line_3" style="x1:0px; y1:735px; x2:1194px; y2:735px; "/>
- <select1 id="radio1" ref="/root/hidden/gref/grapegbn" visibility="hidden" appearance="full" cols="3" overflow="visible" style="left:135px; top:338px; width:400px; height:13px; border-style:none; ">
- <choices>
- <item>
- <label>정규화그래프</label>
- <value>1</value>
- </item>
- <item>
- <label>실측값 그래프 Mean/SD</label>
- <value>3</value>
- </item>
- <item>
- <label>실측값그래프 Low/High</label>
- <value>2</value>
- </item>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- //clearTChart(object1); //챠트 초기화
- if(radio1.value == 1){
- model.toggle("case1");
- }else{
- model.toggle("case2");
- clearTChart(object2); //챠트 초기화
- }
- ]]>
- </script>
- </select1>
- <button id="btn_grp" class="btn2_letter7" style="left:136px; top:335px; width:97px; height:19px; ">
- <caption>Control 그래프</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.setValue("/root/hidden/gref/grapegbn","1");
- clearTChart(object1); //챠트 초기화
- model.toggle("case1");
- var count = model.getXPathValue('count(/root/main/rsltlist/row[chk="true"])'); //선택된 항목의 갯수
- if(count == 0){
- alert("그래프를 작성할 항목을 선택하세요");
- return;
- }else{
- var grapflag = model.getValue("/root/hidden/gref/grapegbn");
- var Obj_Chart = object1;
- /*if ( grapflag == 1 ){
- Obj_Chart = object1;
- }else{
- Obj_Chart = object2;
- }
-
- Obj_Chart.Axis.RemoveAllCustom();
- Obj_Chart.Axis.Left.StartPosition = 0;*/
-
- //clearTChart(object2); //챠트 초기화
-
- //if(grapflag == 1){
- fInitChartRegl(grapflag);
- /*}else{
- var grapflag = model.getValue("/root/hidden/gref/grapegbn");
- fInitChart(grapflag);
- }*/
- }
- ]]>
- </script>
- </button>
- <group id="group4" style="left:0px; top:10px; width:1195px; height:61px; ">
- <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1195px; height:61px; "/>
- <input id="input7" ref="/root/hidden/ref/acpttodd" class="input_search" inputtype="date" style="left:215px; top:9px; width:90px; height:19px; "/>
- <button id="button4" class="icon_search" visibility="visible" style="left:1015px; top:35px; width:16px; height:16px; background-image:../../../com/commonweb/images/icon_search.gif; ">
- <caption/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fTestLevlSch(); //레벨조회 팝업 뜨지롱
- ]]>
- </script>
- </button>
- <caption id="caption2" class="search_name" style="left:590px; top:10px; width:94px; height:17px; ">접수구분 :</caption>
- <select1 id="combo1" ref="/root/hidden/ref/acptflag" class="combo_search" appearance="minimal" style="left:695px; top:10px; width:140px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/LB0704">
- <label ref="nm"/>
- <value ref="cd"/>
- </itemset>
- </choices>
- </select1>
- <caption id="caption20" class="search_name" style="left:315px; top:10px; width:94px; height:17px; ">검 사 실 :</caption>
- <caption id="caption21" class="search_name" style="left:15px; top:35px; width:94px; height:17px; ">장비 :</caption>
- <select1 id="combo2" ref="/root/hidden/ref/testroom" class="combo_search" appearance="minimal" style="left:420px; top:8px; width:140px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/LB0111">
- <label ref="nm"/>
- <value ref="cd"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-select">
- <![CDATA[
- fSetEqmtCd(); //검사실에 대한 장비 조회
- ]]>
- </script>
- </select1>
- <select1 id="combo3" ref="/root/hidden/ref/eqmtcd" class="combo_search" appearance="minimal" style="left:105px; top:35px; width:90px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/LB0701">
- <label ref="nm"/>
- <value ref="cd"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- fSetTestCd2();
- ]]>
- </script>
- </select1>
- <caption id="caption14" class="search_name" style="left:590px; top:35px; width:105px; height:17px; ">Standard :</caption>
- <caption id="caption15" class="search_no_b" style="left:199px; top:9px; width:15px; height:17px; vertical-align:middle; ">~</caption>
- <caption id="caption17" class="search_name" style="left:15px; top:9px; width:94px; height:17px; ">접수일자 :</caption>
- <caption id="caption19" class="search_name" style="left:225px; top:36px; width:94px; height:17px; ">검사항목 :</caption>
- <input id="input6" ref="/root/hidden/ref/acptfromdd" class="input_search" inputtype="date" style="left:105px; top:8px; width:90px; height:19px; "/>
- <output id="ipt_levl" ref="/root/hidden/ref/levllist/levlnm" class="output_fix" appearance="minimal" style="left:695px; top:35px; width:310px; height:19px; "/>
- <button id="button1" class="btn1_letter2" style="left:1119px; top:34px; width:56px; height:22px; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- fClearChart();//차트 초기화
- fGetGrapeRsltList();
- ]]>
- </script>
- </button>
- <line id="line2" class="line_4" style="x1:1109px; y1:35px; x2:1109px; y2:57px; "/>
- <select1 id="combo4" ref="/root/hidden/ref/divgrupcd" class="combo_search" appearance="minimal" style="left:317px; top:35px; width:100px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/LB0116">
- <label ref="nm"/>
- <value ref="cd"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- model.removeNodeset("/root/hidden/ref/testlist/testnm");
- model.removeNodeset("/root/hidden/ref/levllist/levlnm");
- fTestListSch();
- ]]>
- </script>
- </select1>
- <output id="output7" ref="/root/hidden/ref/testnm" class="output_fix" visibility="visible" appearance="minimal" style="left:420px; top:35px; width:140px; height:19px; "/>
- <button id="button9" class="icon_search" visibility="visible" style="left:565px; top:35px; width:16px; height:16px; background-image:../../../com/commonweb/images/icon_search.gif; ">
- <caption/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fTestListSch(); //레벨조회 팝업 뜨지롱
- ]]>
- </script>
- </button>
- </group>
- <switch id="switch1" style="left:0px; top:360px; width:1195px; height:372px; ">
- <case id="case1" selected="true">
- <object id="object1" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" style="left:0px; top:0px; width:1193px; height:369px; "/>
- </case>
- <case id="case2">
- <object id="object2" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" style="left:0px; top:0px; width:1193px; height:369px; "/>
- </case>
- <case id="case3">
- <object id="object3" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" style="left:360px; top:0px; width:440px; height:369px; "/>
- </case>
- </switch>
- <button id="button3" class="btn4_letter3" visibility="hidden" style="left:1115px; top:15px; width:68px; height:22px; ">
- <caption>테스트</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- alert(model.getValue("/root/main/matrinfo/measfactcnts/@test"));
- alert(model.getValue("/root/main/matrinfo/measfactcnts/@test2"));
- ]]>
- </script>
- </button>
- <button id="button6" class="btn2_letter2" style="left:1149px; top:74px; width:42px; height:19px; ">
- <caption>엑셀</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var fileName = window.fileDialog("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
- if (fileName != ""){
- datagrid1.saveExcel(fileName);
- }
- ]]>
- </script>
- </button>
- <button id="button5" class="btn2_letter5" style="left:235px; top:335px; width:75px; height:19px; ">
- <caption>Std 그래프</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.setValue("/root/hidden/gref/grapegbn","2");
- //clearTChart(object2); //챠트 초기화
- model.toggle("case2");
- var count = 0;
- var ref = "";
- for(i = vLength; i < datagrid1.cols; i++){
- if(datagrid1.fixedcellischeck(0, i) == true){
- count += 1;
- ref += i + "▦";
- }
- }
-
- if(count == 0){
- alert("그래프를 작성할 항목을 선택하세요");
- return;
- }else{
- fMakeStdGrp(count, ref);
- }
- ]]>
- </script>
- </button>
- <button id="button7" class="btn2_letter6" style="left:389px; top:335px; width:86px; height:19px; ">
- <caption>그래프초기화</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fClearChart();
- for(i = vLength; i <datagrid1.cols; i++){
- //datagrid1.fixedcellcheckbox(0, i) = true;
- datagrid1.fixedcellischeck(0, i) = false;
- }
- for(i = 1; i <datagrid1.rows; i++){
- //datagrid1.fixedcellcheckbox(0, i) = true;
- datagrid1.valueMatrix(i, 1) = false;
- }
- //datagrid1.rebuild();
- ]]>
- </script>
- </button>
- <button id="btn_grprnt" class="btn2_letter2" style="left:1072px; top:335px; width:42px; height:19px; ">
- <caption>출력</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if(model.getValue("/root/hidden/gref/grapegbn") == 1){
- Obj_Chart = object1;
- }else if(model.getValue("/root/hidden/gref/grapegbn") == 2){
- Obj_Chart = object2;
- }else if (model.getValue("/root/hidden/gref/grapegbn") == 3){
- Obj_Chart = object3;
- }
- Obj_Chart.Printer.MarginLeft = 5 //여백
- Obj_Chart.Printer.MarginBottom = 25
- Obj_Chart.Printer.MarginRight = 5
- Obj_Chart.Printer.MarginTop = 25
- Obj_Chart.Printer.ShowPreview(); //미리보기
- ]]>
- </script>
- </button>
- <button id="button8" class="btn2_letter5" style="left:312px; top:335px; width:75px; height:19px; ">
- <caption>표준곡선</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.setValue("/root/hidden/gref/grapegbn","3");
- fClearChart(object3);
- model.toggle("case3");
- var count = 0;
- var ref = "";
- for(i = vLength; i < datagrid1.cols; i++){
- if(datagrid1.fixedcellischeck(0, i) == true){
- count += 1;
- ref += i + "▦";
- }
- }
-
- if(count == 0){
- alert("그래프를 작성할 항목을 선택하세요");
- return;
- }else if(count != 1){
- alert("하나의 항목만 선택하세요");
- for(i = vLength; i <datagrid1.cols; i++){
- //datagrid1.fixedcellcheckbox(0, i) = true;
- datagrid1.fixedcellischeck(0, i) = false;
- }
- return;
- }
- fMakeCurveGrp(count, ref); //표준곡선 그래프 작성
- ]]>
- </script>
- </button>
- <button id="button11" class="btn5_letter5" style="left:1116px; top:335px; width:81px; height:19px; ">
- <caption>그래프저장</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- //alert(model.getValue("/root/hidden/gref/grapegbn"));
- var Obj_Chart;
- if(model.getValue("/root/hidden/gref/grapegbn") == 1){
- Obj_Chart = object1;
- }else if (model.getValue("/root/hidden/gref/grapegbn") == 2){
- Obj_Chart = object2;
- }else if (model.getValue("/root/hidden/gref/grapegbn") == 3){
- Obj_Chart = object3;
- }
-
- Obj_Chart.Export.SaveChartDialog();
- ]]>
- </script>
- </button>
- </group>
- </xhtml:body>
- </xhtml:html>
|