123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[
- /*
- ===============================================================================
- File Name : LZZ002.js
- File Explanation :
- File Author : Hyung Taek Lee. 2012-01-12
- Revision Details :
- ===============================================================================
- */
- /**
- * @group : commonweb
- * @ver : 2012-01-20 (CMCDEV-0001)
- * @by : Hyung Taek Lee [ACK Co., Ltd.]
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * <pre>
- * 하단의 작업표시줄 메세지 표시
- *
- * </pre>
- * @param : msg (view messege)
- * @return :
- * @---------------------------------------------------
- */
- function gfn_statMessage(msg) {
- setSystemMessage(msg);
- }
-
- function cbf_TRLPJ01702(strSvcID, nErrorCode, strErrorMag){
- if(nErrorCode != 0) sysf_messageBox("ID: " + strSvcID + " Error: " + strErrorMag, "E009", "");
- }
-
- /**
- * @group : commonweb
- * @ver : 2012.02.03 (CMCDEV-0001)
- * @by : 이형택 [ACK Co., Ltd.]
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * <pre>
- * rex 바코드 출력
- * 바코드 설정 채혈 일반설정 "1"
- * 환자바코드 "2"
- * 보관검체 "3"
- * 구분의 프린터 설정된 프린터와 rex 파일로 출력된다.
- *
- * </pre>
- * @param : sGbn = 출력구분
- * @param : sCopyNode = 복사할 노드
- * @return :
- * @---------------------------------------------------
- */
- function gfn_rex3BcnoPrint(sGbn, sPrntDS, bGbn, sCopies)
- {
- var pCopies = 1; // 디폴트 복사매수 1매
-
- if(sCopies != null && sCopies != ""){
- //alert(sCopies);
- pCopies = sCopies; // 지정된 복사매수(sCopies) 가 있으면 세팅한다.
- }
-
- var iRow, sPrtGbn, sMsg;
- iRow = -1;
- for (i=0;i<ds_grid_grd_pcllist.rowcount;i++)
- {
- sPrtGbn = ds_grid_grd_pcllist.getColumn(i,"prtgbn");
- if (sGbn == sPrtGbn)
- {
- iRow = i;
- break;
- }
- }
-
- if (iRow == -1)
- {
- if (sGbn == "1") sMsg = "일반 바코드";
- if (sGbn == "2") sMsg = "환자 바코드";
- if (sGbn == "3") sMsg = "Cross-Matching 바코드";
- if (sGbn == "4") sMsg = "병리검체 바코드";
- if (sGbn == "5") sMsg = "배지 바코드";
- if (sGbn == "6") sMsg = "혈액준비 바코드";
- if (sGbn == "7") sMsg = "QC 접수바코드";
- if (sGbn == "8") sMsg = "슬라이드 라벨";
- if (sGbn == "9") sMsg = "방사면역분주 라벨";
- if (sGbn == "10") sMsg = "병리접수 라벨";
- if (sGbn == "11") sMsg = "시약 라벨";
-
- sysf_messageBox(sMsg + " 설정된 프린터가 ", "I004");
- return;
- }
-
- var sRexFile, sPrintNm, prntcnt;
-
- var count = sPrntDS.rowcount;
- for(x=0;x<count;x++){
- if(bGbn == "1"){ //채혈
- var cnt = sPrntDS.getColumn(x,"bcollbarcdprntcnt");
- }
- else if (bGbn == "2"){ //접수
- var cnt = sPrntDS.getColumn(x,"spcacptbarcdprntcnt");
- }
- else if (bGbn == "3"){ //미생물
- var cnt = sPrntDS.getColumn(x,"microbarcdprntcnt");
- }
- else if (bGbn == "4"){ //배지
- var cnt = "1"; //배지출력 1세트씩 출력위해 TF단에서 for문처리
- //var cnt = sPrntDS.getColumn(x,"mdiabarcdprntcnt");
- }else if (bGbn == "11"){ //시약
- var cnt = sPrntDS.getColumn(x,"reagentbarcdprntcnt");
- }else if (bGbn == "5"){ // 병리채혈
- //var cnt = sPrntDS.getColumn(x,"barcdprntcnt");
- var cnt = "1";
- }else { //재출력,1장출력인 부분
- var cnt = "1";
- }
-
- if(cnt > "1"){
- for(y=1;y<=cnt;y++){
- nRow = sPrntDS.addRow();
- sPrntDS.copyRow(nRow,sPrntDS,x);
- }
- }
- }
- var objParam = new Object();
- if (sGbn == "3"){
- objParam.xml_data_XML1 = rptf_getXMLString(sPrntDS, "KeepBcnoPrint/printinfo");
- }else if(sGbn == "4"){
- objParam.xml_data_XML1 = rptf_getXMLString(sPrntDS, "barcode/plgybarcdinfo");
- }else if(sGbn == "5"){
- objParam.xml_data_XML1 = rptf_getXMLString(sPrntDS, "barcode/plgybarcdinfo");
- }else if(sGbn == "10"){
- objParam.xml_data_XML1 = rptf_getXMLString(sPrntDS, "barcode/plgybarcdinfo");
- trace(objParam.xml_data_XML1);
- }else {
- objParam.xml_data_XML1 = rptf_getXMLString(sPrntDS, "barcode/barcodeinfo");
- }
- //trace("objParam.xml_data_XML1 : " +objParam.xml_data_XML1);
- sRexFile = utlf_transNullToEmpty(ds_grid_grd_pcllist.getColumn(iRow,"barnm"));
- sPrintNm = utlf_transNullToEmpty(ds_grid_grd_pcllist.getColumn(iRow,"prtnm"));
- sLeftBank = utlf_transNullToEmpty(ds_grid_grd_pcllist.getColumn(iRow,"xpos"));
- sTopBank = utlf_transNullToEmpty(ds_grid_grd_pcllist.getColumn(iRow,"ypos"));
- if (sLeftBank == "" || sLeftBank == "-") sLeftBank = 0;
- if (sTopBank == "" || sTopBank == "-") sTopBank = 0;
-
- var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0";
-
- // 수정: Mindsys(c) 김인섭 2014.11.10
- if(sGbn == 4){
- var printoption = "copies="+pCopies+";printername="+sPrintNm+""; // 병리 출력일경우-> offset 제거, 복사매수 옵션 추가
- }else if(sGbn == 10){
- var printoption = "copies="+pCopies+";printername="+sPrintNm+""; // 병리 출력일경우-> offset 제거, 복사매수 옵션 추가
- }
- else{
- var printoption = "offsetx=" + sLeftBank + ";" + "offsety=" + sTopBank + ";" + "printername="+sPrintNm+"";
- }
-
- //var option = "offsetx=" + sLeftBank + ";" + "offsety=" + sTopBank + ";";
- if(sGbn == "1" || sGbn == "2" || sGbn == "3" || sGbn == "5" || sGbn == "6" || sGbn == "7" || sGbn == "8" || sGbn == "11") {
- // 슬라이드 라벨 출력 시 병원명칭 가져와서 출력
- if (sGbn == "8") {
- objParam.hospnm = ds_hospital_info.getColumn(0, "hospnm" );
- }
- rptf_exeReportPreview30([sRexFile],[objParam], option ,printoption);
- }
- else if(sGbn == "4") {
- rptf_exeReportPreview30([sRexFile],[objParam], option, printoption);
- }else if(sGbn == "10") {
- rptf_exeReportPreview30([sRexFile],[objParam], option, printoption);
- }else if(sGbn == "9") {
- rptf_exeReportPreview30([sRexFile],[objParam], option, printoption);
- }
- return true;
- }
-
- /*
- * @group : commonweb
- * @ver : 201.07.29 (CMCDEV-0001)
- * @by : 최영돈 [ACK Co., Ltd.]
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * <pre>
- * rex 바코드 멀티출력
- * </pre>
- * @param : sGbn = 진검바코드
- * @param : sGbn2 = 병리바코드
- * @param : ds_ptntBarcd = 출력일반바코드정보DS
- * @param : ds_prntPlgybarcd = 출력병리바코드정보DS
- * @param : bGbn = 구분
- * @return :
- * @---------------------------------------------------
- */
- function gfn_rex3MultiBcnoPrint(sGbn, sGbn2, ds_ptntBarcd, ds_prntPlgybarcd,bGbn)
- {
-
- var iRow, jRow, sPrtGbn, sPrintNm;
- var sMsg = "";
- //멀티레포트 입력변수
- var reportNames = new Array(); //레포트명
- var reportParams = new Array(); //레포트 파라미터
- var printoption = ""
- iRow = -1;
- jRow = -1;
- var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0";
-
- for (i=0;i<ds_grid_grd_pcllist.rowcount;i++)
- {
- sPrtGbn = ds_grid_grd_pcllist.getColumn(i,"prtgbn");
-
- if (sGbn == sPrtGbn)
- {
- iRow = i;
- }
- if (sGbn2 == sPrtGbn)
- {
- jRow = i;
- }
- }
-
- if (iRow == -1)
- {
- if (sGbn == "1") sMsg = "일반 바코드";
- }
-
- if (jRow == -1)
- {
- if(sGbn2 == "4"){
- if(sMsg != ""){
- sMsg += ", 병리검체 바코드";
- }else{
- sMsg = "병리검체 바코드";
- }
- }
- }
- if(sMsg != ""){
- sysf_messageBox(sMsg + " 설정된 프린터가 ", "I004");
- return;
- }
-
- var count = ds_ptntBarcd.rowcount;
- dsf_createDs("ds_prnt_barcodeinfo");
- ds_prnt_barcodeinfo.copyData(ds_ptntBarcd);
- ds_prnt_barcodeinfo.clearData();
-
- for(x=0;x<count;x++){
- if(bGbn == "1"){ //채혈
- var cnt = ds_ptntBarcd.getColumn(x,"bcollbarcdprntcnt");
- }
- else { //재출력,1장출력인 부분 -> 바코드갯수로 수정
- //var cnt = 1;
- var cnt = ds_ptntBarcd.getColumn(x,"bcollbarcdprntcnt"); // -> 바코드 갯수로 수정시..
- }
-
- if(cnt >= 1){
- for(y=1;y<=cnt;y++){
- nRow = ds_prnt_barcodeinfo.addRow();
- ds_prnt_barcodeinfo.copyRow(nRow,ds_ptntBarcd,x);
- }
- }
- }
- if(count > 0){
- var sRexFile = utlf_transNullToEmpty(ds_grid_grd_pcllist.getColumn(iRow,"barnm"));
- if(utlf_transNullToEmpty(ds_ptntBarcd.getColumn(0,"barcdprntdt"))!=""){
- var objParam = new Object();
- objParam.xml_data_XML1 = rptf_getXMLString(ds_prnt_barcodeinfo, "barcode/barcodeinfo");
- //reportNames.push("RPLLC00700_일반바코드");
- reportNames.push(sRexFile); //만비
- reportParams.push(objParam);
- } else { //미수납바코드이므로 바코드 프린트dt가 없음. -> else 구문에 추가(RPLLC01000)
- var objParam = new Object();
- objParam.xml_data_XML1 = rptf_getXMLString(ds_prnt_barcodeinfo, "barcode/barcodeinfo");
- reportNames.push("RPLLC01000_미수납바코드");
- reportParams.push(objParam);
- }
- }
-
- var pCount = ds_prntPlgybarcd.rowcount;
- trace("pCount : " + pCount);
- if(pCount > 0){
- if(utlf_transNullToEmpty(ds_prntPlgybarcd.getColumn(0,"spcbarcdno"))!=""){
- var objParam = new Object();
- objParam.xml_data_XML1 = rptf_getXMLString(ds_prntPlgybarcd, "barcode/plgybarcdinfo");
- trace("objParam.xml_data_XML1 : " + objParam.xml_data_XML1);
- reportNames.push("RPLLC00401");
- reportParams.push(objParam);
- } else {
- var objParam = new Object();
- objParam.xml_data_XML1 = rptf_getXMLString(ds_prntPlgybarcd, "barcode/plgybarcdinfo");
- reportNames.push("RPLLC01100");
- reportParams.push(objParam);
-
- }
- }
-
- if(iRow != -1){
- sPrintNm = utlf_transNullToEmpty(ds_grid_grd_pcllist.getColumn(iRow,"prtnm"));
- }else{
- sPrintNm = utlf_transNullToEmpty(ds_grid_grd_pcllist.getColumn(jRow,"prtnm"));
- }
-
- sLeftBank = utlf_transNullToEmpty(ds_grid_grd_pcllist.getColumn(iRow,"xpos"));
- sTopBank = utlf_transNullToEmpty(ds_grid_grd_pcllist.getColumn(iRow,"ypos"));
- if (sLeftBank == "" || sLeftBank == "-") sLeftBank = 0;
- if (sTopBank == "" || sTopBank == "-") sTopBank = 0;
-
- if( sGbn == 0 && sGbn2 == 4){ // 병리 채혈 바코드일때 오프셋 빼고 출력한다.
- printoption = "printername="+sPrintNm+"";
- }else{
- printoption = "offsetx=" + sLeftBank + ";" + "offsety=" + sTopBank + ";" + "printername="+sPrintNm+"";
- }
-
- rptf_exeReportPreview30(reportNames, reportParams, option, printoption); // 멀티보고서 출력
- return true;
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 부모창에서 받은 XML을 파싱한다.
- ****************************************************************************************/
- function lf_getClobPasing()
- {
- dsf_createDs("ds_grid_grd_pcllist"
- , [{col: "barnm"}
- , {col: "xpos"}
- , {col: "ypos"}
- , {col: "prtnm"}
- , {col: "prtgbn"}]);
- dsf_createDs("ds_Data_setupinfo"
- , [{col: "setupval"}
- , {col: "prntkind"}
- , {col: "commkind"}
- , {col: "setupval02"}
- , {col: "comm"}
- , {col: "databit"}
- , {col: "stopbit"}
- , {col: "baudrate"}
- , {col: "parity"}
- , {col: "setupval03"}
- , {col: "left"}
- , {col: "top"}
- , {col: "b472size"}
- , {col: "rexgbn"}
- , {col: "daegiip"}
- , {col: "autoyn"}
- , {col: "eqmtcd"}
- , {col: "auto"}]);
- ds_grid_grd_pcllist.clearData();
- ds_Data_setupinfo.clearData();
- if(ds_init_prntInfo.rowcount<=0)return;
- // Parsing
- plgv_sSetupInfo = ds_init_prntInfo.getColumn(0,"prntsetupinfo");
- p_sSetupInfo = plgv_sSetupInfo;
-
- var sColID;
- var domDoc, domElement1, domElement2;
- var domPar = new DomParser;
- domDoc = domPar.parseFromString(p_sSetupInfo);
- // 최상위 노드
- for(var i=0; i<domDoc.childNodes.length; i++){
- domElement1 = domDoc.childNodes[i];
- // 상위 노드
- for(var j=0; j<domElement1.childNodes.length; j++){
- domElement2 = domElement1.childNodes[j];
- if(domElement2.childNodes.length>1||domElement2.nodeName=="pcl"){
- lf_getFindElement(domElement2);
- }else{
- sColID = domElement2.nodeName;
- if(sColID=="comm01"){
- sColID="setupval";
- }
- lf_setDatasetMapping(sColID, domElement2.textContent);
- }
- }
- }
- }
- /****************************************************************************************
- * Argument : Element Object
- * Description : 파싱된 상위 노드에 하위노드가 존재하면 값을 가져온다.
- ****************************************************************************************/
- function lf_getFindElement(domElement)
- {
- var domElementChildNode;
- if(domElement.childNodes.length>1||domElement.nodeName=="pcl"){
- // 하위 노드
- for(var i=0; i<domElement.childNodes.length; i++){
- domElementChildNode = domElement.childNodes[i];
- if(domElementChildNode.childNodes.length>1){
- lf_getFindElement(domElementChildNode);
- }else{
- sColID = domElementChildNode.nodeName;
- lf_setDatasetMapping(sColID, domElementChildNode.textContent);
- }
- }
- }
- }
- /****************************************************************************************
- * Argument : sColID - Dataset Column Name , sValue - 해당 컬럼값
- * Description : 파싱된 상위 노드에 하위노드가 존재하면 값을 가져온다.
- ****************************************************************************************/
- function lf_setDatasetMapping(sColID, sValue)
- {
- var nRow, objColinfo;
- if(!utlf_isNull(sColID)){
- objColinfo = ds_Data_setupinfo.getColumnInfo(sColID);
- if(!utlf_isNull(objColinfo)){
- nRow = ds_Data_setupinfo.rowposition;
- if(nRow<0){
- nRow = ds_Data_setupinfo.addRow();
- }
- ds_Data_setupinfo.setColumn(nRow, sColID, sValue);
- }
-
- objColinfo = ds_grid_grd_pcllist.getColumnInfo(sColID);
- if(!utlf_isNull(objColinfo)){
- nRow = ds_grid_grd_pcllist.rowposition;
- if(nRow<0||sColID=="barnm"){
- nRow = ds_grid_grd_pcllist.addRow();
- }
- ds_grid_grd_pcllist.setColumn(nRow, sColID, sValue);
- }
- }
- }
- ]]></Script>
|