123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*function list
- fCOMLIS_QCJudgLH : 정도관리 L/H 결과 판정
- fCOMLIS_QCJudgWGMR : WGMR룰 적용 판정
- fCOMLIS_CvtRslt : 입력결과 보이는결과로 바꾸기 (결과유형 판별 및 반올림 옵션 적용)
- fCOMLIS_RstRound : 올림, 반올림, 내림 처리(LLZ001과 중복)
- fLisQCBarcodePrint_NewOCX : QC 접수 바코드 출력
- */
- /**
- * @ 정도관리 L/H 판정
- * @ 승현씨 추가
- * @ 2008.06.19
- *
- *===================================================================================
- * pOrgRslt : 판정할 결과값
- * pJudgKind : 판정유형 0:미사용, 1:L/H
- * pRefKind : 참고치유형 0:없음, 1:문자, 2:숫자
- * pRefFlag : 참고치구분 0:사용안함, 1:하한만사용, 2:상한만사용, 3:모두사용
- * pRefL : 참고치 하한값
- * pRefLS : 참고치 상한값
- * pRefH : 참고치하한부등호 0:<, 1:<=
- * pRefHS : 참고치상한부등호 0:>, 1>=
- *===================================================================================
- *
- */
- //L/H판정
- function fCOMLIS_QCJudgLH(pOrgRslt, pJudgKind, pRefKind, pRefFlag, pRefL, pRefLS, pRefH, pRefHS){
- var vJudgmark = "";
- var isLow = true;
- var isHigh = true;
-
- if(pJudgKind =="1"){ //판정유형이 L/H이고
- if(pRefKind == "2"){ //참고치유형이 숫자일때
- if (!String(pOrgRslt).isNumber() && !String(pOrgRslt).isFloat()) { //입력한 결과값이 숫자인지 체크 아니면 ""return
- return vJudgmark;
- }
- if (!String(pRefL).isNumber() && !String(pRefL).isFloat()) { //Low값이 숫자인지 체크
- isLow = false;
- }
- if (!String(pRefH).isNumber() && !String(pRefH).isFloat()) { //High값이 숫자인지 체크
- isHigh = false;
- }
- if(pRefFlag == "3"){ //3이면 상한 하한 모두체크
- if (isLow) { //하한값 체크
- if (pRefLS == "0") { //참고치부등호 0:<, 1:<=
- if (parseFloat(pOrgRslt) < parseFloat(pRefL)) // 결과 <= 참고치 = L
- vJudgmark = "L";
- } else if (pRefLS == "1") {
- if (parseFloat(pOrgRslt) <= parseFloat(pRefL)) // 결과 < 참고치 = L
- vJudgmark = "L";
- }
- }
- if (isHigh) { //상한값 체크
- if (pRefHS == "0") {
- if (parseFloat(pOrgRslt) > parseFloat(pRefH)) // 결과 >= 참고치 = H
- vJudgmark = "H";
- } else if (pRefHS == "1") {
- if (parseFloat(pOrgRslt) >= parseFloat(pRefH)) // 결과 > 참고치 = H
- vJudgmark = "H";
- }
- }
- }else if (pRefFlag == "1"){ //1이면 하한만 체크
- if (isLow) { //하한값 체크
- if (pRefLS == "0") {
- if (parseFloat(pOrgRslt) < parseFloat(pRefL))
- vJudgmark = "L";
- } else if (pRefLS == "1") {
- if (parseFloat(pOrgRslt) <= parseFloat(pRefL))
- vJudgmark = "L";
- }
- }
- }else if (pRefFlag == "2"){ //2이면 상한만 체크
- if (isHigh) { //상한값 체크
- if (pRefHS == "0") {
- if (parseFloat(pOrgRslt) > parseFloat(pRefH))
- vJudgmark = "H";
- } else if (pRefHS == "1") {
- if (parseFloat(pOrgRslt) >= parseFloat(pRefH))
- vJudgmark = "H";
- }
- }
- }
- }//end if(vRefKind == "2")
- }//end if(vJudgKind =="1")
- return vJudgmark;
- }//end function
-
- /**
- * @ 입력결과 보이는결과로 바꾸기 (결과유형 판별 및 반올림 옵션 적용)
- * @ 승현씨 추가
- * @ 2008.06.20
- * @ From LLZ001.js
- *
- *===================================================================================
- * pInptrslt : 판정할 입력 결과값
- * pRsltkind : 결과유형 0:문자+숫자, 1:숫자
- * pLen : 소수점이하 자릿수
- * pType : 반올림옵션 0:사용안함, 1:반올림, 2:올림, 3:내림
- *===================================================================================
- *
- */
- function fCOMLIS_CvtRslt(pInptrslt, pRsltkind, pLen, pType ) {
- var vReptrslt = pInptrslt;
-
- if (vReptrslt != null) {
- // 결과유형 체크
- if (pRsltkind == "1") { //숫자만 가능
- if( !String(vReptrslt).isNumber() && !String(vReptrslt).isFloat()) {
- sysf_messageBox("숫자결과만 입력이 가능합니다." , "I","");
- return "err";
- }
- } else {
- //문자+숫자혼합
- }
- //숫자결과 크기제한
- if (String(vReptrslt).isNumber() || String(vReptrslt).isFloat()) {
- if( String(pLen).isNumber()){
- //실수자리수 크기제한
- if (eval(pLen) > -1) {
- vReptrslt = fCOMLIS_RstRound(vReptrslt, pLen, pType); //반올림 옵션 적용
- }
- }
- }
- }
- return vReptrslt;
- }
- /**
- * @ 올림, 반올림, 내림 처리
- * @ 승현씨 추가
- * @ 2008.06.20
- * @ From LLZ001.js (동일)
- *
- *===================================================================================
- * pRst : 판정할 입력 결과값
- * pLen : 소수점이하 자릿수
- * pType : 반올림옵션 0:사용안함, 1:반올림, 2:올림, 3:내림
- *===================================================================================
- */
- function fCOMLIS_RstRound(pRst, pLen, pType){
- var vNumber = eval(pRst);
- if (pLen == "") return vNumber;
- if (pType == "") return vNumber;
- if (pLen != "0") {
- if (pType == "2") {
- // 올림
- if (eval(pLen) > 0) {
- vNumber = Math.ceil(parseFloat(vNumber) * Math.pow(10, pLen)) / Math.pow(10, pLen);
- } else {
- return "";
- }
- } else if (pType == "1") {
- // 반올림
- if (eval(pLen) > 0) {
- vNumber = Math.round(parseFloat(vNumber) * Math.pow(10, pLen)) / Math.pow(10, pLen);
- } else {
- return "";
- }
- } else if (pType == "3") {
- // 내림
- if (eval(pLen) > 0) {
- } else {
- return "";
- }
- } else {
- return vNumber; //반올림 옵션사용 안할경우에는 결과그대로 리턴..
- }
- ///* 20080710 결과 입력시 음수값 안들어가서 막았음..//setReplaceWord("-", "")//수정 후 다시 푼다20080731
- // 소수자리보다 작은경우 0으로 채운다..
- var vTmpArray = eval(vNumber).toString().split("."); //eval(vNumber).toString().setReplaceWord("-", "").split(".");
- if(vTmpArray.length == 2 ) {
- vNumber = vTmpArray[0].toString() + "." + (vTmpArray[1].toString() + "0000000000").substring(0, eval(pLen));
- } else {
- vNumber = vTmpArray[0].toString() + "." + "0000000000".substring(0, eval(pLen));
- }//*/
- } else if (pLen == "0") {
- if (pType == "1") {
- // 올림
- vNumber = Math.ceil(parseFloat(vNumber));
- } else if (pType == "2") {
- // 반올림
- vNumber = Math.round(parseFloat(vNumber));
- } else if (pType == "3") {
- // 내림
- }
- // 소수자리가 0인경우 정수부분만 취한다.
- vNumber = vNumber.toString().getTruncate()
- }
- return vNumber;
- }
- /**
- * @ 정도관리 WGMR판정
- * @ 승현씨 추가
- * @ 2008.06.20
- *
- *===================================================================================
- * pOrgRslt : 판정할 결과값(입력결과값)
- * pWgmr : WGMR상태 ex) YYNNNN
- * pAvg : 평균
- * pSdVal : 표준편차
- * pBfRslt : 이전결과
- * pBfRslt2~10 : 이전결과 최근2~10 R4S, 4(1S), 10X 판정때 필요
- *===================================================================================
- *
- //판정시 결과 허용치 변경 포함(<=) 에서 허용(<)로 승현 수정 20090929
- */
- function fCOMLIS_QCJudgWGMR(pOrgRslt, pWgmrScop, pAvg, pSdVal, pWgmrValue, pWrFlagValue, pBfOrgRslt, pTclsBfOrgRslt){
- var vWGMRMark = "";
- var vWGMRMarkTcls = "";
-
- var vOrgRslt = parseFloat(pOrgRslt);
- var vAvg = parseFloat(pAvg);
- var vSdVal = parseFloat(pSdVal);
- var vWgmrValue = new Array();
- var vWrFlagValue = new Array();
- var vBfRslt = new Array();
- var vTclsBfRslt = new Array();
- var vWGMRMark01 = "";
- var vWGMRMark02 = "";
- var vWGMRMark03 = "";
- var vWGMRMark04 = "";
- var vWGMRMark05 = "";
- var vWGMRMark06 = "";
- var vWGMRMark07 = "";
-
- var vWGMRMarkTcls01 = "";
- var vWGMRMarkTcls02 = "";
- var vWGMRMarkTcls03 = "";
- var vWGMRMarkTcls04 = "";
- var vWGMRMarkTcls05 = "";
- var vWGMRMarkTcls06 = "";
- var vWGMRMarkTcls07 = "";
-
-
- vWgmrValue = pWgmrValue.split("▦");
- vWrFlagValue = pWrFlagValue.split("▦");
- vBfRslt = pBfOrgRslt.split("▦");
- vTclsBfRslt = pTclsBfOrgRslt.split("▦");
-
- //trace("vWgmrValue ==> " + vWgmrValue);
- /*for(var i=1; i <= vWgmrValue.length; i++){
- var vWgmr+""+String(i).getLeftPad(2, 0) = vWgmrValue[i-1];
- }
-
- for(var i=1; i <= vWrFlagValue.length; i++){
- var vWrFlag+""+String(i).getLeftPad(2, 0) = vWrFlagValue[i-1];
- }
-
- for(var i=1; i <= vWrFlagValue.length; i++){
- var vBfRslt+""+String(i).getLeftPad(2, 0) = parseFloat(vBfOrgRslt[i-1]);
- }*/
- var vWgmr01 = vWgmrValue[0];
- var vWrFlag01 = vWrFlagValue[0];
-
- if(!utlf_isNull(vWgmr01)){ //1(?S) 판정유형이 Y이면 ##하나의 판정값이 평균값에 대하여 +- ?SD 범위를 벗어난경우
- if((vOrgRslt > vAvg + vSdVal*vWgmr01) || (vOrgRslt < vAvg - vSdVal*vWgmr01)){ //결과 >= 평균 + 편차*? || 결과 <= 평균 - 편차*? 이면
- vWGMRMark += "1("+vWgmr01+"S)"+vWrFlag01+", ";
- vWGMRMark01 = vWrFlag01;
-
- //항목별 셋팅
- vWGMRMarkTcls += "1("+vWgmr01+"S)"+vWrFlag01+", ";
- vWGMRMarkTcls01 = vWrFlag01;
- }
- }
- //trace(vWGMRMark);
- var vWgmr02 = vWgmrValue[1];
- var vWrFlag02 = vWrFlagValue[1];
- if(!utlf_isNull(vWgmr02)){ //1(?S) 판정유형이 Y이면 ##하나의 판정값이 평균값에 대하여 +- ?SD 범위를 벗어난경우
- if((vOrgRslt > vAvg + vSdVal*vWgmr02) || (vOrgRslt < vAvg - vSdVal*vWgmr02)){ //결과 >= 평균 + 편차*? || 결과 <= 평균 - 편차*? 이면
- vWGMRMark += "1("+vWgmr02+"S)"+vWrFlag02+", ";
- vWGMRMark02 = vWrFlag02;
-
- //항목별 추가
- vWGMRMarkTcls += "1("+vWgmr02+"S)"+vWrFlag02+", ";
- vWGMRMarkTcls02 = vWrFlag02;
- }
- }
- //trace(vWGMRMark);
-
- var vWgmr03 = vWgmrValue[2];
- var vWrFlag03 = vWrFlagValue[2];
- if(!utlf_isNull(vWgmr03)){ //2(?S) 판정유형이 Y이면 ##연속된 2개의 값이 평균값에 대하여 같은방향으로 +- ?SD 범위를 벗어난 경우
- if(vBfRslt[0] != "" && String(vBfRslt[0]).isFloat()){
- if(((vOrgRslt > vAvg + vSdVal* vWgmr03) && (vBfRslt[0] > vAvg + vSdVal* vWgmr03)) || //결과 >= 평균 + 편차*? && 이전결과 >= 평균 - 편차*? 이거나
- ((vOrgRslt < vAvg - vSdVal* vWgmr03) && (vBfRslt[0] < vAvg - vSdVal* vWgmr03))){ //결과 <= 평균 + 편차*? && 이전결과 <= 평균 - 편차*? 이면
- vWGMRMark += "2("+vWgmr03+"S)"+vWrFlag03+", "; //현재 결과와 이전결과 모두가 같은방향으로 ?SD 범위를 벗어나면 2(?S)
- vWGMRMark03 = vWrFlag03;
- }
- }
-
- //항목별 추가
- if(vTclsBfRslt[0] != "" && String(vTclsBfRslt[0]).isFloat()){
- if(((vOrgRslt > vAvg + vSdVal* vWgmr03) && (vTclsBfRslt[0] > vAvg + vSdVal* vWgmr03)) || //결과 >= 평균 + 편차*? && 이전결과 >= 평균 - 편차*? 이거나
- ((vOrgRslt < vAvg - vSdVal* vWgmr03) && (vTclsBfRslt[0] < vAvg - vSdVal* vWgmr03))){ //결과 <= 평균 + 편차*? && 이전결과 <= 평균 - 편차*? 이면
- vWGMRMarkTcls += "2("+vWgmr03+"S)"+vWrFlag03+", "; //현재 결과와 이전결과 모두가 같은방향으로 ?SD 범위를 벗어나면 2(?S)
- vWGMRMarkTcls03 = vWrFlag03;
- }
- }
- }
- //trace(vWGMRMark);
-
- var vWgmr04 = vWgmrValue[3];
- var vWrFlag04 = vWrFlagValue[3];
- var vAbs = 0;
- var value = 0;
- if(!utlf_isNull(vWgmr04)){ //R(4S) 판정유형이 Y이면 ##연속된 2개의 값이 다른 방향으로 (하나는 #평균+2SD를 벗어나고 다른것은 평균 -2SD를 벗어난경우#)
- /*if(vBfRslt[0] != "" && String(vBfRslt[0]).isFloat()){
- if(((vOrgRslt > vAvg + vSdVal*2) && (vBfRslt[0] < vAvg - vSdVal*2)) || //결과 >= 평균 + 편차*2 && 이전결과 <= 평균 - 편차*2 이거나
- ((vOrgRslt < vAvg - vSdVal*2) && (vBfRslt[0] > vAvg + vSdVal*2))){ //결과 >= 평균 + 편차*2 && 이전결과 <= 평균 - 편차*2 이면
- vWGMRMark += "R(4S), "; //현재 결과와 이전결과가 다른방향으로 2SD 범위를 벗어나면 R(4S)
- vWGMRMark04 = "R(4S)";
- }
- }*/
- if(vBfRslt[0] != "" && String(vBfRslt[0]).isFloat()){
- if(Math.abs(vOrgRslt) > vAvg){
- vAbs = Math.abs(vOrgRslt - vBfRslt[0]);
- value = (vAbs / vSdVal);
- }
- if(value > vWgmr04){
- vWGMRMark += "R("+vWgmr04+"S)"+vWrFlag04+", ";
- vWGMRMark04 = vWrFlag04;
- }
-
- vAbs = 0;
- value = 0;
-
- if(Math.abs(vOrgRslt) > vAvg){
- vAbs = Math.abs(vOrgRslt - vTclsBfRslt[0]);
- value = (vAbs / vSdVal);
- }
- if(value > vWgmr04){
- vWGMRMarkTcls += "R("+vWgmr04+"S)"+vWrFlag04+", ";
- vWGMRMarkTcls04 = vWrFlag04;
- }
- }
- }
- //trace("value => " + value);
- //trace(vWGMRMark);
-
- var vWgmr05 = vWgmrValue[4];
- var vWrFlag05 = vWrFlagValue[4];
- if(!utlf_isNull(vWgmr05)){ //?(1S) 판정유형이 Y이면 ##연속된 ?개의 값이 (#같은 방면으로#)+- 1SD범위를 벗어난 경우 (이전결과 ?-1개 비교)
- var cnt1 = 0;
- var cnt2 = 0;
- var cnt3 = 0;
- var cnt4 = 0;
- var cnt5 = 0;
- var cnt6 = 0;
- //vWgmr05-2 번째 이전결과가 있고, 그전 결과들이 숫자일때
- if((vBfRslt[vWgmr05-2] != "" && vWgmr05>1) || (vOrgRslt != "" && vWgmr05==1)){
- if((vOrgRslt > vAvg + vSdVal) && String(vOrgRslt).isFloat()){
- cnt2++;
- }
- if((vOrgRslt < vAvg - vSdVal) && String(vOrgRslt).isFloat()){
- cnt3++;
- }
- for(var i=(vWgmr05-2); i >= 0; i--){
- if((vBfRslt[i] > vAvg + vSdVal)){
- cnt2++;
- }
- if((vBfRslt[i] < vAvg - vSdVal)){
- cnt3++;
- }
- }
- if((cnt2 == vWgmr05) || (cnt3 == vWgmr05)){
- vWGMRMark += vWgmr05+"(1S)"+vWrFlag05+", ";
- vWGMRMark05 = vWrFlag05;
- }
- }
-
- if((vTclsBfRslt[vWgmr05-2] != "" && vWgmr05>1) || (vOrgRslt != "" && vWgmr05==1)){
- if((vOrgRslt > vAvg + vSdVal) && String(vOrgRslt).isFloat()){
- cnt4++;
- }
- if((vOrgRslt < vAvg - vSdVal) && String(vOrgRslt).isFloat()){
- cnt5++;
- }
- for(var i=(vWgmr05-2); i >= 0; i--){
- if((vTclsBfRslt[i] > vAvg + vSdVal)){
- cnt4++;
- }
- if((vBfRslt[i] < vAvg - vSdVal)){
- cnt5++;
- }
- }
- if((cnt4 == vWgmr05) || (cnt5 == vWgmr05)){
- vWGMRMarkTcls += vWgmr05+"(1S)"+vWrFlag05+", ";
- vWGMRMarkTcls05 = vWrFlag05;
- }
- }
-
- }
- //trace(vWGMRMark);
-
- var vWgmr06 = vWgmrValue[5];
- var vWrFlag06 = vWrFlagValue[5];
- if(!utlf_isNull(vWgmr06)){ //?X 판정유형이 Y이면 ##연속된 ?개의 값이 평균의 어느 한쪽에 치우칠때 (이전결과 ?개 비교)
- var cnt1 = 0;
- var cnt2 = 0;
- var cnt3 = 0;
- var cnt4 = 0;
- var cnt5 = 0;
- //vWgmr06 번째 이전결과가 있고, 그전 결과들이 숫자일때
- if(vBfRslt[vWgmr06-2] != "" && vWgmr06>1){
- if((vOrgRslt > vAvg)){
- cnt2++;
- }
- if((vOrgRslt < vAvg)){
- cnt3++;
- }
- for(var i=(vWgmr06-2); i >= 0; i--){
- if(String(vBfRslt[i]).isFloat()){
- if(vBfRslt[i] > vAvg){
- cnt2++;
- }
- if(vBfRslt[i] < vAvg){
- cnt3++;
- }
- }
- }
-
- if((cnt2 == vWgmr06) || (cnt3 == vWgmr06)){
- vWGMRMark += vWgmr06+"X"+vWrFlag06+", ";
- vWGMRMark06 = vWrFlag06;
- }
- }
-
- if(vTclsBfRslt[vWgmr06-2] != "" && vWgmr06>1){
- if((vOrgRslt > vAvg)){
- cnt4++;
- }
- if((vOrgRslt < vAvg)){
- cnt5++;
- }
- for(var i=(vWgmr06-2); i >= 0; i--){
- if(String(vTclsBfRslt[i]).isFloat()){
- if(vTclsBfRslt[i] > vAvg){
- cnt4++;
- }
- if(vTclsBfRslt[i] < vAvg){
- cnt5++;
- }
- }
- }
-
- if((cnt4 == vWgmr06) || (cnt5 == vWgmr06)){
- vWGMRMarkTcls += vWgmr06+"X"+vWrFlag06+", ";
- vWGMRMarkTcls06 = vWrFlag06;
- }
- }
- }
-
- //trace(vWGMRMark);
- var vWgmr07 = vWgmrValue[6];
- var vWrFlag07 = vWrFlagValue[6];
-
- if(!utlf_isNull(vWgmr07)){ //?T 판정유형이 Y이면 ##값이 ?번 연속으로 높아지거나 낮아지거나
- var cnt1 = 0;
- var cnt2 = 0;
- var cnt3 = 0;
- var cnt4 = 0;
- var cnt5 = 0;
-
- //vWgmr07 번째 이전결과가 있고, 그전 결과들이 숫자일때
- if(vBfRslt[vWgmr07-2] != "" && vWgmr07>1){
- for(var i=(vWgmr07-2); i >= 0; i--){
- if( i > 0 ){
- if(String(vBfRslt[i]).isFloat()&& String(vBfRslt[i-1]).isFloat()){
- if(vBfRslt[i] > vBfRslt[i-1]){
- cnt2++;
- }
- if(vBfRslt[i] < vBfRslt[i-1]){
- cnt3++;
- }
- }
- }else if( i == 0){
- if(String(vBfRslt[i]).isFloat()){
- if(vBfRslt[i] > vOrgRslt){
- cnt2++;
- }
- if(vBfRslt[i] < vOrgRslt){
- cnt3++;
- }
- }
- }
- }
-
- if( (cnt2 == vWgmr07) || (cnt3 == vWgmr07) ){
- vWGMRMark += vWgmr07+"T"+vWrFlag07+", ";
- vWGMRMark07 = vWrFlag07;
- }
- }
-
- if(vTclsBfRslt[vWgmr07-2] != "" && vWgmr07>1){
- for(var i=(vWgmr07-2); i >= 0; i--){
- if( i > 0 ){
- if(String(vTclsBfRslt[i]).isFloat()&& String(vTclsBfRslt[i-1]).isFloat()){
- if(vTclsBfRslt[i] > vTclsBfRslt[i-1]){
- cnt4++;
- }
- if(vTclsBfRslt[i] < vTclsBfRslt[i-1]){
- cnt5++;
- }
- }
- }else if( i == 0){
- if(String(vTclsBfRslt[i]).isFloat()){
- if(vBfRslt[i] > vOrgRslt){
- cnt4++;
- }
- if(vBfRslt[i] < vOrgRslt){
- cnt5++;
- }
- }
- }
- }
-
- if( (cnt4 == vWgmr07) || (cnt5 == vWgmr07) ){
- vWGMRMarkTcls += vWgmr07+"T"+vWrFlag07+", ";
- vWGMRMarkTcls07 = vWrFlag07;
- }
- }
- }
- //trace(vWGMRMark);
-
- if(vWGMRMark.length != "0" || vWGMRMarkTcls.length != "0"){
- if(vWGMRMark.length == "0"){
- vWGMRMark = "▦▩▩▩▩▩▩";
- } else {
- vWGMRMark = vWGMRMark.substring(0, vWGMRMark.length-2); //끝자리 두자리 ", "
- vWGMRMark += "▦" + vWGMRMark01 + "▩" + vWGMRMark02 + "▩" + vWGMRMark03 + "▩" + vWGMRMark04 + "▩" + vWGMRMark05 + "▩" + vWGMRMark06 + "▩" + vWGMRMark07;
- }
-
- if(vWGMRMarkTcls.length == "0"){
- vWGMRMark += "▦▦▩▩▩▩▩▩";
- } else {
- vWGMRMark += "▦" + vWGMRMarkTcls.substring(0, vWGMRMarkTcls.length-2); //끝자리 두자리 ", "
- vWGMRMark += "▦" + vWGMRMarkTcls01 + "▩" + vWGMRMarkTcls02 + "▩" + vWGMRMarkTcls03 + "▩" + vWGMRMarkTcls04 + "▩" + vWGMRMarkTcls05 + "▩" + vWGMRMarkTcls06 + "▩" + vWGMRMarkTcls07;
- }
-
- trace(vWGMRMark);
-
- return vWGMRMark;
- }else return vWGMRMark;
- }
- //판정시 결과 허용치 변경 포함(<=) 에서 허용(<)로 변경요청 8274차경호 _ 승현 수정 20090929
- function fCOMLIS_QCJudgWGMR_backup(pOrgRslt, pWgmr, pAvg, pSdVal, pBfRslt, pBfRslt2, pBfRslt3, pBfRslt4, pBfRslt5, pBfRslt6, pBfRslt7, pBfRslt8, pBfRslt9){
- var vWGMRMark = "";
-
- var vOrgRslt = parseFloat(pOrgRslt);
- var vAvg = parseFloat(pAvg);
- var vSdVal = parseFloat(pSdVal);
- var vBfRslt = parseFloat(pBfRslt);
- var vBfRslt2 = parseFloat(pBfRslt2);
- var vBfRslt3 = parseFloat(pBfRslt3);
- var vBfRslt4 = parseFloat(pBfRslt4);
- var vBfRslt5 = parseFloat(pBfRslt5);
- var vBfRslt6 = parseFloat(pBfRslt6);
- var vBfRslt7 = parseFloat(pBfRslt7);
- var vBfRslt8 = parseFloat(pBfRslt8);
- var vBfRslt9 = parseFloat(pBfRslt9);
- if(pWgmr.substring(0, 1) == "Y"){ //1(2S) 판정유형이 Y이면 ##하나의 판정값이 평균값에 대하여 +- 2SD 범위를 벗어난경우
- if((vOrgRslt > vAvg + vSdVal*2) || (vOrgRslt < vAvg - vSdVal*2)){ //결과 >= 평균 + 편차*2 || 결과 <= 평균 - 편차*2 이면
- vWGMRMark += "1(2S), ";
- }
- }
- if(pWgmr.substring(1, 1) == "Y"){ //1(3S) 판정유형이 Y이면 ##하나의 판정값이 평균값에 대하여 +- 3SD 범위를 벗어난경우
- if((vOrgRslt > vAvg + vSdVal*3) || (vOrgRslt < vAvg - vSdVal*3)){ //결과 >= 평균 + 편차*3 || 결과 <= 평균 - 편차*2 이면
- vWGMRMark += "1(3S), ";
- }
- }
- if(pWgmr.substring(2, 1) == "Y"){ //2(2S) 판정유형이 Y이면 ##연속된 2개의 값이 평균값에 대하여 같은방향으로 +- 2SD 범위를 벗어난 경우
- if(pBfRslt != "" && String(pBfRslt).isFloat()){
- if(((vOrgRslt > vAvg + vSdVal*2) && (vBfRslt > vAvg + vSdVal*2)) || //결과 >= 평균 + 편차*2 && 이전결과 >= 평균 - 편차*2 이거나
- ((vOrgRslt < vAvg - vSdVal*2) && (vBfRslt < vAvg - vSdVal*2))){ //결과 <= 평균 + 편차*2 && 이전결과 <= 평균 - 편차*2 이면
- vWGMRMark += "2(2S), "; //현재 결과와 이전결과 모두가 같은방향으로 2SD 범위를 벗어나면 2(2S)
- }
- }
- }//end if(pWgmr.substring(3, 1) == "Y"){
- if(pWgmr.substring(3, 1) == "Y"){ //R(4S) 판정유형이 Y이면 ##연속된 2개의 값이 다른 방향으로 (하나는 #평균+2SD를 벗어나고 다른것은 평균 -2SD를 벗어난경우#)
- if(pBfRslt != "" && String(pBfRslt).isFloat()){
- if(((vOrgRslt > vAvg + vSdVal*2) && (vBfRslt < vAvg - vSdVal*2)) || //결과 >= 평균 + 편차*2 && 이전결과 <= 평균 - 편차*2 이거나
- ((vOrgRslt < vAvg - vSdVal*2) && (vBfRslt > vAvg + vSdVal*2))){ //결과 >= 평균 + 편차*2 && 이전결과 <= 평균 - 편차*2 이면
- vWGMRMark += "R(4S), "; //현재 결과와 이전결과가 다른방향으로 2SD 범위를 벗어나면 R(4S)
- }
- }
- }//end if(pWgmr.substring(4, 1) == "Y"){
- if(pWgmr.substring(4, 1) == "Y"){ //4(1S) 판정유형이 Y이면 ##연속된 4개의 값이 (#같은 방면으로#)+- 1SD범위를 벗어난 경우 (이전결과 4개 비교)
- if(pBfRslt3 != "" && String(pBfRslt).isFloat() && String(pBfRslt2).isFloat() && String(pBfRslt3).isFloat()){ //세번째 이전 결과가 있다면... 현재값과 이전결과3개 총 4개값을 비교해서 판정해야하기때문에..
- if(((vOrgRslt > vAvg + vSdVal) && (vBfRslt > vAvg + vSdVal) && (vBfRslt2 > vAvg + vSdVal) && (vBfRslt3 > vAvg + vSdVal))||
- ((vOrgRslt < vAvg - vSdVal) && (vBfRslt < vAvg - vSdVal) && (vBfRslt2 < vAvg - vSdVal) && (vBfRslt3 < vAvg - vSdVal))){
- vWGMRMark += "4(1S), "; //이전결과와 현재 결과를 포함한 4개의 결과가 1SD 범위를 벗어나면 4(1S)
- }
- }
- }//end if(pWgmr.substring(5, 1) == "Y"){
- if(pWgmr.substring(5, 1) == "Y"){ //10X 판정유형이 Y이면 ##연속된 10개의 값이 평균의 어느 한쪽에 치우칠때 (이전결과 10개 비교)
- if(pBfRslt9 != "" && String(pBfRslt).isFloat() && String(pBfRslt2).isFloat() && String(pBfRslt3).isFloat() && String(pBfRslt4).isFloat() && String(pBfRslt5).isFloat() && String(pBfRslt6).isFloat() && String(pBfRslt7).isFloat() && String(pBfRslt8).isFloat() && String(pBfRslt9).isFloat()){ //9번째 이전결과가 존재한다면 판정 가능 (현재값 + 이전결과9개 = 총 10개)
- if(((vOrgRslt > vAvg) && (vBfRslt > vAvg) && (vBfRslt2 > vAvg) && (vBfRslt3 > vAvg) && (vBfRslt4 > vAvg) && (vBfRslt5 > vAvg) &&
- (vBfRslt6 > vAvg) && (vBfRslt7 > vAvg) && (vBfRslt8 > vAvg) && (vBfRslt9 > vAvg)) ||
- ((vOrgRslt < vAvg) && (vBfRslt < vAvg) && (vBfRslt2 < vAvg) && (vBfRslt3 < vAvg) && (vBfRslt4 < vAvg) && (vBfRslt5 < vAvg) &&
- (vBfRslt6 < vAvg) && (vBfRslt7 < vAvg) && (vBfRslt8 < vAvg) && (vBfRslt9 < vAvg))){
- vWGMRMark += "10X, ";
- }
- }
- }//end if(pWgmr.substring(6, 1) == "Y"){
- if(vWGMRMark.length != "0"){
- return vWGMRMark.substring(0, vWGMRMark.length-2); //끝자리 두자리
- }else return vWGMRMark;
- }
- function fLisQCBarcodePrint_NewOCX(pRef)
- {
- var cntHR = pRef.rowcount;
- var barcdRef = "/root/main/barcdprntsetup/prntsetupinfo/setupinfo";
- var sPrntKind = ds_data_setupinfo.getColumn(0, "prntkind");
- var sSndMsg = "";
- var portOpenTF = ""; //오픈 성공 여부
- var iXPos = 0;
- var iYPos = 0;
-
- if(cntHR > 0 && sPrntKind != 0)
- {
- var sCommKind = ds_data_setupinfo.getColumn(0, "commkind");
- var sLeftBank = ds_data_blank.getColumn(0, "left");
- var sTopBank = ds_data_blank.getColumn(0, "top");
- if(sCommKind == "01")
- {
- var sSetUpVal = ds_data_comm01.getColumn(0, "setupval");
- }
- else if(sCommKind == "02")
- {
- var sComm = ds_data_comm02.getColumn(0, "comm");
- var sDataBit = ds_data_comm02.getColumn(0, "databit");
- var sStopBit = ds_data_comm02.getColumn(0, "stopbit");
- var sBaudRate = ds_data_comm02.getColumn(0, "baudrate");
- var sParity = ds_data_comm02.getColumn(0, "parity");
- CommAX.CommPort = sComm;
- CommAX.Settings = sBaudRate + "," + sParity + "," + sDataBit + "," + sStopBit;
- portOpenTF = CommAX.PortOpen("true");
- }
- else if(sCommKind == "03")
- {
- var sSetUpVal = ds_data_comm03.getColumn(0, "setupval");
- }
-
- var sBfBcno = null;
- if((portOpenTF == "TRUE" && sCommKind == "02") || (sCommKind == "01") || (sCommKind == "03"))
- {
- for(var i = 0 ; i < cntHR; i++)
- {
- var sSndMsg = "";
- var sBcno = pRef.getColumn(i, "bcno");
- var sMatrnm = pRef.getColumn(i, "matrnm");
- var sLevlnm = pRef.getColumn(i, "levlnm");
- var sAcptdt = pRef.getColumn(i, "acptdt");
- var sEqmtcd = pRef.getColumn(i, "eqmtcd");
- var sLotNo = pRef.getColumn(i, "lotno");
- var sTestroom = pRef.getColumn(i, "testroom");
- if (utlf_isNull(sLeftBank) || sLeftBank == "-") sLeftBank = 0;
- if (utlf_isNull(sTopBank) || sTopBank == "-") sTopBank = 0;
-
- if(sPrntKind == "1" || sPrntKind == "5")
- {
- sSndMsg += lzzfBP_StartFormat(0, 0); // 시작위치 셋팅
-
- iXPos = Number(sLeftBank) + 95;
- iYPos = Number(sTopBank) + 25;
- sSndMsg += lzzfBP_ChangeFont("C", 15, 15); // 폰트 설정
- sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, "*" + sBcno + "*"); //바코드번호
- iXPos = Number(sLeftBank) + 80;
- iYPos = Number(sTopBank) + 45;
- sSndMsg += lzzfBP_ChangeFont("F", 10, 10);
- sSndMsg += lzzfBP_BarCode_Code39(iXPos, iYPos, "N", 100, sBcno); // 바코드
- iXPos = Number(sLeftBank) + 30;
- iYPos = Number(sTopBank) + 160;
- sSndMsg += lzzfBP_ChangeFont("C", 10, 10); // 폰트 설정 //영문출력
- sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, sMatrnm + "(" + sLotNo + ")"); //물질명(LotNo)
- iXPos = Number(sLeftBank) + 30;
- iYPos = Number(sTopBank) + 195;
- sSndMsg += lzzfBP_ChangeFont("C", 10, 10); // 폰트 설정
- sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, sLevlnm); //레벨명
-
- iXPos = Number(sLeftBank) + 30;
- iYPos = Number(sTopBank) + 230;
- sSndMsg += lzzfBP_ChangeFont("C", 10, 10); // 폰트 설정
- sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, sEqmtcd); //장비명
- iXPos = Number(sLeftBank) + 240;
- iYPos = Number(sTopBank) + 195;
- sSndMsg += CommAX.PrtImgOut(iXPos, iYPos, sTestroom, 1, 1); //검사실명
- sSndMsg += CommAX.HanImageData();
- iXPos = Number(sLeftBank) + 240;
- iYPos = Number(sTopBank) + 230;
- sSndMsg += lzzfBP_ChangeFont("C", 10, 10); // 폰트 설정
- sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, sAcptdt.substr(0, 16)); //라벨발행일시
- sSndMsg += lzzfBP_EndFormat(1); // 접수바코드출력수
- if (i == 1)
- { //첫번째 항목 출력
- if(sCommKind == "01")
- {
- CommAX.SendMessageToLPT(sSndMsg);
- }
- else if(sCommKind == "02")
- {
- CommAX.SendMessage(sSndMsg);
- }
- sBfBcno = sBcno;//
- }
- else if(sBfBcno != sBcno)
- {
- if(sCommKind == "01")
- {
- CommAX.SendMessageToLPT(sSndMsg);
- }
- else if(sCommKind == "02")
- {
- CommAX.SendMessage(sSndMsg);
- }
- sBfBcno = sBcno;
- }
- }
- else if(sPrntKind == "2" || sPrntKind == "6" || sPrntKind == "7")
- {
- sSndMsg = ""+String.fromCharCode(27)+"A"+String.fromCharCode(27)+"A"+"103500500";
-
- iXPos = Number(sLeftBank) + 150;
- iYPos = Number(sTopBank) + 25;
- sSndMsg += ""+String.fromCharCode(27)+"V"+iYPos+String.fromCharCode(27)+"H"+iXPos+String.fromCharCode(27)+"S*"+sBcno+"*";
-
- iXPos = Number(sLeftBank) + 80;
- iYPos = Number(sTopBank) + 45;
- sSndMsg += ""+String.fromCharCode(27)+"V"+iYPos+String.fromCharCode(27)+"H"+iXPos+String.fromCharCode(27)+"BG02100"+sBcno;
-
- iXPos = Number(sLeftBank) + 30;
- iYPos = Number(sTopBank) + 160;
- sSndMsg += ""+String.fromCharCode(27)+"V"+iYPos+String.fromCharCode(27)+"H"+iXPos+String.fromCharCode(27)+"S"+sMatrnm+ "(" + sLotNo + ")";
-
- iXPos = Number(sLeftBank) + 30;
- iYPos = Number(sTopBank) + 195;
- sSndMsg += ""+String.fromCharCode(27)+"V"+iYPos+String.fromCharCode(27)+"H"+iXPos+String.fromCharCode(27)+"S"+sLevlnm;
-
- iXPos = Number(sLeftBank) + 30;
- iYPos = Number(sTopBank) + 230;
- sSndMsg += ""+String.fromCharCode(27)+"V"+iYPos+String.fromCharCode(27)+"H"+iXPos+String.fromCharCode(27)+"S"+sEqmtcd;
-
- iXPos = Number(sLeftBank) + 240;
- iYPos = Number(sTopBank) + 195;
- sSndMsg += CommAX.PrtImgOut(iYPos, iXPos, sTestroom);
-
- iXPos = Number(sLeftBank) + 240;
- iYPos = Number(sTopBank) + 230;
- sSndMsg += ""+String.fromCharCode(27)+"V"+iYPos+String.fromCharCode(27)+"H"+iXPos+String.fromCharCode(27)+"S"+sAcptdt.substr(0, 16);
-
- if (i == 0)
- {
- sSndMsg += ""+String.fromCharCode(27)+"Q"+"1"+String.fromCharCode(27)+"Z";
- CommAX.SendMsg(sSndMsg);
- }
- else
- {
- sSndMsg += ""+String.fromCharCode(27)+"Q"+"1"+String.fromCharCode(27)+"Z";
- CommAX.SendMsg(sSndMsg);
- sBfBcno = sBcno;
- }
-
- }
- else if(sPrntKind == "8" )
- {
- var sB472size = "";
- var sB472sizegbn = ds_data_blank.getColumn(0, "b472size");
-
- if(sB472sizegbn == "2")
- {
- sB472size = "0340,0620,0340"; // 기존라벨
- }
- else
- {
- sB472size = "0350,0550,0330"; // nUsize
- }
- sSndMsg += "{D" + sB472size + "|}"; // 라벨사이즈
- sSndMsg += "{C|}"; // 버퍼클리어
- sSndMsg += "{AX;-000,-000,+00|}"; // 피트량
-
-
- iXPos = Number(sLeftBank) + 150;
- iYPos = Number(sTopBank) + 35;
- sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, "* " + sBcno + " *"); //바코드번호
-
- iXPos = Number(sLeftBank)+80;
- iYPos = Number(sTopBank)+45;
- sSndMsg += lzzfBP_BarCode_Code39_B472(iXPos, iYPos, 5, 4, "*" + sBcno + "*",110); // 바코드
-
- iXPos = Number(sLeftBank)+40;
- iYPos = Number(sTopBank)+185;
- sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, sMatrnm + "(" + sLotNo + ")"); //물질명(LotNo)
-
-
- iXPos = Number(sLeftBank)+40;
- iYPos = Number(sTopBank)+195;
- sSndMsg += lzzfBP_HanDisp24(sLevlnm, iXPos, iYPos); // 레벨명
-
- iXPos = Number(sLeftBank)+40;
- iYPos = Number(sTopBank)+255;
- sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, sEqmtcd); //장비명
-
- iXPos = Number(sLeftBank) + 330;
- iYPos = Number(sTopBank)+195;
- sSndMsg += lzzfBP_HanDisp24(sTestroom, iXPos, iYPos); // 검사실명
-
-
- iXPos = Number(sLeftBank)+240;
- iYPos = Number(sTopBank)+290;
- sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, sAcptdt.substr(0, 16)); //라벨발행일시
-
- sSndMsg += lzzfBP_EndFormat_B472(1);
- if (i == 0)
- {
- if(sCommKind == "01")
- {
- CommAX.SendMessageToLPT(sSndMsg);
- }
- else if(sCommKind == "02")
- {
- CommAX.SendMessage(sSndMsg);
- }
- sBfBcno = sBcno;//
- }
- else if(sBfBcno != sBcno)
- {
- if(sCommKind == "01")
- {
- CommAX.SendMessageToLPT(sSndMsg);
- }
- else if(sCommKind == "02")
- {
- CommAX.SendMessage(sSndMsg);
- }
- sBfBcno = sBcno;
- }
- }
- }
- CommAX.PortOpen("false");
- }
- else
- {
- sysf_messageBox("아래 사항을 확인후 재출력해주십시오."
- + " \n 1.프린트설정 화면에서 통신유형을 com 으로 선택한 경우 port 번호 확인"
- + " \n 2.케이블 확인"
- + " \n 3.먼저 출력중인 바코드 확인(모두 출력된 후 재출력하십시오.)", "I", "");
- return;
- }
- }
- }
- function fLisQCBarcodePrint_NewOCX2(pRef)
- {
- var cntHR = pRef.rowcount;
- var barcdRef = "/root/main/barcdprntsetup/prntsetupinfo/setupinfo";
- var sPrntKind = ds_data_setupinfo.getColumn(0, "prntkind");
- var sSndMsg = "";
- var portOpenTF = ""; //오픈 성공 여부
- var iXPos = 0;
- var iYPos = 0;
-
- alert("12121212");
- if(cntHR > 0 && sPrntKind != 0)
- {
- var sCommKind = ds_data_setupinfo.getColumn(0, "commkind");
- var sLeftBank = ds_data_blank.getColumn(0, "left");
- var sTopBank = ds_data_blank.getColumn(0, "top");
- if(sCommKind == "01")
- {
- var sSetUpVal = ds_data_comm01.getColumn(0, "setupval");
- }
- else if(sCommKind == "02")
- {
- var sComm = ds_data_comm02.getColumn(0, "comm");
- var sDataBit = ds_data_comm02.getColumn(0, "databit");
- var sStopBit = ds_data_comm02.getColumn(0, "stopbit");
- var sBaudRate = ds_data_comm02.getColumn(0, "baudrate");
- var sParity = ds_data_comm02.getColumn(0, "parity");
- CommAX.CommPort = sComm;
- CommAX.Settings = sBaudRate + "," + sParity + "," + sDataBit + "," + sStopBit;
- portOpenTF = CommAX.PortOpen("true");
- }
- else if(sCommKind == "03")
- {
- var sSetUpVal = ds_data_comm03.getColumn(0, "setupval");
- }
-
- var sBfBcno = null;
- if((portOpenTF == "TRUE" && sCommKind == "02") || (sCommKind == "01") || (sCommKind == "03"))
- {
- for(var i = 0 ; i < cntHR; i++)
- {
- var sSndMsg = "";
- var sBcno = pRef.getColumn(i, "bcno");
- var sMatrnm = pRef.getColumn(i, "matrnm");
- var sLevlnm = pRef.getColumn(i, "levlnm");
- var sAcptdt = pRef.getColumn(i, "acptdt");
- var sEqmtcd = pRef.getColumn(i, "eqmtcd");
- var sLotNo = pRef.getColumn(i, "lotno");
- var sTestroom = pRef.getColumn(i, "testroom");
- if (utlf_isNull(sLeftBank) || sLeftBank == "-") sLeftBank = 0;
- if (utlf_isNull(sTopBank) || sTopBank == "-") sTopBank = 0;
-
- if(sPrntKind == "9")
- {
- sSndMsg = "^XA^SEE:UHANGUL.DAT^FS^CWQ,E:kfont3.FNT^FS";
-
- sSndMsg += lzzfBP_StartFormat(0, 0); // 시작위치 셋팅
-
- iXPos = Number(sLeftBank) + 140;
- iYPos = Number(sTopBank) + 25;
- sSndMsg += lzzfBP_ChangeFont("F", 20, 20); // 폰트 설정
- sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, "*" + sBcno + "*"); //바코드번호
- iXPos = Number(sLeftBank) + 80;
- iYPos = Number(sTopBank) + 50;
- sSndMsg += lzzfBP_ChangeFont("F", 10, 10);
- sSndMsg += lzzfBP_BarCode_Code39_300dpi(iXPos, iYPos, "N", 120, "*" + sBcno + "*");
-
- //iXPos = Number(sLeftBank) + 30;
- //iYPos = Number(sTopBank) + 185;
- //sSndMsg += lzzfBP_ChangeFont("F", 10, 10); // 폰트 설정 //영문출력 이재오 막다 2018.10.29일
- //sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, sMatrnm + "(" + sLotNo + ")"); //물질명(LotNo)
-
- iWidth = 0;
- aStr = "";
- aFlag = new Array();
- iXPos = Number(sLeftBank) + 30;
- sMatrnm = sMatrnm + "(" + sLotNo + ")";
- if(!utlf_isNull(sMatrnm)) {
- for (var j = 0; j < sMatrnm.length; j++) {
- oneChar = sMatrnm.charAt(j);
-
- test_rtn = "";
- test_he = "";
-
- test_rtn = lpzfGetHanGul3(oneChar);
- test_he = test_rtn.substring(0,1);
- if(!utlf_isNull(test_he))
- {
- //----------------------
- if (test_he == "E") {
- iYPos = Number(sTopBank) + 185;
- sSndMsg += "^CFC10,10^FO"+(Number(iXPos)+Number(iWidth))+","+ iYPos +"^FD" + oneChar + "^FS"; // 검사코드리스트명(영문)
- iWidth = iWidth + (Number(oneChar.length) * 12);
- } else {
- iYPos = Number(sTopBank) + 185;
- sSndMsg += "^CI14^FO"+(Number(iXPos)+Number(iWidth))+","+ iYPos +"^AQN,30,30^FH^FD" + oneChar + "^FS^CI1"; // 검사코드리스트(한글)
-
- iWidth = iWidth + (Number(oneChar.length) * 30);
- }
- }
- }
- }else{
- iXPos = Number(sLeftBank) + 30;
- iYPos = Number(sTopBank) + 185;
- sSndMsg += lzzfBP_ChangeFont("C", 20, 20); // 폰트 설정
- sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, sMatrnm);
- };
-
- iXPos = Number(sLeftBank) + 30;
- iYPos = Number(sTopBank) + 220;
- sSndMsg += lzzfBP_ChangeFont("F", 10, 10); // 폰트 설정
- sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, sLevlnm); //레벨명
-
- iXPos = Number(sLeftBank) + 30;
- iYPos = Number(sTopBank) + 255;
- sSndMsg += lzzfBP_ChangeFont("F", 10, 10); // 폰트 설정
- sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, sEqmtcd); //장비명
- iXPos = Number(sLeftBank) + 330;
- iYPos = Number(sTopBank) + 220;
- sSndMsg += "^CI14^FO" + iXPos + ","+ iYPos + "^AQN,30,30^FH^FD"+ sTestroom +"^FS^CI1";
- iXPos = Number(sLeftBank) + 330;
- iYPos = Number(sTopBank) + 255;
- sSndMsg += lzzfBP_ChangeFont("F", 10, 10); // 폰트 설정
- sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, sAcptdt.substr(0, 16)); //라벨발행일시
- sSndMsg += lzzfBP_EndFormat(1); // 접수바코드출력수
-
- if (i == 1){ //첫번째 항목 출력
- //CommAX.SendMessage(sSndMsg);
- CommAX.SendMsg(sSndMsg);
- CommAX.SendMessage(sSndMsg);
- sBfBcno = sBcno;//
- }else if(sBfBcno != sBcno){ //두번째부터는 바코드번호 비교하여 다르면 출력
- //CommAX.SendMessage(sSndMsg);
- CommAX.SendMsg(sSndMsg);
- sBfBcno = sBcno;//
- }
- }
- else if(sPrntKind == "11")
- {
-
- sSndMsg = "^XA^SEE:UHANGUL.DAT^FS^CWQ,E:kfont3.FNT^FS";
-
- sSndMsg += lzzfBP_StartFormat(0, 0); // 시작위치 셋팅
-
- iXPos = Number(sLeftBank) + 95;
- iYPos = Number(sTopBank) + 25;
- sSndMsg += lzzfBP_ChangeFont("C", 15, 15); // 폰트 설정
- sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, "*" + sBcno + "*"); //바코드번호
- iXPos = Number(sLeftBank) + 80;
- iYPos = Number(sTopBank) + 45;
- sSndMsg += lzzfBP_ChangeFont("F", 10, 10);
- sSndMsg += lzzfBP_BarCode_Code39(iXPos, iYPos, "N", 100, sBcno); // 바코드
- //이재오 2018.1030일 물질명 한글 인식토록 수정.
- // iXPos = Number(sLeftBank) + 30;
- // iYPos = Number(sTopBank) + 160;
- // sSndMsg += lzzfBP_ChangeFont("C", 10, 10); // 폰트 설정 //영문출력
- // sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, sMatrnm + "(" + sLotNo + ")"); //물질명(LotNo)
-
- iWidth = 0;
- aStr = "";
- aFlag = new Array();
- iXPos = Number(sLeftBank) + 30;
- sMatrnm = sMatrnm + "(" + sLotNo + ")";
- if(!utlf_isNull(sMatrnm)) {
- for (var j = 0; j < sMatrnm.length; j++) {
- oneChar = sMatrnm.charAt(j);
-
- test_rtn = "";
- test_he = "";
-
- test_rtn = lpzfGetHanGul3(oneChar);
- test_he = test_rtn.substring(0,1);
- if(!utlf_isNull(test_he))
- {
- //----------------------
- if (test_he == "E") {
- iYPos = Number(sTopBank) + 160;
- sSndMsg += "^CFC10,10^FO"+(Number(iXPos)+Number(iWidth))+","+ iYPos +"^FD" + oneChar + "^FS"; // 검사코드리스트명(영문)
- iWidth = iWidth + (Number(oneChar.length) * 12);
- } else {
- iYPos = Number(sTopBank) + 160;
- sSndMsg += "^CI14^FO"+(Number(iXPos)+Number(iWidth))+","+ iYPos +"^AQN,30,30^FH^FD" + oneChar + "^FS^CI1"; // 검사코드리스트(한글)
-
- iWidth = iWidth + (Number(oneChar.length) * 30);
- }
- }
- }
- }else{
- iXPos = Number(sLeftBank) + 30;
- iYPos = Number(sTopBank) + 160;
- sSndMsg += lzzfBP_ChangeFont("C", 10, 10); // 폰트 설정
- sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, sMatrnm);
- };
- iXPos = Number(sLeftBank) + 30;
- iYPos = Number(sTopBank) + 195;
- sSndMsg += lzzfBP_ChangeFont("C", 10, 10); // 폰트 설정
- sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, sLevlnm); //레벨명
-
- iXPos = Number(sLeftBank) + 30;
- iYPos = Number(sTopBank) + 230;
- sSndMsg += lzzfBP_ChangeFont("C", 10, 10); // 폰트 설정
- sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, sEqmtcd); //장비명
- iXPos = Number(sLeftBank) + 240;
- iYPos = Number(sTopBank) + 195;
- sSndMsg += "^CI14^FO" + iXPos + ","+ iYPos + "^AQN,30,30^FH^FD"+ sTestroom +"^FS^CI1";
- sSndMsg += CommAX.PrtImgOut(iXPos, iYPos, sTestroom, 1, 1); //검사실명
- sSndMsg += CommAX.HanImageData();
- iXPos = Number(sLeftBank) + 240;
- iYPos = Number(sTopBank) + 230;
- sSndMsg += lzzfBP_ChangeFont("C", 10, 10); // 폰트 설정
- sSndMsg += lzzfBP_FieldDataA(iXPos, iYPos, sAcptdt.substr(0, 16)); //라벨발행일시
- sSndMsg += lzzfBP_EndFormat(1); // 접수바코드출력수
- if (i == 1)
- { //첫번째 항목 출력
- //CommAX.SendMessage(sSndMsg);
- CommAX.SendMsg(sSndMsg);
- sBfBcno = sBcno;//
- }
- else if(sBfBcno != sBcno)
- {
- //CommAX.SendMessage(sSndMsg);
- CommAX.SendMsg(sSndMsg);
- sBfBcno = sBcno;
- }
- }
- else if(sPrntKind == "8" )
- {
- var sB472size = "";
- var sB472sizegbn = ds_data_blank.getColumn(0, "b472size");
-
- if(sB472sizegbn == "2")
- {
- sB472size = "0340,0620,0340"; // 기존라벨
- }
- else
- {
- sB472size = "0350,0550,0330"; // nUsize
- }
- sSndMsg += "{D" + sB472size + "|}"; // 라벨사이즈
- sSndMsg += "{C|}"; // 버퍼클리어
- sSndMsg += "{AX;-000,-000,+00|}"; // 피트량
-
-
- iXPos = Number(sLeftBank) + 150;
- iYPos = Number(sTopBank) + 35;
- sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, "* " + sBcno + " *"); //바코드번호
-
- iXPos = Number(sLeftBank)+80;
- iYPos = Number(sTopBank)+45;
- sSndMsg += lzzfBP_BarCode_Code39_B472(iXPos, iYPos, 5, 4, "*" + sBcno + "*",110); // 바코드
-
- iXPos = Number(sLeftBank)+40;
- iYPos = Number(sTopBank)+185;
- sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, sMatrnm + "(" + sLotNo + ")"); //물질명(LotNo)
-
-
- iXPos = Number(sLeftBank)+40;
- iYPos = Number(sTopBank)+195;
- sSndMsg += lzzfBP_HanDisp24(sLevlnm, iXPos, iYPos); // 레벨명
-
- iXPos = Number(sLeftBank)+40;
- iYPos = Number(sTopBank)+255;
- sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, sEqmtcd); //장비명
-
- iXPos = Number(sLeftBank) + 330;
- iYPos = Number(sTopBank)+195;
- sSndMsg += lzzfBP_HanDisp24(sTestroom, iXPos, iYPos); // 검사실명
-
-
- iXPos = Number(sLeftBank)+240;
- iYPos = Number(sTopBank)+290;
- sSndMsg += lzzfBP_FieldDataG_B472(iXPos, iYPos, sAcptdt.substr(0, 16)); //라벨발행일시
-
- sSndMsg += lzzfBP_EndFormat_B472(1);
- if (i == 0)
- {
- if(sCommKind == "01")
- {
- CommAX.SendMessageToLPT(sSndMsg);
- }
- else if(sCommKind == "02")
- {
- CommAX.SendMessage(sSndMsg);
- }
- sBfBcno = sBcno;//
- }
- else if(sBfBcno != sBcno)
- {
- if(sCommKind == "01")
- {
- CommAX.SendMessageToLPT(sSndMsg);
- }
- else if(sCommKind == "02")
- {
- CommAX.SendMessage(sSndMsg);
- }
- sBfBcno = sBcno;
- }
- }
- }
- CommAX.PortOpen("false");
- }
- else
- {
- sysf_messageBox("아래 사항을 확인후 재출력해주십시오."
- + " \n 1.프린트설정 화면에서 통신유형을 com 으로 선택한 경우 port 번호 확인"
- + " \n 2.케이블 확인"
- + " \n 3.먼저 출력중인 바코드 확인(모두 출력된 후 재출력하십시오.)", "I", "");
- return;
- }
- }
- }
- ]]></Script>
|