123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321 |
- /**
- * 파 일 명 : SMADT01101.JS
- * 설 명 : 원외처방전 출력 팝업(원무용)
- * 설 계 자 : 김귀남.
- * 작 성 자 : 김귀남
- * 기본 로직은 SMADT01100.JS를 기반으루 구현.
- * 원외처방출력에 필요한 로직만 남겨두고 기타 다른 기능들은 삭제.
- */
-
- var gTimer;
- var gTimer1;
- var chk_cnt = 0;
- /**
- * 초기화
- */
- function fInit() {
-
- // =========================================== 트레이정보 설정 (원무 : 박재형 제공) ===========================================
- // desc :
- /*
- var printerfileno = document.readIniFile("Tray", "trayno", "X", "C:\\cmcnuprinter\\printer.ini");
-
- if ( printerfileno == "X") {
- if ( messageBox("프린터 트레이정보가 존재하지 않습니다. ''예 = 트레이1'', ''아니오 = 트레이2'' ","Q003") == "6"){
- printerfileno = "1";
- } else {
- printerfileno = "2";
- }
- var fso = new ActiveXObject("Scripting.FileSystemObject");
- var a = fso.CreateFolder("C:\\cmcnuprinter");
- document.writeinifile("Tray", "trayno", printerfileno,"C:\\cmcnuprinter\\printer.ini");
- model.makeValue("/root/hidden/prcpsrch/printer",printerfileno);
- model.setValue("/root/hidden/prcpsrch/printer",printerfileno);
- }else{
- model.makeValue("/root/hidden/prcpsrch/printer",printerfileno);
- model.setValue("/root/hidden/prcpsrch/printer",printerfileno);
- }
- */
-
- // =======================================================================================================================
- ///2015년 8월28일 김치국 사용하는 병원정보 등록
- model.makeValue("/root/temp/initinstcd",getUserInfo("dutplceinstcd"));
- model.setValue("/root/temp/initinstcd", getUserInfo("dutplceinstcd"));
-
- //20101103_laboru_경북대병원_투약일자, 투약번호 파라미터로 넘기기때문에 초기화 시키면 안됨.
- /*
- var curDate = new Date();
- model.setValue("/root/hidden/prcpsrch/drugdd", getCurrentDate());
- */
- if (model.getValue("root/hidden/prcpsrch/drugdd") == "") {
- var curDate = new Date();
- model.setValue("/root/hidden/prcpsrch/drugdd", getCurrentDate());
- }
-
- //원외 체크 초기화
- model.setValue("/root/hidden/prcpsrch/hosoutyn", "Y");
- fChkHosout_YN();
-
- //진료과 Combo 조회
- model.setValue("/root/send/deptinfo/deptflag", "D");
-
-
- // 20101124_laboru_경북대병원_마약/향정 외래 환자 원외 처방전 출력 여부 조회(R002)
- submit("TRADT01108");
-
- // 20100310_laboru_출고부서 조회, 설정
- /* submit("TRADT01106");
- var dutplceinstcd = getUserInfo("dutplceinstcd");
- if(dutplceinstcd == "017" || dutplceinstcd == "012" || dutplceinstcd == "011") {
- combo1.select(1);
- } else {
- combo1.select(0);
- }
- chk_cnt ++;
- model.makeValue("/root/temp/stocdeptcd", model.getValue("/root/hidden/prcpsrch/stocdeptcd"));
- combo1.refresh();*/
-
- // '영문명으로' 노드 생성
- var nodeEprntype = instance1.selectSingleNode("/root/hidden/prcpsrch/eprntype");
- if ( nodeEprntype == null ) {
- model.makeNode("/root/hidden/prcpsrch/eprntype");
- }
-
- model.refresh();
-
- if(model.getValue("/root/hidden/popupinfo/drugno") != ""){
- model.setValue("/root/hidden/prcpsrch/drugdd",
- model.getValue("/root/hidden/popupinfo/drugdd"));
- model.setValue("/root/hidden/prcpsrch/drugno",
- model.getValue("/root/hidden/popupinfo/drugno"));
- var drugno = model.getValue("/root/hidden/popupinfo/drugno");
- if((drugno > 10000 && drugno < 60001) || drugno >= 70000 ){
- model.makeValue("/root/hidden/prcpsrch/lblyn","");
- model.makeValue("/root/hidden/prcpsrch/lblflag","");
- model.makeValue("/root/hidden/prcpsrch/hosinyn","");
- model.makeValue("/root/hidden/prcpsrch/hosinmpsflag","");
- }else{
- model.setValue("/root/hidden/prcpsrch/hosoutyn","");
- model.makeValue("/root/hidden/prcpsrch/hosoutmpsflag","");
- }
-
- model.refresh();
- }
- }
- /**
- * 원외 변경시 처리
- */
- function fChkHosout_YN() {
- var chk = model.getValue("/root/hidden/prcpsrch/hosoutyn");
-
-
- if(chk == "Y"){
- model.makeValue("/root/hidden/prcpsrch/hosoutmpsflag", "1|2");
- } else {
- model.makeValue("/root/hidden/prcpsrch/hosoutmpsflag", "");
- }
- model.refresh();
- }
- /**
- * 처방전/라벨 출력
- */
- function fPrcpMPSPrint() {
-
- var chk_drugno = model.getValue("/root/hidden/prcpsrch/drugno");
-
-
- if( chk_drugno == ""){
- //자동출력 또는 미출력 처방 출력은 <원내>처방과 응급실원외처방만 출력한다.
- model.copyNode("/root/send/paramsrch","/root/hidden/prcpsrch");
- model.setValue("/root/send/paramsrch/autoprcp", "Y");
- submit("TRADT01101");
-
-
-
- //원외 처방전 출력
- if (model.getValue("/root/hidden/prcpsrch/hosoutyn") == "Y" && model.getValue("/root/hidden/prcpsrch/autooutprntyn") == "Y") {
- fHosOutMPSPrint();
- }
-
- } else {
- //원외 처방
- if(isNaN(chk_drugno)){
- messageBox("투약번호를 숫자로","C001");
- model.setValue("/root/hidden/prcpsrch/drugno", "");
- model.setFocus("input14");
- model.refresh();
- return;
- }
- chk_drugno = parseInt(chk_drugno, 10);
-
-
- if (model.getValue("/root/hidden/prcpsrch/hosoutyn") == "Y" ) {
- if(fChkDrugNo("Y")){
- model.setValue("/root/hidden/prcpsrch/prntflag", "Y");
- model.copyNode("/root/send/paramsrch","/root/hidden/prcpsrch");
- submit("TRADT01101");
-
- var chkret = 0;
- if(model.getValue("/root/main/paramdata/param/drugchkstat") == "NC") {
- chkret = messageBox("조제보류된 처방입니다. 출력", "Q004");
-
- if(chkret != 6) {
- return;
- }
- }
-
- // 20150421 jmkim 원외처방전 발행 시 미수납 상태이면 에러메시지 발생토록 팝업 추가
- if(model.getValue("/root/main/paramdata/param/rcptyn") != null // INPT일 경우 Null 반환
- && model.getValue("/root/main/paramdata/param/rcptyn") == "N") {
- messageBox("미수납상태", "I009");
- return;
- }
-
- var prntdt = model.getValue("/root/main/paramdata/param[1]/prntdt");
- if( prntdt !="" && prntdt != "-" && model.getValue("/root/hidden/prcpsrch/reprintyn") == "") {
- var prntdata = prntdt.substring(0,4) + "년" + prntdt.substring(4,6) + "월" + prntdt.substring(6,8) + "일" +
- prntdt.substring(8,10) + ":" + prntdt.substring(10,12) + ":" + prntdt.substring(12,14);
- result = messageBox(prntdata + "에 출력한 처방입니다. 원외처방전 재출력을","Q003");
-
- if(result == 6) {
- model.setValue("/root/hidden/prcpsrch/reprintyn","Y");
- model.refresh();
- }
-
- } else {
- result = 6;
- }
-
- if(result == 6) {
- //원외 처방전 출력
- fHosOutMPSPrint();
- }
- }
- }
-
- }
- }
- /**
- * 원외 처방전 출력
- */
- function fHosOutMPSPrint() {
- // 20101124_laboru_경북대병원_마약/향정 외래 환자 원외 처방전 출력 여부 조회(R002)
- var mdrugflag = model.getValue("/root/init/mdrugflags/mdrugflags/r002");
-
- for(var i = grd_param.fixedRows; i < grd_param.rows; i++){
- /*model.copyNode("/root/send/prcpsrch","/root/main/paramdata/param["+i+"]");
-
- //model.makeValue("/root/send/prcpsrch/hosoutmpsflag", model.getValue("/root/hidden/prcpsrch/hosoutmpsflag"));
- model.makeValue("/root/send/prcpsrch/prntflag", model.getValue("/root/hidden/prcpsrch/prntflag"));
- model.makeValue("/root/send/prcpsrch/autoprntyn", model.getValue("/root/hidden/prcpsrch/autoprntyn"));
- submit("TRADT01102");
-
- model.makeValue("/root/main/prcpdata/patinfo/hosoutmpsflagnm", "(약국제출용)");
- exeReportPreview("RFADT01101", "XMLSTR", "", "", "true","","","","","true");
-
- model.makeValue("/root/main/prcpdata/patinfo/hosoutmpsflagnm", "(본인보관용)");
- exeReportPreview("RFADT01101", "XMLSTR", "", "", "true","","","","","true");
- */
-
- ////2015년8월3일 김치국
- var reprintynflag = model.getValue("/root/hidden/prcpsrch/reprintyn");
- var reprnttype = model.getValue("/root/hidden/prcpsrch/reprnttype");
- var reprntpat = model.getValue("/root/hidden/prcpsrch/reprntpat");
- var elctsignkey = model.getValue("/root/hidden/prcpsrch/elctsignkey");
- var elctsigncnts = model.getValue("/root/hidden/prcpsrch/elctsigncnts");
- var inisinstcd = model.getValue("/root/temp/initinstcd");
- /////////칠곡만 정보 등록
- if (inisinstcd == "032") {
- // alert('재출력이므로 체크루틴 탐.');
- // alert(reprintynflag);
- if (reprintynflag == 'Y' ) {
- capt_cover.visible = false ;
- if (reprnttype == '' ) {
- alert('재출력이면서 재출력 구분정보가 없습니다. ');
- return;
- }
- if (reprntpat == '' ) {
- alert('재출력이면서 요청자 정보가 없습니다.');
- return;
- }
- if (elctsignkey == '' ) {
- alert('재출력이면서 요청자 싸인정보가 없습니다.');
- return;
- }
- }
- }
- var sParam = "";
- //2009-05-07 트레이 번호 추가 printerno
- //sParam = "drugdd▦drugno▦pid▦orddd▦cretno▦orddeptcd▦prcpgenrflag▦hosoutmpsflag▦reprintyn▩";
- sParam = "drugdd▦drugno▦pid▦orddd▦cretno▦orddeptcd▦prcpgenrflag▦hosoutmpsflag▦reprintyn▦prntflag▦printerno▩";
- sParam += model.getValue("/root/main/paramdata/param["+i+"]/drugdd")+"▦"+
- model.getValue("/root/main/paramdata/param["+i+"]/drugno")+"▦"+
- model.getValue("/root/main/paramdata/param["+i+"]/pid")+"▦"+
- model.getValue("/root/main/paramdata/param["+i+"]/orddd")+"▦"+
- model.getValue("/root/main/paramdata/param["+i+"]/cretno")+"▦"+
- model.getValue("/root/main/paramdata/param["+i+"]/orddeptcd")+"▦"+
- model.getValue("/root/main/paramdata/param["+i+"]/prcpgenrflag")+"▦"+
- model.getValue("/root/hidden/prcpsrch/hosoutmpsflag")+"▦"+
- model.getValue("/root/hidden/prcpsrch/reprintyn")+"▦"+
- "Y"+"▦"+
- model.getValue("/root/hidden/prcpsrch/stocdeptcd")+"▦"+ // 20100310_laboru_시행부서 Y 로 박히는 것 수정.
- model.getValue("/root/hidden/prcpsrch/printer")+"▦"+
- mdrugflag +"▦"+
- model.getValue("/root/hidden/prcpsrch/eprntype") + "▦" +
- ////////////2015년8월3일 추가 김치국
- model.getValue("/root/hidden/prcpsrch/reprnttype")+"▦"+
- model.getValue("/root/hidden/prcpsrch/reprntpat")+"▦"+
- model.getValue("/root/hidden/prcpsrch/elctsignkey")+"▦"+
- model.getValue("/root/hidden/prcpsrch/elctsigncnts")+"▦"+
- model.getValue("/root/hidden/prcpsrch/digcdskipyn")+"▩"
- ; // 20101124_laboru_경북대병원_마약/향정 외래 환자 원외 처방전 출력 여부 조회(R002)
- //model.getValue("/root/hidden/prcpsrch/printer")+"▦"+
- //model.getValue("/root/hidden/prcpsrch/stocdeptcd")+"▩"; // 20100310_laboru_시행부서 Y 로 박히는 것 수정.
-
- //messageBox ( model.getValue("/root/hidden/prcpsrch/printer"),"Q003") ;
- //messageBox("fPrcpMPSPrint-->"+ sParam,"Q003") ;
- // alert(sParam);
-
- model.setAttribute("params", sParam);
- modal("SPADT61100",0,200,200,"","");
- model.setAttribute("params", "");
- }
- }
- /**
- * 투약번호 체크
- */
- function fChkDrugNo(flag) {
- var drugno = model.getValue("/root/hidden/prcpsrch/drugno");
- var chk_in = model.getValue("/root/hidden/prcpsrch/hosinyn");
- var chk_out = model.getValue("/root/hidden/prcpsrch/hosoutyn");
- if(drugno != ""){
- drugno = parseInt(drugno, 10);
- if(flag == "Y"){
- if((drugno >= 10001 && drugno < 20001) || (drugno >= 90001 && drugno < 100000) || (drugno >= 40000 && drugno < 41000) ){ /// 투약번호 40000(외래 의료보호환자 중복방지)2015.4.14 김치국
-
- } else {
- messageBox("원외 투약번호를", "C001");
- return false;
- }
- } else if(flag == "O"){
- if( (drugno > 10000 && drugno < 60001) || drugno >= 70000 ) {
- // messageBox("원내 투약번호를", "C001");
- return false;
- }
- }
- }
- return true;
- }
|