123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437 |
- /*function list
- * fInitialize_SMMMO19000 : 최초 화면초기화 함수
- * fInitialize_SMMMO19000_L : 좌측 처방리스트 초기화 함수
- * fInitialize_SMMMO19000_R : 우측 처방별 정보 초기화 함수
- * fRightDisabled : PK값이 들어가있는 오브젝트 활성여부 체크 함수
- * fPrcpSearch : 처방검색화면(SPMMB21700.xrw) 제어를 위한 함수
- * fPrinfoEmptyCheck : 처방별 정보중 비어있는 내용 체크 함수
- * fSavePrcpinfo : 처방별 메세지 정보 저장 함수
- * fGetPrcpinfoDetail : 처방별 메세지 정보를 호출하는 함수
- * fGetPrcpinfolist : 처방리스트를 호출하는 함수
- * fGridInputData : 처방별 예외정보 추가를 위한 함수
- * fExceptionDuplicateeCheck : 처방별 예외정보 추가시 중복검사 함수
- * fGridDeptInputData : 예외 부서 그리드에 입력하는 함수
- * fGridUserInputData : 예외 사용자 그리드에 입력하는 함수
- * fGridPatInputData : 예외 환자 그리드에 입력하는 함수
- */
- var sWarnCls = ""; // 주의요망분류(C:처방코드, P:환자번호)
- function fInitialize_SMMMO19000(){
- sWarnCls = model.getValue("/root/send/searchinfo/warncls"); // 주의요망분류(C:처방코드, P:환자번호)
- mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept", "A"); //진료과 콤보
- submit("TRMMO19002"); // 관리부서 /root/init/authdept 설정
- model.setValue("/root/send/searchinfo/authdeptcd", getUserInfo("dutplcecd"));
-
- fInitialize_SMMMO19000_L();
- fInitialize_SMMMO19000_R();
- fGetPrcpinfolist();
- fRightDisabled(true);
-
- var sWarnCd = "";
- var sWarnNm = "";
- if(sWarnCls == "P") { // 대상자 리스트에서 화면 팝업시
- sWarnCd = opener.javascript.getParameter("SMMMO19100_warncd");
- sWarnNm = opener.javascript.getParameter("SMMMO19100_warnnm");
- if(!isNull(sWarnCd) && !isNull(sWarnNm)) {
- model.setValue("/root/main/applyinfo/prcpinfo/warncd", sWarnCd);
- model.setValue("/root/main/applyinfo/prcpinfo/warnnm", sWarnNm);
- fRightDisabled(false);
- model.refresh();
- }
- }
- }
- function fInitialize_SMMMO19000_L(){
- fRightDisabled(true);
- model.removeNodeset("/root/main/prcpinfo/prcplist");
- model.setValue("/root/send/searchinfo/fromdd", getCurrentDate());
- model.setValue("/root/send/searchinfo/warncd", "");
- model.setValue("/root/send/searchinfo/warnnm", "");
- model.setValue("/root/send/searchinfo/useynflag","");
-
- model.refresh();
- }
- function fInitialize_SMMMO19000_R(){
- fRightDisabled(true);
- btn_save.disabled = false;
- model.setValue("/root/main/applyinfo/prcpinfo/warndd", getCurrentDate());
- model.setValue("/root/main/applyinfo/prcpinfo/warnno", "0");
- model.setValue("/root/main/applyinfo/prcpinfo/fromdd", getCurrentDate());
- model.setValue("/root/main/applyinfo/prcpinfo/todd", "99991231");
- model.setValue("/root/main/applyinfo/prcpinfo/useyn", "Y");
- model.setValue("/root/main/applyinfo/prcpinfo/warncls", sWarnCls); // 주의요망분류(C:처방코드, P:환자번호)
- model.setValue("/root/main/applyinfo/prcpinfo/warncd", "");
- model.setValue("/root/main/applyinfo/prcpinfo/warnnm", "");
- model.setValue("/root/main/applyinfo/prcpinfo/errmsg", "");
- model.setValue("/root/main/applyinfo/prcpinfo/rmk", "");
- model.setValue("/root/main/applyinfo/prcpinfo/authdeptcd", "");
- model.setValue("/root/main/applyinfo/prcpinfo/authdeptnm", "");
- model.setValue("/root/main/applyinfo/prcpinfo/telno", "");
- model.setValue("/root/main/applyinfo/prcpinfo/appcls", "I"); // 디폴트 제외(I)로 설정 처리구분(E:오류 I:정보)
- model.setValue("/root/main/applyinfo/prcpinfo/apptype", "E"); // 디폴트 제외(E)로 설정 적용구분(E:제외 I:적용)
- model.setValue("/root/main/applyinfo/prcpinfo/appioflag", "A"); // 디폴트 전체(A)로 설정 적용 외래/입원 구분 A:전체, O:외래, I:입원(병동/응급/DSC)
- model.setValue("/root/main/applyinfo/prcpinfo/apppayflag", "A"); // 디폴트 전체(A)로 설정 적용 급비구분 A:전체, B:급여처방만
- model.setValue("/root/main/applyinfo/prcpinfo/appterm", "0"); // 적용기간 WARNTYPE이 관련처방 체크일경우 체크 일수
- if(sWarnCls == "C") {
- model.setValue("/root/main/applyinfo/prcpinfo/warntype","B"); // 주의요망타입(A:환자선택, B:처방입력, C:관련처방체크)
- } else {
- model.setValue("/root/main/applyinfo/prcpinfo/warntype","A"); // 주의요망타입(A:환자선택, B:처방입력, C:관련처방체크)
- }
-
- model.removeNodeset("/root/main/applyinfo/excodeinfo/codelist");
- model.removeNodeset("/root/main/applyinfo/exdeptinfo/deptlist");
- model.removeNodeset("/root/main/applyinfo/exuserinfo/userlist");
- if(sWarnCls == "C") {
- model.removeNodeset("/root/main/applyinfo/expatinfo/patlist");
- }
-
- ipt_warnnm.hint = "";
- ipt_warncd.hint = "";
-
- model.refresh();
- }
- function fRightDisabled(flag){
- if(flag){
- btn_search_R.disabled = true;
- }else{
- btn_search_R.disabled = false;
- }
- }
- function fPrcpSearch(sFlag){
-
- var recive_prcpnm = "";
- var recive_prcpdd = "";
- var recive_srchflag = "";
- var choose_prcpnm = "";
- var choose_prcpcd = "";
-
- if(sFlag == "L"){
- choose_prcpcd = model.getValue("/root/send/searchinfo/warncd");
- choose_prcpnm = model.getValue("/root/send/searchinfo/warnnm");
- recive_prcpdd = model.getValue("/root/send/searchinfo/fromdd");
- }else if(sFlag == "R"){
- choose_prcpcd = model.getValue("/root/main/applyinfo/prcpinfo/warncd");
- choose_prcpnm = model.getValue("/root/main/applyinfo/prcpinfo/warnnm");
- recive_prcpdd = model.getValue("/root/main/applyinfo/prcpinfo/fromdd");
- }else {
- choose_prcpcd = "";
- choose_prcpnm = "";
- recive_prcpdd = getCurrentDate();
- }
-
- if(choose_prcpcd != ""){
- recive_prcpnm = choose_prcpcd;
- recive_srchflag = "prcpcd";
- }else{
- recive_prcpnm = choose_prcpnm;
- recive_srchflag = "prcpnm";
- }
-
-
- setParameter("SPMMB21700_recive_prcpnm", recive_prcpnm);
- setParameter("SPMMB21700_recive_prcpdd", recive_prcpdd);
- setParameter("SPMMB21700_recive_srchflag",recive_srchflag);
-
- modal("SPMMB21700");
-
- var prcpcd = getParameter("SPMMB21700_prcpcd");
- var prcpnm = getParameter("SPMMB21700_prcpnm");
-
- if(sFlag == "L"){
- model.setValue("/root/send/searchinfo/warncd", prcpcd);
- model.setValue("/root/send/searchinfo/warnnm", prcpnm);
- fGetPrcpinfolist();
- }else if(sFlag == "R"){
- model.setValue("/root/main/applyinfo/prcpinfo/warncd", prcpcd);
- model.setValue("/root/main/applyinfo/prcpinfo/warnnm", prcpnm);
- ipt_warnnm.hint = prcpnm;
- ipt_warncd.hint = prcpcd;
- }else {
- model.setValue("/root/main/codeinfo/codeinfolist/prcpcd", prcpcd);
- model.setValue("/root/main/codeinfo/codeinfolist/prcpnm", prcpnm);
- }
-
- setParameter("SPMMB21700_prcpcd","");
- setParameter("SPMMB21700_prcpnm","");
-
- model.refresh();
- }
- function fPatSearch(sFlag){
- modal("SPPMC02500");
- var sPid = model.getValue("/root/main/patinfo/patinfolist/pid");
- var sHngNm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
-
- if(sFlag == "L") {
- model.setValue("/root/send/searchinfo/warncd", sPid);
- model.setValue("/root/send/searchinfo/warnnm", sHngNm);
- fGetPrcpinfolist();
- } else if(sFlag == "R") {
- model.setValue("/root/main/applyinfo/prcpinfo/warncd", sPid);
- model.setValue("/root/main/applyinfo/prcpinfo/warnnm", sHngNm);
- ipt_warnnm.hint = sPid;
- ipt_warncd.hint = sHngNm;
- }
-
- model.refresh();
- }
- function fPrinfoEmptyCheck(){
- if(model.getValue("/root/main/applyinfo/prcpinfo/authdeptcd") == ""){
- model.setValue("/root/main/applyinfo/prcpinfo/authdeptcd",getUserInfo("dutplcecd"));
- }
-
- if(model.getValue("/root/main/applyinfo/prcpinfo/warncd") == ""){
- if(sWarnCls == "C") {
- messageBox("처방코드을","C001");
- } else {
- messageBox("환자번호을","C001");
- }
- return false;
- }
-
- if(model.getValue("/root/main/applyinfo/prcpinfo/telno") == ""){
- messageBox("문의전화을","C001");
- return false;
- }
-
- if(model.getValue("/root/main/applyinfo/prcpinfo/errmsg") == ""){
- messageBox("메세지내용을","C001");
- return false;
- }
- return true;
- }
- function fSavePrcpinfo(){
- if(!fPrinfoEmptyCheck()) {
- return;
- }
- model.removeNodeset("/root/send/reqdata/");
- model.copyNode("/root/send/reqdata","/root/main/applyinfo/prcpinfo");
- model.makeValue("/root/send/reqdata/excodeinfo", grd_notapply_code.getUpdateData());
- model.makeValue("/root/send/reqdata/exdeptinfo", grd_notapply_dept.getUpdateData());
- model.makeValue("/root/send/reqdata/exuserinfo", grd_notapply_user.getUpdateData());
- if(sWarnCls == "C") {
- model.makeValue("/root/send/reqdata/expatinfo", grd_notapply_pat.getUpdateData());
- }
- model.refresh();
-
- if(submit("TXMMO19000")){
- fInitialize_SMMMO19000_R();
- fGetPrcpinfolist();
- messageBox("저장 되었습니다.","I999");
- } else {
- messageBox("저장에","I009");
- }
- }
- function fGetPrcpinfoDetail(){
- var currow = grd_prcpcdlist.row;
-
- model.removeNodeset("/root/send/reqdata/");
- model.copyNode("/root/send/reqdata", "/root/main/prcpinfo/prcplist["+currow+"]");
-
- if(submit("TRMMO19001")){
- ipt_warnnm.hint = model.getValue("/root/main/applyinfo/prcpinfo/warnnm");
- ipt_warncd.hint = model.getValue("/root/main/applyinfo/prcpinfo/warncd");
-
- var sAuthDeptCd = model.getValue("/root/main/applyinfo/prcpinfo/authdeptcd");
-
- if(getUserInfo("dutplcecd") != sAuthDeptCd && getUserInfo("userid") != "EMR"){
- btn_save.disabled = true;
- }else{
- btn_save.disabled = false;
- }
-
- fRightDisabled(true);
- }
- }
- function fGetPrcpinfolist(){
- if(submit("TRMMO19000")){
- model.setValue("/root/main/objectinfo/user/orddrid","");
- model.setValue("/root/main/objectinfo/user/orddept","");
- model.setValue("/root/main/objectinfo/dept/orddept","");
- }
- }
- /*
- * param = D -> 부서 U -> 사용자 P -> 환자 C -> 관련코드
- */
- function fGridAdd(datagrid, sFlag){
- var sExId = "";
- var sExIdNm = "";
- var sNodeSet = "";
-
- if(sFlag == "D"){
- sExId = model.getValue("/root/main/objectinfo/dept/orddept");
- sExIdNm = model.getValue("/root/init/orddept/dept[deptcd = '"+sExId+"']/depthngnm");
- sNodeSet = "/root/main/applyinfo/exdeptinfo/deptlist";
- } else if(sFlag == "U"){
- sExId = model.getValue("/root/main/objectinfo/user/orddrid");
- sExIdNm = model.getValue("/root/init/userlist/usercombo[userid = '"+sExId+"']/usernm");
- sNodeSet = "/root/main/applyinfo/exuserinfo/userlist";
- } else if(sFlag == "P"){
- modal("SPPMC02500");
- sExId = model.getValue("/root/main/patinfo/patinfolist/pid");
- sExIdNm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
- sNodeSet = "/root/main/applyinfo/expatinfo/patlist";
- } else if (sFlag == "C") {
- fPrcpSearch("C");
- sExId = model.getValue("/root/main/codeinfo/codeinfolist/prcpcd");
- sExIdNm = model.getValue("/root/main/codeinfo/codeinfolist/prcpnm");
- sNodeSet = "/root/main/applyinfo/excodeinfo/codelist";
- }else{
- return;
- }
-
- if(sExId != ""){
- if(fCheckDup(sExId, sNodeSet)){
- if(sFlag == "D"){
- msg = "해당 부서는";
- }else if(sFlag == "U"){
- msg = "해당 사용자는";
- }else if(sFlag == "P"){
- msg = "해당 환자는";
- }else{}
- messageBox(msg,"E006");
- return;
- }
- datagrid.addRow(true, true);
- var nRow = datagrid.rows;
- model.setValue(sNodeSet + "["+eval(nRow-1)+"]/warndd", model.getValue("/root/main/applyinfo/prcpinfo/warndd"));
- model.setValue(sNodeSet + "["+eval(nRow-1)+"]/warnno", model.getValue("/root/main/applyinfo/prcpinfo/warnno"));
- model.setValue(sNodeSet + "["+eval(nRow-1)+"]/exno", "0");
- model.setValue(sNodeSet + "["+eval(nRow-1)+"]/extype", sFlag);
- model.setValue(sNodeSet + "["+eval(nRow-1)+"]/exid", sExId);
- model.setValue(sNodeSet + "["+eval(nRow-1)+"]/exidnm", sExIdNm);
-
- model.setValue("/root/main/objectinfo/dept/orddept","");
- model.setValue("/root/main/objectinfo/user/orddrid","");
- model.refresh();
- }else{
- messageBox("추가 할 항목을 아래에서 선택 하세요.", "I999");
- return;
- }
- }
- function fGridDel(datagrid){
- var sNodeSet = "";
- var nRow = datagrid.row;
- var nStatus = null;
- if( nRow <= 0 ){
- alert("삭제할 항목을 선택해주십시오.");
- return;
- }
-
- nStatus = datagrid.rowstatus(nRow);
- if(nStatus == 0) { // 기존데이터
- datagrid.rowstatus(nRow) = 4;
- } else if (nStatus == 1) { // 신규데이터
- datagrid.deleteRow(nRow);
- } else if (nStatus == 4) { // 삭제데이터
- datagrid.rowstatus(nRow) = 0;
- }
-
- model.refresh();
- }
- function fCheckDup(sValue, sNodeSet){
- var nCnt = getNodesetCount(sNodeSet);
- var bExist = false;
- for(i=1; i<= nCnt; i++){
- if(sValue == model.getValue(sNodeSet+"["+i+"]/exid")){
- bExist = true;
- }
- }
- return bExist;
- }
- function fCompareDate(){
- var fromdd = model.getValue("/root/main/applyinfo/prcpinfo/fromdd");
- var todd = model.getValue("/root/main/applyinfo/prcpinfo/todd");
-
- if(fromdd != "" && todd != ""){
- if(todd < fromdd){
- messageBox("시작일자가 종료일자보다 빠를 수","I004");
- return;
- }
- }
- }
- function fCopyExPrcpList() {
- fWarnExCopy("C");
- }
- function fCopyExDeptList() {
- fWarnExCopy("D");
- }
- function fCopyExDridList() {
- fWarnExCopy("U");
- }
- function fCopyExPatList() {
- fWarnExCopy("P");
- }
- function fWarnExCopy(sFlag) {
- var datagrid = null;
- var sNodeSet = "";
- var sExId = "";
- var sExIdNm = "";
- var currow = grd_prcpcdlist.row;
-
- model.removeNodeset("/root/send/reqdata/");
- model.copyNode("/root/send/reqdata", "/root/main/prcpinfo/prcplist["+currow+"]");
- model.makeValue("/root/send/reqdata/extype", sFlag);
-
- if(submit("TRMMO19003")){
- if (sFlag == "C") {
- datagrid = grd_notapply_code;
- sNodeSet = "/root/main/applyinfo/excodeinfo/codelist";
- } else if(sFlag == "D"){
- datagrid = grd_notapply_dept;
- sNodeSet = "/root/main/applyinfo/exdeptinfo/deptlist";
- } else if(sFlag == "U"){
- datagrid = grd_notapply_user;
- sNodeSet = "/root/main/applyinfo/exuserinfo/userlist";
- } else if(sFlag == "P"){
- datagrid = grd_notapply_pat;
- sNodeSet = "/root/main/applyinfo/expatinfo/patlist";
- } else {
- return;
- }
-
- var copyNodes = instance1.selectNodes("/root/hidden/copylist");
- for ( var i=1; i<=copyNodes.length ; i++){
- sExId = model.getValue("/root/hidden/copylist[" + i + "]/exid");
- sExIdNm = model.getValue("/root/hidden/copylist[" + i + "]/exidnm");
-
- if(sExId != ""){
- if(fCheckDup(sExId, sNodeSet)){
- messageBox(sExIdNm + "은 중복으로 추가하지 않습니다." ,"I999");
- continue;
- }
- }
- datagrid.addRow(true, true);
- var nRow = datagrid.rows;
- model.setValue(sNodeSet + "["+eval(nRow-1)+"]/warndd", model.getValue("/root/main/applyinfo/prcpinfo/warndd"));
- model.setValue(sNodeSet + "["+eval(nRow-1)+"]/warnno", model.getValue("/root/main/applyinfo/prcpinfo/warnno"));
- model.setValue(sNodeSet + "["+eval(nRow-1)+"]/exno", "0");
- model.setValue(sNodeSet + "["+eval(nRow-1)+"]/extype", sFlag);
- model.setValue(sNodeSet + "["+eval(nRow-1)+"]/exid", sExId);
- model.setValue(sNodeSet + "["+eval(nRow-1)+"]/exidnm", sExIdNm);
- }
- model.refresh();
- }
- }
|