123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584 |
- /*
-
- 분만 진행현황판(SMMNN01100_분만 진행현황판.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- */
- var xPartrtnListPath = "/root/main/partrtnlist/partrtnlist";
- var xNurseListPath = "/root/main/nurseinfo/nurselist";
- var xPartrtnInfoPath = "/root/main/partrtninfo";
- var yellow = "#ffff00";
- var white = "#ffffff";
- var pink = "#ffcccc";
- var dutplceinstcd = ""; // 기관코드 20100610 안도영 추가
- var seoulSungmoFlag = "N"; // 서울성모병원 구분자(Y/N) 20100610 안도영 추가
- /**
- * @group :
- * @ver : 2007.07.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 초기화 작업을 합니다.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitialize(){
- model.removenode(xNurseListPath);
- model.removenode(xPartrtnListPath);
-
- //코드리스트로드
- zbcfGetCodeList(new Array("M0322"), new Array("/root/init/M0322list")); // 산과처치분류(M0282), 처치코드(M0283)
-
- // '분만진행상황' 일반 공통코드에서 유형코드 조회로 변경, 로드 (20100610 안도영)
- zbcfGetKindCodeList(new Array("M0040"), new Array("M0288"), new Array("/root/init/M0288list"), false);
-
- zbcfGetKindCodeList(new Array("M0036"), new Array("M0289"), new Array("/root/init/M0289list"), false);
-
- //분만실 부서코드 조회(담당간호사 정보조회시 사용)_20090520_SMY
- fGetNursHardCdInfo("'045','077'", getCurrentDate()); //CareCom.js
-
- //서울성모병원인 경우에만 '보호자호출' 기능 연동 (20100610 안도영)
- dutplceinstcd = model.getValue("/root/codeinfo/codeinfo/codelist[cdgrupid = '077' and supcdid = '01']/cdid");//서울성모병원
- if(dutplceinstcd == getUserInfo("dutplceinstcd")){
- grd_partrtnlist.colHidden(grd_partrtnlist.colRef("procercallflag")) = false;
- seoulSungmoFlag = "Y";
- grd_partrtnlist.colwidth(grd_partrtnlist.colRef("etcfact")) = 145;
- }else{
- grd_partrtnlist.colHidden(grd_partrtnlist.colRef("procercallflag")) = true;
- seoulSungmoFlag = "N";
- }
- //서울성모 병원 구분
- model.setValue("/root/main/cond/instcdflag", seoulSungmoFlag);
- //분만일자(조회조건 로드)
- model.setValue("/root/main/cond/dlivdd", getCurrentDate());
- model.refresh();
-
- //산모리스트 조회
- fGetPartRtnList("-");
- }
- /**
- * @group :
- * @ver : 2007.07.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 산모정보 및 분만정보, 담당간호사 정보 저장.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClickSave(){
- var pid = model.getValue("/root/main/partrtninfo/pid"); //등록번호
- var status = model.getValue("/root/main/partrtninfo/status"); //IUD상태값
-
- var curRow = grd_partrtnlist.row; //저장시점의 row값
-
- if(pid != ""){
-
- model.setValue("/root/main/partrtninfo/status", status);
-
- model.makenode("/root/send/savedata/partrtninfo");
- model.makenode("/root/send/savedata/nurseinfo");
-
- model.copyNode("/root/send/savedata/partrtninfo", "/root/main/partrtninfo");
- model.copyNode("/root/send/savedata/nurseinfo", "/root/main/nurseinfo");
- model.removeNodeset(xNurseListPath);
-
- if(submit("TXMNN01101")){ //IUD상태값과 입력한 산모정보, 담당간호사 정보를 담아 저장한다.
- fGetPartRtnGridSet();
- fGetPartRtnList(pid); //저장후 산모정보를 refresh한다.
- }else{
-
- }
- }else{
- messageBox("등록번호 입력후 엔터키를 누르고\n산모를","C002");
- }
- }
- /**
- * @group :
- * @ver : 2007.07.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 분만실 전광판 산모 리스트 조회.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetPartRtnList(pid){
- model.removeNode("/root/send/reqdata");
- model.makeNode("/root/send/reqdata");
- model.copynode("/root/send/reqdata", "/root/main/cond");
-
- submit("TRMNN01101");
- //model.refresh();
-
- var curRow = -1;
- fGetPartRtnGridSet();
- //선택된 환자가 있다면 선택된 환자 Refresh
- if(pid != "-"){
- for(var i = 1; i <= grd_partrtnlist.rows; i++){
- if(model.getValue(xPartrtnListPath + "[" + i + "]/pid") == pid){
- curRow = i;
- break;
- }
- }
- }
- grd_partrtnlist.row = curRow;
- fClickPartrtnInfo(curRow);
- }
- /**
- * @group :
- * @ver : 2007.07.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 비밀 체크시 그리드 배경색 변경(노란색)
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetPartRtnGridSet(){
- var deptcd = model.getValue("/root/codeinfo/codeinfo/codelist[cdgrupid = '045']/cdid");
-
- //선택된 환자가 있다면 선택된 환자 Refresh
- for(var i = 1; i <= grd_partrtnlist.rows; i++){
- // 분만실 병동이 2개이상일 경우 색상표시 변경_성빈센트병원요구사항_20090925(ByJA)
- grd_partrtnlist.rowstyle(i, "all", "background-color") = white;
- if(model.getValue(xPartrtnListPath + "[" + i + "]/nonopen") == "Y"){ // 비공개(pink)
- grd_partrtnlist.rowstyle(i, "all", "background-color") = pink;
- }else if(model.getValue(xPartrtnListPath + "[" + i + "]/sortflag") == "1"){ // 분만실이 아닌 환자(yellow)
- grd_partrtnlist.rowstyle(i, "all", "background-color") = yellow;
- }
-
- /* 원본_20090925(ByJA)
- if(model.getValue(xPartrtnListPath + "[" + i + "]/nonopen") == "Y"){// 비공개(pink)
- grd_partrtnlist.rowstyle(i, "all", "background-color") = pink;
- //}else if(model.getValue(xPartrtnListPath + "[" + i + "]/wardcd") != "2100300000"){ //분만실 하드코딩 수정_20090805_SMY
- }else if(model.getValue(xPartrtnListPath + "[" + i + "]/wardcd") != deptcd){// 분만실이 아닌 환자(yellow)
- grd_partrtnlist.rowstyle(i, "all", "background-color") = yellow;
- }else{
- grd_partrtnlist.rowstyle(i, "all", "background-color") = white; // 비공개X,병실X(white)
- }
- */
- }
- grd_partrtnlist.refresh();
- }
- /**
- * @group :
- * @ver : 2007.07.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 분만실 환자정보 유무 체크 및 환자 정보 조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSearchPatInfo(){
- var pid = model.getValue("/root/main/partrtninfo/pid");
- var iPartrtnCnt = getNodesetCount("/root/main/partrtnlist/partrtnlist");
-
- //산모 리스트에 존재하는지 체크
- for(var i = 1; i <= iPartrtnCnt; i++){
- if(pid == model.getValue(xPartrtnListPath + "[" + i + "]/pid")){
- messageBox("산모 리스트에 존재합니다.","E999");
- fClickPartrtnInfo(i);
- return;
- }
- }
-
- //등록번호를 가지고 병실과 s/a를 조회한다.
- model.setFocus("btn_select");
- var pid = model.getValue("/root/main/partrtninfo/pid");
- var dlivdd = model.getValue("/root/main/cond/dlivdd");
- //model.setValue("/root/send/reqdata/pid", pid);
- model.removenode("/root/send");
- model.makenode("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/pid", pid);
- model.makeValue("/root/send/reqdata/dlivdd", dlivdd);
-
- if(submit("TRMNN01103")){
- //20090704_SMY추가
- if(model.getValue("/root/main/partrtninfo/pid") == ""){
- messageBox("재원중인 환자가 아닙니다.","I");
-
- model.makeNode("/root/main/partrtninfo/pid");
- model.makeNode("/root/main/partrtninfo/patnm");
- model.makeNode("/root/main/partrtninfo/roomcd");
- model.makeNode("/root/main/partrtninfo/sexage");
- model.makeNode("/root/main/partrtninfo/procernm");
- model.makeNode("/root/main/partrtninfo/partrtnprcsprescondflag");
- model.makeNode("/root/main/partrtninfo/womnposflag");
- model.makeNode("/root/main/partrtninfo/etcfactcd");
- model.makeNode("/root/main/partrtninfo/etcfact");
- model.makeNode("/root/main/partrtninfo/nonopen");
- model.makeNode("/root/main/partrtninfo/indd");
- model.makeNode("/root/main/partrtninfo/cretno");
- model.makeNode("/root/main/partrtninfo/status");
- model.makeNode("/root/main/partrtninfo/dlivdd");
- model.refresh();
- return;
- }
- }
-
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2007.07.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 참여자 정보 팝업 조회
- * @param : originalNode
- * @param : copyNode
- * @return : "true"/"false"
- * @---------------------------------------------------
- */
- function fClickUserBtn(userflag){
- var jobkindcd = "11";
- //var deptcd = "2100315000";
- var deptcd = model.getValue("/root/codeinfo/codeinfo/codelist[cdgrupid = '045']/cdid"); //분만실 하드코딩 수정_20090520_SMY
-
- setParameter("SPMNN02100_deptcd", deptcd);
- setParameter("SPMNN02100_jobkindcd", jobkindcd);
- setParameter("SPMNN02100_userflag", userflag); //20090520_SMY추가
-
- modal("SPMNN02100");
-
- var userid = getParameter("SPMNN02100_userid");
- var usernm = getParameter("SPMNN02100_usernm");
-
- if(userid != ""){
- for(var i = 1; i <= grd_nurselist.rows; i ++){
- if(model.getValue(xNurseListPath + '[' + i + ']/userid') == userid){
- messageBox("선택하신 간호사는 이미 담당 간호사 리스트에 등록되어 있으므로 추가", "E001");
- return false;
- }
- }
- grd_nurselist.addRow("true");
- var rows = grd_nurselist.rows - 1;
-
- model.setValue(xNurseListPath + "[" + rows + "]/userid", userid); //간호사코드
- model.setValue(xNurseListPath + "[" + rows + "]/usernm", usernm); //간호사명
- model.setValue(xNurseListPath + "[" + rows + "]/iudflag", "I"); //IUD 구분
- model.setValue(xNurseListPath + "[" + rows + "]/entrflag", "2"); //참가구분 (1: 의사, 2: 간호사)
- model.setValue(xNurseListPath + "[" + rows + "]/indd", "00000000");
- model.setValue(xNurseListPath + "[" + rows + "]/cretno", "0");
- }
-
- setParameter("SPMNN02100_userid", "");
- setParameter("SPMNN02100_usernm", "");
- }
- /**
- * @group :
- * @ver : 2007.07.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 의사/간호사 리스트에서 삭제
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClickGrid(){
- var iudflag = model.getValue(xNurseListPath + "[" + grd_nurselist.row + "]/iudflag");
- if(iudflag == "I"){
- grd_nurselist.deleteRow(grd_nurselist.row);
- }else if(iudflag == "D"){
- model.setValue(xNurseListPath + "[" + grd_nurselist.row + "]/iudflag", "-");
- }else{
- model.setValue(xNurseListPath + "[" + grd_nurselist.row + "]/iudflag", "D");
- }
- grd_nurselist.refresh();
- }
- /**
- * @group :
- * @ver : 2007.07.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 그리드 데이터 엑셀 전환
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSaveExcel(){
- file = window.fileDialog("save","","true","","xls","All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
- if(file != "") {
- grd_partrtnlist.saveExcel(file);
- }
- }
- /**
- * @group :
- * @ver : 2007.07.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 산모정보 및 분만정보, 담당간호사 디스플레이
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClickPartrtnInfo(row){
- model.setValue(xPartrtnInfoPath + "/pid", model.getValue(xPartrtnListPath + "[" + row + "]/pid"));
- model.setValue(xPartrtnInfoPath + "/patnm", model.getValue(xPartrtnListPath + "[" + row + "]/patnm"));
- model.setValue(xPartrtnInfoPath + "/roomcd", model.getValue(xPartrtnListPath + "[" + row + "]/roomcd"));
- model.setValue(xPartrtnInfoPath + "/sexage", model.getValue(xPartrtnListPath + "[" + row + "]/sexage"));
- model.setValue(xPartrtnInfoPath + "/procernm",model.getValue(xPartrtnListPath + "[" + row + "]/procernm"));
- model.setValue(xPartrtnInfoPath + "/partrtnprcsprescondflag", model.getValue(xPartrtnListPath + "[" + row + "]/partrtnprcsprescondflag"));
- model.setValue(xPartrtnInfoPath + "/womnposflag", model.getValue(xPartrtnListPath + "[" + row + "]/womnposflag"));
- model.setValue(xPartrtnInfoPath + "/etcfactcd", model.getValue(xPartrtnListPath + "[" + row + "]/etcfactcd"));
- model.setValue(xPartrtnInfoPath + "/etcfact", model.getValue(xPartrtnListPath + "[" + row + "]/etcfact"));
- model.setValue(xPartrtnInfoPath + "/nonopen", model.getValue(xPartrtnListPath + "[" + row + "]/nonopen"));
- model.setValue(xPartrtnInfoPath + "/indd", "00000000");
- model.setValue(xPartrtnInfoPath + "/cretno", "1");
- model.setValue(xPartrtnInfoPath + "/status", model.getValue(xPartrtnListPath + "[" + row + "]/iudflag"));
-
- fGetNurseList();
-
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2007.07.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 담당간호사 조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetNurseList(){
- model.removeNodeset(xNurseListPath);
- grd_nurselist.refresh();
-
- model.removeNode("/root/send/reqdata");
- model.makeNode("/root/send/reqdata");
- model.copynode("/root/send/reqdata", "/root/main/partrtninfo");
- submit("TRMNN01102");
- }
- /**
- * @group :
- * @ver : 2007.07.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 환자정보 및 분만정보, 담당간호사 정보 초기화
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitInputInfo(){
-
- model.resetInstanceNode("/root/main/partrtninfo");
- model.removeNodeset(xNurseListPath);
- grd_partrtnlist.row = 0;
- model.refresh();
-
- }
- /**
- * @group :
- * @ver : 2007.07.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 산모리스트 삭제 및 비밀여부 저장
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClickGridSave(){
- var rows = grd_partrtnlist.rows;
- var pid = model.getValue("/root/main/partrtninfo/pid");
- var sSaveData = grd_partrtnlist.getUpdateData();
- if(sSaveData == ""){
- messageBox("저장할 데이터가","I004");
- }else{
- model.removeNodeset("/root/send/savedata/partrtnlist");
- model.makeValue("/root/send/savedata/partrtnlist", sSaveData);
- model.makeValue("/root/send/savedata/dlivdd", model.getValue("/root/main/cond/dlivdd"));
- // 서울성모병원인 경우 (20100610 안도영)
- if(seoulSungmoFlag=="Y") submit("TXMNN01104");
- else submit("TXMNN01102");
-
- fGetPartRtnList(pid);
- }
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 분만진행현황판 리스트 출력
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClickPrint(){
- model.removenode("/root/send/printdata");
- //send 재구성
- model.makeValue("/root/send/printdata","");
- model.copynode("/root/send/printdata", "/root/main");
- exeReportPreview("RPMNN01101", "XMLSTR");
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 환자조회 팝업
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fUseridPopup(){
- //환자조회 팝업을 호출한다.
- model.removeNodeset("/root/properties/parameters/SendData/SendDatavalue");
- modal("SMMNE03700");
- //팝업의 결과값을 변수에 임시로 저장한다.
- var pParam = model.getValue("/root/properties/parameters/SendData/SendDatavalue");
- var pParamValue = pParam.split("|");
- var pid = pParamValue[0];
-
- for(var i = 1; i <= grd_partrtnlist.rows; i++){
- if(model.getValue(xPartrtnListPath + "[" + i + "]/pid") == pid){
- fClickPartrtnInfo(i);//산모정보 및 분만정보, 담당간호사 디스플레이
- return;
- }
- }
-
- //등록번호를 가지고 병실과 s/a를 조회한다.
- //model.setValue("/root/send/reqdata/pid", pid);
- model.removenode("/root/send"); //20090805_SMY
- model.makenode("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/pid", pid);
-
- if(submit("TRMNN01103")){
- if(model.getValue("/root/main/partrtninfo/pid") == ""){
- messageBox("재원중인 환자가 아닙니다.","I");
-
- //20090704_SMY추가
- model.makeNode("/root/main/partrtninfo/pid");
- model.makeNode("/root/main/partrtninfo/patnm");
- model.makeNode("/root/main/partrtninfo/roomcd");
- model.makeNode("/root/main/partrtninfo/sexage");
- model.makeNode("/root/main/partrtninfo/procernm");
- model.makeNode("/root/main/partrtninfo/partrtnprcsprescondflag");
- model.makeNode("/root/main/partrtninfo/womnposflag");
- model.makeNode("/root/main/partrtninfo/etcfactcd");
- model.makeNode("/root/main/partrtninfo/etcfact");
- model.makeNode("/root/main/partrtninfo/nonopen");
- model.makeNode("/root/main/partrtninfo/indd");
- model.makeNode("/root/main/partrtninfo/cretno");
- model.makeNode("/root/main/partrtninfo/status");
- model.makeNode("/root/main/partrtninfo/dlivdd");
- model.refresh();
- return;
-
- }else{
- //partrtninfo 인스턴스를 재구성한다.
- model.setValue("/root/main/partrtninfo/pid", pid); //등록번호
- model.setValue("/root/main/partrtninfo/patnm", pParamValue[1]); //산모명
- model.setValue("/root/main/partrtninfo/procernm", '');
- model.setValue("/root/main/partrtninfo/partrtnprcsprescondflag", '');
- model.setValue("/root/main/partrtninfo/womnposflag", '');
- model.setValue("/root/main/partrtninfo/etcfactcd", '');
- model.setValue("/root/main/partrtninfo/etcfact", '');
- model.setValue("/root/main/partrtninfo/nonopen", '');
- model.setValue("/root/main/partrtninfo/status", 'I');
-
- }
- }
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 그리드에서 삭체 체크시
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDeleteCheck(){
- var row = grd_partrtnlist.row;
- var deptcd = model.getValue("/root/codeinfo/codeinfo/codelist[cdgrupid = '045']/cdid");
-
- if( model.getValue(xPartrtnListPath + "[" + row + "]/indschacptstat") == "A"
- // 분만실 병동이 2개이상일 경우_성빈센트병원요구사항_20090925(ByJA)
- // 분만실환자인 경우 리스트에서 삭제 할 수 없다.
- // 원본_20090925(ByJA) if(model.getValue(xPartrtnListPath + "[" + row + "]/wardcd") == deptcd){
- && model.getValue(xPartrtnListPath + "[" + row + "]/sortflag") == "0"){
- messageBox("재원중인 환자는 삭제할 수","I004");
- model.setValue(xPartrtnListPath + "[" + row + "]/check", "false");
- }else{
- //체크가 되면 상태값을 D로 , uncheck되면 상태값을 U로 바꿔준다.
- if(model.getValue(xPartrtnListPath + "[" + row + "]/check") == 'true'){
- model.setValue(xPartrtnListPath + "[" + row + "]/iudflag", "D");
- }else{
- model.setValue(xPartrtnListPath + "[" + row + "]/iudflag", "U");
- }
- }
- grd_partrtnlist.refresh();
- }
|