123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984 |
- var sORDERBY = "desc";
- var gTimerID;
- var gIntervalTime = 500;
- var gTimeCnt;
- /**
- * @desc 서식명 조회
- */
- function fReqGetFormList(){
- if(submit("TRMRI01804")){ //서식명콤보 조회
- addComboItem("cmb_formcd","전체","-");
- }
- }
- /**
- * @desc 미비항목코드 조회
- */
- function fReqGetFormItemList(formcd){
- model.removeNodeset("/root/send/reqdata");
- model.makeNode("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/formcd", formcd);
- if(submit("TRMRI01805")){
- addComboItem("cmb_itemcd","전체","-");
- }
- }
- /**
- * @desc 미비의사 조회
- * @param srchflag 검색구분(id:아이디, nm:명)
- * unprepdeptcd 미비진료과
- * unprepdr 미비의사(srch?id:아이디, nm:명)
- * stnddd 기준일자
- * deptengabbr 부서약어명
- */
- function fReqGetUnPrepDrList(srchflag, unprepdeptcd, unprepdr, stnddd, deptengabbr, grupflag){
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/srchflag" , srchflag);
- model.makeValue("/root/send/reqdata/unprepdeptcd", unprepdeptcd);
- model.makeValue("/root/send/reqdata/unprepdr" , unprepdr);
- model.makeValue("/root/send/reqdata/deptengabbr" , deptengabbr);
- model.makeValue("/root/send/reqdata/stnddd" , stnddd);
- model.makeValue("/root/send/reqdata/grupflag" , grupflag);
- if(submit("TRMRI02604")){
- }
- }
- /**
- * @desc 조회기준 정보 CSV 형태로 생성
- */
- function doSrchCondCSV(nodeList, sColSep, sRowSep){
- if( nodeList.length == 0 ){
- return;
- }
-
- var rCSV = "";
- var childNodeList = nodeList.item(0).childNodes;
- var childNodeCnt = childNodeList.length;
- if( childNodeCnt == 0 ){
- return;
- }
-
- var i, j;
- for( i = 0; i < childNodeCnt - 1; i++) {
- rCSV += childNodeList.item(i).nodeName + sColSep;
- }
- rCSV += childNodeList.item(i).nodeName + sRowSep;
-
- var node;
- while( node = nodeList.nextNode() ) {
- childNodeList = node.childNodes;
- for( i = 0; i < childNodeCnt - 1; i++) {
- rCSV += childNodeList.item(i).text + sColSep;
- }
- rCSV += childNodeList.item(i).text + sRowSep;
- }
- return rCSV;
- }
- /**
- * @desc 미비의사확인 표시
- * SMMRI01800_medirecinfo 구성 상태^등록번호^진료일자^생성번호^서식코드^서식일련번호
- * status + "^" + pid + "^" + orddd + "^" + cretno + "^" + formcd + "^" + formrecdd + "^" + formrecseq + "^" + workflag;
- */
- function fDispUnPrepDrCnfm(){
- var cmplcnt = model.getValue("/root/main/cnfmcmplcnt/cnfmcmplcnt");
- var posinstcd = getUserInfo("posinstcd");
- var dutplcecd = getUserInfo("dutplcecd");
- var posuserid = getUserId();
- cmplcnt++;
- model.setValue("/root/main/cnfmcmplcnt/cnfmcmplcnt", cmplcnt);
-
- var mainobj = getMainViewer();
- var medirecinfo = mainobj.javascript.getParameter("SMMRI01800_medirecinfo");
- if(medirecinfo != ""){
- var unprepinfo = medirecinfo.split("^");
- var status = unprepinfo[0];
- var pid = unprepinfo[1];
- var orddd = unprepinfo[2];
- var cretno = unprepinfo[3];
- var formcd = unprepinfo[4];
- var formrecdd = unprepinfo[5];
- var formrecseq = unprepinfo[6];
- var workflag = unprepinfo[7]; // usg : 인증저장, uss : Staff-Sign
- var formrecdeptcd = unprepinfo[8]; //진료기록 작성부서코드
-
- if(formrecdeptcd==""){
- formrecdeptcd = dutplcecd;
- }
-
- for(var i = 1; i < grd_unpreplist.rows; i++){
- var trgtpid = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/pid");
- var trgtorddd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/indd");
- var trgtcretno = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/cretno");
- var trgtformcd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/srcformcd");
- var trgtformrecdd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/formrecdd");
- var trgtformrecseq = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/formrecseq");
- var trgtunprepdrid = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/unprepdrid");
-
- var trgtunprepitemcd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemcd");
- var trgtorddeptcd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/orddeptcd");
-
- //Staff Sign처리되는 건은 미비상태를 의사확인으로 변경
- //2008. 12. 26 오지훈
- if((workflag=="usg") && !(trgtunprepitemcd == "000000002"||trgtunprepitemcd =="0000000057")){
- if(formcd == "0000000680" || formcd =="0000001592"){ //입퇴원요약지/DischargeNote인 경우에는 일자가 조회조건에서 빠짐
- if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecdeptcd == trgtorddeptcd){
- model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
- grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
- grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
- grd_unpreplist.refresh();
- }
- }else{
- if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecseq == trgtformrecseq && formrecdeptcd == trgtorddeptcd){
- //서울성모병원 수술기록지의 경우 인증저장시 미비상태를 '완료'로 처리한다.(2010.02.10 이남익)
- if(trgtformcd == "0000000676"){
- model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "완료");
- } else {
- model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
- }
- model.setValue(grd_unpreplist.nodeset + "[" + i + "]/formrecdd", formrecdd);
- grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
- grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
- grd_unpreplist.refresh();
- }else if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecdeptcd == trgtorddeptcd && formrecdd == trgtformrecdd ){
- if(trgtformcd == "0000000676"){
- model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "완료");
- } else {
- model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
- }
- grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
- grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
- grd_unpreplist.refresh();
- }else if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecdeptcd == trgtorddeptcd){
- //입퇴원요약지, Discharge Note에 대한 진료기록일자 변경시 처리
- if(trgtformcd == "0000000680" || trgtformcd == "0000001592"){
- if(trgtformcd == "0000001592"){
- model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "완료");
- } else {
- model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
- }
-
- grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
- grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
- grd_unpreplist.refresh();
- }
- }
- }
- } else if((workflag=="usg") && (trgtunprepitemcd == "000000002"||trgtunprepitemcd =="0000000057")){
- if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecseq == trgtformrecseq){
- if(trgtformcd == "0000000676" && posuserid == trgtunprepdrid){
- model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
- grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
- grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
- grd_unpreplist.refresh();
- }
- }else if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecdd == trgtformrecdd){
- if(trgtformcd == "0000000676" && posuserid == trgtunprepdrid){
- model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
- grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
- grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
- grd_unpreplist.refresh();
- }
- }else if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd){
- //입퇴원요약지, Discharge Note에 대한 진료기록일자 변경시 처리
- if(trgtformcd == "0000000680" || trgtformcd == "0000001592"){
- if(posuserid == trgtunprepdrid){
- model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
-
- grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
- grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
- grd_unpreplist.refresh();
- }
- }
- }
- }else if(workflag=="uss" && (trgtunprepitemcd == "000000002"||trgtunprepitemcd =="0000000057")){
- if(formcd == "0000000680" || formcd =="0000001592"){ //입퇴원요약지/DischargeNote 인 경우에는 일자가 조회조건에서 빠짐
- if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd){
- model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
- grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
- grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
- grd_unpreplist.refresh();
- }
- }else{
- if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecseq == trgtformrecseq){
- model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
- model.setValue(grd_unpreplist.nodeset + "[" + i + "]/formrecdd", formrecdd);
- grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
- grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
- grd_unpreplist.refresh();
- }else if(pid == trgtpid && orddd == trgtorddd && cretno == trgtcretno && formcd == trgtformcd && formrecdd == trgtformrecdd){
- model.setValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemnm", "의사확인");
- grd_unpreplist.cellStyle("color", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="#0000ff";
- grd_unpreplist.cellStyle("font-weight", i, grd_unpreplist.colRef("unprepdrnm"), i, grd_unpreplist.colRef("drcnfmdt"))="bold";
- grd_unpreplist.refresh();
- }
- }
- }
- }
- grd_unpreplist.select(i, grd_unpreplist.col) = false;
- }
- model.refresh();
- }
- /**
- * @desc 미비기록 load
- */
- function fLoadUnPrepRec(){
-
- var currow = grd_unpreplist.row;
- var pid = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/pid");
- var indd = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/indd");
- var cretno = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/cretno");
- var ioflag = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/indschflag");
- var formcd = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/formcd");
- var srcformcd = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/srcformcd");
- var orddeptcd = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/indschdeptcd");
- var formrecdd = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/formrecdd");
- var dschdd = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/dschdd");
- var formrecseq = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/formrecseq");
- var oprsrvno = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/oprsrvno");
- var instcd = getUserInfo("dutplceinstcd");
- var unprepitemcd = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/unprepitemcd");
- var unprepno = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/unprepno");
- var opendd = model.getValue("/root/init/openday/M0037M0546/cdid"); // 병원별 오픈일
- //2009-07-08 오후 8:03:43 강지훈 수정 : 20091002로 하드코딩된 내역을 공통코드 "M0546" 유형코드 "M0037" 로 관리
- var preopendd = opendd.toDate().getAddDate(-1, "D").getDateFormat();
-
- var preOpenMonth = preopendd.substring(4,6);
- var preOpenDay = preopendd.substring(6,8);
- //2010-01-04 이남익 수정 : 응급실미비 조회를 위한 ordertype 구분
- var ordtype = model.getValue("/root/main/unpreplist/unpreplist["+ currow +"]/ordtype");
-
- var dutplcecd = getUserInfo("dutplcecd"); //사용자부서
-
- if(formrecdd <= preopendd){
- messageBox(preOpenMonth+"월 "+preOpenDay+"일까지 발생된 미비기록은 구OCS프로그램과 종이에 작성", "I008");
- return;
- }
-
- //작성미비된 기록인 경우, formrecseq값을 삭제함
- if(formrecseq == -1){
- formrecseq = "";
- }
-
- if((srcformcd != "0000002022")){
- //기록지 번호가 없고, 미비항목코드가 인증미비인 경우 기록지 로딩을 하지 않는다.
- if(formrecseq == ""){
- if(unprepitemcd == "0000000057" || unprepitemcd == "000000002"){
- messageBox("기록지와 연동되지 않아 인증", "E001");
- return;
- }
- }
- }
-
- // 2009.07.01 이경희
- // 환자의 퇴원일이 해당 일자 이후인 경우. 즉 재원중인 환자는 dschdd를 현재일자로 넘긴다.
- var today = getCurrentDate();
- if(dschdd > today) {
- dschdd = today;
- }
-
-
- // 수술기록연동
- // 수술환자 parameter 구조 ioflag▦pid ▦opcnfmdd▦cretno ▦instcd ▦perfdeptcd▦perfdrid▦patflag ▦procflag▦oprsrvno▦ophistno▦srchdd
- // 외래/입원구분▦등록번호▦수술일자▦생성번호▦기관코드▦집도과 ▦집도의 ▦환자구분▦처리구분
- // 수술기록 || Brief OP Note || Post Op Note(New)-20130619 || 마취기록지-20131015 || 마취전 평가 및 협진서-20131025
- if(srcformcd == "0000000676" || srcformcd == "0000003169" || srcformcd == "1300014169" || srcformcd == "0000002022" || srcformcd == "0000000737"){
- /*
- if(oprsrvno == ""){
- messageBox("수술정보를 연결할 수", "I004");
- return;
- }
- */
-
- var param = "T" + "▦" + // ioflag
- pid + "▦" + // pid
- formrecdd + "▦" + // opcnfmdd
- cretno + "▦" + // cretno
- instcd + "▦" + // instcd
- "" + "▦" + // perfdeptcd
- "" + "▦" + // perfdrid
- "I" + "▦" + // patflag
- "F" + "▦" + // procflag
- oprsrvno + "▦" + // oprsrvno
- "" + "▦" + // ophistno
- dschdd; // srchdd
- /*
- // 수술기록인 경우 환자원무키 조회를 한다.
- // 조회 결과가 1건인 경우에는 기존 로직대로 진행
- // 2건인 경우에는 조회된 결과를 팝업으로 띄워 사용자가 어떤 수진을 열것인지 선택
- // 선택된 수진으로 열도록 설정.
- param = fGetEtcPatPamPrimaryKey(param);
- */
-
- //수술기록 이외의 기록연동
- }else{
- /*추가 2010.01.05 이남익 응급실 관련 추가 이전
- var param = "I" + "▦" +
- pid + "▦" +
- indd + "▦" +
- cretno + "▦" +
- instcd + "▦" +
- dschdd;
-
- */
- if(ordtype!="E"){
- ordtype = "I";
- }
-
- var param = ordtype + "▦" +
- pid + "▦" +
- indd + "▦" +
- cretno + "▦" +
- instcd + "▦" +
- dschdd;
- }
- setParameter("condparam", param);
-
- //기록번호가 없는 경우, 작성미비가 아니면 연동불가
- setGlobalVariable("linked_formcd" , formcd , "emr");
- setGlobalVariable("linked_formrecseq", formrecseq , "emr");
- setGlobalVariable("linked_formrecdd" , formrecdd , "emr");
-
- modal("SPMMO08900", 1, 0, 0, "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
- var gmainwnd = getMainViewer();
- setParameter("SMMMO04100_ANSWCNT", "");
- /*
- gmainwnd.javascript.navigate("SMMMR00100");
- */
- // 2013.10.15 김영기 마취기록지 및 마취전 평가 및 협진서 추가를 위한 로직 수정
- //if((dutplcecd == "2090000000" || dutplcecd == "2090300000")){ //사용자부서가 마취통증의학과, 통증클리닉인 경우
- if(srcformcd == "0000002022" || srcformcd == "0000000737"){ //서식코드가 마취기록지 및 마취전 평가 일경우
- gmainwnd.javascript.navigate("SMMMR03700");
- //model.setValue("/root/temp2/unprepno", unprepno);
- setParameter("SMMMR03700_unprepno", unprepno);
- }else{
- gmainwnd.javascript.navigate("SMMMR00100");
- }
-
- model.refresh();
- }
- /**
- * @desc 부서콤보 조회
- */
- function fGetDeptCodeComboList(ref, rsltref, orddeptflag, stnddd){
- var mmb_rsltref = "/root/hidden/mmb/orddept";
- model.removeNode(mmb_rsltref);
- model.makeNode(mmb_rsltref);
- model.removeNode(ref);
- model.makeValue(ref + "/orddeptflag", orddeptflag);
- if(stnddd != ""){
- model.makeValue(ref + "/stnddd", stnddd);
- }
- if(submit("TRMMB04101", "false", ref, mmb_rsltref)==true){
- model.copyNode(rsltref, mmb_rsltref);
- model.removeNode(mmb_rsltref);
- }
- model.refresh();
- }
- /**
- * @desc 미비항목코드 Count예외코드 조회
- */
- function reqGetUnPrepBaseExptCnt(){
- if(submit("TRMRI01703")){
- }
- }
- /**
- * @desc 다음달을 구하는 함수
- * @param yyyy : 년도
- * @param mm : 월
- * @return yyyymm : 년월
- */
- function addMonth(yyyymm){
- var yyyy = yyyymm.substring(0, 4);
- var mm = yyyymm.substring(4, 6);
- var bfmm;
-
- if(mm.substr(0,1) == "0"){ //10월 이전인 경우, 앞자리 0을 제거
- bfmm = mm.substr(1,1);
- bfmm++;
-
- }else{ //10월 이후인 경우
- bfmm = mm;
- bfmm++;
- }
-
- if(bfmm > 12){ // 1월 이전을 선택한 경우, 년도를 바꿈
- bfmm = "01";
- yyyy++;
-
- }else if(bfmm < 10){ //10월 이후인 경우에는 앞자리에 0을 붙임.
- bfmm = "0".concat(bfmm);
- }
- return "" + yyyy + "".concat(bfmm);
- }
- /**
- * @desc 달간격을 구하는 함수
- * @param startdd : 시작년월(YYYY-MM)
- * @param enddd : 종료년월(YYYY-MM)
- * @return monthcnt : 달간격
- */
- function getMonthInterval(startdd, enddd){
- var monthcnt = 0;
- while(startdd != enddd){
- startdd = addMonth(startdd);
- monthcnt++;
- }
- return monthcnt;
- }
- /**
- * @desc 숫자여부 판단
- */
- function isNumber(str) {
- str += ''; // 문자열로 변환
- str = str.replace(/^\s*|\s*$/g, ''); // 좌우 공백 제거
- if (str == '' || isNaN(str)){
- return "N";
- }
- return "Y";
- }
- /**
- * @desc 미비의사 조회
- */
- function fReqGetUnPrepDrSmplList(srchflag, srchdata){
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/srchflag", srchflag);
- model.makeValue("/root/send/reqdata/srchdata", srchdata);
- if(submit("TRMRI02901")){
- }
- }
- /**
- * @desc 의사별미비리스트 조회
- * @param unprepsign staffsign구분(Y/N)
- */
- function fReqGetUnPrepDrClsList(unprepsign){
- grd_unpreplist.allstyle("all", "color") = "";
- grd_unpreplist.allstyle("all", "font-weight")= "";
- model.setValue("/root/main/cond/unprepsign", unprepsign);
- model.removeNode("/root/main/unpreplist/unpreplistcnt");
- model.removeNodeset("/root/main/unpreplist/unpreplist");
- model.copyNode("/root/send/reqdata", "/root/main/cond");
-
- model.makeValue("/root/send/reqdata/offset", "0");
- model.makeValue("/root/send/reqdata/pagesize", "1000");
- if(submit("TRMRI01801")){
- fFormCountofSrcForminfo();
- //fFormCountofFominfo();
- fDoMergeUnPrepDrClsList();
- }
-
- //grd_unpreplist.rowstyle(1, "overchk", "background-color") = "#ff0000";
-
- for (var i=1 ; i < grd_unpreplist.rows ; i++ )
- {
- var overchk = model.getValue("/root/main/unpreplist/unpreplist["+ i +"]/overchk");
- grd_unpreplist.cellstyle("color", i,1) = "#000000";
- if (overchk > 24 ) {
- grd_unpreplist.cellstyle("color", i,1) = "#FF0000";
- }
-
- }
-
- }
- /**
- * @desc 의사별미비리스트 조회 스크롤이벤트
- * @param unprepsign staffsign구분(Y/N)
- */
- function fSubmitOnScroll()
- {
- if( (grd_unpreplist.rows - grd_unpreplist.fixedrows) < 1000)
- return;
-
- if(grd_unpreplist.vscroll.attribute("max") == grd_unpreplist.vscroll.attribute("pos"))
- {
- fDoUnMergeUnPrepDrClsList();
- model.copyNode("/root/send/reqdata", "/root/main/cond");
-
- // end of scroll
- var nextpage = grd_unpreplist.rows-grd_unpreplist.fixedRows;
- model.makeValue("/root/send/reqdata/offset", nextpage); // grid의 header row는 제외
- model.makeValue("/root/send/reqdata/pagesize", "1000");
-
- if(submit("TRMRI01801")){
- grd_unpreplist.dispatch("onmouseup"); // 스크롤바 처리를 위한 이벤트 발생
- grd_unpreplist.refresh();
- grd_unpreplist.rebuild();
- fDoMergeUnPrepDrClsListScroll();
- fFormCountofSrcForminfo();
- }
- }
-
- }
- /**
- * @desc 의사별미비리스트 unmerge
- */
- function fDoUnMergeUnPrepDrClsList()
- {
- grd_unpreplist.sortClear();
- for(var i = 1; i < grd_unpreplist.rows; i++)
- {
- if(grd_unpreplist.isMerge(i, grd_unpreplist.colRef("pid")))
- {
- grd_unpreplist.unmergeByFree(i, grd_unpreplist.colRef("pid"));
- grd_unpreplist.unmergeByFree(i, grd_unpreplist.colRef("hngnm"));
- grd_unpreplist.unmergeByFree(i, grd_unpreplist.colRef("dschdd"));
- grd_unpreplist.unmergeByFree(i, grd_unpreplist.colRef("dschdeptnm"));
- grd_unpreplist.unmergeByFree(i, grd_unpreplist.colRef("medispclnm"));
- }
- }
- grd_unpreplist.refresh();
- model.refresh();
- }
- /**
- * @desc 의사별미비리스트 Scroll merge
- */
- function fDoMergeUnPrepDrClsListScroll(){
- var reccnt = 0;
- var patcnt = 0;
- var icnt = 0;
- var color = "#ffffcc";
- var startrow = 1;
-
- for(var i = 1; i < grd_unpreplist.rows; i++){
- var unprepitemcd = model.getValue("/root/main/unpreplist/unpreplist[" + i + "]/unprepitemcd");
- var result = model.getValue("/root/main/unprepiteminfo/unprepiteminfo[unprepitemcd='" + unprepitemcd + "']/unprepitemcd");
- if(result == ""){
- reccnt++;
- }
-
- if(i == 1){
- var orgpid = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("pid")); //pid
- var orgdschdd = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("dschdd")); //dschdd
- var orgmedispclnm = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("medispclnm")); //medispclnm
- startrow = 1;
- grd_unpreplist.rowStyle(i, "data", "background-color")= color;
- patcnt++;
- continue;
- }
-
- var pid = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("pid")); //pid
- var dschdd = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("dschdd")); //dschdd
- var medispclnm = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("medispclnm")); //medispclnm
-
- if(orgpid == pid && orgdschdd == dschdd && orgmedispclnm == medispclnm){
- grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("pid"), i, grd_unpreplist.colRef("pid"));
- grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("hngnm"), i, grd_unpreplist.colRef("hngnm"));
- grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("dschdd"), i, grd_unpreplist.colRef("dschdd"));
- grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("dschdeptnm"), i, grd_unpreplist.colRef("dschdeptnm"));
- grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("medispclnm"), i, grd_unpreplist.colRef("medispclnm"));
-
- }else{
- patcnt++;
- var orgpid = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("pid")); //pid
- var orgdschdd = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("dschdd")); //dschdd
- var orgmedispclnm = grd_unpreplist.valuematrix(i, grd_unpreplist.colRef("medispclnm")); //medispclnm
- startrow = i;
- if(color == "#ffffcc"){
- color = "#ffffff";
- }else{
- color = "#ffffcc";
- }
- }
- grd_unpreplist.rowStyle(i, "data", "background-color")= color;
- }
- model.setValue("/root/main/cond/patcnt", patcnt);
- model.setValue("/root/main/cond/reccnt", reccnt);
- model.refresh();
- }
- /**
- * @desc 의사별미비리스트 merge
- */
- function fDoMergeUnPrepDrClsList()
- {
- var reccnt = 0;
- var patcnt = 0;
- var icnt = 0;
- var color = "#ffffcc";
- var startrow = 1;
-
- for(var i = 1; i < grd_unpreplist.rows; i++){
- var unprepitemcd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/unprepitemcd");
- var result = model.getValue("/root/main/unprepiteminfo/unprepiteminfo[unprepitemcd='" + unprepitemcd + "']/unprepitemcd");
- if(result == ""){
- reccnt++;
- }
-
- if(i == 1){
- var orgpid = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/pid");
- var orgdschdd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/dschdd");
- var orgmedispclnm = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/medispclnm");
- startrow = 1;
- grd_unpreplist.rowStyle(i, "data", "background-color")= color;
- patcnt++;
- continue;
- }
-
- var pid = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/pid");
- var dschdd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/dschdd");
- var medispclnm = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/medispclnm");
-
- if(orgpid == pid && orgdschdd == dschdd && orgmedispclnm == medispclnm){
- grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("pid"), i, grd_unpreplist.colRef("pid"));
- grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("hngnm"), i, grd_unpreplist.colRef("hngnm"));
- grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("dschdd"), i, grd_unpreplist.colRef("dschdd"));
- grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("dschdeptnm"), i, grd_unpreplist.colRef("dschdeptnm"));
- grd_unpreplist.mergeByFree(startrow, grd_unpreplist.colRef("medispclnm"), i, grd_unpreplist.colRef("medispclnm"));
-
- }else{
- patcnt++;
- var orgpid = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/pid");
- var orgdschdd = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/dschdd");
- var orgmedispclnm = model.getValue(grd_unpreplist.nodeset + "[" + i + "]/medispclnm");
- startrow = i;
- if(color == "#ffffcc"){
- color = "#ffffff";
- }else{
- color = "#ffffcc";
- }
- }
- grd_unpreplist.rowStyle(i, "data", "background-color")= color;
- }
- model.setValue("/root/main/cond/patcnt", patcnt);
- model.setValue("/root/main/cond/reccnt", reccnt);
- model.refresh();
- }
- /**
- * @desc : 엑셀 저장
- */
- function fSaveExcel(){
- var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
- if (fileName != ""){
- grd_unpreplist.saveExcel(fileName, "SheetName", true, true, "", "", "false");
- }
- }
- /**
- * @desc : 의사별미비리스트 출력
- */
- function fPrntUnPrepInfo(){
- // model.setValue("/root/main/cond/unprepdeptnm", cmb_deptcd.label);
- // model.setValue("/root/main/cond/indschflagnm", rdo_inoutflag.label);
- // model.setValue("/root/main/cond/dateflagnm" , cmb_inoutddflag.label);
- // model.setValue("/root/main/cond/formnm" , cmb_formcd.label);
- // model.setValue("/root/main/cond/unprepitemnm", cmb_itemcd.label);
-
- exeReportPreview("RPMRI01800", "XMLSTR");
- }
- function fFormCountofSrcForminfo()
- {
- /* 0000000680 : 입퇴원요약기록지
- 0000000003 : 입원초진기록
- 0000000004 : 경과기록
- 0000003169 : Brief OP Note
- 0000001594 : Expired Note
- 0000000676 : 수술기록
- 0000001592 : Discharge Note
- 0800003416 : Post Op Note*/
- var arrItem = new Array("0000000680", "0000000003", "0000000004", "0000003169", "0000001594", "0000000676", "0000001592", "0800003416");
- for( i=0; i<arrItem.length;i++ )
- {
- // var nodelist = instance1.selectNodes("/root/unpreplist");
- // var cnt = model.getXPathValue("count(/root/main/unpreplist/unpreplist[srcformcd='"+arrItem[i]+"'])");
- // formcd 별 count 집계에서 환자당 formcd 별 count 집계로 수정 2010.02.25 성규훈
- var nodelist = instance1.selectNodes("root/main/unpreplist/unpreplist")
- var pidArray = Array(nodelist.length); //해당 form을 갖고있는 pid를 모아둘 배열
- var cnt = 0;
- for( j=0; j < nodelist.length; j++)
- {
- var itemNode = nodelist.item(j);
- var pid = itemNode.selectSingleNode("pid").text;
- var srcformcd = itemNode.selectSingleNode("srcformcd").text;
- if(srcformcd == arrItem[i])
- {
- pidArray[j] = pid;
- }
- }
- pidArray.sort(); //pidArray 정렬
- for(j=0; j<pidArray.length; j++)
- {
- if(pidArray[j] != pidArray[j-1] && pidArray[j] != null)
- {
- cnt++
- }
- }
- model.setValue("/root/main/formcnt/cnt_"+arrItem[i], cnt);
- }
- grp_formcnt.refresh();
- }
- function fFormCountofFominfo()
- {
- var cnt = model.getXPathValue("count(/root/main/unpreplist/unpreplist)");
- var isFormcd="";
- var totFormInfo ="";
- var rowcnt = 1;
- var colcnt = 1;
-
- for (i=1; i<=cnt; i++)
- {
- var formcd = model.getValue("/root/main/unpreplist/unpreplist["+i+"]/formcd");
- var idx = isFormcd.indexOf(formcd);
-
- if ( idx == -1 )
- {
- var formnm = model.getValue("/root/main/unpreplist/unpreplist["+i+"]/formnm");
- var subcnt = model.getXPathValue("count(/root/main/unpreplist/unpreplist[formcd='"+formcd+"'])");
- var formcnt = "* " + formnm + " : " + subcnt;
-
- model.setValue("/root/main/formcnt/formcnt["+rowcnt+"]/col"+colcnt, formcnt);
-
- if ( colcnt == 5 )
- {
- rowcnt++;
- colcnt = 0;
- model.makeNode("/root/main/formcnt/formcnt["+rowcnt+"]");
- model.copyNode("/root/main/formcnt/formcnt["+rowcnt+"]", "/root/temp/formcnt");
- }
- colcnt++;
- }
- isFormcd = isFormcd + formcd + "||";
- }
- datagrid1.rebuild();
- }
- /*
- function fGetEtcPatPamPrimaryKey(condparam)
- {
- var condarray = condparam.split("▦");
-
- model.makeValue("/root/send/reqdata/pid" , condarray[1]); //등록번호
- model.makeValue("/root/send/reqdata/orddd" , condarray[2]); //수술일자
- model.makeValue("/root/send/reqdata/cretno" , condarray[3]); //생성번호
- model.makeValue("/root/send/reqdata/instcd" , condarray[4]); //기관코드
- model.makeValue("/root/send/reqdata/ioflag" , condarray[0]); //외래입원구분
- model.makeValue("/root/send/reqdata/orddeptcd", condarray[5]); //집도과
- model.makeValue("/root/send/reqdata/orddrid" , condarray[6]); //집도의
- model.makeValue("/root/send/reqdata/patflag" , condarray[7]); //환자구분 - dao sql에서 query구분자 설정
- model.makeValue("/root/send/reqdata/procflag" , condarray[8]); //처리구분(F:최초 조회, R:재조회)
- model.makeValue("/root/send/reqdata/oprsrvno" , condarray[9]); //수술예약번호
- model.makeValue("/root/send/reqdata/ophistno" , condarray[10]);//수술이력번호
- model.makeValue("/root/send/reqdata/srchdd" , condarray[11]);//조회일자
-
- if(submit("TRMRI01808") == true)
- {
- var param = "";
- var PamKeyList = findNodeset(model, "/root/main/pamkeyinfo/pamprimekey");
-
- if(PamKeyList.length < 1){
- model.makeValue("/root/send/reqdata/pid" , condarray[1]); //등록번호
- model.makeValue("/root/send/reqdata/orddd" , condarray[2]); //수술일자
- model.makeValue("/root/send/reqdata/cretno" , condarray[3]); //생성번호
- model.makeValue("/root/send/reqdata/instcd" , condarray[4]); //기관코드
- model.makeValue("/root/send/reqdata/ioflag" , condarray[0]); //외래입원구분
- model.makeValue("/root/send/reqdata/orddeptcd", condarray[5]); //집도과
- model.makeValue("/root/send/reqdata/orddrid" , condarray[6]); //집도의
- model.makeValue("/root/send/reqdata/patflag" , "O"); //환자구분 - dao sql에서 query구분자 설정
- model.makeValue("/root/send/reqdata/procflag" , condarray[8]); //처리구분(F:최초 조회, R:재조회)
- model.makeValue("/root/send/reqdata/oprsrvno" , condarray[9]); //수술예약번호
- model.makeValue("/root/send/reqdata/ophistno" , condarray[10]);//수술이력번호
- model.makeValue("/root/send/reqdata/srchdd" , condarray[11]);//조회일자
-
- submit("TRMRI01808");
- }
-
- if(PamKeyList.length > 1){
- modal("SPMRI03200", "1","150", "150", "SPMRI03200", "/root/main/pamkeyinfo", "/root/main/result");
-
- if(getParameter("SPMRI03200_useyn") == "Y")
- {
- var SelectedPamKey = findNodeset(model, "/root/main/result/pamkeyinfo");
- for(int i = 0; i < SelectedPamKey.length; i++)
- {
- var pid = model.getValue("/root/main/result/pamkeyinfo/pid"); //등록번호
- var orddd = model.getValue("/root/main/result/pamkeyinfo/orddd"); //수술일자
- var cretno = model.getValue("/root/main/result/pamkeyinfo/cretno"); //생성번호
- var instcd = model.getValue("/root/main/result/pamkeyinfo/instcd"); //기관코드
- var ioflag = model.getValue("/root/main/result/pamkeyinfo/ioflag"); //외래입원구분
-
- if(ioflag == "I")
- {
- param = "T" + "▦" + // ioflag
- pid + "▦" + // pid
- orddd + "▦" + // opcnfmdd
- cretno + "▦" + // cretno
- instcd + "▦" + // instcd
- "" + "▦" + // perfdeptcd
- "" + "▦" + // perfdrid
- "I" + "▦" + // patflag
- "F" + "▦" + // procflag
- oprsrvno + "▦" + // oprsrvno
- "" + "▦" + // ophistno
- dschdd; // srchdd
- }
- }
-
- }
- return param;
- }
- }
- }
- */
- /**
- * @---------------------------------------------------
- * @creat : 20110503 => 20140311 수정
- * @author : 최원돈 => 이윤주
- * @desc : 선택환자의 관련 미비상세내역을 조회한다.
- * @---------------------------------------------------
- */
- function callUnprepDtPopMenu()
- {
- var iRow = grd_unpreplist.row - grd_unpreplist.fixedRows + 1;
- var curObj = opener.javascript.getOpenWindow("SPMRI03800"); //활성화된 미비상세 화면 object loading
- setParameter("SPMRI03800_pid", grd_unpreplist.valueMatrix(iRow, grd_unpreplist.colRef("pid")));
- setParameter("SPMRI03800_indd", grd_unpreplist.valueMatrix(iRow, grd_unpreplist.colRef("indd")));
-
- if(curObj != null) { //미비상세 화면 refresh;
- curObj.window.javascript.fInit();
- activateChild("SPMRI03800");
- }
- else {
- open("SPMRI03800", 1, 400, 0);
- }
-
- initPopupMenu(); // Reset Right Popupmenu
-
- }
- /**
- * @---------------------------------------------------
- * @creat : 20120518
- * @author : 이윤주
- * @desc : 미비내역을 조회.
- * @---------------------------------------------------
- */
- function fSearchMibi()
- {
- var indschflag = model.getValue("/root/main/cond/indschflag");
-
- grd_unpreplist.caption = "시간경과(h)^미비과^미비분과^등록번호^환자명^퇴원일자^퇴원과^unprepno^전문의^미비의사^의사구분^입원일^서식코드^서식명^unprepitemcd^항목명^진료일자^재미비^전달사항 From 의료정보^전달사항 From 의사^발생번호^서식기록순번^최종수정자^최종수정일시^의사확인일시";
- if(indschflag == "I"){ //재원미비인 경우
- grd_unpreplist.caption = "시간경과(h)^미비과^미비분과^등록번호^환자명^퇴원일자^재원과^unprepno^전문의^미비의사^의사구분^입원일^서식코드^서식명^unprepitemcd^항목명^진료일자^재미비^전달사항 From 의료정보^전달사항 From 의사^발생번호^서식기록순번^최종수정자^최종수정일시^의사확인일시";
- }else if(indschflag == "A"){ //전체미비인 경우
- grd_unpreplist.caption = "시간경과(h)^미비과^미비분과^등록번호^환자명^퇴원일자^재(퇴)원과^unprepno^전문의^미비의사^의사구분^입원일^서식코드^서식명^unprepitemcd^항목명^진료일자^재미비^전달사항 From 의료정보^전달사항 From 의사^발생번호^서식기록순번^최종수정자^최종수정일시^의사확인일시";
- }
-
- if(indschflag == "O"){
- model.removeNodeset("/root/main/unpreplist/unpreplist");
- model.setFocus("rdo_inoutflag");
- model.refresh();
- return;
- }
- /* 응급실 미비 기능 추가로 Remark(2009.12.21 이남익)
- if(indschflag == "E"){
- model.removeNodeset("/root/main/unpreplist/unpreplist");
- model.setFocus("rdo_inoutflag");
- model.refresh();
- return;
- }
- */
-
- if(indschflag =="A"){
- var unprepdrid = model.getValue("/root/main/cond/unprepdrid");
- var deptcd = cmb_deptcd.value;
- if(unprepdrid == "" && deptcd == "-"){
- messageBox("미비과 또는 미비의사중 하나는 반드시 선택 또는 입력해야 합니다.","I003");
- if(deptcd == "-"){
- model.setFocus("cmb_deptcd");
- } else {
- model.setFocus("ipt_unprepdrnm");
- }
- return;
- }
- }
- model.setValue("/root/main/cond/orderby", "");
- fReqGetUnPrepDrClsList("N");
-
- }
- /**
- * @---------------------------------------------------
- * @creat : 20120518
- * @author : 이윤주
- * @desc : 스텝미비내역을 조회.
- * @---------------------------------------------------
- */
- function fStaffMibi()
- {
- var indschflag = model.getValue("/root/main/cond/indschflag");
- if(indschflag == "O"){
- model.removeNodeset("/root/main/unpreplist/unpreplist");
- model.setFocus("rdo_inoutflag");
- model.refresh();
- return;
- }
-
- if(indschflag == "E"){
- model.removeNodeset("/root/main/unpreplist/unpreplist");
- model.setFocus("rdo_inoutflag");
- model.refresh();
- return;
- }
- if(indschflag =="A"){
- var unprepdrid = model.getValue("/root/main/cond/unprepdrid");
- var deptcd = cmb_deptcd.value;
- if(unprepdrid == "" && deptcd == "-"){
- messageBox("미비과 또는 미비의사중 하나는 반드시 선택 또는 입력해야 합니다.","I003");
- if(deptcd == "-"){
- model.setFocus("cmb_deptcd");
- } else {
- model.setFocus("ipt_unprepdrnm");
- }
- return;
- }
- }
- model.setValue("/root/main/cond/orderby", "");
- fReqGetUnPrepDrClsList("Y");
- }
- /**===================================================================================
- @desc : 깜빡이 기능
- =====================================================================================*/
- function fviewinfomsg(){
- window.clearInterval(gTimerID);
- gTimerID = window.setInterval("fviewinfomsg()", gIntervalTime);
- if(gTimeCnt%2 == 0){
- cap_infomsg.visible = true;
- }else{
- cap_infomsg.visible = false;
- }
- cap_infomsg.refresh();
- gTimeCnt++;
- }
|