1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480 |
- /* ---------------------------------------------------------------------
- 수술마취메인 (SMMNP00100.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- : Create By Francis Choi
- : 2015.05.02
- ---------------------------------------------------------------------- */
- var s1="";
- /**
- * @group :
- * @ver : 2007.04.17
- * @by : Choi HakRok
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 수술 예약정보 가져오기
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInit(){
-
- //grp_opm.visible = true;
- //roundrect1.visible = true;
- //cap_state.visible = true;
- //수술명, 진단명,수술후 수술명 모두 보이기.2012.01.17_ 손성훈.
- chk_opnmen.value = "Y";
- chk_diagnmkr.value = "Y";
- chk_diagnmen.value = "Y";
- chk_opnmkr.value = "Y";
- chk_afopnm.value = "Y";
- group1.visible = true;
- grp_opmdisc.visible = true;
- group5.visible = false;
- var param = getScreenMenuParameter();
- var node = getGlobalVariable("operation");
- setCSVToNode("/root/main/operation", node);
- inp_opddfr.value = getCurrentDate();
- inp_opddto.value = getCurrentDate();
- grd_oppatlist.explorerbar = "sortshow";
- model.setValue("/root/main/cond/usernm", getUserName() );
- model.setValue("/root/main/cond/orddd" , getCurrentDate());//업무일자(Order Manage 조회일자)
- model.removenode("/root/send");
- model.makeValue("/root/send/flag" , "X" );
- model.makeValue("/root/send/searchitem", "XX" );
- model.makeValue("/root/send/deptflag" , "011" );
- submit("TRMNP00107", false);
- submit("TRMNP03004", false) // 수술실(Rosette) 가져오기
- model.removenode("/root/send");
- model.makeNode("/root/send");
- model.makeValue("/root/send/opcnfmdd" ,model.getValue("/root/main/cond/opddfr") );
- model.makeValue("/root/send/rosette" ,model.getValue("/root/main/cond/oprosette"));
- submit("TRMNP03002", false); // 수술실코드 가져오기
- addComboItem("cmb_oproomlist","전체","","above");
- //addComboItem("cmb_oproomlist", "전 체", "", "above" ); //2009-03-16 TRMNP03004 추가로 인하여 삭제 처리
- addComboItem("cmb_orddept" , "전 체" , "" , "above" );
- addComboItem("cmb_ccrtstatlist" , "전 체" , "" , "above" ); //2009/01/07 추가부분
- addComboItem("cmb_rosette" , "전 체" , "" , "above" );
- if( param == "ordmn" ) {//메뉴를 통해 Order Manage를 선택한 경우
- fSeletedToggle( param );
- }else {
- fSelectPos();
- }
- }
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 수술/마취 메인 조회 */
- /* param : */
- /* return : */
- /* --------------------------------------------------*/
- function fSelectPos() {
- var iRows = -1;
- var opflagcd, callyn;
- model.removenode("/root/send");
- model.makeNode("/root/send/reqdata" ); //저장 후 조회조건
- model.copyNode("/root/send/reqdata", "/root/main/cond");
- submit("TRMNP00100");
- iRows = getNodesetCount("/root/main/opPatlist/opPatInfo");
- var refMsg = model.getValue("/root/properties/error/msg");
- var refMsgCnt = refMsg.substring(0, 1);
- if( refMsgCnt == "0" ) {
- model.removeNodeset("/root/main/opPatlist/opPatInfo");
- if(chk_opnmen.value == "Y"){
- grd_oppatlist.colHidden(grd_oppatlist.colRef("opcdenm")) = false;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("opcdenm")) = "115";
- }else{
- grd_oppatlist.colHidden(grd_oppatlist.colRef("opcdenm")) = true;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("opcdenm")) = "0";
- }
- if(chk_opnmkr.value == "Y"){
- grd_oppatlist.colHidden(grd_oppatlist.colRef("opcdknm")) = false;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("opcdknm")) = "115";
- }else{
- grd_oppatlist.colHidden(grd_oppatlist.colRef("opcdknm")) = true;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("opcdknm")) = "0";
- }
- if(chk_afopnm.value == "Y"){
- grd_oppatlist.colHidden(grd_oppatlist.colRef("afopnm")) = false;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("afopnm")) = "115";
- }else{
- grd_oppatlist.colHidden(grd_oppatlist.colRef("afopnm")) = true;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("afopnm")) = "0";
- }
- model.refresh();
- return;
- }else {
- var ii = 0 ;
- var wCnfmDT = "";
- var sRoomCd = "";
- var sPrcpCnt = 0;
- var sDispCnt = 0;
- var wRoomCd = model.getValue("/root/main/opPatlist/opPatInfo[1]/oproomcd");
- for(var i = 1; i<=iRows; i++) {
- wCnfmDT = model.getValue("/root/main/opPatlist/opPatInfo["+i+"]/opcnfmdd")
- + model.getValue("/root/main/opPatlist/opPatInfo["+i+"]/fstrgstdt").substr(0,4);
- model.setValue("/root/main/opPatlist/opPatInfo["+i+"]/fstrgstdt", wCnfmDT);
- sRoomCd = model.getValue("/root/main/opPatlist/opPatInfo["+i+"]/oproomcd");
- callyn = model.getValue("/root/main/opPatlist/opPatInfo["+i+"]/callyn");
- opflagcd = model.getValue("/root/main/opPatlist/opPatInfo["+i+"]/opflagcd");
- if (model.getValue("/root/main/opPatlist/opPatInfo["+i+"]/delivefact") != "") {
- grd_oppatlist.cellstyle("background-image", i, grd_oppatlist.colRef("delivefactyn")) = "../../../com/commonweb/images/icon_list.gif";
- }else{
- grd_oppatlist.cellstyle("background-image", i, grd_oppatlist.colRef("delivefactyn")) = "";
- }
- if(model.getValue("/root/main/opPatlist/opPatInfo["+i+"]/disp1") == "Y" ||
- model.getValue("/root/main/opPatlist/opPatInfo["+i+"]/disp2") == "Y" ||
- model.getValue("/root/main/opPatlist/opPatInfo["+i+"]/disp3") == "Y" ){
- sDispCnt++;
- }
- //감염정보
- if (model.getValue("/root/main/opPatlist/opPatInfo["+i+"]/disp1") == "Y") {
- grd_oppatlist.cellstyle("background-image", i, grd_oppatlist.colRef("disp1img")) = "../../../com/hismainweb/images/injector_en.gif";
- }else{
- grd_oppatlist.cellstyle("background-image", i, grd_oppatlist.colRef("disp1img")) = "";
- }
- if (model.getValue("/root/main/opPatlist/opPatInfo["+i+"]/disp2") == "Y") {
- grd_oppatlist.cellstyle("background-image", i, grd_oppatlist.colRef("disp2img")) = "../../../com/hismainweb/images/touch_en.gif";
- }else{
- grd_oppatlist.cellstyle("background-image", i, grd_oppatlist.colRef("disp2img")) = "";
- }
- if (model.getValue("/root/main/opPatlist/opPatInfo["+i+"]/disp3") == "Y") {
- grd_oppatlist.cellstyle("background-image", i, grd_oppatlist.colRef("disp3img")) = "../../../com/hismainweb/images/air_en.gif";
- }else{
- grd_oppatlist.cellstyle("background-image", i, grd_oppatlist.colRef("disp3img")) = "";
- }
- if(model.getValue("/root/main/opPatlist/opPatInfo["+i+"]/uncnfm") != "0/0/0"){
- sPrcpCnt++;
- }
- //변경여부
- var cnfmcnclresncd = model.getValue("/root/main/opPatlist/opPatInfo["+i+"]/cnfmcnclresncd");
- if( ( cnfmcnclresncd == "302" )||( cnfmcnclresncd == "303" ) ) {//수술시간변경(환자, 병원사유)
- model.setValue("/root/main/opPatlist/opPatInfo["+i+"]/cnfmcnclresncd", "ⓣ");
- }else if( cnfmcnclresncd == "305" ) {//수술집도의 변경
- model.setValue("/root/main/opPatlist/opPatInfo["+i+"]/cnfmcnclresncd", "ⓞ");
- }else if( cnfmcnclresncd == "301" ) {//수술명 변경
- model.setValue("/root/main/opPatlist/opPatInfo["+i+"]/cnfmcnclresncd", "ⓝ");
- }else if( cnfmcnclresncd == "307" ) {//마취방법 변경
- model.setValue("/root/main/opPatlist/opPatInfo["+i+"]/cnfmcnclresncd", "ⓐ");
- }else if( cnfmcnclresncd == "306" ) {//수술방 변경
- model.setValue("/root/main/opPatlist/opPatInfo["+i+"]/cnfmcnclresncd", "ⓡ");
- }else if( cnfmcnclresncd == "308" ) {//수술집도과 변경
- model.setValue("/root/main/opPatlist/opPatInfo["+i+"]/cnfmcnclresncd", "ⓓ");
- }else if( cnfmcnclresncd == "309" ) {//수술체위 변경
- model.setValue("/root/main/opPatlist/opPatInfo["+i+"]/cnfmcnclresncd", "ⓢ");
- }else{
- model.setValue("/root/main/opPatlist/opPatInfo["+i+"]/cnfmcnclresncd", "");
- }
- if( wRoomCd != sRoomCd ) {
- ii++;
- wRoomCd = sRoomCd;
- }
- if( ii % 2 == 0 ) {//짝수
- grd_oppatlist.rowstyle( i , "data", "background-color") = "#FFFFFF";
- }else {
- grd_oppatlist.rowstyle( i , "data", "background-color") = "#F7FFF7";
- }
- if( (opflagcd == "1")||(opflagcd == "3") ){//정규, 추가
- grd_oppatlist.rowstyle( i , "data", "color") = "#2D2D2D";
- }
- if( opflagcd == "2" ) {//응급
- grd_oppatlist.rowstyle( i , "data", "color") = "#D22D2D";
- }
- // 2008-03-13 수정 요청으로... // 2008-08-22 오전 10:27:32 주석해제
- //if( opflagcd == "3" ) {//추가
- // grd_oppatlist.rowstyle( i , "data", "color") = "#000000";
- //}
- if( callyn == "Y" ) {//호출여부
- grd_oppatlist.rowstyle( i , "data", "background-color") = "#c9d6b9";
- }
- if( opflagcd == "4" ) {//취소
- grd_oppatlist.rowstyle( i , "data", "color") = "#2D2DD2";
- }
- if (model.getValue("/root/main/opPatlist/opPatInfo["+i+"]/opstatcd").substr(1,1)=="9") {//임시취소
- grd_oppatlist.rowstyle( i , "data", "color") = "#2D2DD2";
- }
- }
- model.setValue("/root/temp/sPrcpCnt", sPrcpCnt);
- model.setValue("/root/temp/sDispCnt", sDispCnt);
- opt_prcpcnt.refresh();
- opt_dispcnt.refresh();
- if(chk_opnmen.value == "Y"){
- grd_oppatlist.colHidden(grd_oppatlist.colRef("opcdenm")) = false;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("opcdenm")) = "115";
- }else{
- grd_oppatlist.colHidden(grd_oppatlist.colRef("opcdenm")) = true;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("opcdenm")) = "0";
- }
- if(chk_opnmkr.value == "Y"){
- grd_oppatlist.colHidden(grd_oppatlist.colRef("opcdknm")) = false;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("opcdknm")) = "115";
- }else{
- grd_oppatlist.colHidden(grd_oppatlist.colRef("opcdknm")) = true;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("opcdknm")) = "0";
- }
-
- if(chk_diagnmen.value == "Y"){
- grd_oppatlist.colHidden(grd_oppatlist.colRef("diagengnm")) = false;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("opcdenm")) = "115";
- }else{
- grd_oppatlist.colHidden(grd_oppatlist.colRef("diagengnm")) = true;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("opcdenm")) = "0";
- }
- if(chk_diagnmkr.value == "Y"){
- grd_oppatlist.colHidden(grd_oppatlist.colRef("diagcdnm")) = false;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("opcdknm")) = "115";
- }else{
- grd_oppatlist.colHidden(grd_oppatlist.colRef("diagcdnm")) = true;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("opcdknm")) = "0";
- }
-
- if(chk_afopnm.value == "Y"){
- grd_oppatlist.colHidden(grd_oppatlist.colRef("afopnm")) = false;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("afopnm")) = "115";
- }else{
- grd_oppatlist.colHidden(grd_oppatlist.colRef("afopnm")) = true;
- //grd_oppatlist.colWidth(grd_oppatlist.colRef("afopnm")) = "0";
- }
- }
- model.refresh();
- }
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 콤보아이템 제거 */
- /* param : */
- /* return : */
- /* --------------------------------------------------*/
- function removeComboItem( comboID ) {
- var comboObj = document.all.item(comboID);
- var comboItemNodeSet = comboObj.choices.itemset.attribute("nodeset");
- model.removenode(comboItemNodeSet + "[1]");
- model.refresh();
- }
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 탭 메뉴 선택처리 함수 */
- /* param : selFlag : 선택 탭 구분값 */
- /* return : */
- /* --------------------------------------------------*/
- function fSeletedToggle( selFlag ) {
- if(model.getValue("/root/main_om/cond/hopedd")==""){
- model.makeValue("/root/main_om/cond/hopedd",'4');
- model.makeValue("/root/main_om/cond/hopefmdd", '');
- model.makeValue("/root/main_om/cond/hopetodd", '');
- }
-
- switch(selFlag) {
- case "opm" :
- model.toggle("opmain");
- fSelectPos();
- break;
- case "ordmn" :
- model.toggle("ordmanage");
- fGetOMPatList("op");
- break;
- }
- }
- /**
- * @group :
- * @ver : 2007.06.07
- * @by : Choi HAkRok
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면상단정보설정
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetParam(){
- // 입원환자 화면상단정보 설정
- if(grd_oppatlist.rows == "1"){
- return;
- } else {
- var sPath = "/root/main/opPatlist/opPatInfo";
- var sPatFlag = model.getValue(sPath+"["+grd_oppatlist.row+"]/oppatflagcd");
- if (model.getValue(sPath+"["+grd_oppatlist.row+"]/opstatcd").substr(1,1)=="9") {
- messageBox('취소된 자료는 선택', 'E001');
- return;
- }
- //2008-08-28 오전 9:26:44 taebum add 수술기록 관련 요구사항 처리중
- var sOpenSusulOprsrvno = model.getAttribute("susulrec_oprsrvno");
- var sCurrentOprsrvno = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/oprsrvno");
- if(sOpenSusulOprsrvno != null && sOpenSusulOprsrvno != "" && sOpenSusulOprsrvno != "undefined"){
- if(sOpenSusulOprsrvno != sCurrentOprsrvno){
- var sOpenSusulPid = model.getAttribute("susulrec_pid" );
- var sOpenSusulHngnm = model.getAttribute("susulrec_hngnm");
- messageBox("등록번호 : "+sOpenSusulPid+" "+sOpenSusulHngnm+"님의 수술기록 작성 중 입니다. 작성완료 후 수술기록을 닫으시기 바랍니다.", "");
- return;
- }
- }
- var sOpenTempOprsrvno = model.getAttribute("SuSulOrder_Temp_oprsrvno");
- if(sOpenTempOprsrvno != null && sOpenTempOprsrvno != "" && sOpenTempOprsrvno != "undefined"){
- if(sOpenTempOprsrvno != sCurrentOprsrvno){
- var sOpenTempPid = model.getAttribute("SuSulOrder_Temp_pid");
- var sOpenTempHngnm = model.getAttribute("SuSulOrder_Temp_hngnm");
- messageBox("등록번호 : "+sOpenTempPid+" "+sOpenTempHngnm+"님의 수술/마취 간호처방 작성 중 입니다. 작성완료 후 수술/마취 간호처방을 닫으시기 바랍니다.", "");
- return;
- }
- }
- //2008-08-30 오후 2:52:48 taebum
- //환자구분이 DSC일 경우 수술구분이 정규이면서 현재일자가 수술일자 이전일 경우 CartList만
- //저장할 수 있도록 외래상단정보 세팅. 후 수술마취 간호처방에 parameter를 전송한다.
- /*
- var oppatflagnm = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/oppatflagnm");
- var opflagcdnm = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/opflagcdnm");
- if((oppatflagnm == "DSC") && (opflagcdnm == "정규") && ( sCurrentdd < opcnfmdd ))
- */
- //2008-09-26 오전 11:05:01 taebum DSC 뿐 아니라 외래로 확정한 케이스에도 CartList 저장 및 상단 정보 생성요청 적용중.
- var sTmpIndd = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/iindd");
- var orddeptcd = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/orddeptcd");
- var opcnfmdd = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/opcnfmdd");
- var sCurrentdd = getCurrentDate();
- var sInordtype = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/inordtype");
- if(sTmpIndd == "" || sTmpIndd == null || sTmpIndd == "undefined"){
- var sTmpPid = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/pid");
- model.removenode("/root/send");
- model.makeNode("/root/send/reqdata" ); //저장 후 조회조건
- model.makeValue("/root/send/reqdata/pid" , sTmpPid);
- model.makeValue("/root/send/reqdata/opcnfmdd", opcnfmdd);
- model.makeValue("/root/send/reqdata/orddeptcd", orddeptcd);
- submit("TRMNP00108");
- if(model.getValue("/root/HideData/otptinfo/pid") != ""&&model.getValue("/root/HideData/otptinfo/pid") != null &&model.getValue("/root/HideData/otptinfo/pid") != "undefined" ){
- if (sPatFlag == "") {
- sPatFlag = "O";
- }
- var param = "";
- if(sPatFlag == "D" || sPatFlag == "I" || sPatFlag == "E"){
- //외래환자 상단올리기
- //2009-05-11 YCD 외래 환자 상단정보 세팅 변경
- param = model.getValue("/root/HideData/otptinfo/ordtype") + "▦"
- + model.getValue("/root/HideData/otptinfo/pid") + "▦"
- + model.getValue("/root/HideData/otptinfo/orddd") + "▦"
- + model.getValue("/root/HideData/otptinfo/cretno") + "▦"
- + model.getValue("/root/HideData/otptinfo/instcd") + "▦"
- + "" + "▦"
- + model.getValue("/root/HideData/otptinfo/orgorddd");
- }else {
- param = "T▦" // 01 O:외래, I:입원구분, T:수술예약
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/pid" ) + "▦" // 02 등록번호
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/opcnfmdd" ) + "▦" // 03 수술시작일자
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/cretno" ) + "▦" // 04 cretno(없는 경우 ""로 처리)
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/instcd" ) + "▦" // 05 기관코드
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/perfdeptcd" ) + "▦" // 06 집도과부서
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/perfdrid1" ) + "▦" // 07 집도의ID
- + sPatFlag + "▦" // 08 환자구분
- + "F▦" // 09 F -처리구분 무조건 F로 설정
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/oprsrvno" ) + "▦" // 10 수술예약번호
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/ophistno" ) + "▦" // 11 수술이력번호
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/opcnfmdd" ) + "▦"; // 12 조회일자 2007-09-13 오지훈 추가...
- }
- setParameter("condparam", param);
- modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
- }
- }else {
- // sPatFlag = (sPatFlag == "O" ) ? "O" : "I";
- // sPatFlag = (sPatFlag == "D" ) ? "O" : sPatFlag;
-
-
- if(sPatFlag != sInordtype) {
- var status1="";
- var status2="";
-
- if(sPatFlag == "I") {
- status1="입원";
- } else if(sPatFlag == "E") {
- status1="응급";
- }
-
- if(sInordtype == "I") {
- status2="입원";
- } else if(sInordtype == "E") {
- status2="응급";
- }
-
- messageBox(status2 + "환자가 " + "환자구분이 " + status1 + "으로 등록되어있습니다.", "I");
-
- return;
- }
-
- if (sPatFlag == "") {
- sPatFlag = "I";
- }
- var param = "T▦" // 01 O:외래, I:입원구분, T:수술예약
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/pid" ) + "▦" // 02 등록번호
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/opcnfmdd" ) + "▦" // 03 수술시작일자
- + "▦" // 04 cretno(없는 경우 ""로 처리)
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/instcd" ) + "▦" // 05 기관코드
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/perfdeptcd" ) + "▦" // 06 집도과부서
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/perfdrid1" ) + "▦" // 07 집도의ID
- + sPatFlag + "▦" // 08 환자구분
- + "F▦" // 09 F -처리구분 무조건 F로 설정
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/oprsrvno" ) + "▦" // 10 수술예약번호
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/ophistno" ) + "▦" // 11 수술이력번호
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/opcnfmdd" ) + "▦"; // 12 조회일자 2007-09-13 오지훈 추가...
- setParameter("condparam", param);
- modal("SPMMO08900", 1, "", "", "", "SPMMO08900", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
- }
- var curNurType2Obj = getOpenWindow("SMMNP00200");
- if(curNurType2Obj != null){//준비확인이 열려있으면 상단 환자로 재조회2010.01.04 K.J.M
- curNurType2Obj.javascript.fFormInit();
- }
- }
- }
- //
- function fShowPopup(pData){
- var PopupName = "수술준비확인 #"
- + "수술간호기록 #"
- + "임상관찰기록 #"
- + "수술간호처방 #"
- + "시행부서처방 #"
- + "바코드 출력 #"
- + "NAME LABEL 출력 #"
- + "단문메세지 #"
- + "이송요원호출 #"
- + "보호자호출 #"
- + "보호자호출취소 #"
- + "입실취소 ";
- var PopupNm = PopupName.split("#");
- var Idx = Number(pData);
- var sPath = "/root/main/opPatlist/opPatInfo";
-
- if (Idx != 15 ){ // 15: '환자구분변경' 에는 상단 정보 올리지 않는다._2012.10.31_손성훈.
- fSetParam(); // 상단정보 올리기
- }
- switch(Idx) {
- case 0://수술준비확인
- setParameter("OpMenu", "O");
- open("SMMNP00200", "", "100", "100", "SMMNP00200", "", "");
- break;
- case 1://수술간호기록
- open("SMMNP00300", "", "100", "100", "SMMNP00300", "", "");
- break;
- case 2://임상관찰기록
- setParameter("SMMNR00900_Param", "");
- setParameter("SMMNR00900_SpParam", "");
- if(model.getValue(sPath+"["+grd_oppatlist.row+"]/patinroomdt" ) == "" ){
- setParameter("SMMNR00900_Param", "pid▦indd▦cretno▦instcd▩"
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/pid" ) + "▦"
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/iindd" ) + "▦"
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/icretno" ) + "▦"
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/instcd" ) + "▩");
- }else{
- setParameter("SMMNR00900_SpParam", "pid▦indd▦cretno▦instcd▦inrmdt▦dutplcecd▩"
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/pid" ) + "▦"
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/iindd" ) + "▦"
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/icretno" ) + "▦"
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/instcd" ) + "▦"
- + model.getValue(sPath+"["+grd_oppatlist.row+"]/patinroomdt" ) + "▦"
- + getUserInfo("dutplcecd") + "▩");
- }
- open("SMMNR00900", "", "100", "100", "SMMNR00900", "", "");
- break;
- case 3://수술간호처방
- /*
- var oppatflagnm = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/oppatflagnm");
- var opflagcdnm = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/opflagcdnm");
- var opcnfmdd = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/opcnfmdd");
- var sCurrentdd = getCurrentDate();
- if((oppatflagnm == "DSC") && (opflagcdnm == "정규") && ( sCurrentdd < opcnfmdd )){
- */
- //2008-09-26 오전 11:05:01 taebum DSC 뿐 아니라 외래로 확정한 케이스에도 CartList 저장 및 상단 정보 생성요청 적용중.
- var sTmpIndd = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/iindd");
- var orddeptcd = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/orddeptcd");
- var opcnfmdd = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/opcnfmdd");
- var sCurrentdd = getCurrentDate();
- if(sTmpIndd == "" || sTmpIndd == null || sTmpIndd == "undefined"){
- var iCurrentrow = grd_oppatlist.row;
- if(iCurrentrow > 0){
- var sOprsrvno = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/oprsrvno");
- var sInstcd = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/instcd");
- var sOphistno = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/ophistno");
- var sOphistcd = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/ophistcd");
- var sPid = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/pid");
- var sHngnm = model.getValue("/root/main/opPatlist/opPatInfo["+grd_oppatlist.row+"]/hngnm");
- model.setAttribute("SuSulOrder_Oprsinfo_oprsrvno", sOprsrvno);
- model.setAttribute("SuSulOrder_Oprsinfo_instcd" , sInstcd);
- model.setAttribute("SuSulOrder_Oprsinfo_ophistno", sOphistno);
- model.setAttribute("SuSulOrder_Oprsinfo_ophistcd", sOphistcd);
- }
- }
- open("SMMNP01800", "", "100", "100", "SMMNP01800", "", "");
- break;
- case 4://시행부서처방
- open("SMMMO00200", "", "100", "100", "SMMMO00200", "", "");
- break;
- case 5://바코드 출력
- open("SMLLC00200", "", "100", "100", "SMLLC00200", "", "");
- break;
- case 6://NAME LABEL 출력
- group5.visible = true;//출력장수 선택
- //var iRow = -1;
- //iRow = grd_oppatlist.row;
- //var pid = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/pid");
- //var hngnm = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/hngnm");
- //var sexage = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/sa");
- //fPrintNameLabel(pid, hngnm, sexage);
- break;
- case 7://단문메시지 발송
- open("SPZMS00100", "", "100", "100", "SPZMS00100", "", "");
- break;
- case 8://이송요원호출
- var pid = model.getValue("/root/main/opPatlist/opPatInfo[" + grd_oppatlist.row + "]/pid");
- var prcpnm = model.getValue("/root/main/opPatlist/opPatInfo[" + grd_oppatlist.row + "]/opcdknm");
- var kind = "5";//기타
- var arvposcd = model.getValue("/root/main/opPatlist/opPatInfo[" + grd_oppatlist.row + "]/startposcd");
- var rsrvdt = "";
- //var startposcd = "3070000000";//수술실 부서코드
- var startposcd = getUserInfo("dutplcecd");
- fInsTranCallOP(pid, prcpnm, kind, rsrvdt, arvposcd, startposcd);
- modal("SMMNB01800" ,"", "200", "200", "SMMNB01800", "", "");
- break;
- case 9://보호자 호출
- var iRow = -1;
- var message = "";
- iRow = grd_oppatlist.row;
- var pid = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/pid" );
- var patnm = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/hngnm" );
- var oproomcd = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/oproomcd");
- var oprsrvno = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/oprsrvno");
- var sa = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/sa" );
- var opdd = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/opcnfmdd");
- var callyn = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/callyn");
- var calltel = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/calltel");
- var opstatcd = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/opstatcd");
- var curtDate = getCurrentDate();
- curtDate = curtDate.substring(0, 8);
- oproomcd = oproomcd.setReplaceWord("0", ""); //'0'을 공백으로 대체
- // 2009-03-02 ycd 호출 Message 선택 기능 추가로 인하여 삭제 처리
- //message = patnm + "(" + sa + ") 보호자분은 수술실 입구로 오시기 바랍니다.";
- if( (opstatcd == "10")||(opstatcd == "19")||(opstatcd == "20")||(opstatcd == "29")||(opstatcd == "39")||(opstatcd == "49")||(opstatcd == "50")||(opstatcd == "70") ){
- messageBox("수술 예정, 취소, 종료 환자는 보호자 호출을", "E001");
- return;
- }
- if( opdd == curtDate ) {
- if( oprsrvno != "" ) {
- if( callyn == "Y" ) {
- messageBox("이미 호출 중 ", "E008");
- }else {
- if( calltel == "" ) {//호출 전화번호가 없으면 N으로 셋팅
- //calltel = "N";
- messageBox("호출 전화번호가 ", "I004");
- return;
- }
- //2009-03-02 YCD Message 선택 화면 Parameter 설정 및 호출 추가
- setParameter("SPMNP00101_Param", "patnm▦oproomcd▩" + patnm + "▦" + oproomcd + "▩");
- setParameter("SPMNP00101_RtnData", "");
- modal("SPMNP00101");
- message = getParameter("SPMNP00101_RtnData");
- if(message == ""){
- return;
- }
- model.removenode("/root/send");
- model.makeValue("/root/send/savedata/oprsrvno", oprsrvno);
- model.makeValue("/root/send/savedata/message", message);
- model.makeValue("/root/send/savedata/calltel", calltel);
- model.makeValue("/root/send/savedata/patnm", patnm);
- model.makeValue("/root/send/savedata/callyn", callyn);
- model.makeValue("/root/send/savedata/stat", "I");
- submit("TXMNP00101");
- messageBox("호출 ", "I002");
- }
- }else {
- messageBox("수술예약번호가 ", "I004");
- }
- }else {
- messageBox("현재 날짜 이외의 환자는 호출 ", "E001");
- }
- fSelectPos();
- break;
- case 10://보호자 호출취소
- var iRow = -1;
- iRow = grd_oppatlist.row;
- var oprsrvno = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/oprsrvno");
- var callyn = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/callyn");
- var opdd = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/opcnfmdd");
- var curtDate = getCurrentDate();
- curtDate = curtDate.substring(0, 8);
- if( opdd == curtDate ) {
- if( oprsrvno != "" ) {
- if( callyn != "Y" ) {
- messageBox("미호출 상태 ", "E008");
- }else {
- model.removenode("/root/send");
- model.makeValue("/root/send/savedata/oprsrvno", oprsrvno);
- model.makeValue("/root/send/savedata/stat", "C");
- submit("TXMNP00101");
- messageBox("호출 취소를 ", "I002");
- }
- }else {
- messageBox("수술예약번호가 ", "I004");
- }
- }else {
- messageBox("현재 날짜 이외의 환자는 호출 취소", "E001");
- }
- fSelectPos();
- break;
- case 11://입 실 취 소
- // 직위 1140:간호사, 1110:수간호사
- // if (getUserInfo("jobposcd") == "1140" ||
- // getUserInfo("jobposcd") == "1110" ) {
- // fInOutRoomSave("9"); // 수술기록 1:입실저장,2:퇴실저장,9:입실취소 등록/수정/삭제 요청을 처리한다.
- // } else {
- // alert("입실 취소는 수간호사 선생님만 가능합니다.("+getUserInfo("jobkindnm")+")");
- // return;
- // }
- fInOutRoomSave("9"); // 수술기록 1:입실저장,2:퇴실저장,9:입실취소 등록/수정/삭제 요청을 처리한다.
- break;
- case 12://미수행처방관리
- open("SMMNW10700", "", "100", "100", "SMMNW10700", "", "");
- break;
- case 13://재수술 승인/취소
- // 2009-03-02 YCD 재수술일 경우 수술전준비확인 없이 간호기록이 가능하도록 처리 하기 위하여 재수술 체크 누락건에 한에서 간호에서
- // 재수술 승인을 할 수 있도록 처리하도록 함. 취소는 간호사가 재수술 승인한 경우에만 가능함.
- var iRow = -1;
- iRow = grd_oppatlist.row;
- var pid = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/pid" );
- var patnm = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/hngnm" );
- var oproomcd = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/oproomcd" );
- var oprsrvno = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/oprsrvno" );
- var sa = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/sa" );
- var opdd = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/opcnfmdd" );
- var callyn = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/callyn" );
- var calltel = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/calltel" );
- var opstatcd = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/opstatcd" );
- var reopflag = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/reopflag" );
- var nursreoprgstid = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/nursreoprgstid" );
- var nursreoprgstdt = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/nursreoprgstdt" );
- var nursreopcncldt = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/nursreopcncldt" );
- var indd = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/iindd" );
- var procflag = "E"; //R : 재수술 처리, C : 재수술 취소, E : 실행 종료 처리
- var rtnmsg = "";
- if(reopflag == "Y"){ //재수술 체크가 되어 있을 경우
- if(nursreoprgstid == "-"){
- procflag = "E";
- messageBox("의사 재수술 지정 스케쥴입니다.", "I000");
- return;
- }else{
- procflag = "C";
- }
- }else{
- procflag = "R";
- }
- if(procflag == "R"){
- rtnmsg = messageBox("재수술 처리를","Q004");
- }else if(procflag == "C"){
- rtnmsg = messageBox("재수술 취소 처리를","Q004");
- }else{
- return;
- }
- if(rtnmsg == "6"){
- model.removenode("/root/send");
- model.makeValue("/root/send/savedata/oprsrvno" , oprsrvno );
- model.makeValue("/root/send/savedata/procflag" , procflag );
- model.makeValue("/root/send/savedata/pid" , pid );
- model.makeValue("/root/send/savedata/opcnfmdd" , opdd );
- submit("TXMNP00103");
- }else{
- return;
- }
- fSelectPos();
- break;
- case 14://수술실 전광판관리
- open("SMMNP06100", "", "100", "100", "SMMNP06100", "", "");
- break;
-
- case 15: // 수술환자구분 동기화(입원, 응급실, 일일수술실)_2012.10.31_손성훈.
- var iRow = -1;
-
- iRow = grd_oppatlist.row;
-
- if(iRow > 0){
- var sOprsrvno = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/oprsrvno");
- var sInstcd = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/instcd");
- var sOphistno = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/ophistno");
- var sOppatflagcd = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/oppatflagcd");
- var sOrdtype = model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/inordtype");
-
- var status1="";
- var status2="";
-
- if(sOppatflagcd == "I") {
- status1="입원";
- } else if(sOppatflagcd == "E") {
- status1="응급";
- }
-
- if(sOrdtype == "I") {
- status2="입원";
- } else if(sOrdtype == "E") {
- status2="응급";
- }
-
- if(sOppatflagcd != sOrdtype) {
-
- var rtn = messageBox("수술구분을 " + status1 + "에서 " + status2 + "으로 변경하시겠습니까?", "Q");
-
- if(rtn == "6") {
-
- } else {
- return;
- }
-
- model.removenode("/root/send");
- model.makeValue("/root/send/chngedata/oprsrvno" , sOprsrvno );
- model.makeValue("/root/send/chngedata/ophistno" , sOphistno );
- model.makeValue("/root/send/chngedata/ordtype" , sOrdtype );
- model.makeValue("/root/send/chngedata/oppatflagcd", sOppatflagcd );
-
- model.removenode("/root/temp2");
- model.makeNode("/root/temp2");
-
- if ( submit("TXMNP00104") ){
- var sCnt = model.getValue("/root/temp2/tmp/cnt");
- if (sCnt == "1"){
- messageBox("환자구분 변경 완료 되었습니다.","I");
- fSelectPos();
- }else{
- messageBox("변경 내역이 존재하지 않습니다.","I");
- }
- }
- }else{
- messageBox("환자구분 변경 할 수 없는 상태입니다. 환자의 재원 상태를 확인하세요!","E");
- }
- }
- break;
- case 16:
- var iRow = grd_oppatlist.row;
- setParameter("SMMNP00208_PARM_OPRSRVNO", model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/oprsrvno"));
- setParameter("SMMNP00208_PARM_PID", model.getValue("/root/main/opPatlist/opPatInfo[" + iRow + "]/pid"));
- modal("SMMNP00208");
- break;
- case 17:
- fSetParam(); // 환자 화면상단정보 설정
- modal("SMMNR00600");
- break;
- case 18:
- fSetParam(); // 환자 화면상단정보 설정
- modal("SMMRF02300");
- break;
- case 19:
- modal("SPMRF02900");
- break;
- case 20:
- var pid = model.getValue("/root/main/opPatlist/opPatInfo[" + grd_oppatlist.row + "]/pid");
- var hngnm = model.getValue("/root/main/opPatlist/opPatInfo[" + grd_oppatlist.row + "]/hngnm");
- var orddeptcd = model.getValue("/root/main/opPatlist/opPatInfo[" + grd_oppatlist.row + "]/orddeptcd");
- var medispclid = model.getValue("/root/main/opPatlist/opPatInfo[" + grd_oppatlist.row + "]/medispclid");
- var diag = model.getValue("/root/main/opPatlist/opPatInfo[" + grd_oppatlist.row + "]/diagcdnm");
- var diagcd = model.getValue("/root/main/opPatlist/opPatInfo[" + grd_oppatlist.row + "]/diagcd");
- var sexagestr = model.getValue("/root/main/opPatlist/opPatInfo[" + grd_oppatlist.row + "]/sa").split("/");
- if( sexagestr[0] == "F" ){ var sex = "여자"; }
- if( sexagestr[0] == "M" ){ var sex = "남자"; }
- var age = sexagestr[1];
- var wardcd = model.getValue("/root/main/opPatlist/opPatInfo[" + grd_oppatlist.row + "]/wardcd");
- var roomcd = model.getValue("/root/main/opPatlist/opPatInfo[" + grd_oppatlist.row + "]/patposplcecd");
- var ioflag = "I";
-
- setParameter("SMMQR00100_PARAM", pid + "▦" + hngnm + "▦" + orddeptcd + "▦" + medispclid + "▦" + diag + "▦" + diagcd + "▦" + sex + "▦" + age + "▦" + wardcd + "▦" + roomcd + "▦" + ioflag);
- modal("../../../emr/qiweb/xrw/SMMQR00100", "","", "", "SMMQR00100", "", "");
-
- break;
- case 21:
- //조건체크 필요
- var selcnt = grd_oppatlist.selectedRows;
-
- if ( selcnt == 1 ) {
- messageBox("1건의 수술만 선택하셨습니다","I");
- return;
- }
-
- if ( selcnt > 2 ) {
- messageBox("3건의 이상의 수술을 선택하셨습니다","I");
- return;
- }
-
- var row1 = grd_oppatlist.selectedRow(0);
- var row2 = grd_oppatlist.selectedRow(1);
-
- var oprsrvno1 = model.getValue("/root/main/opPatlist/opPatInfo[" +row1+ "]/oprsrvno");
- var oprsrvno2 = model.getValue("/root/main/opPatlist/opPatInfo[" +row2+ "]/oprsrvno");
-
- var pid1 = model.getValue("/root/main/opPatlist/opPatInfo[" +row1+ "]/pid");
- var pid2 = model.getValue("/root/main/opPatlist/opPatInfo[" +row2+ "]/pid");
-
- var cnstopflag1 = model.getValue("/root/main/opPatlist/opPatInfo[" +row1+ "]/cnstopflag");
- var cnstopflag2 = model.getValue("/root/main/opPatlist/opPatInfo[" +row2+ "]/cnstopflag");
-
-
- if (pid1 != pid2) {
- messageBox("동일한 환자의 수술건이 아닙니다","I");
- return;
- }
-
- // if (cnstopflag1+cnstopflag2 != "Y" ) {
- // messageBox("부(협진)수술 및 메인수술 각1건이 선택되지 않았습니다 ","I");
- // return;
- // }
-
- model.makeNode("/root/main/opinfo/oplist");
- copyNodesetType("/root/main/opinfo/oplist","/root/main/opPatlist/opPatInfo[oprsrvno="+oprsrvno1+"or oprsrvno="+oprsrvno2+"]","replace", model, model);
-
- modal("SPMNP00306", "","", "", "SPMNP00306", "/root/main/opinfo", "/root/main");
-
- btn_srch.dispatch("DOMActivate");
-
- break;
- case 22:
- //협진 -> 주수술로
- var selcnt = grd_oppatlist.selectedRows;
-
- if ( selcnt != 1 ) {
- messageBox("부(협진)수술 1건만 선택되어야 합니다","I");
- return;
- }
-
- var row1 = grd_oppatlist.selectedRow(0);
- var oprsrvno1 = model.getValue("/root/main/opPatlist/opPatInfo[" +row1+ "]/oprsrvno");
- var cnstopflag1 = model.getValue("/root/main/opPatlist/opPatInfo[" +row1+ "]/cnstopflag");
-
- if (cnstopflag1 != "Y" ) {
- messageBox("부(협진)수술건이 아닙니다 ","I");
- return;
- }
-
- model.makeNode("/root/main/opinfo/oplist");
- copyNodesetType("/root/main/opinfo/oplist","/root/main/opPatlist/opPatInfo[oprsrvno="+oprsrvno1+"]","replace", model, model);
-
- modal("SPMNP00306", "","", "", "SPMNP00306", "/root/main/opinfo", "/root/main");
-
- btn_srch.dispatch("DOMActivate");
-
- break;
- default :
- break;
- }
- // }
- }
- // ------------------------------------------------------------------------------------------------
- // 수술기록 1:입실저장,2:퇴실저장,9:입실취소 등록/수정/삭제 요청을 처리한다.
- // 진행상태 (opstatcd)가 50보다 작은것만 입실취소가 가능하다.(코드정의서 M0015)
- // 00 : 임시, 10 : 의뢰, 20 : 확정, 30 : 대기, 40 : 수술중, 50 : 퇴실, 60 : 회복중, 70 : 퇴실
- // 09 : 임시취소, 19 : 의뢰취소, 29 : 확정취소
- // ------------------------------------------------------------------------------------------------
- function fInOutRoomSave(pFlag){
- //수술진행상태가 수술중 이전까지만 입실취소가 가능하다.
- var opstatcd = model.getValue('/root/main/opPatlist/opPatInfo[' + grd_oppatlist.row + ']/opstatcd');
- //취소데이터는 진행없이 바로리턴
- if(opstatcd.substring(1) == '9'){
- return;
- }
- if(opstatcd > 40){
- messageBox('수술이 끝난 환자는 입실취소', 'E001');
- return;
- }
- model.removenode("/root/send");
- var wRow = grd_oppatlist.row;
- var wDataPath = "/root/main/opPatlist/opPatInfo[" + wRow + "]"
- sPid = model.getValue(wDataPath + "/pid" ); // 01 환자번호
- sOprsrvno = model.getValue(wDataPath + "/oprsrvno"); // 02 수술예약(의뢰)번호(년도+일련번호)
- sOphistno = model.getValue(wDataPath + "/ophistno"); // 03 예약번호에따른이력번호
- sInstcd = model.getValue(wDataPath + "/instcd" ); // 04 기관코드
- sJobProc = "pid" + "▦" // 01 환자번호
- + "oprsrvno" + "▦" // 02 수술예약
- + "ophistno" + "▦" // 03 이력번호
- + "instcd" + "▦" // 04 기관코드
- + "jobflag" + "▩" // 05 작업구분(1:입실저장,2:퇴실저장,9:입실취소)
- + sPid + "▦" // 01 환자번호
- + sOprsrvno + "▦" // 02 수술예약
- + sOphistno + "▦" // 03 이력번호
- + sInstcd + "▦" // 04 기관코드
- + pFlag + "▩" // 05 작업구분(1:입실저장,2:퇴실저장,9:입실취소)
- model.makeValue("/root/send/JobProc", sJobProc);
- if (submit("TXMNP00102")){ // 수술간호기록정보 입실취소
- messageBox("입실취소가", "I002");
- fSelectPos();//재조회
- }
- }
- /**
- * @group :
- * @ver : 2010.11.19
- * @by : DARK9258
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 환자 name라벨 출력
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPrintNameLabel(pid, hngnm, sexage, oproomcdnm, depthngnm, prncnt, pPort,roomcd){
- ////////////////////////////////////////////////////////////////////////////////////////// 원본_20090522
- // //20080905 port찾기
- // //port정보 가져오기
- // model.removenode('/root/send');
- // model.removenode('/root/main/barcdprntsetup');
- // model.makenode('/root/main/barcdprntsetup');
- // model.makeValue('/root/send/scrnid', 'SMMNP00100');
- // if(submit('TRLLC90101')){
- // pPort = model.getValue('/root/main/barcdprntsetup/prntsetupinfo/setupinfo[1]/comm02/comm');
- // }
- //
- // if(document.all("CommAX") != null) {
- // //바코드 출력 시작
- //
- // var portOpenTF = "";
- //
- // // CommPort 설정
- // if (pPort == "" || pPort == null || pPort == " ") {
- // CommAX.CommPort = "1"; // default port setting
- // } else {
- // CommAX.CommPort = pPort; //Port 설정
- // }
- //
- // CommAX.Settings = "9600,n,8,1";
- //
- // portOpenTF = CommAX.PortOpen("true"); //Port Open
- //
- // if(portOpenTF == "TRUE") {
- //
- // var iLeft = model.getValue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/blank/left");
- // var iTop = model.getValue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/blank/top");
- //
- // if(iLeft == "" || iLeft == "-"){
- // iLeft = 0;
- // }
- // if(iTop == "" || iTop == "-"){
- // iTop = 0;
- // }
- //
- // var sData = "^XA^LH0,20";//출력시작점
- //
- // //출력일
- // var prndd = getCurrentDate().substr(0,4) + "/" + getCurrentDate().substr(4,2) + "/" + getCurrentDate().substr(6,2);
- // sData += "^CFA,20,20";//bold, height, width
- // sData += "^FO10,20";//위치지정(x축, y축)
- // sData += "^FD"+ prndd + "^FS";
- //
- // //수술정보
- // var opinfo = oproomcdnm + "R " + depthngnm + " " + pid;
- // sData += CommAX.PrtImgOut(20, 60, opinfo, 1, 1);//PrtImgOut(x축, y축, data, width, heigt)
- // sData += CommAX.HanImageData();
- //
- //
- // //환자명
- // //글자수가 4이상이면 left정렬 4이하이면 center정렬
- // var hx = 20; var hy = 105;
- // /*var len = hngnm.length;
- // if(len > 4){
- // hx = 10;
- // }else if(len == 4){
- // hx = 90;
- // }else if(len == 3){
- // hx = 120;
- // }else if(len == 2){
- // hx = 150;
- // }else if(len == 1){
- // hx = 180;
- // }*/
- // sData += CommAX.PrtImgOut(hx, hy, hngnm, 2, 2);//PrtImgOut(x축, y축, data, width, heigt)
- // sData += CommAX.HanImageData();
- //
- // //sexage
- // sData += "^CFE,20,20";
- // sData += "^FO300,120";//위치지정
- // sData += "^FD"+ sexage + "^FS";
- //
- // sData += "^PQ"+ prncnt + "^XZ";//출력장수
- //
- // CommAX.SendMessage(sData); // 출력
- // CommAX.PortOpen("false"); // 출력종료
- //
- //
- // } else {
- // messageBox("아래 사항을 확인후 재출력해주십시오."
- // + " \n 1.프린트설정 화면에서 통신유형을 com 으로 선택한 경우 port 번호 확인"
- // + " \n 2.케이블 확인"
- // + " \n 3.먼저 출력중인 바코드 확인(모두 출력된 후 재출력하십시오.)", "I", "");
- // return;
- // }
- // }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // SATO용 추가_20090522(ByJA)
- if(prncnt > 0){
- //1. 바코드 라벨 설정값 조회
- var scrnid = "SMMNP00100";
- model.removeNodeset("/root/main/barcdprntsetup");
- fGetBarCodeInfo(scrnid); // CareCom.js
- lzzfMakeBrcdPrntObjHanDo("CommAX");
- //2. 바코드 라벨 환경설정
- var barcdRef = "/root/main/barcdprntsetup/prntsetupinfo/setupinfo";
- var portOpenTF = fSetNursBarcdInfo(barcdRef); // CareCom.js 바코드프린터별 환경설정(Zebra,SATO)
-
- /** <addon>
- *개발일시: 2010.05.13
- *개발자: 양천덕
- *요청병원: 세종병원
- *요청파트: 간호
- *개발내용: 바코드 출력 형식 변경으로 수정 처리(수술)
- </addon>
- */
- fPrtORPatNameLabel(barcdRef, pid, hngnm, sexage, oproomcdnm, depthngnm, prncnt, roomcd);
- return;
- }
- }
- /**
- * @group :
- * @ver : 2008.08.01
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 환자 name라벨 출력
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPrtCareInjLabel_INJ(pid, hngnm, sexage, oproomcdnm, depthngnm, prncnt, pPort){
- ////////////////////////////////////////////////////////////////////////////////////////// 원본_20090522
- // //20080905 port찾기
- // //port정보 가져오기
- // model.removenode('/root/send');
- // model.removenode('/root/main/barcdprntsetup');
- // model.makenode('/root/main/barcdprntsetup');
- // model.makeValue('/root/send/scrnid', 'SMMNP00100');
- // if(submit('TRLLC90101')){
- // pPort = model.getValue('/root/main/barcdprntsetup/prntsetupinfo/setupinfo[1]/comm02/comm');
- // }
- //
- // if(document.all("CommAX") != null) {
- // //바코드 출력 시작
- //
- // var portOpenTF = "";
- //
- // // CommPort 설정
- // if (pPort == "" || pPort == null || pPort == " ") {
- // CommAX.CommPort = "1"; // default port setting
- // } else {
- // CommAX.CommPort = pPort; //Port 설정
- // }
- //
- // CommAX.Settings = "9600,n,8,1";
- //
- // portOpenTF = CommAX.PortOpen("true"); //Port Open
- //
- // if(portOpenTF == "TRUE") {
- //
- // var iLeft = model.getValue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/blank/left");
- // var iTop = model.getValue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/blank/top");
- //
- // if(iLeft == "" || iLeft == "-"){
- // iLeft = 0;
- // }
- // if(iTop == "" || iTop == "-"){
- // iTop = 0;
- // }
- //
- // var sData = "^XA^LH0,20";//출력시작점
- //
- // //출력일
- // var prndd = getCurrentDate().substr(0,4) + "/" + getCurrentDate().substr(4,2) + "/" + getCurrentDate().substr(6,2);
- // sData += "^CFA,20,20";//bold, height, width
- // sData += "^FO10,20";//위치지정(x축, y축)
- // sData += "^FD"+ prndd + "^FS";
- //
- // //수술정보
- // var opinfo = oproomcdnm + "R " + depthngnm + " " + pid;
- // sData += CommAX.PrtImgOut(20, 60, opinfo, 1, 1);//PrtImgOut(x축, y축, data, width, heigt)
- // sData += CommAX.HanImageData();
- //
- //
- // //환자명
- // //글자수가 4이상이면 left정렬 4이하이면 center정렬
- // var hx = 20; var hy = 105;
- // /*var len = hngnm.length;
- // if(len > 4){
- // hx = 10;
- // }else if(len == 4){
- // hx = 90;
- // }else if(len == 3){
- // hx = 120;
- // }else if(len == 2){
- // hx = 150;
- // }else if(len == 1){
- // hx = 180;
- // }*/
- // sData += CommAX.PrtImgOut(hx, hy, hngnm, 2, 2);//PrtImgOut(x축, y축, data, width, heigt)
- // sData += CommAX.HanImageData();
- //
- // //sexage
- // sData += "^CFE,20,20";
- // sData += "^FO300,120";//위치지정
- // sData += "^FD"+ sexage + "^FS";
- //
- // sData += "^PQ"+ prncnt + "^XZ";//출력장수
- //
- // CommAX.SendMessage(sData); // 출력
- // CommAX.PortOpen("false"); // 출력종료
- //
- //
- // } else {
- // messageBox("아래 사항을 확인후 재출력해주십시오."
- // + " \n 1.프린트설정 화면에서 통신유형을 com 으로 선택한 경우 port 번호 확인"
- // + " \n 2.케이블 확인"
- // + " \n 3.먼저 출력중인 바코드 확인(모두 출력된 후 재출력하십시오.)", "I", "");
- // return;
- // }
- // }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // SATO용 추가_20090522(ByJA)
- if(prncnt > 0){
- //1. 바코드 라벨 설정값 조회
- var scrnid = "SMMNP00100";
- model.removeNodeset("/root/main/barcdprntsetup");
- fGetBarCodeInfo(scrnid); // CareCom.js
- lzzfMakeBrcdPrntObjHanDo("CommAX");
- //2. 바코드 라벨 환경설정
- var barcdRef = "/root/main/barcdprntsetup/prntsetupinfo/setupinfo";
- var portOpenTF = fSetNursBarcdInfo(barcdRef); // CareCom.js 바코드프린터별 환경설정(Zebra,SATO)
- //3. 환자라벨출력
- var esc = String.fromCharCode(27);
- var sPrntKind = model.getvalue(barcdRef + "/prntkind");
- var iLeft = model.getValue(barcdRef + "[1]/blank/left");
- var iTop = model.getValue(barcdRef + "[1]/blank/top");
- var prndd = getCurrentDate().substr(0,4) + "/" + getCurrentDate().substr(4,2) + "/" + getCurrentDate().substr(6,2);
- if(iLeft == "" || iLeft == "-"){
- iLeft = 0;
- }
- if(iTop == "" || iTop == "-"){
- iTop = 0;
- }
- // SATO일 경우
- if(sPrntKind == "2" || sPrntKind == "6" || sPrntKind == "7"){
- // 시작위치 셋팅 (A1aaaabbbb:출력 용지 규격(aaaa:세로크기_최대 2848, bbbb:가로크기_최대 832))
- var sSndMsg = esc + "A" + esc + "A103500500";
- // 출력할 데이터 생성
- sSndMsg += esc + "V" + (parseInt(iTop)+20) + esc + "H" + (parseInt(iLeft)+50) + esc + "M" + prndd;
- sSndMsg += CommAX.PrtImgOut(parseInt(iTop)+60 , parseInt(iLeft)+50, oproomcdnm + "R " + depthngnm + " " + pid, 1, 1); // 한글출력시 PrtImgOut함수 이용
- sSndMsg += CommAX.PrtImgOut(parseInt(iTop)+105, parseInt(iLeft)+50, hngnm, 2, 2); // 한글출력시 PrtImgOut함수 이용
- sSndMsg += esc + "V" + (parseInt(iTop)+120) + esc + "H" + (parseInt(iLeft)+320) + esc + "M" + sexage;
- // 종료 및 출력물 출력수량
- sSndMsg += esc + "Q" + prncnt + esc + "Z";
- var a = CommAX.SendMsg(sSndMsg);
- CommAX.PortOpen("false");
- }
- // SATO가 아닐 경우(기존)
- else{
- if(portOpenTF == "TRUE"){
- var sData = "^XA^LH0,20";//출력시작점
- sData += "^CFA,20,20^FO"+(parseInt(iLeft)+10)+","+(parseInt(iTop)+20)+"^FD"+ prndd + "^FS"; //출력일 bold, height, width, 위치지정(x축, y축)
- sData += CommAX.PrtImgOut((parseInt(iLeft)+20),(parseInt(iTop)+60) , oproomcdnm + "R " + depthngnm + " " + pid, 1, 1);//수술정보 PrtImgOut(x축, y축, data, width, heigt)
- sData += CommAX.HanImageData();
- sData += CommAX.PrtImgOut((parseInt(iLeft)+20),(parseInt(iTop)+105), hngnm, 2, 2);//환자명 글자수가 4이상이면 left정렬 4이하이면 center정렬 PrtImgOut(x축, y축, data, width, heigt)
- sData += CommAX.HanImageData();
- sData += "^CFE,20,20^FO"+(parseInt(iLeft)+300)+","+(parseInt(iTop)+120)+"^FD"+ sexage + "^FS";
- sData += "^PQ"+ prncnt + "^XZ";//출력장수
- CommAX.SendMessage(sData); // 출력
- CommAX.PortOpen("false"); // 출력종료
- } else {
- messageBox("아래 사항을 확인후 재출력해주십시오."
- + " \n 1.프린트설정 화면에서 통신유형을 com 으로 선택한 경우 port 번호 확인"
- + " \n 2.케이블 확인"
- + " \n 3.먼저 출력중인 바코드 확인(모두 출력된 후 재출력하십시오.)", "I", "");
- return;
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.10.17
- * @by : Grace
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Exel 저장
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSaveExcel(){
- var opfromdd = model.getValue("/root/main/cond/opddfr");
- var optodd = model.getValue("/root/main/cond/opddto");
- model.removenode("/root/send");
- model.makeNode("/root/send/reqdata");
- model.copyNode("/root/send/reqdata", "/root/main/cond");
- if(submit("TRMNP00106")){
- grd_excel.refresh();
- var fileName = window.fileDialog("save", ",", false, "수술스케쥴("+opfromdd+"~"+optodd+")", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
- if (fileName != "") {
- grd_excel.saveExcel(fileName, "SheetName", true, true, "", "", false);
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.07.19
- * @by : Grace
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 출력
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPrntSche(){
- model.removenode("/root/send");
- model.makeNode("/root/send/report/opnmflag");
- model.makeNode("/root/send/report/diagnmflag");
-
- var opnmen = model.getValue("/root/temp/opnmen");
- var diagnmen = model.getValue("/root/temp/diagnmen");
-
- if( opnmen == "Y" ) {
- model.setValue("/root/send/report/opnmflag", "E");
- }else {
- model.setValue("/root/send/report/opnmflag", "H");
- }
- // 진단명(영문/한글)별 출력화면 달리 설정_손성훈.
- if( diagnmen == "Y" ) {
- model.setValue("/root/send/report/diagnmflag", "E");
- }else {
- model.setValue("/root/send/report/diagnmflag", "H");
- }
- exeReportPreview("RPMNP00100", "XMLSTR", "/root/send/report"); //미리보기
- }
- /**
- * @group :
- * @ver : 2008.08.26
- * @by : 김 진 명
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 수술실 이송요원 호출 함수
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInsTranCallOP(pid, prcpnm, kind, rsrvdt, arvposcd, startposcd){
- setParameter("status", "OP");
- setParameter("pid", pid);
- setParameter("prcpnm", prcpnm);
- setParameter("kind", kind);
- setParameter("rsrvdt", rsrvdt);
- setParameter("arvposcd", arvposcd);
- setParameter("startposcd", startposcd);
- modal("SMMNB01810" ,"", "300", "150", "SMMNB01810", "", "");
- }
- /**
- * @desc : 화면ID에 해당하는 컬럼순서를 조회한다.
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function reqOrderInfoOfCol(scrnid, grdid, compscd){
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/scrnid" , scrnid);
- model.makeValue("/root/send/reqdata/compscd" , compscd);
- if(submit("TRMNB02401", false)){
- var refdata = model.getValue("/root/init/userscrnenvinfo/gridseq/compsrefcnts");
- var sizedata = model.getValue("/root/init/userscrnenvinfo/gridseq/compssizecnts");
- if(refdata != "" || sizedata != ""){
- setOrderInfoOfCol(grdid , refdata, sizedata);
- }
- }
- }
- function setOrderInfoOfCol(grdID, refdata, sizedata){
- var grdObj = document.controls.item(grdID);
- var refArray = refdata.split("^");
- var sizeArray = sizedata.split("^");
- for(var i = 0; i < refArray.length; i++){
- var colcnt = grdObj.colref("" + refArray[i] + "");
- if (colcnt <0 ) colcnt = 0;
- // 이동 컬럼과 대상컬럼의 인덱스가 같지 않은 경우만 이동.
- if (colcnt != i) {
- grdObj.colMove(i, colcnt, "before", false);
- }
- var size = sizeArray[i];
- if(size == 0){ // size of column 0 -> hidden
- grdObj.colHidden(i) = true;
- }else{
- grdObj.colHidden(i) = false;
- }
- grdObj.colWidth(i) = eval(size);
- }
- model.refresh();
- }
- function fColumSetMove(scrnid, grd_nm) {
- // 컬럼 순서 저장에 따른 불러오기 추가 : 2009. 10. 11 han19
- var sWardCD = getScreenMenuParameter();//model.getValue("/root/main/cond/wardcd") //20080725_메뉴설정에 따른 그리드 동적생성으로 변겅(ByJA)
- var prestimportid = model.getValue("/root/main/cond/prestimportid");
- var compscd = "";
- if(prestimportid == "nm") {
- if (sWardCD == "Partrtn") { // 분만
- compscd = "PA";
- } else if(sWardCD == "NBaby"){ // 신생아
- compscd = "NB";
- } else if(sWardCD == "BMT"){ //BMT
- compscd = "BT";
- } else if(sWardCD == "spclinj"){ // 특수주사실
- compscd = "SJ";
- } else {
- compscd = "NM";
- }
- } else if (prestimportid == "td") { // Todo List : 컬럼설정은 하지 않지만 구분값은 넣어놓음
- compscd = "TD";
- } else if (prestimportid =="om") { // Order Manage
- compscd = "OM";
- } else {
- if (sWardCD == "Partrtn") { // 분만
- compscd = "PA";
- } else if(sWardCD == "NBaby"){ // 신생아
- compscd = "NB";
- } else if(sWardCD == "BMT"){ //BMT
- compscd = "BT";
- } else if(sWardCD == "spclinj"){ // 특수주사실
- compscd = "SJ";
- } else {
- compscd = "NM";
- }
- }
- reqOrderInfoOfCol(scrnid, grd_nm, compscd);
- // 컬럼 순서 저장에 따른 불러오기 추가 : 2009. 10. 11 han19
- }
- function fCalcdate(calcn, calcd){
-
- calcd = calcd.toDate("YYYYMMDD");
- calcd = calcd.getAddDate(calcn , "D");
- calcd = calcd.getDateFormat("YYYYMMDD");
-
- return calcd;
- }
- /* ------------------------------------------------- */
- /* ------End Of List ------------------------------- */
- /* -------------------------------------------------- */
|