123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847 |
- <?xml version="1.0" encoding="utf-8" standalone="no"?>
- <FDL version="1.5">
- <TypeDefinition url="..\..\..\default_typedef.xml"/>
- <Form id="SMPMC04201" position="absolute 0 0 727 521" titletext="전자카드출력" onload="SMPMC04201_onload" ontimer="SMPMC04201_ontimer" onclose="SMPMC04201_onclose">
- <Layouts>
- <Layout>
- <Div id="group1" scrollbars="autoboth" position="absolute 0 489 725 516" style="" anchor="left right bottom">
- <Layouts>
- <Layout>
- <Shape id="line32" class="line_6" linetype="horizontal" position="absolute 0 0 725 3" style="" anchor="left top right"/>
- <Button id="button5" class="btn4" position="absolute 563 5 643 27" text="발급시작" onclick="group1_button5_onclick" anchor="top right"/>
- <Button id="button6" class="btn4" position="absolute 645 5 725 27" text="발급중지" onclick="group1_button6_onclick" anchor="top right"/>
- </Layout>
- </Layouts>
- </Div>
- <Div id="group3" position="absolute 0 0 725 25" style="">
- <Layouts>
- <Layout>
- <Static id="caption22" class="tit_1" position="absolute 0 0 120 25" style="" text="전자카드출력" anchor="default"/>
- </Layout>
- </Layouts>
- </Div>
- <Div id="group2" position="absolute 0 23 725 489" style="" anchor="all">
- <Layouts>
- <Layout>
- <Div id="group5" position="absolute 0 0 725 465" style="" anchor="all">
- <Layouts>
- <Layout>
- <Grid id="datagrid1" binddataset="ds_main_isswaitpat_isswaitpatlist" position="absolute 0 31 725 465" style="" anchor="all">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="24"/>
- <Column size="64"/>
- <Column size="100"/>
- <Column size="100"/>
- <Column size="65"/>
- <Column size="70"/>
- <Column size="100"/>
- <Column size="100"/>
- <Column size="80"/>
- </Columns>
- <Rows>
- <Row size="24" band="head"/>
- <Row size="24"/>
- </Rows>
- <Band id="head">
- <Cell/>
- <Cell col="1" text="발급상태"/>
- <Cell col="2" text="등록번호"/>
- <Cell col="3" text="환자명"/>
- <Cell col="4" colspan="2" text="주민등록번호" taborder="undefined"/>
- <Cell col="6" text="발급일자"/>
- <Cell col="7" text="발급시간"/>
- <Cell col="8" text="발급자"/>
- </Band>
- <Band id="body">
- <Cell celltype="head" expr="currow + 1"/>
- <Cell col="1" displaytype="combo" edittype="combo" text="bind:issyn" combodataset="ds_init_issyn" combocodecol="value" combodatacol="label"/>
- <Cell col="2" text="bind:pid"/>
- <Cell col="3" text="bind:hngnm"/>
- <Cell col="4" text="bind:rrgstno1"/>
- <Cell col="5" text="bind:rrgstno2"/>
- <Cell col="6" displaytype="date" text="bind:issdd" mask="yyyy-MM-dd" calendardisplaynulltype="nulltext"/>
- <Cell col="7" displaytype="date" text="bind:isstm" mask="HH:mm:ss" calendardisplaynulltype="nulltext"/>
- <Cell col="8" text="bind:issrid"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- <Shape id="line2" class="line_10" linetype="horizontal" position="absolute 0 27 725 31" style="" anchor="left top right"/>
- <Static id="caption14" class="tit_2" position="absolute 0 10 144 27" style="" text="발급대기내역" anchor="default"/>
- </Layout>
- </Layouts>
- </Div>
- </Layout>
- </Layouts>
- </Div>
- <ActiveX id="NWSerial_EMB" progid="{648a5600-2c6e-101b-82b6-000000000014}" visible="false" position="absolute 515 482 555 517" style="" anchor="default" windowed="true"/>
- </Layout>
- </Layouts>
- <Objects>
- <Dataset id="ds_main_isswaitpat" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
- <ColumnInfo/>
- </Dataset>
- <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
- <ColumnInfo/>
- </Dataset>
- <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
- <ColumnInfo/>
- </Dataset>
- <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
- <ColumnInfo>
- <Column id="rsrvlist" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="rsrvlist"/>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
- <ColumnInfo>
- <Column id="send" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="send"/>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_main_isswaitpat_isswaitpatlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
- <ColumnInfo>
- <Column id="issyn" type="STRING" size="256"/>
- <Column id="pid" type="STRING" size="256"/>
- <Column id="hngnm" type="STRING" size="256"/>
- <Column id="rrgstno1" type="STRING" size="256"/>
- <Column id="rrgstno2" type="STRING" size="256"/>
- <Column id="issdd" type="STRING" size="256"/>
- <Column id="isstm" type="STRING" size="256"/>
- <Column id="issrid" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="issyn"/>
- <Col id="pid"/>
- <Col id="hngnm"/>
- <Col id="rrgstno1"/>
- <Col id="rrgstno2"/>
- <Col id="issdd"/>
- <Col id="isstm"/>
- <Col id="issrid"/>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_init_PAM" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
- <ColumnInfo>
- <Column id="P0018list" type="STRING" size="256"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
- <ColumnInfo>
- <Column id="patcardissue" type="STRING" size="256"/>
- <Column id="session" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="patcardissue"/>
- <Col id="session"/>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_init_issyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="label" type="STRING" size="256"/>
- <Column id="value" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="label">대기</Col>
- <Col id="value">N</Col>
- </Row>
- <Row>
- <Col id="label">발급중</Col>
- <Col id="value">I</Col>
- </Row>
- <Row>
- <Col id="label">발급오류</Col>
- <Col id="value">E</Col>
- </Row>
- <Row>
- <Col id="label">발급완료</Col>
- <Col id="value">Y</Col>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_hidden_patcardissue" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- <Dataset id="ds_hidden_session" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- <Dataset id="ds_main_patcardissue_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- </Objects>
- <Bind/>
- <Script type="xscript4.0"><![CDATA[include 'com_commonxp::comm_main.xjs';
- include 'com_basiccodexp::ZBC001.xjs';
- include 'pam_opatmngtxp::PMOCOM.xjs';
- include 'pam_pamcomnxp::PAM.xjs';
- include 'pam_pamcomnxp::PAM001.xjs';
- include 'pam_ipatmngtxp::PMI001.xjs';
- function SMPMC04201_onload(obj:Form, e:LoadEventInfo) {
- frmf_initForm(obj);
- grdf_initGrid(group2.group5.datagrid1);
-
- //grdf_setGridSort(grd_XXX);
- //grdf_setRowTypeIcon(grd_XXX, 0_컬럼위치값);
- // 2009.09.29 - 출력물 자동 출력여부를 위해서 원무공통코드조회
- var arrParam = [ {dsNm: "ds_init_PAM_P0018list", cdGrpId: "P0018" } ];
- pamfGetCodeList(arrParam);
- //2007-10-04 이동식 추가 - 환자카드발급 PC정보를 읽어온다.
- fGetPCID();
- //END..
- //세션정보 조회
- fGetUserInfosSampling();
- group1.button6.enable = true;
- group1.button5.enable = false;
- //2009-10-23 이동식 수정 - 병원별 기종 차이로 인한 인터벌 시간 변경
- var sInstcd = ds_hidden_session.getColumn(0, "sess_dutplceinstcd");
- if( sInstcd != '011' && sInstcd != '013' && sInstcd != '014' && sInstcd != '017' ){
- sInstcd = '018'; //부천성가 기기 변경으로 인한 test 번호
- }
- if( sInstcd == '011' && sInstcd == '017' || sInstcd == '018' ){
- gIntervalTime = 5000;
- }else{
- gIntervalTime = 30000;
- }
- fInit();
- }
- var IssCard = null;
- var gTimerID;
- var gIntervalTime;
- //초기화
- function fInit(){
- //다음번 발행 카드 대상 환자 번호 저장
- // var pid = '-';
- // if( ds_main_isswaitpat_isswaitpatlist_pid.rowcount;> 1 ){
- // pid = ds_main_isswaitpat_isswaitpatlist.getColumn(2, "pid")
- // }
- var issno = ds_hidden_patcardissue.getColumn(0, "pcinfo");
- if( utlf_isNull(issno)){
- //window.clearInterval(gTimerID);
- //gTimerID = window.setInterval("fInit()", gIntervalTime);
- sysf_messageBox("PC 고유번호 정보를 찾을 수 없습니다.", "E999", "");
- group1.button6.enable = false;
- group1.button5.enable = true;
- return false;
- }
- //데이터 초기화
- ds_main_isswaitpat_isswaitpatlist.clearData();
- //dsf_makeValue( ds_main, "isswaitpat", "string", "" );
- //카드발급 데이터 조회
- // dsf_makeValue( ds_main_patcardissue_send, "pid", "string", pid);
- dsf_makeValue( ds_main_patcardissue_send, "issno", "string", issno);
-
- //submit("TRPMC04203");
- var oParam = {};
- oParam.id = "TRPMC04203";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqGetIssInfo";
- oParam.inds = "req=ds_main_patcardissue_send";
- oParam.outds = "ds_main_isswaitpat_isswaitpatlist=getinfo";
- oParam.async = false;
- tranf_submit(oParam);
- //데이터 없으면 리턴
- if( ds_main_isswaitpat_isswaitpatlist.rowcount < 1 ){
- //window.clearInterval(gTimerID);
- //gTimerID = window.setInterval("fInit()", 3000);
- gTimerID = 0;
- setTimer(gTimerID, 3000);
-
- return false;
- }else{
- //데이터 초기화
- ds_main_patcardissue.clearData();
- dsf_makeValue( ds_main_patcardissue, "getinfo", "string", "" );
- dsf_makeValue( ds_main_patcardissue, "issinfo", "string", "" );
- dsf_makeValue( ds_main_patcardissue, "setinfo", "string", "" );
- dsf_makeValue( ds_main_patcardissue_send, "pid", "string", "" );
- dsf_makeValue( ds_main_patcardissue_send, "issdd", "string", "" );
- dsf_makeValue( ds_main_patcardissue_send, "issno", "string", "" );
- dsf_makeValue( ds_main_patcardissue_send, "issyn", "string", "" );
- dsf_makeValue( ds_main_patcardissue_send, "remfact", "string", "" );
- //model.copyNode("ds_main_patcardissue_getinfo", "ds_main_isswaitpat_isswaitpatlist[1]");
- ds_main_patcardissue_getinfo.clearData();
- ds_main_patcardissue_getinfo.addRow();
- ds_main_patcardissue_getinfo.copyRow( 0, ds_main_isswaitpat_isswaitpatlist, 0);
-
- ds_main_isswaitpat_isswaitpatlist.setColumn( 0, "issyn", 'I'); //발급중
- try{
- if( fIssuePatientCard() == true ){
- //ds_main_isswaitpat.setColumn( 0, "isswaitpatlist[1]_issyn", 'Y'); //발급완료
- ds_main_patcardissue_send.setColumn( 0, "pid", ds_main_isswaitpat_isswaitpatlist.getColumn(1, "pid"));
- ds_main_patcardissue_send.setColumn( 0, "issdd", ds_main_isswaitpat_isswaitpatlist.getColumn(1, "issdd"));
- ds_main_patcardissue_send.setColumn( 0, "issno", issno);
- ds_main_patcardissue_send.setColumn( 0, "issyn", 'Y');
- }else{
- ds_main_isswaitpat.setColumn( 0, "isswaitpatlist[1]_issyn", 'E'); //발급오류
- ds_main_patcardissue_send.setColumn( 0, "pid", ds_main_isswaitpat_isswaitpatlist.getColumn(1, "pid"));
- ds_main_patcardissue_send.setColumn( 0, "issdd", ds_main_isswaitpat_isswaitpatlist.getColumn(1, "issdd"));
- ds_main_patcardissue_send.setColumn( 0, "issno", issno);
- ds_main_patcardissue_send.setColumn( 0, "issyn", 'E');
- //
- //window.clearInterval(gTimerID);
- killTimer(gTimerID);
- if( sysf_messageBox("환자카드발행 중 오류 발생!! 계속 진행하시겠습니까?", "Q999", "") == '6' ){
- //gTimerID = window.setInterval("fInit()", 5000);
- gTimerID = 0;
- setTimer(gTimerID, 5000);
-
-
- group1.button6.enable = true;
- group1.button5.enable = false;
- }else{
- group1.button6.enable = false;
- group1.button5.enable = true;
- }
- }
- }catch(e){
- ds_main_patcardissue_send.setColumn( 0, "pid", ds_main_isswaitpat_isswaitpatlist.getColumn(1, "pid"));
- ds_main_patcardissue_send.setColumn( 0, "issdd", ds_main_isswaitpat_isswaitpatlist.getColumn(1, "issdd"));
- ds_main_patcardissue_send.setColumn( 0, "issno", issno);
- ds_main_patcardissue_send.setColumn( 0, "issyn", 'E');
- ds_main_patcardissue_send.setColumn( 0, "remfact", e.description);
- sysf_messageBox("[" + e.description + "]" + "환자카드 발행중 오류가 발생하여 카드발행을 중단합니다. 다시 시작하시려면 하단의 발급시작버튼을 눌러주세요!", "E999", "");
- //window.clearInterval(gTimerID);
- killTimer(gTimerID);
-
- group1.button6.enable = false;
- group1.button5.enable = true;
- }
- //submit("TXPMC04203");
- var oParam = {};
- oParam.id = "TRPMC04203";
- oParam.service = "pamcomnapp.PamComn";
- oParam.method = "reqSetIssInfo";
- oParam.inds = "req=ds_main_patcardissue_send";
- oParam.outds = "ds_main_isswaitpat_isswaitpatlist=getinfo";
- oParam.async = false;
- tranf_submit(oParam);
- }
- //model.refresh();
- }
- function fIssOtherCard(){
- IssCard.PortOpen = false;
- fInit();
- }
- function fIssOtherCard2(){
- //IssCard.PortOpen = false;
- fInit();
- }
- //2007-10-04 이동식 추가 - 환자카드발급신청
- function fIssuePatientCard(){
- /*
- 01. rid : 레포트명
- 02. dataType : 연계방법
- 03. paramsXPath : 매개변수필드 XPath
- 04. submitId : SubmitID
- 05. print : 출력여부
- 06. printDialog : 인쇄 창 보임 여부
- 07. fileType : 저장타입
- 08. fileName : 파일명
- 09. fileDialog : 파일 저장 창 보임여부
- 10. closeYn : 미리보기창닫기여부
- 11. monNo : 모니터 번호
- 12. parentObjId : 부모객체명
- 13. printPaperBin : 트레이번호
- 14. userService : 데이터 소스
- 15. showButton : 툴바버튼보임여부
- 16. printCount : 프린트장수
- 17. zoomRate : 미리보기뷰어 비율
- 18. printOption : 출력시 선택 옵션
- 19. dataXPath : 데이터 XPath
- 20. mainDataXPath : 메인리포트 반복XPath
- 21. subDataXPath : 서브리포트1 반복Xpath
- exeReportPreview(rid, dataType, paramsXPath, submitId, print, printDialog, fileType, fileName, fileDialog, closeYn, monNo, parentObjId, printPaperBin, userService, showButton, printCount, zoomRate, printOption, dataXPath, mainDataXPath, subDataXPath)
- c:\windows\device.ini 파일에 1A나 1B등 써놓으면 같은 내용을 가진 PC들은 그룹으로 지정되어 프린터 물려있는 PC자동으로 찾아서 출력함!
- */
- var sInstcd = ds_hidden_session.getColumn(0, "sess_dutplceinstcd");
- if( sInstcd!= '011' && sInstcd != '013' && sInstcd != '014' && sInstcd != '017' ){
- //sInstcd = '018';
- }
- //발급로직 start!!
- var pid = ds_main_patcardissue_getinfo.getColumn(0, "pid");
- var hngnm = ds_main_patcardissue_getinfo.getColumn(0, "hngnm");
- var engnm = ds_main_patcardissue_getinfo.getColumn(0, "engnm");
- var insukind = ds_main_patcardissue_getinfo.getColumn(0, "insukind");
- var rrgstno1 = ds_main_patcardissue_getinfo.getColumn(0, "rrgstno1");
- var rrgstno2 = ds_main_patcardissue_getinfo.getColumn(0, "rrgstno2");
- var rrgstno = ds_main_patcardissue_getinfo.getColumn(0, "rrgstno1") + ds_main_patcardissue_getinfo.getColumn(0, "rrgstno2");
- var sex = ds_main_patcardissue_getinfo.getColumn(0, "sex");
- //성가 환자카드로직 기존로직 제외
- if( sInstcd == '999' ){
- var spc = '';
- for( var i = 1; i <= 13 - pid.length; i ++ ){
- spc = spc + ' ';
- }
- //엠보싱세팅
- var emb = '';
- //등록번호 시작이 영문일때
- if( pid.substr(0,1) == 'A' || pid.substr(0,1) == 'B' ){
- emb = '#DCL#080550 1#FC1#800 2#FC2#500 3#FC1#200 4#FC1#200 #END#______'; //환자번호가 알파벳으로 시작
- spc = spc + ' '; // 간격 재조정
- }else{
- emb = '#DCL#080550 1#FC2#800 2#FC2#500 3#FC1#200 4#FC1#200 #END#______'; //환자번호가 숫자로만.
- }
- rrgstno = rrgstno1 + '-' + rrgstno2.substr(0, 1) + '******';
- var totalStr = '#DCC##EMB#' + pid + spc + insukind + '"' + engnm + '"' + rrgstno + ' ' + sex + '#GRD#1"' + pid + '"' + '#END#______';
- try{
- body.removeChild("NWSerial_EMB");
- if (components["NWSerial_EMB"] == null) { // 최초 한번만 createChild() 한다.
- body.createChild("xforms:object", "id:NWSerial_EMB; clsid:{648A5600-2C6E-101B-82B6-000000000014}; visibility:hidden; left:0px; top:0px; width:0px; height:0px; ");
- }
- IssCard = NWSerial_EMB;
- //Sets and returns the communications port number.
- IssCard.CommPort = 2;
- //Sets and returns the baud rate, parity, data bit, and stop bit
- IssCard.Settings = "9600,E,7,1";
- IssCard.InputLen = 0;
- IssCard.InBufferCount = 0;
- //Sets and returns the state of the communications port
- var portOpenYN = IssCard.PortOpen;
- if( portOpenYN == false ){
- IssCard.PortOpen = true;
- }
- portOpenYN = IssCard.PortOpen;
- if( portOpenYN == false ){
- sysf_messageBox("포트 연결에 실패하였습니다.", "E999", "");
- return false;
- }
- IssCard.Output = emb ;
- //타이머 3000 msecs
- var start = new Date().getTime();
- var msecs = '3000';
- var cur = start;
- while(cur - start < msecs){
- cur = new Date().getTime();
- }
- IssCard.Output = totalStr;
- var outBufferCount = IssCard.OutBufferCount;
- var inBufferCount = IssCard.InBufferCount;
- var cntLoof = 0;
- while( outBufferCount != 0 || inBufferCount == 0){
- cntLoof = parseInt(cntLoof) + 1;
- if( cntLoof > 30 ){
- throw "시간 초과 오류입니다.";
- }
- //타이머 3000 msecs
- var start = new Date().getTime();
- var msecs = '1000';
- var cur = start;
- while(cur - start < msecs){
- cur = new Date().getTime();
- }
- outBufferCount = IssCard.OutBufferCount;
- inBufferCount = IssCard.InBufferCount;
- }
- // window.clearInterval(gTimerID);
- // gTimerID = window.setInterval("fIssOtherCard()", gIntervalTime);
- gTimerID = 1;
- setTimer(gTimerID, gIntervalTime);
- return true;
- }catch(e){
- ds_main_patcardissue_send.setColumn( 0, "remfact", e);
- IssCard.PortOpen = false;
- return false;
- }
- //의정부 환자카드발급로직
- }else if( sInstcd == '013' ){
- //엠보싱세팅
- var emb = '';
- //환자이름 시작이 영문일때
- var sKorEngCheck = hngnm.charCodeAt(0);
- var sNameString = '';
- //영어 이외의 문자일 때 - 한글로 인식
- if( !( ( 0x61 <= sKorEngCheck && sKorEngCheck <= 0x7A ) || ( 0x41 <= sKorEngCheck && sKorEngCheck <= 0x5A ) ) ) {
- emb = "(((_!#)))______ #DCL#080400 1#FC2#0800 2#FC2#0500 3#FC2#0220 #END#______";
- sNameString = engnm;
- //영문일 경우 - 영어로 인식
- }else{
- emb = "(((_!#)))______ #DCL#080400 1#FC2#0800 2#FC1#0500 3#FC2#0220 #END#______";
- sNameString = hngnm.toLowerCase( );
- }
- //성별세팅
- if( rrgstno2.substr(0, 1) == '1' || rrgstno2.substr(0, 1) == '3' || rrgstno2.substr(0, 1) == '5' || rrgstno2.substr(0, 1) == '7'){ //남자
- sex = ".";
- }else{
- sex = ",";
- }
- //기타 정보 세팅
- var FS = "!";
- var pidLength = 10 - parseInt(pid.length);
- var BarTmp = pid;
- for( var i = 0; i < pidLength; i++ ){
- BarTmp = '0' + BarTmp;
- }
- var Bar = "#GRD#1" + FS + BarTmp + FS + "#END#______";
- var IDTmp = '';
- var sPNRN = rrgstno1 + '-' + rrgstno2.substr(0, 1) + '******';
- var totalStr = "(((_!#))) #DCC##EMB#" + pid + " " + insukind + FS + sNameString + FS + sPNRN + " " + sex + Bar;
- try{
- if (components["NWSerial_EMB"] == null) { // 최초 한번만 createChild() 한다.
- body.createChild("xforms:object", "id:NWSerial_EMB; clsid:{648A5600-2C6E-101B-82B6-000000000014}; visibility:hidden; left:0px; top:0px; width:0px; height:0px; ");
- }
- IssCard = NWSerial_EMB;
- //Sets and returns the communications port number.
- IssCard.CommPort = 5;
- //Sets and returns the baud rate, parity, data bit, and stop bit
- IssCard.Settings = "1200,N,8,1";
- IssCard.InputLen = 0;
- IssCard.InBufferCount = 0;
- //Sets and returns the state of the communications port
- var portOpenYN = IssCard.PortOpen;
- if( portOpenYN == false ){
- IssCard.PortOpen = true;
- }
- portOpenYN = IssCard.PortOpen;
- if( portOpenYN == false ){
- sysf_messageBox("포트 연결에 실패하였습니다.", "E999", "");
- return false;
- }
- IssCard.Output = emb ;
- //타이머 3000 msecs
- var start = new Date().getTime();
- var msecs = '3000';
- var cur = start;
- while(cur - start < msecs){
- cur = new Date().getTime();
- }
- IssCard.Output = totalStr;
- var outBufferCount = IssCard.OutBufferCount;
- var inBufferCount = IssCard.InBufferCount;
- var cntLoof = 0;
- while( outBufferCount != 0 || inBufferCount == 0){
- cntLoof = parseInt(cntLoof) + 1;
- if( cntLoof > 30 ){
- throw "시간 초과 오류입니다.";
- }
- //타이머 3000 msecs
- var start = new Date().getTime();
- var msecs = '1000';
- var cur = start;
- while(cur - start < msecs){
- cur = new Date().getTime();
- }
- outBufferCount = IssCard.OutBufferCount;
- inBufferCount = IssCard.InBufferCount;
- }
- //window.clearInterval(gTimerID);
- //gTimerID = window.setInterval("fIssOtherCard()", gIntervalTime);
-
- gTimerID = 1;
- setTimer(gTimerID, gIntervalTime);
- return true;
- }catch(e){
- ds_main_patcardissue_send.setColumn( 0, "remfact", e);
- IssCard.PortOpen = false;
- return false;
- }
- //수원
- }else if(sInstcd == '017'){
- try{
- ds_temp_rsrvlist.clearData();
- dsf_makeValue( ds_temp_rsrvlist, "issyn", "string", "" ); // 발급상태
- dsf_makeValue( ds_temp_rsrvlist, "pid", "string", "" ); // 등록번호
- dsf_makeValue( ds_temp_rsrvlist, "hngnm", "string", "" ); // 환자이름
- dsf_makeValue( ds_temp_rsrvlist, "rrgstno1", "string", "" );
- dsf_makeValue( ds_temp_rsrvlist, "rrgstno2", "string", "" );
- dsf_makeValue( ds_temp_rsrvlist, "issdd", "string", "" );
- dsf_makeValue( ds_temp_rsrvlist, "isstm", "string", "" );
- dsf_makeValue( ds_temp_rsrvlist, "issrid", "string", "" );
- ds_temp_rsrvlist.setColumn( 0, "pid", pid); // 등록번호
- ds_temp_rsrvlist.setColumn( 0, "hngnm", hngnm); // 환자이름
- /*
- var sPrinter;
- var trayno;
- var sDirectionOption;
- // 2009.06.19 - local에 설정된 파일을 우선시 한다.
- // print1:입원약정서, print2:입원환자카드, print3:선택신청, print4:성빈센트 카드프린터
- var printInfo = pmifGetPrintSetting("print4");
- if (printInfo.length == 2) {
- sPrinter = printInfo[0];
- trayno = printInfo[1];
- sDirectionOption = "printdirection=1";
- } else {
- sPrinter = ds_init_PAM_P0018list_P0018.lookupExpr("cdid == '4'", "cdnm");
- if (utlf_isNull(sPrinter)) {
- sPrinter = "true";
- } else {
- sDirectionOption = "printdirection=1";
- }
- }
- */
- //공통코드 P0045에서 프린터 명칭과 트레이 호출 - 환자카드발행
- fGetPrintName();
- var print_name = sysf_getGlobalVariable("SPPAO00100_P0045_5_nm","p");
- var print_tray = sysf_getGlobalVariable("SPPAO00100_P0045_5_tray","p");
- var sDirectionOption = "printdirection=1";
- //호출끝
- //환자카드발행
- //exeReportPreview("RPPMC04201", "XMLSTR" , "" , "" , print_name, "", "", "", "", "true", "", "",print_tray, "", "", "", "", sDirectionOption);
- var objDOM = rptf_createDOM();
- var objParam = new Object();
- rptf_setNodeListToDOM(objDOM, "root/temp/rsrvlist" , ds_temp_rsrvlist);
- objParam.xml_data_XML1 = objDOM.documentElement.source;
- var option = "open=1;save=1;directprint=0;printdialog=1;print=1;zoom=0";
- rptf_exeReportPreview30(["RPPMC04201"],[objParam], option);
-
- //window.clearInterval(gTimerID);
- //gTimerID = window.setInterval("fIssOtherCard2()", gIntervalTime);
-
- gTimerID = 2;
- setTimer(gTimerID, gIntervalTime);
-
- return true;
- }catch(e){
- return false;
- }
- //여의도, 부천은 같은 동일기종사용
- }else if(sInstcd == '011' || sInstcd == '014'){
- try{
- ds_temp_rsrvlist.clearData();
- dsf_makeValue( ds_temp_rsrvlist, "issyn", "string", "" ); // 발급상태
- dsf_makeValue( ds_temp_rsrvlist, "pid", "string", "" ); // 등록번호
- dsf_makeValue( ds_temp_rsrvlist, "hngnm", "string", "" ); // 환자이름
- dsf_makeValue( ds_temp_rsrvlist, "rrgstno1", "string", "" );
- dsf_makeValue( ds_temp_rsrvlist, "rrgstno2", "string", "" );
- dsf_makeValue( ds_temp_rsrvlist, "issdd", "string", "" );
- dsf_makeValue( ds_temp_rsrvlist, "isstm", "string", "" );
- dsf_makeValue( ds_temp_rsrvlist, "issrid", "string", "" );
- ds_temp_rsrvlist.setColumn( 0, "pid", pid); // 등록번호
- var rrgstno = rrgstno1 + "-" + rrgstno2.substr(0,1);
- ds_temp_rsrvlist.setColumn( 0, "rrgstno1", rrgstno); // 주민번호
- //환자이름 시작이 영문일때
- var sKorEngCheck = hngnm.charCodeAt(0);
- var sNameString = '';
- var sLastName ='';
- //영어 이외의 문자일 때 - 한글로 인식
- if(!((0x61 <= sKorEngCheck && sKorEngCheck <= 0x7A) || (0x41 <= sKorEngCheck && sKorEngCheck <= 0x5A))) {
- var a = parseInt(hngnm.length) - 1;
- if ( a < 3) {
- for( var i = 0; i <= a; i++ ){
- if (i == a) {
- sNameString = hngnm.substr(i, 1);
- } else {
- sNameString = hngnm.substr(i, 1) + " ";
- }
- sLastName = sLastName + sNameString;
- }
- } else {
- sLastName = hngnm;
- }
- // 영어로 인식
- }else{
- sLastName = hngnm;
- }
- ds_temp_rsrvlist.setColumn( 0, "hngnm", sLastName); // 환자이름
- /*
- var sPrinter;
- var trayno;
- var sDirectionOption;
- // 2009.06.19 - local에 설정된 파일을 우선시 한다.
- // print1:입원약정서, print2:입원환자카드, print3:선택신청, print4:성빈센트 카드프린터
- var printInfo = pmifGetPrintSetting("print4");
- if (printInfo.length == 2) {
- sPrinter = printInfo[0];
- trayno = printInfo[1];
- sDirectionOption = "printdirection=1";
- } else {
- sPrinter = ds_init_PAM_P0018list_P0018.lookupExpr("cdid == '4'", "cdnm");
- if (utlf_isNull(sPrinter)) {
- sPrinter = "true";
- } else {
- sDirectionOption = "printdirection=1";
- }
- }
- */
- //공통코드 P0045에서 프린터 명칭과 트레이 호출 - 환자카드발행
- fGetPrintName();
- var print_name = sysf_getGlobalVariable("SPPAO00100_P0045_5_nm","p");
- var print_tray = sysf_getGlobalVariable("SPPAO00100_P0045_5_tray","p");
- var sDirectionOption = "printdirection=1";
- //호출끝
- //환자카드발행
- if(sInstcd == '011') {
- //exeReportPreview("RPPMC04203", "XMLSTR" , "" , "" , print_name, "", "", "", "", "true", "", "",print_tray, "", "", "", "", sDirectionOption); //여의도
- var objDOM = rptf_createDOM();
- var objParam = new Object();
- rptf_setNodeListToDOM(objDOM, "root/temp/rsrvlist" , ds_temp_rsrvlist);
- objParam.xml_data_XML1 = objDOM.documentElement.source;
- var option = "open=1;save=1;directprint=0;printdialog=1;print=1;zoom=0";
- rptf_exeReportPreview30(["RPPMC04203"],[objParam], option);
-
- }
- if(sInstcd == '014') {
- //exeReportPreview("RPPMC04202", "XMLSTR" , "" , "" , print_name, "", "", "", "", "true", "", "",print_tray, "", "", "", "", sDirectionOption); //성가
- var objDOM = rptf_createDOM();
- var objParam = new Object();
- rptf_setNodeListToDOM(objDOM, "root/temp/rsrvlist" , ds_temp_rsrvlist);
- objParam.xml_data_XML1 = objDOM.documentElement.source;
- var option = "open=1;save=1;directprint=0;printdialog=1;print=1;zoom=0";
- rptf_exeReportPreview30(["RPPMC04202"],[objParam], option);
-
- }
- //window.clearInterval(gTimerID);
- //gTimerID = window.setInterval("fIssOtherCard2()", gIntervalTime);
- gTimerID = 2;
- setTimer(gTimerID, gIntervalTime);
- return true;
- }catch(e){
- return false;
- }
- }
- }
- //END..
- function group1_button5_onclick(obj:Button, e:ClickEventInfo) {
- group1.button6.enable = true;
- group1.button5.enable = false;
- fInit();
- }
- function group1_button6_onclick(obj:Button, e:ClickEventInfo) {
- //window.clearInterval(gTimerID);
- killTimer(gTimerID);
- group1.button6.enable = false;
- group1.button5.enable = true;
- }
- function SMPMC04201_ontimer(obj:Form, e:TimerEventInfo)
- {
- killTimer(gTimerID);
- if(e.timerid == 0) {
- fInit();
- }
- else if(e.timerid == 1) {
- fIssOtherCard();
- }
- else if(e.timerid == 2) {
- fIssOtherCard2();
- }
- }
- function SMPMC04201_onclose(obj:Form, e:CloseEventInfo)
- {
- killTimer(gTimerID);
- }
- ]]></Script>
- </Form>
- </FDL>
|