123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*
- (SMMNR14000.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- - Desc : 병동활동기록에서 사용하는 스크립트
- */
- var xWardPatInfoPath = "/root/main/wardpatinfo/wardpatlist"; // 환자리스트 xPath
- var xBedsoreGridPath = ds_main_actvinfo_actvlist; // 병동활동기록 리스트 xPath
- var xClsListBKPath = "/root/hidden/main/actvinfo/actvlist"; // 그리드 hidden xPath
- var xPamInfoPath = '/root/main/paminfo'
- var xGrupcdmax = "";
- /////////////////조회관련 함수 시작////////////////////
- //통합기록조회
- var ViewFunc = "sign"; //sign : 기록인증용, view : view인증용
- //화면을 초기화한다. 화면로딩이 끝난 시점에 호출된다.
- function finit(pFlag){
-
- var instcd = sysf_getUserInfo("dutplceinstcd");
- var standard_yn = "orduseyn";
- var ord_deptflag = 'W';
- var rslt_ref = "ds_init_dept_dept";
- var sort_field = "depthngnm";
- var sort_method = "asc";
- var dt = utlf_getCurrentDate();
-
- group5.rdo_indsch.value = "1";
-
- ds_main_paminfo_list.clearData();
- ds_codelist.clearData();
- ds_codelist_R01.clearData();
-
- var paminfo = sysf_getGlobalVariable("paminfo");
- var pid = "";
- var wardcd = "";
- var indschacptstat = "";
- if( utlf_transNullToEmpty(paminfo).length > 0 ){
- dsf_setCSVToDs("ds_main_paminfo_list", paminfo); //환자정보내리기
-
- if( utlf_isNull(ds_main_paminfo_list.getColumnInfo("sectioncd")) ){
- ds_main_paminfo_list.addColumn("sectioncd", "string");
- }
- if( utlf_isNull(ds_main_paminfo_list.getColumnInfo("ordtype")) ){
- ds_main_paminfo_list.addColumn("ordtype", "string");
- }
-
- pid = ds_main_paminfo_list.getColumn(0, "pid");
- wardcd = ds_main_paminfo_list.getColumn(0, "wardcd");
- indschacptstat = ds_main_paminfo_list.getColumn(0, "indschacptstat");
- }
-
- fGetNursHardCdInfo("'002','R01'", dt); // '002' 응급의료센터 여부 조회
- appf_getDeptCodeList(instcd, standard_yn, ord_deptflag, sort_field, sort_method, dt, "", "", rslt_ref); //ds_codelist
- ds_codelist.filter("cdgrupid=='R01'");
- ds_codelist_R01.copyData(ds_codelist, true);
- ds_codelist.filter("");
- ds_main_cond.setColumn(0, "wardcd", sysf_getUserInfo("dutplcecd"));
- if( pFlag != "Search" ){
- ds_main_cond.setColumn(0, "actvdd", dt);
- }
-
- if( !utlf_isNull(wardcd) ){
- ds_main_cond.setColumn(0, "wardcd", wardcd);
- }else{
- ds_main_cond.setColumn(0, "wardcd", sysf_getUserInfo("dutplcecd"));
- }
- fGetZoneList(); //CareCom.js 응급실구역정보조회
- fnZoneDisp();
- fSettingnurid();
- fSetInDsch(indschacptstat);
-
- if( indschacptstat == "A" || ds_main_cond.getColumn(0, "indsch") == "1" ){
- fGetWardPatList();
- }else{
- fGetPidWardInfo(pid);
- }
- if( !utlf_isNull(pid) ){
-
- if( ds_main_paminfo_list.getColumn(0, "ioflag") != "E" && ds_main_paminfo_list.getColumn(0, "careinrmdd") == "-" ){
- sysf_messageBox("아직 입실확인하지 않은 환자입니다.", "I");
- //return;
- }
- ds_main_wardpatinfo_wardpatlist.rowposition = ds_main_wardpatinfo_wardpatlist.findRow("pid", pid);
-
- //선택환자정보조회
- fSearch();
- }
- }
- // 내환자 셋팅정보 조회
- function fSettingnurid(){
-
- ds_send_reqdata.setColumn(0, "wardcd", ds_main_cond.getColumn(0, "wardcd") );
-
- var oParam = {};
- oParam.id = "TRMNW10910";
- oParam.service = "wardcareapp.WardCareMngt";
- oParam.method = "reqGetSettingRnList";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_init_settinginfo_settingrn=settingrn";
- oParam.async = false;
- oParam.callback = "cf_TRMNW10910";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW10910") > -1 ){
- //settingnurid = model.getValue("/root/init/settinginfo/settingrn[settingrnid='" + getUserInfo("userid") +"']/settingrnid");
-
- ds_main_cond.setColumn(0, "settingrnid", "");
- }
- }
- function cf_TRMNW10910(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
-
- if( ds_init_settinginfo_settingrn.rowcount > 0 && ds_init_settinginfo_settingrn.getColumn(0, "settingrnnm") == "-" ){
- ds_init_settinginfo_settingrn.setColumn(0, "settingrnid", "");
- }
- }
- // 응급실 구역 보여주기
- function fnZoneDisp() {
-
- //응급의료센터(2280200000)인 경우
- //내환자정보대신에 구역정보가 보임)
- if( !utlf_isNull(ds_codelist.lookupExpr("cdgrupid=='002' && cdid=='"+group5.grp_sea.cmb_ward.value+"'", "cdid")) ){
- group5.cap_Zone.visible = true;
- group5.cmb_Zone.visible = true;
-
- group5.grp_sea.cap_settingrn.position.left = 330;
- group5.grp_sea.cap_settingrn.position.width = 60;
- group5.grp_sea.cap_settingrn.position.top = 10;
- group5.grp_sea.cmb_settingrn.position.left = 390;
- group5.grp_sea.cmb_settingrn.position.width = 75;
- group5.grp_sea.cmb_settingrn.position.top = 10;
-
- group5.grp_sea.caption17.position.left = 495;
- group5.grp_sea.caption17.position.width = 97;
- group5.grp_sea.caption17.position.top = 10;
- group5.grp_sea.ipt_actvdd.position.left = 595;
- group5.grp_sea.ipt_actvdd.position.width = 88;
- group5.grp_sea.ipt_actvdd.position.top = 10;
-
-
- var zonecd = ds_main_paminfo_list.getColumn(0, "sectioncd");
- if( !utlf_isNull(zonecd) && zonecd != "-" ){
- group5.cmb_Zone.value = ds_main_paminfo_list.getColumn(0, "sectioncd");
- } else {
- group5.cmb_Zone.value = "-";
- }
- } else {
- group5.cap_Zone.visible = false;
- group5.cmb_Zone.visible = false;
- group5.cmb_Zone.value = "-";
-
- group5.grp_sea.cap_settingrn.position.left = 190;
- group5.grp_sea.cap_settingrn.position.width = 60;
- group5.grp_sea.cap_settingrn.position.top = 10;
- group5.grp_sea.cmb_settingrn.position.left = 250;
- group5.grp_sea.cmb_settingrn.position.width = 75;
- group5.grp_sea.cmb_settingrn.position.top = 10;
-
- group5.grp_sea.caption17.position.left = 355;
- group5.grp_sea.caption17.position.width = 97;
- group5.grp_sea.caption17.position.top = 10;
- group5.grp_sea.ipt_actvdd.position.left = 455;
- group5.grp_sea.ipt_actvdd.position.width = 88;
- group5.grp_sea.ipt_actvdd.position.top = 10;
- }
- }
- // 환자 리스트 조회
- function fGetWardPatList(){
- ds_main_cond.setColumn(0, "pid", "");
- ds_main_actvinfo_actvlist.clearData();
- ds_send_reqdata.copyRow(0, ds_main_cond, 0);
-
- if( !utlf_isNull(ds_codelist.lookupExpr("cdgrupid=='002' && cdid=='"+group5.grp_sea.cmb_ward.value+"'", "cdid")) ){
- ds_send_reqdata.setColumn(0, "emcflag", "Y");
- }
-
- var oParam = {};
- oParam.id = "TRMNR14000";
- oParam.service = "carerecapp.NursingRecord";
- oParam.method = "reqGetActvWardPatInfo";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_main_wardpatinfo_wardpatlist=wardpatlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR14000";
- tranf_submit(oParam);
-
- ds_main_wardpatinfo_wardpatlist.updateColID("medispclid", "orddrid");
-
- ds_main_wardpatinfo_wardpatlist.rowposition = -1;
- }
- // 조회버튼 클릭시
- function fSearch(){
- ds_main_paminfo_list.clearData();
-
- var paminfo = sysf_getGlobalVariable("paminfo");
-
- if( utlf_transNullToEmpty(paminfo).length > 0 ){
- dsf_setCSVToDs("ds_main_paminfo_list", paminfo); //환자정보내리기
- }
-
- if( utlf_isNull(ds_main_paminfo_list.getColumnInfo("sectioncd")) ){
- ds_main_paminfo_list.addColumn("sectioncd", "string");
- }
- if( utlf_isNull(ds_main_paminfo_list.getColumnInfo("ordtype")) ){
- ds_main_paminfo_list.addColumn("ordtype", "string");
- }
-
- // 활동기록 리스트 조회
- fSearchRecInfo();
- return true;
- }
- // 병동활동기록 리스트 조회
- function fSearchRecInfo() {
-
- ds_main_actvinfo_actvlist.clearData();
- ds_main_cond.setColumn(0, "pid", ds_main_paminfo_list.getColumn(0, "pid"));
- ds_send_reqdata.setColumn(0, "pid", ds_main_paminfo_list.getColumn(0, "pid"));
- ds_send_reqdata.setColumn(0, "indd", ds_main_paminfo_list.getColumn(0, "indd"));
- ds_send_reqdata.setColumn(0, "cretno", ds_main_paminfo_list.getColumn(0, "cretno"));
- ds_send_reqdata.setColumn(0, "actvdd", ds_main_cond.getColumn(0, "actvdd"));
-
- var oParam = {};
- oParam.id = "TRMNR14001";
- oParam.service = "carerecapp.NursingRecord";
- oParam.method = "reqGetActvList";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_main_actvinfo_actvlist=actvlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR14001";
- tranf_submit(oParam);
-
- ds_main_actvinfo_actvlist.rowposition = -1;
-
- ds_main_actvinfo_actvlist.enableevent = false;
- ds_main_actvinfo_actvlist.updatecontrol = false;
-
- for( var i=0 ; i<ds_main_actvinfo_actvlist.rowcount ; i++ ){
- if( ds_main_actvinfo_actvlist.getColumn(i, "sel") == "true" ){
- ds_main_actvinfo_actvlist.setColumn(i, "sel", "1");
- }else{
- ds_main_actvinfo_actvlist.setColumn(i, "sel", "0");
- }
- }
-
- ds_main_actvinfo_actvlist.updatecontrol = true;
- ds_main_actvinfo_actvlist.enableevent = true;
- }
- /////////////////데이터 저장/삭제 함수 시작////////////
- // 병동활동기록을 저장하기전에 유효성을 체크한다.
- function fIsValid(){
- //그리드 저장데이터 존재여부 체크(default rows = 2)
- if( group5.grd_actvlist.rowcount < 1 ){
- sysf_messageBox("저장할 내역이","I004");
- return false;
- }
- var sflag = '';
- var cnts = 0;
-
- for( var i=0 ; i<group5.grd_actvlist.rowcount ; i++ ){
- if( ds_main_actvinfo_actvlist.getRowType(i) != 1 ){
- cnts ++;
- }
- }
-
- if( cnts < 1 ){
- sysf_messageBox("신규등록/수정사항이","I004");
- return false;
- }
- for( var i=0 ; i<group5.grd_actvlist.rowcount ; i++ ){
- //병동활동 입력여부 체크
- if( utlf_isNull(xBedsoreGridPath.getColumn(i, "actvcd"))
- || utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "actvcd")).length <= 0 ) {
- sysf_messageBox("병동활동은","I003");
- return false;
- }
-
- //병동활동시간 입력여부 체크
- if( utlf_isNull(xBedsoreGridPath.getColumn(i, "actvtm"))
- || utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "actvtm")).trim().length <= 0 ) {
- sysf_messageBox("병동활동시간은","I003");
- return false;
- }else if( utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "actvtm")).trim().length != 4 ){
- sysf_messageBox("활동시간을 정확히 입력하세요.(네자리)", "I");
- return;
- }
-
- //병동활동 기록시간 입력여부 체크
- if( utlf_isNull(xBedsoreGridPath.getColumn(i, "rectm"))
- || utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "rectm")).trim().length <= 0 ) {
- sysf_messageBox("병동활동 기록시간은","I003");
- return false;
- }else if( utlf_transNullToEmpty(xBedsoreGridPath.getColumn(i, "rectm")).trim().length != 4){
- sysf_messageBox("병동활동 기록시간을 정확히 입력하세요.(네자리)", "I");
- return;
- }
- }
- return true;
- }
- var SIGN_ROW = 0;//for돌때 해당 그리드만 인증데이터로 만들어주기 위해 global variable로 선언
- //인증저장
- function fSignSave(){
- if( fIsValid() ){
- var pid = ds_main_cond.getColumn(0, "pid");
- var indd = ds_main_paminfo_list.getColumn(0, "indd");
- var cretno = ds_main_paminfo_list.getColumn(0, "cretno");
- var orddeptcd = ds_main_paminfo_list.getColumn(0, "orddeptcd");
- var orddrid = ds_main_paminfo_list.getColumn(0, "medispclid");
- var ordtype = ds_main_paminfo_list.getColumn(0, "ordtype");
- var signno = '';
-
- // 저장 데이터 세팅
- ds_send_savedata_actvinfo.clearData();
-
- for( var i=0 ; i<ds_main_actvinfo_actvlist.rowcount ; i++ ){
- var nRow = ds_send_savedata_actvinfo.addRow();
-
- ds_send_savedata_actvinfo.copyRow(nRow, ds_main_actvinfo_actvlist, i);
-
- if( ds_send_savedata_actvinfo.getColumn(nRow, "sel") == "1" ){
- ds_send_savedata_actvinfo.setColumn(nRow, "sel", "true");
- }else{
- ds_send_savedata_actvinfo.setColumn(nRow, "sel", "false");
- }
- }
-
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누를때마다 인증서가 뜨도록 처리
-
- ds_send_savedata_signlist.clearData();
-
- //for를 돌면서 각 병동활동기록정보의 노드를 복사 한다.
- for( var i=0 ; i<group5.grd_actvlist.rowcount ; i++ ){
- SIGN_ROW = i;
- signno = xBedsoreGridPath.getColumn(i, "signno");
-
- // 인증 로직 호출
- ViewFunc = "sign";
- if( Sign.signprocess() == true ){
- for( var j=0 ; j<=SIGN_ROW ; j++ ){
- ds_send_savedata_signlist.addRow();
- }
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "pid", pid); // 등록번호
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddd", indd); // 입원일자(입원,응급)/진료일자(외래)
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signno", signno); // 서명번호
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "cretno" , cretno); // 생성번호
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "recdd", ds_main_cond.getColumn(0, "actvdd")); // 실제 기록이 이루어진 기록일자(통합기록에서 보여짐)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "rectm", utlf_getCurrentTime()); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "recsaveflag" , "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signflag" , "02"); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signgenrflag", "I"); // 외래/입원구분 (코드정의서 M0010 참조)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "formcd", "1400015148"); // 각 기록지별 서식코드(1400015148 병동활동기록)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddeptcd", orddeptcd); // 진료부서코드
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddrid" , orddrid); // 진료의사ID
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "screenid" , frmf_getScreenID());
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "dispyn", "N"); // 인증저장용 data(view용 인증데이터는 따로 생성함)
- } else {
- return ;
- }
- }
-
- dsf_createDsRow("ds_tempuserInfo", [{col: "uiUserId", val:sysf_getUserId() }]);
-
- var oParam = {};
- oParam.id = "TXMNR14000";
- oParam.service = "carerecapp.NursingRecord";
- oParam.method = "reqInsActvRec";
- oParam.inds = "actvinfo=ds_send_savedata_actvinfo signlist=ds_send_savedata_signlist tempUserInfo=ds_tempuserInfo";
- oParam.outds = "ds_temp_actvinfo=actvinfo";
- oParam.async = false;
- oParam.callback = "cf_TXMNR14000";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXMNR14000") > -1 ){
- ds_hidden_main_actvinfo_actvlist.copyData(ds_main_actvinfo_actvlist);
- fMakeViewData(); //통합기록view용 데이터생성
- }
- }
- }
- function cf_TXMNR14000(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- // 인증데이터 만들기.
- function fMake_SignData(){
-
- if( ViewFunc == "sign" ){
- ds_sign_actvinfo_actvlist.clearData();
- ds_sign_actvinfo_actvlist.addRow();
- ds_sign_actvinfo_actvlist.copyRow(0, ds_main_actvinfo_actvlist, SIGN_ROW);
-
- var arrSignPath = new Array();
- arrSignPath[0] = "/cond";
- arrSignPath[1] = "/actvlist";
-
- var arrSignDs = new Array();
- arrSignDs[0] = ds_main_cond.saveXML();
- arrSignDs[1] = ds_sign_actvinfo_actvlist.saveXML();
-
- Sign.addnodeset(arrSignPath, arrSignDs);
-
- }else if( ViewFunc == "view" ){
- var arrSignPath = new Array();
- arrSignPath[0] = "/cond";
-
- var arrSignDs = new Array();
- arrSignDs[0] = ds_main_cond.saveXML();
-
- Sign.addnodeset(arrSignPath, arrSignDs);
-
- var arrSignPath = new Array();
- arrSignPath[0] = "/viewactvgrup/";
- arrSignPath[1] = "/viewactvgrup/actvlist";
-
- var arrSignDs = new Array();
- arrSignDs[0] = null;
- arrSignDs[1] = ds_viewinfo_viewactvgrup_actvlist.saveXML();
-
- Sign.addnodeset(arrSignPath, arrSignDs);
-
- }
- }
- // 병동활동기록 삭제
- function fDel(){
- //삭제할 항목이 선택되었는지 여부를 체크
- var delFlag = false; //체크박스 체크여부
- var sel = ''; //체크박스(true/false)
- var stat = ''; //그리드상태(i/u/d)
-
- /*
- var retMsg = messageBox('선택하신 병동활동기록을', 'Q001');
-
- if(retMsg != "6") {
- return "false";
- }
- */
- var pid = ds_main_cond.getColumn(0, "pid");
- var indd = ds_main_paminfo_list.getColumn(0, "indd");
- var cretno = ds_main_paminfo_list.getColumn(0, "cretno");
- var orddeptcd = ds_main_paminfo_list.getColumn(0, "orddeptcd");
- var orddrid = ds_main_paminfo_list.getColumn(0, "medispclid");
- var ordtype = ds_main_paminfo_list.getColumn(0, "ordtype");
-
- var signno = '';
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누를때마다 인증서가 뜨도록 처리
-
- ds_send_savedata_signlist.clearData();
- ds_send_savedata_actvinfo.clearData();
-
- for( var i=0 ; i<group5.grd_actvlist.rowcount ; i++ ){
-
- sel = xBedsoreGridPath.getColumn(i, "sel");
- stat = xBedsoreGridPath.getColumn(i, "stat");
- //flag = xBedsoreGridPath.getColumn(i, "flag");
-
- SIGN_ROW = i ;
- if( sel == '1' ){
- delFlag = true;
- if( stat == 'i' ){
- //체크한 항목이 행추가 (stat:i)상태인 경우 그리드에서 바로 삭제
- xBedsoreGridPath.deleteRow(i);
- }else{
- //상태값을 'd'로 변경
- xBedsoreGridPath.setColumn(i, "stat", 'd');
-
- var nRow = ds_send_savedata_actvinfo.addRow();
- ds_send_savedata_actvinfo.copyRow(nRow, xBedsoreGridPath, i);
-
- if( ds_send_savedata_actvinfo.getColumn(nRow, "sel") == "1" ){
- ds_send_savedata_actvinfo.setColumn(nRow, "sel", "true");
- }else{
- ds_send_savedata_actvinfo.setColumn(nRow, "sel", "false");
- }
-
- signno = xBedsoreGridPath.getColumn(i, "signno");
-
- // 인증 로직 호출
- ViewFunc = "sign";
- if( Sign.signprocess() == true ){
-
- for( var j=0 ; j<=SIGN_ROW ; j++ ){
- ds_send_savedata_signlist.addRow();
- }
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "pid", pid); // 등록번호
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddd", indd); // 입원일자(입원,응급)/진료일자(외래)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signno", signno); // 서명번호
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "cretno" , cretno); // 생성번호
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "recdd", ds_main_cond.getColumn(0, "actvdd")); // 실제 기록이 이루어진 기록일자(통합기록에서 보여짐)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "rectm", utlf_getCurrentTime()); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "recsaveflag" , "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signflag" , "02"); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signgenrflag", "I"); // 외래/입원구분 (코드정의서 M0010 참조)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "formcd", "1400015148"); // 각 기록지별 서식코드(1400015148 병동기록)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddeptcd", orddeptcd); // 진료부서코드
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "orddrid" , orddrid); // 진료의사ID
- //미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "screenid", frmf_getScreenID());
- ds_send_savedata_signlist.setColumn(SIGN_ROW, "dispyn", "N"); //인증저장용 data(view용 인증데이터는 따로 생성함)
- } else {
- return ;
- }
- }
- }
- }
- //선택한 항목이 없을때
- if( !delFlag ){
- sysf_messageBox('삭제할 항목을', 'C002');
- return;
- }
- ds_send_savedata.setColumn(0, "pid", ds_main_cond.getColumn(0, "pid"));
-
- dsf_createDsRow("ds_tempuserInfo", [{col: "uiUserId", val:sysf_getUserId() }]);
-
- var oParam = {};
- oParam.id = "TXMNR14000";
- oParam.service = "carerecapp.NursingRecord";
- oParam.method = "reqInsActvRec";
- oParam.inds = "actvinfo=ds_send_savedata_actvinfo signlist=ds_send_savedata_signlist tempUserInfo=ds_tempuserInfo";
- oParam.outds = "ds_temp_actvinfo=actvinfo";
- oParam.async = false;
- oParam.callback = "cf_TXMNR14000";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXMNR14000") > -1 ){
- ds_hidden_main_actvinfo_actvlist.copyData(ds_main_actvinfo_actvlist);
- fMakeViewData(); //통합기록view용 데이터생성
- }
- }
- function cf_TXMNR14000(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /////////////////데이터 저장/삭제 함수 종료////////////
- // 병동활동 추가
- function fAddActv(){
-
- if( ds_main_cond.getColumn(0, "indsch") == "1" ){
- if( utlf_isNull(ds_main_cond.getColumn(0, "pid")) ){
- sysf_messageBox('환자를 선택하여 주십시오', 'I');
- return;
- }
- }else{
- if( utlf_isNull(ds_main_cond.getColumn(0, "patientnm")) ){
- sysf_messageBox('환자를 선택하여 주십시오', 'I');
- return;
- }
- }
- var iRows = group5.grd_actvlist.rowcount;
- var iRow = group5.grd_actvlist.currentrow;
-
- ds_main_actvinfo_actvlist.addRow();
-
- var instcd = ds_main_paminfo_list.getColumn(0, "instcd");
- var pid = ds_main_paminfo_list.getColumn(0, "pid");
- var indd = ds_main_paminfo_list.getColumn(0, "indd");
- var cretno = ds_main_paminfo_list.getColumn(0, "cretno");
-
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "stat", "i");
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "instcd", instcd);
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "pid", pid);
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "indd", indd);
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "cretno", cretno);
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "actvdd", ds_main_cond.getColumn(0, "actvdd"));
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "actvtm", utlf_getCurrentDateTime().substring(9,13));
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "recdd", utlf_getCurrentDate());
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "rectm", utlf_getCurrentDateTime().substring(9,13));
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "recrnm", sysf_getUserName());
- xBedsoreGridPath.setColumn(xBedsoreGridPath.rowposition, "recrid", sysf_getUserId());
- //expr로 처리
- // grd_actvlist.isReadOnly(grd_actvlist.row,grd_actvlist.colRef("actvdd")) = false;
- // grd_actvlist.isReadOnly(grd_actvlist.row,grd_actvlist.colRef("recdd")) = false;
-
- }
- // 통합기록조회용 인증데이터 생성
- function fMakeViewData(){
- var pid = ds_main_cond.getColumn(0, "pid");
- var indd = ds_main_paminfo_list.getColumn(0, "indd");
- var cretno = ds_main_paminfo_list.getColumn(0, "cretno");
- var orddeptcd = ds_main_paminfo_list.getColumn(0, "orddeptcd");
- var orddrid = ds_main_paminfo_list.getColumn(0, "medispclid");
- var ordtype = ds_main_paminfo_list.getColumn(0, "ordtype");
-
- var signno = '';
-
-
- //조회조건값 세팅
- ds_send.setColumn(0, "pid", pid); //등록번호
- ds_send.setColumn(0, "indd", indd);
- ds_send.setColumn(0, "cretno", cretno);
- ds_send.setColumn(0, "actvdd", ds_main_cond.getColumn(0, "actvdd")); //기준일자(발생일자)
- ds_send.setColumn(0, "actvtm", ds_main_cond.getColumn(0, "actvtm")); //기준시간(발생시간)
-
-
- //병동활동기록 조회
- ds_main_actvinfo_actvlist.clearData();
-
- var oParam = {};
- oParam.id = "TRMNR14002";
- oParam.service = "carerecapp.NursingRecord";
- oParam.method = "reqGetActvList";
- oParam.inds = "reqdata=ds_send";
- oParam.outds = "ds_viewinfo_viewactvgrup_actvlist=actvlist";
- oParam.async = false;
- oParam.callback = "cf_TRMNR14002";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNR14002") > -1 ){
-
- var actvcnt = ds_viewinfo_viewactvgrup_actvlist.rowcount;
-
- // 인증 로직 호출
- ViewFunc = "view";
- if( Sign.signprocess() == true ){
- ds_send_savedata.setColumn(0, "pid", pid); // 등록번호
- ds_send_savedata.setColumn(0, "certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- ds_send_savedata.setColumn(0, "orddd", indd); // 입원일자(입원,응급)/진료일자(외래)
- ds_send_savedata.setColumn(0, "signno", signno); // 서명번호
- ds_send_savedata.setColumn(0, "cretno" , cretno); // 생성번호
- ds_send_savedata.setColumn(0, "recdd", ds_main_cond.getColumn(0, "actvdd")); // 실제 기록이 이루어진 기록일자(통합기록에서 보여짐)
- ds_send_savedata.setColumn(0, "rectm", utlf_getCurrentTime()); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
- ds_send_savedata.setColumn(0, "recsaveflag" , "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- ds_send_savedata.setColumn(0, "signflag" , "02"); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- ds_send_savedata.setColumn(0, "signgenrflag", "I"); // 외래/입원구분 (코드정의서 M0010 참조)
- ds_send_savedata.setColumn(0, "formcd", "1400015148"); // 각 기록지별 서식코드(1400015148 병동활동기록)
- ds_send_savedata.setColumn(0, "orddeptcd", orddeptcd); // 진료부서코드
- ds_send_savedata.setColumn(0, "orddrid" , orddrid); // 진료의사ID
-
- //미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- ds_send_savedata.setColumn(0, "signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_send_savedata.setColumn(0, "signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- ds_send_savedata.setColumn(0, "screenid" , frmf_getScreenID());
- ds_send_savedata.setColumn(0, "dispyn", "Y"); //인증저장용 data(view용 인증데이터는 따로 생성함)
-
- ds_send_savedata.setColumn(0, "actvcnt", actvcnt); //조회된 활동기록리스트 있는지 여부
-
- } else {
- return ;
- }
- dsf_createDsRow("ds_tempuserInfo", [{col: "uiUserId", val:sysf_getUserId() }]);
-
- var oParam = {};
- oParam.id = "TXMNR14001";
- oParam.service = "carerecapp.NursingRecord";
- oParam.method = "reqExeSaveViewDataActv";
- oParam.inds = "signinfo=ds_send_savedata tempUserInfo=ds_tempuserInfo";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXMNR14001";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXMNR14001") > -1 ){
- finit("Search");
- }
- }
- }
- function cf_TRMNR14002(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function cf_TXMNR14001(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- // 재원/퇴원 구분
- function fSetInDsch(Pram){
-
- if( Pram == "D" || Pram == "T" ){
- ds_main_cond.setColumn(0, "indsch", "2");
- ds_main_cond.setColumn(0, "actvdd", ds_main_paminfo_list.getColumn(0, "indd"));
- }else{
- ds_main_cond.setColumn(0, "indsch", "1");
- }
-
- fSetInDschHidden();
- }
- // 재원/퇴원 구분
- function fSetInDschHidden(){
-
- var indsch = ds_main_cond.getColumn(0, "indsch");
- if( indsch == "1" ){
- group5.grp_sea.ctn_pid.visible = false;
- group5.grp_sea.cmb_patientnm.visible = false;
- group5.grp_sea.ipt_pid.visible = false;
- group5.grp_sea.ctn_ward.visible = true;
- group5.grp_sea.cmb_ward.visible = true;
- group5.grp_sea.cap_settingrn.visible = true;
- group5.grp_sea.cmb_settingrn.visible = true;
- group5.grp_sea.line1.visible = true;
- group5.grp_sea.button1.visible = true;
- fnZoneDisp();
- }else if( indsch == "2" ){
- group5.grp_sea.ctn_pid.visible = true;
- group5.grp_sea.cmb_patientnm.visible = true;
- group5.grp_sea.ipt_pid.visible = true;
- group5.grp_sea.ctn_ward.visible = false;
- group5.grp_sea.cmb_ward.visible = false;
- group5.grp_sea.cap_settingrn.visible = false;
- group5.grp_sea.cmb_settingrn.visible = false;
- group5.cap_Zone.visible = false;
- group5.cmb_Zone.visible = false;
- group5.grp_sea.line1.visible = false;
- group5.grp_sea.button1.visible = false;
- }
- }
- function fGetPidWardInfo(pid){
- if( !utlf_isNull(pid) ){
- ds_main_patinfo_patinfolist.clearData();
- ds_send.setColumn(0, "pid", pid);
-
- var oParam = {};
- oParam.id = "TRMNW04707";
- oParam.service = "wardcareapp.WardCareRec";
- oParam.method = "reqGetPatWardInfo";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_main_patinfo_patinfolist=patinfolist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04707";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW04707") < 0 ){
- sysf_messageBox('환자정보 조회를', 'E009');
- return;
- }else{
- ds_main_cond.setColumn(0, "patientnm", ds_main_patinfo_patinfolist.getColumn(0, "pid"));
- ds_main_cond.setColumn(0, "pid", ds_main_patinfo_patinfolist.getColumn(0, "pid"));
- }
- }
- }
- function cf_TRMNW04707(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- ]]></Script>
|