1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948 |
- <?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/>
- <signdata/>
- <page/>
- </send>
- <init>
- </init>
- <hidden>
- <ref>
- <acptfromdd/>
- <acpttodd/>
- <testroom>00</testroom>
- <eqmtcd>00</eqmtcd>
- <testnm/>
- <basecdid/>
- <testlist>
- <testnm/>
- <testcd/>
- <testcd2/>
- </testlist>
- <testcdlist/>
- <levllist>
- <levlnm/>
- <levlcd/>
- <levlcd2/>
- </levllist>
- <levlcd/>
- <acptflag>00</acptflag>
- <releqmtyn/>
- </ref>
- <temp>
- <rsltlist/>
- <factcnts>
- <finddata/>
- <matrcd/>
- <testcd/>
- <levlcd/>
- <measfactcnts/>
- <measfactcd/>
- <bcno/>
- <acptdt/>
- <viewrslt/>
- <cnfmdt/>
- <testnm/>
- <levlnm/>
- <userid/>
- <signdt/>
- <signnm/>
- <wgmrmark/>
- </factcnts>
- <toddlist>
- <matrkindcd/>
- <toddlist/>
- <fromddlist/>
- </toddlist>
- <page>
- <page/>
- </page>
- </temp>
- <gref>
- <grapegbn>1</grapegbn>
- <img/>
- <factcnts/>
- <testinfo/>
- <yn/>
- <cnfmlist/>
- </gref>
- <param>
- <cnfmfromdd/>
- <cnfmtodd/>
- <userflag/>
- <eqmtcd/>
- <testcdlist/>
- <testnmlist/>
- <levlcdlist/>
- <levlnmlist/>
- <matrcdlist/>
- <lotnolist/>
- <viewtestnmlist/>
- <viewlevlnmlist/>
- </param>
- </hidden>
- <send2>
- <eqmtcd/>
- <testcdlist/>
- <levlcdlist/>
- <fromdd/>
- <todd/>
- <refflag>1</refflag>
- </send2>
- </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"/>
- <script type="javascript" src="../../../emr/carecomweb/js/ENRSignEngine.js"/>
- <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/LB0111"/>
- <submission id="TRLQP00201" 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="TRLQP00205" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" add="bottom" resultref="/root/hidden/temp/factcnts"/>
- <submission id="TXLQP00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
- <submission id="TXLRR00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/signdata"/>
- <submission id="TXLQP00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
- <submission id="TRLQP90401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send2" replace="instance" resultref="/root/hidden/gref/cnfmlist"/>
- </model>
- <script type="javascript">
- <![CDATA[
- var vCol = 16; //시작컬럼에 대한 Index
-
-
- function fSetinit(){
- var fromdate = getCurrentDate().toDate("YYYYMMDD").getAddDate(-30)
-
- 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|"); //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");
-
- model.refresh();
- //createTChart("object1", 0, 5, 1184, 360, case1); //그래프 object 생성
- //createTChart("object2", 10, 5, 1150, 360, case1);
- //createTChart("object3", 10, 5, 1150, 360, case1);
- //fInitChart();
- }
-
- function fGetMatrInfo(){
- // alert("^^");
-
- var rslt = datagrid1.valueMatrix(datagrid1.row, datagrid1.col);
- // alert(datagrid1.col);
- if(datagrid1.col > (vCol-1) && rslt != ""){ //15번째 컬럼부터 결과 && rslt != "" 일단제외 //이재오 막다
- // alert("^^");
- 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();
-
- }
-
- 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"); //사용자부서코드
- var sflag = "nu" + "▦" + eqmtcd + "▦" + deptflag;
- setParameter("opener_parameter_id", sflag);
- modal("SPLQP00100", "", "", "", "", "", "");
-
- var testcd = model.getValue("/root/hidden/ref/testlist/testcd");
- /* 10개 항목 제한 풀기
- if(testcd.split("▦").length > 10){
- alert("최대조회 항목 수는 10개입니다\n검사항목을 다시 선택하세요!!");
- fTestListSch();
- }*/
-
- model.setValue("/root/hidden/ref/testnm", model.getValue("/root/hidden/ref/testlist/testnm")); //검사명
- //model.setValue("/root/send/testcd", model.getValue("/root/hidden/ref/testlist/testcd")); //검사코드를 받아와서 셋팅~
- //model.setValue("/root/hidden/ref/testcdlist", "'" + model.getValue("/root/hidden/ref/testlist/testcd2") + "'");
- model.refresh();
-
- }
-
- //검사항목별 레벨 조회 팝업
- function fTestLevlSch(){
- var eqmtcd = model.getValue("/root/send/eqmtcd"); //장비코드
- var deptflag = model.getValue("/root/init/LB0000/nm"); //사용자부서코드
- var sflag = "nu" + "▦" + eqmtcd + "▦" + deptflag;
- 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();
-
- }
-
- //결과 그리드 컬럼 초기화
- function fSetGrdInit(){
-
- model.resetInstanceNode("/root/main/rsltlist/row");
-
- var cols = datagrid1.cols-datagrid1.fixedCols;
- var rows = datagrid1.rows-datagrid1.fixedRows;
- // alert(datagrid1.cols);
- // alert(datagrid1.fixedCols);
- // 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.refresh();
- }
-
- function fGetGrapeRsltList(){
-
- datagrid2.clearStatus(); //조치사항 그리드 초기화
- model.resetInstanceNode("/root/hidden/temp/factcnts"); //조치사항 초기화
- fSetGrdInit();// 그리드 컬럼 초기화
-
- 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("레벨을", "C002","");
- return;
- }
-
- model.copyNode("/root/send/data1", "/root/hidden/ref");
- model.setValue("/root/send/deptflag", model.getValue("/root/init/LB0000/nm"));
- model.setValue("/root/send/page" , "1");
-
- if(submit("TRLQP00201", false)){
- //조치사항이 미칠듯이 많아 페이징 처리 함
- submit("TRLQP00205", false);
-
- var lastPage = model.getValue("/root/hidden/temp/page/page");
-
- for(page = 2 ; page <= lastPage ; page++){
- model.setValue("/root/send/page", page);
- submit("TRLQP00205", false);
- }
- }
-
-
- //alert(model.getXPathValue('count(/root/hidden/temp/factcnts)'));
- var gridCaption = model.getValue("/root/hidden/temp/rsltlist/header/caption");
-
- // debugger;
- // alert(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; //chk
- }else if( i == 2){ //장비코드
- datagrid1.colWidth(i) = 30;
- }else if( i == vCol-11){ //검사항목
- datagrid1.colWidth(i) = 120;
- }else if( i < vCol){ //결과 전까지는 60
- datagrid1.colWidth(i) = 60;
- }else{
- datagrid1.colWidth(i) = 75;
- }
- }
- datagrid1.caption = gridCaption;
-
- datagrid1.fixedcellcheckbox(0,1)=true; //전체선택기능 추가
-
- var node = instance1.selectSingleNode("/root/main");
- // alert(instance1.root.hidden.temp.rsltlist.nodeValue);
- node.replaceChild(instance1.root.hidden.temp.rsltlist, instance1.root.main.rsltlist);
-
- datagrid1.rowheight(0) = 30;
- datagrid1.rebuild();
- //datagrid1.colHidden(1) = true; //체크
- //* 이재오 막다
- // alert(vCol);
- datagrid1.colHidden(vCol-3) = true; //검사코드
- datagrid1.colHidden(vCol-2) = true; //레벨코드 //검사
- datagrid1.colHidden(vCol-1) = true; //물질코드 //레벨
- // datagrid1.colHidden(vCol) = true; //물질코드
- /*/
- //WGMR 에 걸린 결과값 색 변경
- for(i = 1; i < datagrid1.rows; i++){
- for(j = vCol; 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 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 = vCol; i < datagrid1.cols; i++){ //14번째 컬럼부터 column0~ 시작
- var x = datagrid1.valueMatrix(chkrow, i); //결과값
- if(x != ""){
- vEnd += 1; //결과 값이 있다면 1씩 더해
- }
- }
- }else{
- var vEnd = datagrid1.cols - (vCol+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 = 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 = false; //헤더 타이틀 보이지 않기
- Obj_Chart.Axis.Left.Labels.Style = 2;
- Obj_Chart.Axis.Right.Labels.Style = 1;
- Obj_Chart.Axis.Bottom.Labels.Style = 0; // 0:auto or value, 1:No, 2 :민 맥스, 3: marks style, 4:text
- Obj_Chart.Axis.Bottom.Labels.Angle = 90; //90도 돌려서 라벨 표시
- Obj_Chart.Axis.Bottom.Labels.Size = 95; //하단 라벨의 사이즈 조치사항 추가하면서 자동으로 늘어나서 추가함
-
- Obj_Chart.Axis.Left.Title.Caption = "Fixed SD";
- Obj_Chart.Axis.Left.Automatic = false;
- Obj_Chart.Axis.Left.Maximum = 3.5;
- Obj_Chart.Axis.Left.Minimum = -3.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(7).Color = 0x000000;
- Obj_Chart.Series(7).asLine.LinePen.Width = 1; //펜 두께
- Obj_Chart.Series(7).asLine.Pointer.Visible = false; //값에 대한 포인터
-
- for(i=0; i <= 7 ; i++){ //라인들에 대한 범례 보이지 않게
- Obj_Chart.Series(i).ShowInLegend = false;
- }
-
- fMakeChartRegl(); //정규화 챠트 그리기
- }
-
- //그래프를 그려보자(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 = vCol; 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 = false;
- //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.Bottom.Labels.Size = 95; //하단 라벨의 사이즈 조치사항 추가하면서 자동으로 늘어나서 추가함
- 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 = vCol; j < datagrid1.cols; j++){ //14번째 컬럼부터 column0~ 시작
- x = datagrid1.valueMatrix(row[i], j);
- if(x != ""){
- if(tmp == 0){
- vStart = j - vCol; //라인의 시작점
- }
- tmp++;
- vEnd = j - vCol; //라인의 끝점
- }
- }//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 = vCol; j < datagrid1.cols; j++){ //14번째 컬럼부터 column0~ 시작
- x = datagrid1.valueMatrix(row[i], j);
- if(x != ""){
- //vEnd += 1; //결과 값이 있다면 1씩 더해
- if(tmp == 0){
- vStart = j - vCol; //라인의 시작점
- }
- tmp++;
- vEnd = j - vCol;
- }
- }
- fMakeLineLH(vAvg, vHigh, vLow, vStart, vEnd);
- }
- }
- }
-
- fMakeChartOrgRslt(row); //L/H 및 Mean/SD 챠트 그리기
-
-
- /* //그래프가 그려질 시리즈 그래프그리는로 옮김
- 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 = 0x6698FF;
- 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).VerticalAxis = 2; //좌표 y축에대한 스타일 2:both??
- Obj_Chart.Series(vCnt).Title = vTitle;
-
- //결과값에 대한 주석 보이기
- Obj_Chart.Series(vCnt).Marks.Visible = false; //요거 true로 해야 아래꺼 보임
- Obj_Chart.Series(vCnt).Marks.Style = 8; //수치값에 대한 값보이기 8아니면 다른수치보임
- Obj_Chart.Series(vCnt).Marks.ArrowLength = 0;
- */
- //fMakeChart(vCnt, 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, vEqmtCd;
- var vTestCd, vMatrCd, vLevlCd, vDate, vFindData, vFact; //조치사항을 찾기 위한 변수들
- 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에 집어넣을놈
- vEqmtCd = model.getValue("/root/main/rsltlist/row["+ row[series] +"]/eqmtcd"); //조회할 장비코드, Title에 집어넣을놈
- vTestCd = model.getValue("/root/main/rsltlist/row["+ row[series] +"]/testcd");
- vMatrCd = model.getValue("/root/main/rsltlist/row["+ row[series] +"]/matrcd");
- vLevlCd = model.getValue("/root/main/rsltlist/row["+ row[series] +"]/levlcd");
- 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 = vEqmtCd + " : " + vTestnm+ "(" + vLotno + ")";
- title = vEqmtCd + " : " + vTestnm+ "(" + vLotno + ")_"+vLevlNm; //보여주지 말게20091019
- //결과값에 대한 주석 보이기
- 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 = vCol; 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);
-
- //=================================
- vDate = cap.replace("-", "").replace("-", "").replace(" ", "").replace(":", "").replace(":", "");
- vFindData = vTestCd+vMatrCd+vLevlCd+vDate;
- vFact = title + " " + cap + " - " +model.getValue("/root/hidden/temp/factcnts[finddata ='" + vFindData + "']/measfactcnts") + "\n";
- //=================================
-
- 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 || model.getValue("/root/hidden/temp/factcnts[finddata ='" + vFindData + "']/measfactcnts") != ""){
- //WGMR포인트 찍어
- Obj_Chart.Series(vCnt+3).AddXY (x-1, y, vFact, 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, vFact, 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, vFact, Obj_Chart.Series(vCnt+1).Color );
- }
-
- }
- }
- //Obj_Chart.Header.Text(0) = title.substr(0, title.length-2); //그래프 타이틀 그냥 보여주지 말자20091019
-
- fMakeLotGrp(); //Lot관리하는 그래프 그려
- }
-
- //정규화 그래프 그리기
- function fMakeChartRegl(){
- var Obj_Chart = object1;
- var vAvg, vSD, v4SDH, v4SDL, v3SDH, v3SDL, v2SDH, v2SDL, v1SDH, v1SDL, y, cap, tmpY, vTitle, vLotNo, vLevlNm, vRslt, vEqmtCd;
- var vTestCd, vMatrCd, vLevlCd, vDate, vFindData, vFact; //조치사항을 찾기 위한 변수들
- 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");
- vEqmtCd = model.getValue("/root/main/rsltlist/row["+ chkrow +"]/eqmtcd");
- vTestCd = model.getValue("/root/main/rsltlist/row["+ chkrow +"]/testcd"); //
- vMatrCd = model.getValue("/root/main/rsltlist/row["+ chkrow +"]/matrcd"); //
- vLevlCd = model.getValue("/root/main/rsltlist/row["+ chkrow +"]/levlcd"); //
- 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 = 1;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.HorizontalSize = 1;
- Obj_Chart.Series(vCnt).Title = vEqmtCd + " : " + vTitle + "(" + vLotNo + ")_"+vLevlNm;
-
- Obj_Chart.Series(vCnt).Clear(); //라인 초기화
-
- fAddPointSeries(); //WGMR, 2SD, 3SD 포인터 시리즈 추가
-
- Obj_Chart.Series(vCnt).Marks.Visible = false;
- Obj_Chart.Series(vCnt+1).Marks.Visible = false;
- Obj_Chart.Series(vCnt+2).Marks.Visible = false;
- Obj_Chart.Series(vCnt+3).Marks.Visible = false;
-
- for(var x = vCol; x < datagrid1.cols; x++ ) {
-
- vRslt = parseFloat(datagrid1.valueMatrix(chkrow, x)); //결과값
- cap = datagrid1.valueMatrix(0, x);
-
- //=================================
- vDate = cap.replace("-", "").replace("-", "").replace(" ", "").replace(":", "").replace(":", "");
- vFindData = vTestCd+vMatrCd+vLevlCd+vDate;
- vFact = vTitle + " " + cap + " - " +model.getValue("/root/hidden/temp/factcnts[finddata ='" + vFindData + "']/measfactcnts") + "\n";
- //=================================
-
- if (!isNaN(vRslt)){
- tmpY = (vRslt - vAvg) / vSD; //y좌표
-
- if(tmpY > 3){
- y = 3.1;
- }else if(tmpY < -3){
- y = -3.1
- }else{
- y = tmpY;
- }
- //결과에대한 그래프 찍기
- Obj_Chart.Series(vCnt).AddXY (xx, y, "", Obj_Chart.Series(vCnt).Color );
-
- if(datagrid1.valueMatrix(chkrow, x).indexOf("W") != -1 || model.getValue("/root/hidden/temp/factcnts[finddata ='" + vFindData + "']/measfactcnts") != ""){
- //WGMR포인트 찍어
- Obj_Chart.Series(vCnt+3).AddXY (xx, y, vFact, Obj_Chart.Series(vCnt+3).Color );
- }else if( y == 3.1 || y == -3.1){
- //3SD
- Obj_Chart.Series(vCnt+2).AddXY (xx, y, vFact, Obj_Chart.Series(vCnt+2).Color );
- }else if(y > 2 || y < -2){
- //2SD
- Obj_Chart.Series(vCnt+1).AddXY (xx, y, vFact, Obj_Chart.Series(vCnt+1).Color );
- }
- Obj_Chart.Series(7).AddXY (xx, -3.5, cap, Obj_Chart.Series(7).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");
- vEqmtCd = model.getValue("/root/main/rsltlist/row["+ i +"]/eqmtcd");
- vTestCd = model.getValue("/root/main/rsltlist/row["+ i +"]/testcd");
- vMatrCd = model.getValue("/root/main/rsltlist/row["+ i +"]/matrcd");
- vLevlCd = model.getValue("/root/main/rsltlist/row["+ i +"]/levlcd");
- 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 = 1;
- Obj_Chart.Series(vCnt).asHorizLine.Pointer.HorizontalSize = 1;
- Obj_Chart.Series(vCnt).Title = vEqmtCd + " : " + vTitle + "(" + vLotNo + ")_"+vLevlNm;
-
- Obj_Chart.Series(vCnt).Clear(); //라인 초기화
-
- fAddPointSeries(); //WGMR, 2SD, 3SD 포인터 시리즈 추가
-
- for(var x = vCol; x < datagrid1.cols; x++ ) {
-
- vRslt = parseFloat(datagrid1.valueMatrix(i, x)); //결과값
- cap = datagrid1.valueMatrix(0, x);
-
- //=================================
- vDate = cap.replace("-", "").replace("-", "").replace(" ", "").replace(":", "").replace(":", "");
- vFindData = vTestCd+vMatrCd+vLevlCd+vDate;
- vFact = vTitle + " " + cap + " - " +model.getValue("/root/hidden/temp/factcnts[finddata ='" + vFindData + "']/measfactcnts") + "\n";
- //=================================
-
- if (!isNaN(vRslt)){
- tmpY = (vRslt - vAvg) / vSD; //y좌표
-
- if(tmpY > 3){
- y = 3.1;
- }else if(tmpY < -3){
- y = -3.1
- }else{
- y = tmpY;
- }
- //결과에대한 그래프 찍기
- Obj_Chart.Series(vCnt).AddXY (x-vCol, y, "", Obj_Chart.Series(vCnt).Color );
-
- if(datagrid1.valueMatrix(i, x).indexOf("W") != -1 || model.getValue("/root/hidden/temp/factcnts[finddata ='" + vFindData + "']/measfactcnts") != ""){
- //WGMR포인트 찍어
- Obj_Chart.Series(vCnt+3).AddXY (x-vCol, y, vFact, Obj_Chart.Series(vCnt+3).Color );
- }else if( y == 3.1 || y == -3.1){
- //3SD
- Obj_Chart.Series(vCnt+2).AddXY (x-vCol, y, vFact, Obj_Chart.Series(vCnt+2).Color );
- }else if(y > 2 || y < -2){
- //2SD
- Obj_Chart.Series(vCnt+1).AddXY (x-vCol, y, vFact, Obj_Chart.Series(vCnt+1).Color );
- }
- }
-
- /* //4SD에서 3SD로 변경 *요구사항
- if (!isNaN(tmpY) && tmpY >= v3SDH) {
- y = 3;
- //}else if(!isNaN(tmpY) && tmpY < v4SDH && tmpY >= v3SDH){
- // y = 3;
- }else if(!isNaN(tmpY) && tmpY < v3SDH && tmpY >= v2SDH){
- y = 2;
- }else if(!isNaN(tmpY) && tmpY < v2SDH && tmpY >= v1SDH){
- y = 1;
- }else if(!isNaN(tmpY) && tmpY < v1SDH && tmpY > v1SDL){
- y = 0;
- }else if(!isNaN(tmpY) && tmpY <= v1SDL && tmpY > v2SDL){
- y = -1;
- }else if(!isNaN(tmpY) && tmpY <= v2SDL && tmpY > v3SDL){
- y = -2;
- //}else if(!isNaN(tmpY) && tmpY <= v3SDL && tmpY > v4SDL){
- // y = -3;
- }else if(!isNaN(tmpY) && tmpY <= v3SDL){
- y = -3;
- }
- if (!isNaN(tmpY)){
- Obj_Chart.Series(vCnt).AddXY (x-14, y, "", Obj_Chart.Series(vCnt).Color );
- }
- */
- Obj_Chart.Series(7).AddXY (x-vCol, -3.5, cap, Obj_Chart.Series(7).Color ); //날짜 보였다 안보였다해서 시리즈 따로 추가함
- }
- }//end if
- }//end for(i)
- }
- fMakeLotGrp(); //Lot관리하는 그래프 그려
- }
-
- //Lot변경관련 그래프
- function fMakeLotGrp(){
-
- var count = model.getXPathValue('count(/root/main/rsltlist/row[chk="true"])');
-
- if(count == 1 || grpChk()){
- var findRow = datagrid1.findRow("true", 1, 1);
- model.makeValue("/root/send/testcd0", model.getValue("/root/main/rsltlist/row["+ findRow +"]/testcd"));
-
- submit("TRLQP00203");
- if(datagrid3.rows == 1){ //조회된 내용이 없을때.. 기준자료 등록되지 않았을때..
- return;
- }
- }else{ //여러항목이 선택되었을때는 그리지 않는다.
- return;
- }
-
- var Obj_Chart;
- if(radio1.value == 1){
- Obj_Chart = object1;
- }else{
- Obj_Chart = object2;
- }
-
- var numVertaxis, numHorizaxis, LotFlag, testDD, toDD, fromDD;
- var Series = Obj_Chart.SeriesCount ; //요놈은 그래프 그릴놈
- var vCount = Obj_Chart.SeriesCount ; //마지막에 결과값 그래프를 제외한 그래프 범례 안보이게 하기 위해
- var toddSeq = 0;
-
- Obj_Chart.Axis.Left.StartPosition = 25;
- numVertaxis= Obj_Chart.Axis.AddCustom(false);
- numHorizaxis = Obj_Chart.Axis.AddCustom(true);
-
- Obj_Chart.Axis.Custom(numVertaxis).Automatic = false;
- Obj_Chart.Axis.Custom(numVertaxis).Maximum = 2;
- Obj_Chart.Axis.Custom(numVertaxis).Minimum = 0;
- Obj_Chart.Axis.Custom(numVertaxis).Increment = 1;
- Obj_Chart.Axis.Custom(numVertaxis).Labels.Style = 2; //1:lot만 2: lot+숫자
-
- Obj_Chart.Axis.Custom(numVertaxis).Title.Angle = 90;
- Obj_Chart.Axis.Custom(numVertaxis).EndPosition = 15;
- Obj_Chart.Axis.Custom(numVertaxis).Title.Caption = "LOT";
-
- Obj_Chart.Axis.Custom(numHorizaxis).PositionPercent = 85;
- Obj_Chart.Axis.Custom(numHorizaxis).Labels.Visible = false;
-
- for(i = 1; i < datagrid3.rows; i++){ //기준자료 관리되는 갯수만큼 물질유형코드(0:REAGENT LOT, 1:CALIBRATOR LOT, 2:CONTROL MATERIAL LOT)
- toDD = datagrid3.valueMatrix(i, 2).split("▦"); //toddlist
- fromDD = datagrid3.valueMatrix(i, 3).split("▦"); //fromddlist
- LotFlag = datagrid3.valueMatrix(i, 1); //matrkindcd
-
- for(j = 0; j <= toDD.length; j++){
- fAddSeries(numVertaxis, numHorizaxis); //조회된 matrkindcd별 todd 갯수에 따라 시리즈 추가한다
- }
-
- //if(radio1.value == 1 && count != 1){//정규화이거나 count가 1이 아닐때 count -> 선택된 갯수
- if(count != 1){ //정규화구분 상관없이 count가 1이아니면
- for(var x = vCol; x < datagrid1.cols; x++ ) {
- testDD = (datagrid1.valueMatrix(0, x)).substr(0, 4) + (datagrid1.valueMatrix(0, x)).substr(5, 2) + (datagrid1.valueMatrix(0, x)).substr(8, 2); //검사일시에서 YYYYMMDD만
- if(parseInt(testDD) >= parseInt(fromDD[toddSeq]) && parseInt(testDD) <= parseInt(toDD[toddSeq])){
- Obj_Chart.Series(Series).AddXY (x-vCol, LotFlag, "", Obj_Chart.Series(Series).Color );
- }else if(parseInt(testDD) < parseInt(fromDD[toddSeq])){
- //검사일시가 시작일자보다 작다면 Null
- Obj_Chart.Series(Series).AddNullXY (x-vCol, LotFlag, "");
- }else if(parseInt(testDD) > parseInt(toDD[toddSeq])){
- //검사일시가 종료일자보다 크다면
- Obj_Chart.Series(Series).AddXY (x-vCol, LotFlag, "", Obj_Chart.Series(Series).Color );
- Obj_Chart.Series(Series+1).AddXY (x-vCol, LotFlag, "", Obj_Chart.Series(Series+1).Color ); //그래프 연결 위함
- toddSeq += 1; //todd[]를 하나 더하고
- Series += 1; //다음 시리즈로 넘어간다
- }else{ //종료일자가 없을때..
- Obj_Chart.Series(Series).AddNullXY (x-vCol, LotFlag, "");
- //Obj_Chart.Series(Series).AddXY (x-14, LotFlag, "", Obj_Chart.Series(Series).Color ); //그냥 그려
- }
- }
- }else{ //실측값이고 count가 1일때
- var xx = 0; //실측값 x좌표
- for(var x = vCol; x <= datagrid1.cols; x++ ) {
- if(datagrid1.valueMatrix(findRow, x) != ""){
-
- testDD = (datagrid1.valueMatrix(0, x)).substr(0, 4) + (datagrid1.valueMatrix(0, x)).substr(5, 2) + (datagrid1.valueMatrix(0, x)).substr(8, 2); //검사일시에서 YYYYMMDD만
- if(parseInt(testDD) >= parseInt(fromDD[toddSeq]) && parseInt(testDD) <= parseInt(toDD[toddSeq])){
- Obj_Chart.Series(Series).AddXY (xx, LotFlag, "", Obj_Chart.Series(Series).Color );
- xx += 1; //값이 있으면 xx좌표 +1
- }else if(parseInt(testDD) < parseInt(fromDD[toddSeq])){
- //검사일시가 시작일자보다 작다면 Null
- Obj_Chart.Series(Series).AddNullXY (xx, LotFlag, "");
- xx += 1;
- }else if(parseInt(testDD) > parseInt(toDD[toddSeq])){
- //검사일시가 종료일자보다 크다면
- Obj_Chart.Series(Series).AddXY (xx, LotFlag, "", Obj_Chart.Series(Series).Color );
- Obj_Chart.Series(Series+1).AddXY (xx, LotFlag, "", Obj_Chart.Series(Series+1).Color ); //그래프 연결 위함
- toddSeq += 1; //todd[]를 하나 더하고
- Series += 1; //다음 시리즈로 넘어간다
- xx += 1; //값이 있으면 xx좌표 +1
- }else{
- Obj_Chart.Series(Series).AddNullXY (xx, LotFlag, "");
- //Obj_Chart.Series(Series).AddXY (xx, LotFlag, "", Obj_Chart.Series(Series).Color ); //그냥 그려
- xx += 1;
- }
- }
- }
- }
-
- toddSeq = 0; //다음 matrkindcd 의 todd[0]을 비교하기 위함
- Series += 1; //종료일자는 99991231이기 때문에 else문 안타서 하나 더해줌
- }
- /*fAddSeries(numVertaxis, numHorizaxis); //마지막 그래프가 그래프 상단 라인과 겹쳐지는 현상때문에 그래프 하나 더 추가 -_-
- Obj_Chart.Series(Series).AddXY (0, parseInt(LotFlag)+1, "", 0x000000 ); //y+1 에 포인트 하나 찍기
-
- fAddSeries(numVertaxis, numHorizaxis); //첫번째 그래프가 그래프 하단 라인과 겹쳐지는 현상때문에 그래프 하나 더 추가 -_-
- Obj_Chart.Series(Series+1).AddXY (0, -1, "", 0x000000 ); //-1 에 포인트 하나 찍기
- */
-
- Obj_Chart.Axis.Custom(numVertaxis).Labels.Add (0, "Rea");
- Obj_Chart.Axis.Custom(numVertaxis).Labels.Add (1, "Cal");
-
- //요거는 그래프 시작과 끝점쪽에 기본적으로 마진이 있어 sd그래프와 lot그래프간 살짝 안맞는 문제가 있는데 고놈 해결하기 위함
- for(icnt = 0; icnt < Obj_Chart.SeriesCount ; icnt++){
- if(Obj_Chart.Series(icnt).SeriesType == 0 ){
- Obj_Chart.Series(icnt).asLine.Pointer.InflateMargins = false;
- }else if(Obj_Chart.Series(icnt).SeriesType == 37){
- Obj_Chart.Series(icnt).asHorizLine.Pointer.InflateMargins = false;
- }else{
- Obj_Chart.Series(icnt).asPoint.Pointer.InflateMargins = false;
- }
- }
- }
-
- //Lot기준자료 관련 그래프 시리즈 추가
- function fAddSeries(numVertaxis, numHorizaxis){
- var Rnd1, Rnd2, Rnd3, cColor
- var Obj_Chart;
-
- if(radio1.value == 1){
- Obj_Chart = object1;
- }else{
- Obj_Chart = object2;
- }
- var idx = Obj_Chart.SeriesCount ;
-
- //시리즈별 컬러
- 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(0);
- Obj_Chart.Series(idx).Color = cColor;
- Obj_Chart.Series(idx).asLine.LinePen.Width = 10;
- Obj_Chart.Series(idx).VerticalAxisCustom = numVertaxis;
- Obj_Chart.Series(idx).HorizontalAxisCustom = numHorizaxis;
- Obj_Chart.Series(idx).Marks.Visible = false;
- Obj_Chart.Series(idx).ShowInLegend = false;
-
- }
-
- //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).Cursor =2020;
- 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).Cursor =2020;
- 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).Cursor =2020;
- 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;
-
- }
-
- //Lot그래프 그리기 위해 체크된 검사항목 확인 (여러항목 중복 선택되어있어도 같은 검사항목이면 그래프 그림)
- function grpChk(){
-
- var row = datagrid1.findRow("true", 1, 1);
- var testcd = model.getValue("/root/main/rsltlist/row["+ row +"]/testcd");
-
- for(i = row; i < datagrid1.rows; i++){
- if( model.getValue("/root/main/rsltlist/row["+ i +"]/chk") == "true"){
- if(testcd != model.getValue("/root/main/rsltlist/row["+ i +"]/testcd")){
- return false;
- }
- }
- }
- return true;
- }
-
- //소견세팅
- 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 fSignPross(){
- /*if(model.getXPathValue('count(/root/main/rsltlist/row[chk="true"])') == 0){
- alert("인증 대상 항목을 선택하세요");
- return;
- }*/
- if(messageBox("", "Q004")==6){
- if(model.getXPathValue('count(/root/main/rsltlist/row[chk="true"])') == 0){
- messageBox("인증 대상 항목을", "C002");
- return;
- }
- }else{
- return;
- }
- if(Sign.signprocess()){
- /*var signno = 0;
- var recsaveflag = "N";
-
- model.makeValue("/root/send/signno" , signno); //서명번호
- model.makeValue("/root/send/cretno" , "1");
-
- //model.makeNode("/root/send/signdata");
- model.makeValue("/root/send/signdata/pid" , "QC"); //등록번호
- model.makeValue("/root/send/signdata/orddd" , getCurrentDate()); //입원, 응급 : 입원일자, 외래 : 진료일자
- model.makeValue("/root/send/signdata/signno" , signno);
-
- model.makeValue("/root/send/signdata/cretno" , "1"); //생성번호
- model.makeValue("/root/send/signdata/recdd" , getCurrentDate()); //실제기록이 이루어진 기록일자
- model.makeValue("/root/send/signdata/rectm" , getCurrentTime()); //실제기록이 이루어진 기록시간
- model.makeValue("/root/send/signdata/recsaveflag" , recsaveflag); //전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- model.makeValue("/root/send/signdata/signflag" , "02"); //서명자료구분(01 : 진료, 02 : 간호)
- model.makeValue("/root/send/signdata/signgenrflag" , "I"); //입원, 외래구분
- model.makeValue("/root/send/signdata/orddeptcd" , ""); //진료과
- model.makeValue("/root/send/signdata/orddrid" , ""); //진료의ID
- model.makeValue("/root/send/signdata/formcd" , "-"); //서식코드
-
- model.makeValue("/root/send/signdata/signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보), 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- model.makeValue("/root/send/signdata/signaftcnts" , Sign.signedInfos[2]); //공인인증 처리후 데이터
- }else{
- alert("인증실패");
- return false;
- }
- if(submit("TXLRR00401")){
- // 인증 끝
-
- //인증됐으면 인증번호 ★ ★ ★
- model.setValue("/root/send/signno", model.getValue("/root/signdata/signno"));
- alert("인증완료!!");
- //update*/
- var vEqmtcd = "";
- var vTestcd = "";
- var vLevlcd = "";
- var vMatrcd = "";
-
- for(i = 1; i <= datagrid1.rows; i++){
- if(model.getValue("/root/main/rsltlist/row[" + i +"]/chk") == "true"){
- vEqmtcd += model.getValue("/root/main/rsltlist/row[" + i +"]/eqmtcd") + "▦";
- vTestcd += model.getValue("/root/main/rsltlist/row[" + i +"]/testcd") + "▦";
- vLevlcd += model.getValue("/root/main/rsltlist/row[" + i +"]/levlcd") + "▦";
- vMatrcd += model.getValue("/root/main/rsltlist/row[" + i +"]/matrcd") + "▦";
- }
- }
- model.makeValue("/root/send/signeqmtlist", vEqmtcd);
- model.makeValue("/root/send/signtestlist", vTestcd);
- model.makeValue("/root/send/signlevllist", vLevlcd);
- model.makeValue("/root/send/signmatrlist", vMatrcd);
-
- if(submit("TXLQP00202")){
- alert("인증완료!!");
- }
- }else{
- alert("인증실패");
- }
- }
-
- function fMake_SignData(){
- model.removeNodeset("/root/hidden/signdata"); //인증저장 정보 초기화
- model.makeNode("/root/hidden/signdata/signlist");
- //model.makeNode("/root/hidden/signdata/dnortestlist");
-
- copyNodeListType("/root/hidden/signdata/signlist" , "/root/main/rsltlist/row[chk = 'true']");
- //copyNodeListType("/root/hidden/signdata/dnortestlist" , "/root/main/dnor/dnortestlist"); //공여자검사결과
-
- Sign.addnode("/root/hidden/signdata"); //인증저장 정보 공여자정보+공여자검사결과
- }
-
- function fCnfm(pRef){
-
- if(model.getXPathValue('count(/root/main/rsltlist/row[chk="true"])') == 0){
- messageBox("확인 대상 항목을", "C002");
- return;
- }
-
- var strTestcd = "";
- var strLevlcd = "";
- var testcdlist = "";
- var testnmlist = "";
- var levlcdlist = "";
- var levlnmlist = "";
- var matrcdlist = "";
- var lotnolist = "";
- var viewtestnmlist = "";
- var viewlevlnmlist = "";
-
- for(i = 1; i < datagrid1.rows; i++){
- if( model.getValue("/root/main/rsltlist/row["+ i +"]/chk") == "true"
- && (model.getValue("/root/main/rsltlist/row["+ i +"]/testcd") != strTestcd || model.getValue("/root/main/rsltlist/row["+ i +"]/levlcd") != strLevlcd)){
-
- testcdlist += "▦" + model.getValue("/root/main/rsltlist/row["+ i +"]/testcd");
- testnmlist += "▦" + model.getValue("/root/main/rsltlist/row["+ i +"]/testnm");
- levlcdlist += "▦" + model.getValue("/root/main/rsltlist/row["+ i +"]/levlcd");
- levlnmlist += "▦" + model.getValue("/root/main/rsltlist/row["+ i +"]/levlnm");
- matrcdlist += "▦" + model.getValue("/root/main/rsltlist/row["+ i +"]/matrcd");
- lotnolist += "▦" + model.getValue("/root/main/rsltlist/row["+ i +"]/lotno");
-
- viewtestnmlist += "," + model.getValue("/root/main/rsltlist/row["+ i +"]/testnm") + "(" + model.getValue("/root/main/rsltlist/row["+ i +"]/levlnm") + ")";
-
- strTestcd = model.getValue("/root/main/rsltlist/row["+ i +"]/testcd");
- strLevlcd = model.getValue("/root/main/rsltlist/row["+ i +"]/levlcd")
- }
- }
-
- if(pRef != "P"){ //pRef = "" :확인내역조회, 1 : UM확인, 2 : 팀장확인, 3: 전문의 확인, P : 그래프출력
- model.setValue("/root/hidden/param/userflag" , pRef);
- model.setValue("/root/hidden/param/cnfmtodd" , model.getValue("/root/hidden/ref/acpttodd"));
- model.setValue("/root/hidden/param/cnfmfromdd" , model.getValue("/root/hidden/ref/acptfromdd"));
- model.setValue("/root/hidden/param/eqmtcd" , model.getValue("/root/hidden/ref/eqmtcd"));
- model.setValue("/root/hidden/param/testcdlist" , testcdlist.substring(1, testcdlist.length));
- model.setValue("/root/hidden/param/testnmlist" , testnmlist.substring(1, testnmlist.length));
- model.setValue("/root/hidden/param/levlcdlist" , levlcdlist.substring(1, levlcdlist.length));
- model.setValue("/root/hidden/param/levlnmlist" , levlnmlist.substring(1, levlnmlist.length));
- model.setValue("/root/hidden/param/matrcdlist" , matrcdlist.substring(1, matrcdlist.length));
- model.setValue("/root/hidden/param/lotnolist" , lotnolist.substring(1, lotnolist.length));
- model.setValue("/root/hidden/param/viewtestnmlist" , viewtestnmlist.substring(1, viewtestnmlist.length));
- model.setValue("/root/hidden/param/viewlevlnmlist" , viewlevlnmlist.substring(1, viewlevlnmlist.length));
-
- modal("SPLQP00400","","","","","/root/hidden/param","/root/hidden/param");
-
- }else{
- //출력물에 필요한 cnfm list
- model.setValue("/root/send2/eqmtcd" , model.getValue("/root/hidden/ref/eqmtcd"));
- model.setValue("/root/send2/testcdlist" , testcdlist.substring(1, testcdlist.length));
- model.setValue("/root/send2/levlcdlist" , levlcdlist.substring(1, levlcdlist.length));
- model.setValue("/root/send2/fromdd" , model.getValue("/root/hidden/ref/acptfromdd"));
- model.setValue("/root/send2/todd" , model.getValue("/root/hidden/ref/acpttodd"));
-
- submit("TRLQP90401");
- }
- }
-
- ]]>
- </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" style="left:1069px; top:3px; width:56px; height:22px; ">
- <caption>저장</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- fSetSave();
- ]]>
- </script>
- </button>
- <button id="btn_sighsave" class="btn4_letter4" visibility="hidden" style="left:987px; top:3px; width:80px; height:22px; ">
- <caption>인증저장</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- fSignPross();
- ]]>
- </script>
- </button>
- <button id="button2" class="btn6_letter2" visibility="visible" style="left:0px; top:3px; width:56px; height:22px; ">
- <caption>출력</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if(model.getXPathValue('count(/root/main/rsltlist/row[chk="true"])') == 0){
- alert("출력 대상 항목을 선택하세요");
- return;
- }
-
- var Obj_Chart;
- if(model.getValue("/root/hidden/gref/grapegbn") == 1){
- Obj_Chart = object1;
- }else{
- Obj_Chart = object2;
- }
- Obj_Chart.Tools.Clear();
- Obj_Chart.Export.CopyToClipboardBitmap(); //클립보드로 이미지 넘겨
-
- fCnfm("P"); //UM,팀장, 전문의 확인 내역 출력위해
-
- //검사 정보
- copyNodesetType("/root/hidden/gref/testinfo", "/root/main/rsltlist/row[chk ='true']", "replace");
- //결과 정보
- var vTestcd, vLevlcd;
- var vCnt = 0;
- for(i = 1; i <= datagrid1.rows; i++){
- if(model.getValue("/root/main/rsltlist/row[" + i +"]/chk") == "true"){
- vTestcd = model.getValue("/root/main/rsltlist/row[" + i +"]/testcd");
- vLevlcd = model.getValue("/root/main/rsltlist/row[" + i +"]/levlcd");
- vCnt += 1;
- if(model.getValue("/root/hidden/gref/yn") == "Y"){
- if(vCnt == 1){
- copyNodesetType("/root/hidden/gref/factcnts", "/root/hidden/temp/factcnts[testcd ='"+vTestcd+"' and levlcd = '"+vLevlcd+"']", "replace");
- }else{
- copyNodesetType("/root/hidden/gref/factcnts", "/root/hidden/temp/factcnts[testcd ='"+vTestcd+"' and levlcd = '"+vLevlcd+"']", "after");
- }
- }else{
- if(vCnt == 1){
- copyNodesetType("/root/hidden/gref/factcnts", "/root/hidden/temp/factcnts[testcd ='"+vTestcd+"' and (wgmrmark = 'W' or measfactcnts != '') and levlcd = '"+vLevlcd+"']", "replace");
- }else{
- copyNodesetType("/root/hidden/gref/factcnts", "/root/hidden/temp/factcnts[testcd ='"+vTestcd+"' and (wgmrmark = 'W' or measfactcnts != '') and levlcd = '"+vLevlcd+"']", "after");
- }
- //alert(model.getXPathValue('count(/root/hidden/gref/factcnts)'));
- }
- }
- }
-
- //이미지를 마지막에 넘김.. 속도 문제때문에 위치 옮김
- model.setValue("/root/hidden/gref/img", window.clipBoardData); //이미지 넘김
-
- //return;
- exeReportPreview("RPLQJ00100", "XMLSTR");
- model.setValue("/root/hidden/gref/img", ""); //이미지 초기화
- model.resetInstanceNode("/root/hidden/gref/factcnts");
- model.resetInstanceNode("/root/hidden/gref/testinfo");
- model.resetInstanceNode("/root/hidden/gref/cnfmlist");
- ]]>
- </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>
- <button id="button5" class="btn4_letter4" style="left:813px; top:3px; width:80px; height:22px; ">
- <caption>UM확인</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- fCnfm(1);
- ]]>
- </script>
- </button>
- <button id="button6" class="btn4_letter4" style="left:894px; top:3px; width:80px; height:22px; ">
- <caption>팀장확인</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- fCnfm(2);
- ]]>
- </script>
- </button>
- <button id="button7" class="btn4_letter5" style="left:975px; top:3px; width:92px; height:22px; ">
- <caption>전문의확인</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- fCnfm(3);
- ]]>
- </script>
- </button>
- <button id="button8" class="btn3_letter6" style="left:707px; top:3px; width:104px; height:22px; ">
- <caption>확인내역조회</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- fCnfm();
- ]]>
- </script>
- </button>
- </group>
- <group id="group2" scroll="auto" style="left:0px; top:40px; width:1195px; height:744px; ">
- <caption id="caption13" class="tit_2" style="left:5px; top:77px; width:125px; height:13px; ">QC물질 상세 정보</caption>
- <line id="line6" class="line_1" style="x1:0px; y1:92px; x2:1194px; y2:92px; "/>
- <caption id="caption23" class="cell_1" style="left:0px; top:97px; width:100px; height:23px; ">QC물질</caption>
- <caption id="caption24" class="cell_1" style="left:261px; top:97px; width:100px; height:23px; ">레벨</caption>
- <caption id="caption25" class="cell_1" style="left:522px; top:97px; width:100px; height:23px; ">LOT NO</caption>
- <caption id="caption26" class="cell_1" style="left:0px; top:121px; width:100px; height:23px; ">제조회사</caption>
- <caption id="caption27" class="cell_1" style="left:261px; top:121px; width:100px; height:23px; ">적용률</caption>
- <caption id="caption28" class="cell_1" style="left:522px; top:121px; width:100px; height:23px; ">룰</caption>
- <caption id="caption29" class="cell_1" style="left:783px; top:97px; width:100px; height:24px; ">조치사항 코드</caption>
- <textarea id="textarea1" ref="/root/main/matrinfo/measfactcnts" style="left:886px; top:123px; 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:100px; width:308px; height:14px; ">
- <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>
- <line id="line5" class="line_2" style="x1:0px; y1:149px; x2:780; y2:149px; "/>
- <output id="output1" ref="/root/main/matrinfo/matrnm" class="output_fix" style="left:103px; top:98px; width:155px; height:19px; "/>
- <output id="output2" ref="/root/main/matrinfo/levlnm" class="output_fix" style="left:364px; top:98px; width:155px; height:19px; "/>
- <output id="output3" ref="/root/main/matrinfo/lotno" class="output_fix" style="left:625px; top:100px; width:155px; height:19px; "/>
- <output id="output4" ref="/root/main/matrinfo/prodcmpy" class="output_fix" style="left:103px; top:122px; width:155px; height:19px; "/>
- <output id="output5" ref="/root/main/matrinfo/wgmrscop" class="output_fix" style="left:364px; top:122px; width:155px; height:19px; "/>
- <output id="output6" ref="/root/main/matrinfo/wgmrstat" class="output_fix" style="left:625px; top:122px; width:155px; height:19px; "/>
- <line id="line1" class="line_3" style="x1:0px; y1:148px; x2:1194px; y2:148px; "/>
- <caption id="caption30" class="tit_2" style="left:5px; top:153px; width:127px; height:13px; ">QC물질 검사정보</caption>
- <line id="line7" class="line_1" style="x1:0px; y1:168px; x2:1194px; y2:168px; "/>
- <datagrid id="datagrid1" nodeset="/root/main/rsltlist/row" class="datagrid2" colsep="^" colwidth="25, 30, 60, 150, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60" dataheight="23" frozencols="12" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" selectionmode="free" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:173px; width:1194px; height:157px; ">
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- if(model.getValue("/root/hidden/ref/releqmtyn") == "Y"){ //연관장비 조회시 물질 상세정보 조회 false
- return;
- }else{
- if (isDataCell()){
- fGetMatrInfo();
- }
- }
- ]]>
- </script>
- </datagrid>
- <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:354px; x2:1194px; y2:354px; "/>
- <line id="line9" class="line_3" style="x1:0px; y1:735px; x2:1194px; y2:735px; "/>
- <select1 id="radio1" ref="/root/hidden/gref/grapegbn" visibility="visible" 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[
-
- if(radio1.value == 1){
- model.toggle("case1");
- clearTChart(object1); //챠트 초기화
- }else{
- model.toggle("case2");
- clearTChart(object2); //챠트 초기화
- }
- ]]>
- </script>
- </select1>
- <button id="btn_grp" class="btn2_letter3" style="left:541px; top:334px; width:53px; height:19px; ">
- <caption>그래프</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- 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;
- if ( grapflag == 1 ){
- Obj_Chart = object1;
- }else{
- Obj_Chart = object2;
- }
- Obj_Chart.Tools.Clear();
- Obj_Chart.Axis.RemoveAllCustom();
- Obj_Chart.Axis.Left.StartPosition = 0;
- clearTChart(object1); //챠트 초기화
- clearTChart(object2); //챠트 초기화
-
- if(grapflag == 1){
- fInitChartRegl(grapflag);
- }else{
- var grapflag = model.getValue("/root/hidden/gref/grapegbn");
- fInitChart(grapflag);
- }
- }
- ]]>
- </script>
- </button>
- <button id="btn_grprnt" class="btn2_letter2" style="left:597px; top:334px; width:42px; height:19px; ">
- <caption>출력</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var Obj_Chart;
- if(model.getValue("/root/hidden/gref/grapegbn") == 1){
- Obj_Chart = object1;
- }else{
- Obj_Chart = object2;
- }
- Obj_Chart.Tools.Clear();
- 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>
- <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:8px; width:90px; height:19px; "/>
- <output id="input8" ref="/root/hidden/ref/testnm" class="output_fix" style="left:105px; top:32px; width:250px; height:19px; "/>
- <input id="input10" class="input_search" visibility="hidden" style="left:835px; top:35px; width:250px; height:19px; "/>
- <button id="button4" class="icon_search" visibility="visible" style="left:712px; top:34px; 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="caption20" class="search_name" style="left:390px; top:9px; width:94px; height:17px; ">검사실 :</caption>
- <img id="img6" class="icon_search" visibility="hidden" style="left:1090px; top:35px; width:16px; height:16px; "/>
- <caption id="caption21" class="search_name" style="left:745px; top:9px; width:94px; height:17px; ">장비 :</caption>
- <caption id="caption22" class="search_name" visibility="hidden" style="left:745px; top:35px; width:94px; height:17px; ">LOT NO :</caption>
- <select1 id="combo2" ref="/root/hidden/ref/testroom" class="combo_search" appearance="minimal" style="left:470px; top:8px; width:200px; 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:835px; top:8px; width:200px; 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[
- fTestListSch();
- ]]>
- </script>
- </select1>
- <caption id="caption14" class="search_name" style="left:390px; top:35px; width:75px; height:17px; ">레 벨 :</caption>
- <caption id="caption15" class="search_no_b" style="left:199px; top:9px; width:15px; height:17px; vertical-align:middle; ">~</caption>
- <select1 id="combo6" ref="/root/init/num" class="combo_search" visibility="hidden" appearance="minimal" style="left:1110px; top:35px; width:70px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/LB0111">
- <label ref="nm"/>
- <value ref="cd"/>
- </itemset>
- </choices>
- </select1>
- <caption id="caption17" class="search_name" style="left:15px; top:9px; width:94px; height:17px; ">접수일자 :</caption>
- <caption id="caption19" class="search_name" style="left:15px; top:33px; 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; "/>
- <button id="btn_testListSch" class="icon_search" style="left:358px; top:34px; width:16px; height:16px; background-image:../../../com/commonweb/images/icon_search.gif; ">
- <caption/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if(model.getValue("/root/hidden/ref/eqmtcd") == "00"){ //장비코드가 전체이면
- messageBox("장비를", "C002","");
- }else{
- fTestListSch(); //장비별 검사항목 팝업 뜨지롱
- }
- ]]>
- </script>
- </button>
- <select1 id="cbo_levlCd" ref="/root/hidden/ref/levllist/levlnm" class="combo_search" visibility="hidden" appearance="minimal" style="left:470px; top:32px; width:240px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/LB0501">
- <label ref="nm"/>
- <value ref="cd"/>
- </itemset>
- </choices>
- </select1>
- <output id="ipt_levl" ref="/root/hidden/ref/levllist/levlnm" class="output_fix" appearance="minimal" style="left:470px; top:32px; width:240px; 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[
- clearTChart(object1); //챠트 초기화
- fGetGrapeRsltList();
- ]]>
- </script>
- </button>
- <line id="line2" class="line_4" style="x1:1109px; y1:35px; x2:1109px; y2:57px; "/>
- <caption id="caption2" class="search_name" style="left:745px; top:34px; width:94px; height:17px; ">접수구분 :</caption>
- <select1 id="combo1" ref="/root/hidden/ref/acptflag" class="combo_search" appearance="minimal" style="left:835px; top:33px; width:200px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/LB0704">
- <label ref="nm"/>
- <value ref="cd"/>
- </itemset>
- </choices>
- </select1>
- <select id="checkbox1" ref="/root/hidden/ref/releqmtyn" visibility="hidden" overflow="visible" appearance="full" style="left:1045px; top:9px; width:15px; height:15px; border-style:none; ">
- <choices>
- <item>
- <label>연관장비조회</label>
- <value>Y</value>
- </item>
- </choices>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- if(model.getValue("/root/hidden/ref/releqmtyn") == "Y"){
- btn_save.disabled = true;
- }else{
- btn_save.disabled = false;
- }
- clearTChart(object1); //차트 초기화
- fSetGrdInit(); //그리드 초기화
- model.refresh();
- ]]>
- </script>
- </select>
- </group>
- <switch id="switch1" style="left:0px; top:360px; width:1190px; height:370px; ">
- <case id="case1" selected="true">
- <object id="object1" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" style="left:0px; top:5px; width:1184px; height:360px; ">
- <![CDATA[-->]]>
- <script type="vbscript" ev:event="OnClickSeries(SeriesIndex, ValueIndex,Button, Shift,X ,Y)">
- <![CDATA[
- 'msgbox SeriesIndex
- 'msgbox ValueIndex
- 'msgbox Button
- 'msgbox Shift
- 'msgbox X
- 'msgbox Y
- object1.Tools.Clear()
- object1.Tools.Add(10)
- object1.Tools.Items(0).asAnnotation.Text = object1.Series(SeriesIndex).PointLabel(ValueIndex)
- ]]>
- </script>
- <script type="javascript" ev:event="OnClickSeries(SeriesIndex,ValueIndex, Button, Shift, X, Y)">
- <![CDATA[
- alert(SeriesIndex);
- ]]>
- </script>
- </object>
- </case>
- <case id="case2">
- <object id="object2" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" style="left:0px; top:5px; width:1184px; height:360px; ">
- <script type="vbscript" ev:event="OnClickSeries(SeriesIndex, ValueIndex,Button, Shift,X ,Y)">
- <![CDATA[
- object2.Tools.Clear()
- object2.Tools.Add(10)
- object2.Tools.Items(0).asAnnotation.Text = object2.Series(SeriesIndex).PointLabel(ValueIndex)
- ]]>
- </script>
- </object>
- </case>
- <case id="case3"/>
- </switch>
- <button id="button3" class="btn4_letter3" visibility="hidden" style="left:1110px; top:145px; 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>
- <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="datagrid3" nodeset="/root/hidden/temp/toddlist" class="datagrid2" visibility="hidden" caption="matrkindcd^ toddlist^fromddlist" colsep="^" colwidth="50, 100, 100" dataheight="23" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:230px; top:173px; width:272px; height:157px; ">
- <col ref="matrkindcd"/>
- <col ref="toddlist"/>
- <col ref="fromddlist"/>
- </datagrid>
- <caption id="caption1" class="cell_1" style="left:783px; top:122px; width:100px; height:24px; ">조치사항</caption>
- <img id="img1" ref="/root/hidden/gref/img" style="left:350px; top:75px; width:145px; height:110px; background-stretch:stretch; "/>
- </group>
- </xhtml:body>
- </xhtml:html>
|