123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551 |
- /*
-
- 외래기준자료 관리(SMMNO00800.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- */
- var xBaseCodeListPath = "/root/main/basecodelist/basecodelistinfo";
- var xBaseCodeListBKPath = "/root/temp/basecodelist/basecodelistinfo";
- var xSMSCodeListPath = "/root/main/smscodelist/smscodelistinfo";
- var xSMSCodeListBKPath = "/root/temp/smscodelist/smscodelistinfo";
- var xDoctListPath = "/root/main/doctlist/doctlistinfo";
- var g_initGrdData; // 리스트 관련 초기 Instance값
- /**
- * @group :
- * @ver : 2007.07.04
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면 초기화
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitialize(){
- model.removenodeset(xBaseCodeListPath);
- model.removeNodeset("/root/hidden/orddeptlist/dept");
- var instcd = getUserInfo("dutplceinstcd");
- var standard_yn = "rcptuseyn";
- var ord_deptflag = 'X';
- var rslt_ref = "/root/hidden/orddeptlist";
- var sort_field = "depthngnm";
- var sort_method = "asc";
- var dt = getCurrentDate();
- //zbcfGetDeptCodeList(instcd, standard_yn, ord_deptflag, rslt_ref, "depthngnm", "asc"); // 진료과 기준자료 조회
- //zsdfGetOutOrdDeptList( instcd, rslt_ref, sort_field, sort_method, dt );
- // 간호외래진료부서콤보
- zsdfGetCareOutOrderDepartmentList(instcd, rslt_ref, dt);
- model.setValue("/root/main/cond/orddeptcd", getUserInfo("dutplcecd")); // 근무지부서코드
- if(checkOpener()){
- opener.javascript.setParameter("SMMNO00800_ReturnFlag","");
- var sParamMsg = opener.javascript.getParameter("SMMNO00800_Param");
- if (sParamMsg == "O") // SMS전송화면에 open한 경우
- fClickTab("2"); // 상용문구관리
- else
- fClickTab("1"); // 예약 Remark
- } else {
- fClickTab("1"); // 예약 Remark
- }
- }
- /**
- * @group :
- * @ver : 2007.07.04
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Tab을 클릭시 처리
- * @param : tab : tab Object
- * @return :
- * @---------------------------------------------------
- */
- function fClickTab(tab) {
- var GrdControl = null;
- if (tab == "1") {
- // 예약 Remark
- g_initGrdData = "grd_baselist";
- model.setValue("/root/main/cond/supbasetypecd", "A1");
- btn_Remark.selected = true;
- model.toggle("Remark");
- GrdControl = document.controls("grd_baselist");
- fBaseCodeReset(xBaseCodeListPath, GrdControl); // 해당 Grid Refresh
-
- model.refresh();
- fBaseCodeSearch(""); // 기준 코드 조회
- grd_baselist.refresh();
- } else if (tab == "2") {
- // SMS 상용구 - 중분류
- g_initGrdData = "grd_basesmslist";
- model.setValue("/root/main/cond/supbasetypecd", "O");
- btn_Sms.selected = true;
- model.toggle("SMS");
-
- //model.setValue("/root/main/cond/orddeptcd", getUserInfo("dutplcecd"));
- cmb_orddeptcd.refresh();
- //GrdControl = document.controls("grd_basesmslist");
- //fBaseCodeReset(xSMSCodeListPath, GrdControl); // 해당 Grid Refresh
- GrdControl = document.controls("grd_baselist");
- fBaseCodeReset(xBaseCodeListPath, GrdControl); // 해당 Grid Refresh
- model.refresh();
- fBaseCodeSearch("B"); // 기준 코드 조회
- model.setFocus("input2");
- } else if (tab == "3") {
- // 의사별 예약 알림
- g_initGrdData = "grd_doctlist";
- btn_Doct.selected = true;
- model.toggle("Doct");
- GrdControl = document.controls("grd_doctlist");
- fBaseCodeReset(xDoctListPath, GrdControl); // 해당 Grid Refresh
- fDeptChanged();
- model.refresh();
- }
- }
- /**
- * @group :
- * @ver : 2007.07.04
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : SMS 상용구의 중분류에서 기준코드조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSmsBaseCodeSearch() {
- var iRow = grd_smslist.row;
- if(iRow.row <= 0) {
- return;
- }
- var GrdControl = document.controls("grd_baselist");
- //fBaseCodeReset(xBaseCodeListPath, GrdControl); // 해당 Grid Refresh
- model.setValue("/root/main/cond/supbasetypecd", model.getValue(xSMSCodeListPath+"["+iRow+"]/basetypecd"));
- fBaseCodeSearch(""); // 기준 코드 조회
- grd_basesmslist.refresh();
- }
- /**
- * @group :
- * @ver : 2007.07.04
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 기준 Code 리스트 초기화
- * @param : grid : grid Name
- * @return :
- * @---------------------------------------------------
- */
- function fBaseCodeReset(pPath, GrdControl) {
- model.removeNodeset(pPath);
- GrdControl.Rebuild();
- }
- /**
- * @group :
- * @ver : 2007.07.04
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 줄추가
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAddRow(pTab, pGrd){
- var iSmsRow = "";
- if(pTab == "SMS"){
- iSmsRow = grd_smslist.row;
- if(iSmsRow <= 0){
- messageBox("분류를 선택하지 ","E007");
- return;
- }
- }
- pGrd.addRow();
- var iRow = pGrd.row;
- if(pTab == "SMS"){
- model.setValue(xBaseCodeListPath+"["+iRow+"]/baseclsflag","O"); // 기준분류코드
- model.setValue(xBaseCodeListPath+"["+iRow+"]/supbasetypecd", model.getValue(xSMSCodeListPath+"["+iSmsRow+"]/basetypecd")); // 분류상위코드
- model.setValue(xBaseCodeListPath+"["+iRow+"]/cdcls", model.getValue(xSMSCodeListPath+"["+iSmsRow+"]/basetypecd")); // 코드분류
- model.setValue(xBaseCodeListPath+"["+iRow+"]/orddeptcd", model.getValue(xSMSCodeListPath+"["+iSmsRow+"]/orddeptcd")); // 진료부서코드
- }else if(pTab == "Remark"){
- model.setValue(xBaseCodeListPath+"["+iRow+"]/baseclsflag","O"); // 기준분류코드
- model.setValue(xBaseCodeListPath+"["+iRow+"]/supbasetypecd", model.getValue("/root/main/cond/supbasetypecd")); // 분류상위코드
- model.setValue(xBaseCodeListPath+"["+iRow+"]/cdcls", model.getValue("/root/main/cond/supbasetypecd")); // 코드분류
- model.setValue(xBaseCodeListPath+"["+iRow+"]/orddeptcd", model.getValue("/root/main/cond/orddeptcd")); // 진료부서코드
- }
- }
- /**
- * @group :
- * @ver : 2007.07.04
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 줄삭제
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- /*function fDelRow(pTab, pGrd){
- var iRow = pGrd.row;
- if(iRow < 1) return;
- var sStatus = 0;
- var sBasetypecd = model.getValue(xBaseCodeListPath+"["+iRow+"]/basetypecd");
- var sBasetypecd_bk = model.getValue(xBaseCodeListBKPath+"[basetypecd ='"+sBasetypecd+"']/basetypecd");
- var sTypenm_bk = model.getValue(xBaseCodeListBKPath+"[basetypecd ='"+sBasetypecd+"']/typenm");
- sStatus = pGrd.rowStatus(iRow);
- if(sStatus == 1 || sStatus == 3){ // insert
- pGrd.deleteRow(iRow);
- }else if(sStatus == 4){ // delete
- if(model.getValue(xBaseCodeListPath+"["+iRow+"]/basetypecd") != sBasetypecd_bk ||
- model.getValue(xBaseCodeListPath+"["+iRow+"]/typenm") != sTypenm_bk ){
- pGrd.rowStatus(iRow) = 2;
- }else{
- pGrd.rowStatus(iRow) = 0;
- }
-
- }else{
- pGrd.rowStatus(iRow) = 4;
- }
- }*/
- function fDelRow(pTab, pGrd){
- var iRow = pGrd.row;
- if(iRow < 1) return;
- var sStatus = 0;
- var iFirstRow = pGrd.selectedRow(0);
- var iLastRow = pGrd.selectedRow(pGrd.selectedRows-1);
-
- for(var i = iLastRow;i >= iFirstRow ;i--){
- var sBasetypecd = model.getValue(xBaseCodeListPath+"["+i+"]/basetypecd");
- var sBasetypecd_bk = model.getValue(xBaseCodeListBKPath+"[basetypecd ='"+sBasetypecd+"']/basetypecd");
- var sTypenm_bk = model.getValue(xBaseCodeListBKPath+"[basetypecd ='"+sBasetypecd+"']/typenm");
- sStatus = pGrd.rowStatus(i);
- if(sStatus == 1 || sStatus == 3){ // insert
- pGrd.deleteRow(i,false);
- }else if(sStatus == 4){ // delete
- if(model.getValue(xBaseCodeListPath+"["+i+"]/basetypecd") != sBasetypecd_bk ||
- model.getValue(xBaseCodeListPath+"["+i+"]/typenm") != sTypenm_bk ){
- pGrd.rowStatus(i) = 2; //update
- }else{
- pGrd.rowStatus(i) = 0;
- }
-
- }else{
- pGrd.rowStatus(i) = 4;
- }
- }
- pGrd.refresh();
- }
- /**
- * @group :
- * @ver : 2007.07.04
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 항목별의 문구내용 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fBaseCodeSearch(typegubn){
- orddeptcd = model.getValue("/root/main/cond/orddeptcd");
- if(orddeptcd == ""){
- messageBox("진료과를 선택하지 ","E007");
- return;
- }
- var supbasetypecd = model.getValue("/root/main/cond/supbasetypecd");
- var baseclsflag = "O"; // 외래기준자료
- model.setValue("/root/main/cond/supbasetypecd", supbasetypecd);
- model.setValue("/root/main/cond/baseclsflag", baseclsflag);
- model.setValue("/root/main/cond/basetypecd", typegubn);
- model.copynode("/root/send/req", "/root/main/cond");
- if(typegubn != ""){
- if(submit("TRMNO00801")){ // 중분류 조회
- model.copynode("/root/temp/smscodelist","/root/main/smscodelist");
- }
- }else{
- if(submit("TRMNO00800")){ // 항목별의 문구내용 조회
- model.copynode("/root/temp/basecodelist","/root/main/basecodelist");
- }
- }
- //model.removenode("/root/send/req");
- }
- /**
- * @group :
- * @ver : 2007.07.04
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 항목 저장
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSave(pTab, pGrd){
- for(var iRow = pGrd.fixedrows; iRow <= pGrd.rows - pGrd.fixedrows; iRow++){
- if(model.getValue(xBaseCodeListPath+"["+iRow+"]/typenm") == ""){
- messageBox("상용문구의 내용을 ","C001");
- return;
- }
- }
- var resultState = pGrd.getUpdateData();
- if(getArrayData(resultState,1,0) == ""){
- messageBox("저장할 데이터를 입력하지 ","E007");
- return;
- }
- model.makeValue("/root/send/basecodelistinfo",pGrd.getUpdateData());
- if(submit("TXMNO00800")){
- model.copynode("/root/temp/basecodelist","/root/main/basecodelist");
- }
- model.removenode("/root/send/basecodelistinfo");
- }
- /**
- * @group :
- * @ver : 2007.07.04
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : SMS 상용구의 중분류 저장
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- /*function fClsFlagSave(){
- if(model.getValue("/root/item") == ""){
- messageBox("분류명을 입력하지 ","E007");
- return;
- }
- var sRtnMsg = messageBox("분류를 ", "Q008");
- if(sRtnMsg != 6) return;
- grd_smslist.addRow();
- var iRow = grd_smslist.row;
- model.setValue(xSMSCodeListPath+"["+iRow+"]/basetypecd","B"); // 기준형태코드
- model.setValue(xSMSCodeListPath+"["+iRow+"]/baseclsflag","O"); // 기준분류코드
- model.setValue(xSMSCodeListPath+"["+iRow+"]/supbasetypecd", "O"); // 분류상위코드
- model.setValue(xSMSCodeListPath+"["+iRow+"]/typenm", model.getValue("/root/item")); // 분류명
- model.setValue(xSMSCodeListPath+"["+iRow+"]/cdcls", "O"); // 코드분류
- model.setValue(xSMSCodeListPath+"["+iRow+"]/orddeptcd", model.getValue("/root/main/cond/orddeptcd")); // 진료부서코드
- var resultState = grd_smslist.getUpdateData();
- if(getArrayData(resultState,1,0) == ""){
- messageBox("저장할 데이터를 입력하지 ","E007");
- return;
- }
- model.makeValue("/root/send/basecodelistinfo",grd_smslist.getUpdateData());
- if(submit("TXMNO00801")){
- model.setValue("/root/item","");
- model.removenode("/root/send/basecodelistinfo");
- model.copynode("/root/temp/basecodelist","/root/main/smscodelist");
- model.refresh();
- }
- }*/
- /**
- * @group :
- * @ver : 2009.01.12
- * @by : 김양수
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : SMS 상용구의 중분류 추가
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClsFlagAddRow(){
- if(model.getValue("/root/item") == ""){
- messageBox("분류명을 입력하지 ","E007");
- return;
- }
- var sRtnMsg = messageBox("분류를 ", "Q008");
- if(sRtnMsg != 6) return;
- grd_smslist.addRow();
- var iRow = grd_smslist.row;
- model.setValue(xSMSCodeListPath+"["+iRow+"]/basetypecd","B"); // 기준형태코드
- model.setValue(xSMSCodeListPath+"["+iRow+"]/baseclsflag","O"); // 기준분류코드
- model.setValue(xSMSCodeListPath+"["+iRow+"]/supbasetypecd", "O"); // 분류상위코드
- model.setValue(xSMSCodeListPath+"["+iRow+"]/typenm", model.getValue("/root/item")); // 분류명
- model.setValue(xSMSCodeListPath+"["+iRow+"]/cdcls", "O"); // 코드분류
- model.setValue(xSMSCodeListPath+"["+iRow+"]/orddeptcd", model.getValue("/root/main/cond/orddeptcd")); // 진료부서코드
-
- }
- /**
- * @group :
- * @ver : 2009.01.12
- * @by : 김양수
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : SMS 상용구의 중분류 저장
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClsFlagSave(){
- var sStatus = 0;
-
- for(var iRow = grd_smslist.fixedrows; iRow <= grd_smslist.rows - grd_smslist.fixedrows; iRow++){
- sStatus = grd_smslist.rowStatus(iRow);
- if(sStatus == 4){
- var sRtnMsg = messageBox("분류삭제시 해당분류의 내용도 삭제됩니다 ", "Q001");
- if(sRtnMsg != 6){
- grd_smslist.rowStatus(iRow) = 0;
- return;
- }
- }
- }
- var resultState = grd_smslist.getUpdateData();
- if(getArrayData(resultState,1,0) == ""){
- messageBox("저장할 데이터를 입력하지 ","E007");
- return;
- }
- model.makeValue("/root/send/basecodelistinfo",grd_smslist.getUpdateData());
- if(submit("TXMNO00801")){
- model.setValue("/root/item","");
- model.removenode("/root/send/basecodelistinfo");
- model.copynode("/root/temp/basecodelist","/root/main/smscodelist");
- model.copynode("/root/temp/smscodelist","/root/main/smscodelist");
- model.removenodeset("/root/main/basecodelist/basecodelistinfo");
- model.refresh();
- }
- }
- /**
- * @group :
- * @ver : 2009.01.12
- * @by : 김양수
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : SMS 상용구의 중분류 행삭제
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClsFlagDelRow(){
-
- var iRow = grd_smslist.row;
- if(iRow < 1) return;
- var sStatus = 0;
-
- var sBasetypecd = model.getValue(xSMSCodeListPath+"["+iRow+"]/basetypecd");
- var sBasetypecd_bk = model.getValue(xSMSCodeListBKPath+"[basetypecd ='"+sBasetypecd+"']/basetypecd");
- var sTypenm_bk = model.getValue(xSMSCodeListBKPath+"[basetypecd ='"+sBasetypecd+"']/typenm");
-
- sStatus = grd_smslist.rowStatus(iRow);
- if(sStatus == 1 || sStatus == 3){ // insert
- grd_smslist.deleteRow(iRow,false);
- }else if(sStatus == 4){ // delete
- if(model.getValue(xSMSCodeListPath+"["+iRow+"]/basetypecd") != sBasetypecd_bk ||
- model.getValue(xSMSCodeListPath+"["+iRow+"]/typenm") != sTypenm_bk ){
- grd_smslist.rowStatus(iRow) = 2;
- }else{
- grd_smslist.rowStatus(iRow) = 0;
- }
- }else{
- grd_smslist.rowStatus(iRow) = 4;
- }
-
- grd_smslist.refresh();
- }
- /**
- * @group :
- * @ver : 2007.07.04
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 진료과 선택한 경우 의사 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDeptChanged(){
- //------(20100708 경북대)
- //if(model.getValue("/root/main/cond/orddeptcd") <= ""){
- // return ;
- //}
- //로그인을 했을경우 진료과콤보에는 없으나 로그인부서로 바로 설정하므로
- //부서명칭으로 체크한다.
- if(cmb_orddept.label != ""){
-
- model.resetInstanceNode("/root/main/condition/orddrid");
- model.makeValue("/root/send/req/orddeptcd", model.getValue("/root/main/cond/orddeptcd"));
-
- submit("TRMNO00802");
- grd_doctlist.refresh();
- }
- //------(20100708 경북대)
- }
- /**
- * @group :
- * @ver : 2007.07.04
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 의사별 예약 알림 정보를 저장
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDoctSave(){
- var resultState = grd_doctlist.getUpdateData();
- if(getArrayData(resultState,1,0) == ""){
- messageBox("저장할 데이터를 입력하지 ","E007");
- return;
- }
- model.makeValue("/root/send/doctlistinfo",grd_doctlist.getUpdateData());
- submit("TXMNO00802");
- model.removenode("/root/send/doctlistinfo");
- }
|