123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*
-
- 투약시간 관리(SPMNR03300_투약시간관리.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- */
-
- var xPathList1 = ds_hidden_param1_list;
- var xPathList2 = ds_hidden_param2_list;
- var xPathdrugmthdinfo = ds_main_drugmthdinfo;
- var xPathdrugmthdlist = ds_main_drugmthdlist_drugmthdlist;
- var carebaseddarr = new Array;
- var carebasetmarr = new Array;
- var gray = "#c0c0c0";
- var yellow = "#ffff00";
- var yellowishgreen = "#80ff00";
- var red = "#ff0000";
- var sky = "#00ffff";
- var blue = "#0000ff";
- var white = "#ffffff";
- var yellowishgreen = "#80ff00"
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약시간 관리 초기값 셋팅
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitialize(){
-
- var param1 = opener.frmf_getParameter("SPMNR03300_param1"); //"/root/temp/warddruginfo/warddruglist"
- var param2 = opener.frmf_getParameter("SPMNR03300_param2"); //"/root/temp/warddruginfo/warddruglist/for"
-
- dsf_setCSVToDs("ds_hidden_param1_list", param1); //prcpno별 row
- dsf_setCSVToDs("ds_hidden_param2_list", param2); //prcpno의 하위 tims별 row
-
- //---------------(20080912)
- var calctims = xPathList1.getColumn(0, "calctims");
- //---------------(20080912)
-
- var tims = xPathList1.getColumn(0, "tims");
- var drugmthdspccd = xPathList1.getColumn(0, "drugmthdspccd");
- var drugtmspec = utlf_transNullToEmpty(xPathList1.getColumn(0, "drugbasetmspec")).split(" ");
-
- //alert(drugtmspec);
-
- var mthdcd = xPathList1.getColumn(0, "mthdcd");
- var mthdcnts4 = xPathList1.getColumn(0, "mthdcnts4");
- var prcpclscd = xPathList1.getColumn(0, "prcpclscd");
- var prcphopedd = xPathList1.getColumn(0, "prcphopedd");
- var indd = xPathList1.getColumn(0, "indd"); //(20080620)
- var temp_tims = 0;
- var medrexecdd = "";
- xPathdrugmthdinfo.setColumn(0, "tims", xPathList1.getColumn(0, "tims"));
- if(prcpclscd == "A6"){
- xPathdrugmthdinfo.setColumn(0, "abbrnm", mthdcnts4);
- }else{
- xPathdrugmthdinfo.setColumn(0, "abbrnm", drugmthdspccd);
- }
-
- xPathdrugmthdinfo.setColumn(0, "prcphopedd", prcphopedd);
- xPathdrugmthdinfo.setColumn(0, "indd", indd);
- //-------------(20080912)
- //for(var i = 1; i <= tims; i++){
- for( var i=0 ; i<calctims ; i++ ){
- //-------------(20080912)
-
- //if(i != 0){
- ds_main_drugmthdlist_drugmthdlist.addRow();
- //}
- xPathdrugmthdlist.setColumn(i, "mthdcd", mthdcd);
-
- if( !utlf_isNull(drugtmspec[i]) && !utlf_isNull(drugtmspec) ){
- if( drugtmspec[i] > 0 ){
- xPathdrugmthdlist.setColumn(i, "drugmthdday", Math.floor(Number(drugtmspec[i]) / 2400));
- xPathdrugmthdlist.setColumn(i, "c_drugmthdday", Math.floor(Number(drugtmspec[i]) / 2400));
- }else{
- xPathdrugmthdlist.setColumn(i, "drugmthdday", Math.ceil(Number(drugtmspec[i]) / 2400));
- xPathdrugmthdlist.setColumn(i, "c_drugmthdday", Math.ceil(Number(drugtmspec[i]) / 2400));
- }
-
- if( Number(drugtmspec[i]) < 0 ){
- temp_tims = -Number(drugtmspec[i] % 2400);
- temp_tims = fCarec_GetFillZeno(temp_tims, 4,0);
- }else{
- temp_tims = drugtmspec[i] % 2400;
- temp_tims = fCarec_GetFillZeno(temp_tims, 4,0);
- }
- xPathdrugmthdlist.setColumn(i, "drugmthdtime", temp_tims);
- xPathdrugmthdlist.setColumn(i, "c_drugmthdtime", temp_tims);
- }
- //투약여부
- if( xPathList2.getColumn(i, "medrexecdd") != '00000000' ){
- xPathdrugmthdlist.setColumn(i, "medrexecflag", "Y");
- } else {
- xPathdrugmthdlist.setColumn(i, "medrexecflag", "N");
- }
- }
-
- //--------------------------------------------------------
- //처방 1개 기준시간을 변경할 경우 실시한 횟수는 변경 불가
- //공통으로 설정된 것을 변경하는 것이 아니라.
- //한 자료에 대한 시간대를 변경하는것이다.
- //--------------------------------------------------------
- if( xPathList1.rowcount == 1 ){
- var sExprEdit1 = "expr:(";
- var sExprEdit2 = "expr:(";
- var sExprBack = "EXPR(";
-
- for( var k=0 ; k<xPathList2.rowcount ; k++ ){
- medrexecdd = xPathList2.getColumn(k, "medrexecdd");
- if(medrexecdd != "00000000"){
- sExprEdit1 += "currow == "+k+" && (self.col == "+3+" || self.col == "+4+") ? 'none' : ";
- sExprEdit2 += "currow == "+k+" && (self.col == "+3+" || self.col == "+4+") ? 'none' : ";
- sExprBack += "currow == "+k+" ? '"+yellow+"' : ";
- }
- }
-
- sExprEdit1 += "'text')";
- sExprEdit2 += "'mask')";
- sExprBack += "'')";
-
- for( var i=0 ; i<grd_mthd.getCellCount("Body") ; i++ ){
- if( i==3 ){
- grd_mthd.setCellProperty("Body", i, "edittype", sExprEdit1);
- grd_mthd.setCellProperty("Body", i, "background", sExprBack);
- grd_mthd.setCellProperty("Body", i, "background2", sExprBack);
- }else if( i==4 ){
- grd_mthd.setCellProperty("Body", i, "edittype", sExprEdit2);
- grd_mthd.setCellProperty("Body", i, "background", sExprBack);
- grd_mthd.setCellProperty("Body", i, "background2", sExprBack);
- }else{
- grd_mthd.setCellProperty("Body", i, "background", sExprBack);
- grd_mthd.setCellProperty("Body", i, "background2", sExprBack);
- }
- }
- }
-
- //-------------(20080912)
- //if(model.getValue(xPathdrugmthdinfo + "/tims") == "1"){
- if( xPathdrugmthdinfo.getColumn(0, "calctims") == "1" ){
- //-------------(20080912)
- ipt_sinterval.enable = false;
- ipt_hinterval.enable = false;
- ipt_minterval.enable = false;
- btn_interval.enable = false;
- }
- //----------------(20080603)
- // 투약기준시간관리에서 공통&용법 중 default가 'N'인 것만 추출하여 콤보를 구성함
-
- ds_main_drugmthdinfo.setColumn(0, "abbrcd", ds_main_drugmthdlist_drugmthdlist.getColumn(0, "mthdcd"));
-
- ds_send_reqdata.setColumn(0, "direccd", ds_main_drugmthdinfo.getColumn(0, "abbrcd")); //desc=용법코드
-
- //----------(20080912)
- //외용약은 횟수3이나 시간대정보는 1로 설정되어 있음
- //model.makeValue(sPath + "/exectims",model.getValue("/root/main/drugmthdinfo/tims") ); //desc=처방횟수
- ds_send_reqdata.setColumn(0, "exectims", ds_main_drugmthdinfo.getColumn(0, "calctims")); //desc=처방횟수
- //----------(20080912)
-
- ds_send_reqdata.setColumn(0, "flag", "3"); //desc=구분
- ds_send_reqdata.setColumn(0, "deptcd", "ALL"); //desc=부서코드
- ds_send_reqdata.setColumn(0, "prcpcd", "ALL"); //desc=약품코드
-
- var oParam = {};
- oParam.id = "TRMNR03301";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetTimeData";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_temp_timeinfo_timelist=timelist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR03301";
- tranf_submit(oParam);
- //------------------------------
- }
- /**
- * @group :
- * @ver : 2008.06.03
- * @by : 김보성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기준시간정보에서 공통&용법에서 DEFALUT!='Y'인것을 추출한다.
- * @param :
- * @return :
- * @---------------------------------------------------
- * @param :
- */
- function fTimeApply() {
- //var stime = model.getValue("/root/main/drugmthdinfo/drugtmspec"); //화면으로 계산된 시간대(value) 2200 0800 label
- //var stime = model.getValue("/root/main/drugmthdinfo/drugtmspeccal"); //화면으로 계산된 시간대(label) 2200 3200 value
-
- //var stime = cmb_mthd.label;
- var stime = cmb_mthd.value;
-
- var sPath = "ds_main_drugmthdlist_drugmthdlist";
-
- if( utlf_isNull(stime) ){
- sysf_messageBox("공통지정시간이 선택되지 않았습니다","E999");
- return;
- }
-
- //---------------------------------------------------------
- var drugtmspec = stime.split(" ");
- var tims = drugtmspec.length;
-
- var prcpno = xPathList1.getColumn(0, "prcpno");
- var prcpdd = xPathList1.getColumn(0, "prcpdd");
- var prcpcd = xPathList1.getColumn(0, "prcpcd");
- var execprcptims = xPathList1.getColumn(0, "tims");
- var carebasedd = "";
- var carebasetm = "";
- var execprcpnoarr = xPathList1.getColumn(0, "execprcpnoarr").split(" ");
- var execuniqnoarr = xPathList1.getColumn(0, "execuniqnoarr").split(" ");
- var carebasetmspec = "";
- var tmcalculate = 0;
- var interval = 0;
- var sExprBack = "EXPR(";
-
- for( var i=0 ; i<tims ; i++ ){
- carebasedd = parseInt(drugtmspec[i] / 2400); //기준 day
- carebasetm = fCarec_GetFillZeno((drugtmspec[i] % 2400),4,0); //기준 시간대
-
- carebaseddarr[i] = carebasedd;
- carebasetmarr[i] = carebasetm;
- if( xPathdrugmthdlist.getColumn(i, "medrexecflag") == "Y" ){
- carebasedd = xPathdrugmthdlist.getColumn(i, "c_drugmthdday");
- carebasetm = xPathdrugmthdlist.getColumn(i, "c_drugmthdtime");
- sysf_messageBox("투약된 자료는 수정할수 없습니다.","E999");
- } else {
- xPathdrugmthdlist.setColumn(i, "c_drugmthdday", carebasedd);
- xPathdrugmthdlist.setColumn(i, "c_drugmthdtime", carebasetm);
-
- sExprBack += "currow == "+i+" ? '"+gray+"' : ";
- }
- tmcalculate = (Number(carebasetm) + Number(carebasedd) * 2400);
- tmcalculate = fCarec_GetFillZeno(tmcalculate,4,0);
- if( i == 0 ){
- carebasetmspec += tmcalculate;
- }else{
- carebasetmspec += " " + tmcalculate;
- }
- }
-
- sExprBack += "'')";
-
- for( var i=0 ; i<grd_mthd.getCellCount("Body") ; i++ ){
- grd_mthd.setCellProperty("Body", i, "background", sExprBack);
- grd_mthd.setCellProperty("Body", i, "background2", sExprBack);
- }
-
- //-----------------(20080605)
- //fSaveMthdInfo(carebasetmspec,"N");
- //opener.javascript.setParameter("SPMNR03300_RtnParamYN", "Y");
- //model.close();
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약시간 변경(시간입력)
- * @param :
- * @return :
- * @---------------------------------------------------
- * @param :
- */
- function fSaveDrugmthd(){
- var tims = xPathList1.getColumn(0, "tims");
- var prcpno = "";
- var prcpdd = "";
- var prcpcd = "";
- var execprcptims = "";
- var carebasedd = "";
- var carebasetm = "";
- var execprcpnoarr = "";
- var execuniqnoarr = "";
- var prcphistnoarr = "";
- var carebasetmspec = "";
- var tmcalculate = 0;
-
- //check(20080606)
- //--------------(20080912)
- var calctims = xPathList1.getColumn(0, "calctims");
- //for(var i = 1; i <= tims; i++){
- for( var i=0 ; i<calctims ; i++ ){
- //--------------(20080912)
- carebasedd = xPathdrugmthdlist.getColumn(i, "c_drugmthdday");
- carebasetm = xPathdrugmthdlist.getColumn(i, "c_drugmthdtime");
-
- //alert(carebasedd + "/" + carebasetm);
-
- carebaseddarr[i] = carebasedd;
- carebasetmarr[i] = carebasetm;
- if(carebasedd < 0){
- tmcalculate = (-Number(carebasetm) + (Number(carebasedd) * 2400));
- }else{
- tmcalculate = (Number(carebasetm) + (Number(carebasedd) * 2400));
- }
-
- //alert(tmcalculate);
-
- tmcalculate = fCarec_GetFillZeno(tmcalculate, 4,0);
-
- //입력사항 체크
- if(carebasedd != "-3" && carebasedd != "-2" && carebasedd != "-1" && carebasedd != "0" &&
- carebasedd != "3" && carebasedd != "2" && carebasedd != "1"){
- sysf_messageBox("Day는 -3일 ~ 3일만 입력할수 있습니다.","I999");
- return;
- }
-
- if(carebasetm.length != 4 || !utlf_isNum(carebasetm)){
- sysf_messageBox("기준시간은 4자리를 입력해야 합니다.","I999");
- return;
- }
-
- if(!utlf_isValidDateTime(carebasetm, "hhmm")){
- sysf_messageBox("기준시간이 시간 형식에 맞지 않습니다.","I999");
- return;
- }
- //-----------------------------(20080620)
- //입원일이전으로 투약시간대를 변경하지 못하게 한다.
- var sindd = ds_main_drugmthdinfo.getColumn(0, "indd"); //입원일
- var sprcphopedd = ds_main_drugmthdinfo.getColumn(0, "prcphopedd"); //적용일
-
- //alert (sprcphopedd + "/" + carebasedd);
-
- var scalcdd = getDateAddc(sprcphopedd, carebasedd); //계산일
-
- if (scalcdd < sindd) {
- sysf_messageBox("입원일이전으로 계산되었습니다. 확인하십시오.","I999");
- return;
- }
- //-----------------------------
- //-----------------------------(20080617)
- //여러가지 문제가 걸려있음
- //순서를 변경하면 안됨(막을지를 테스트 중)
- //막는대신에 시간대를 정렬해야한다.
- //-----------------------------
- // if(i != 1){
- // if(model.getValue(xPathdrugmthdlist + "[" + (i-1) + "]/c_drugmthdday") >= carebasedd &&
- // model.getValue(xPathdrugmthdlist + "[" + (i-1) + "]/c_drugmthdtime") > carebasetm){
- // messageBox((i-1) + "회차 시간보다 " + i + "회차 시간이\n작을 수 없습니다.","I999");
- // return;
- // }
- // }
- //-------------------------------
-
- if( i == 0 ){
- carebasetmspec += tmcalculate;
- }else{
- carebasetmspec += " " + tmcalculate;
- }
- }
- //test
- //return;
-
- //-----------------(20080605)
- //설정하고 저장함
- fSaveMthdInfo(carebasetmspec,"Y");
- //opener.javascript.setParameter("SPMNR03300_RtnParamYN", "Y");
- //model.close();
- //-----------------
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약시간 변경(Interval 지정)
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSaveInterval(){
- var tims = xPathList1.getColumn(0, "tims"); //xPathList1 : "/root/hidden/param1/list" //yjh1
- var prcpno = xPathList1.getColumn(0, "prcpno");
- var prcpdd = xPathList1.getColumn(0, "prcpdd");
- var prcpcd = xPathList1.getColumn(0, "prcpcd");
- var execprcptims = xPathList1.getColumn(0, "tims");
- var carebasedd = "";
- var carebasetm = "";
- var execprcpnoarr = xPathList1.getColumn(0, "execprcpnoarr").split(" ");
- var execuniqnoarr = xPathList1.getColumn(0, "execuniqnoarr").split(" ");
- var carebasetmspec = "";
- var tmcalculate = 0;
- var s_interval = utlf_transNullToEmpty(ds_main_drugmthdinfo.getColumn(0, "s_interval"));
- var h_interval = utlf_transNullToEmpty(ds_main_drugmthdinfo.getColumn(0, "h_interval"));
- var m_interval = utlf_transNullToEmpty(ds_main_drugmthdinfo.getColumn(0, "m_interval"));
- var interval = 0;
- //---------------(20080912)
- var calctims = xPathList1.getColumn(0, "calctims"); //xPathList1 : "/root/hidden/param1/list"
- var sExprBack = "EXPR(";
- var bolExpr1 = false;
- var bolExpr2 = false;
-
- //for(var i = 1; i <= tims; i++){
- for( var i=0 ; i<calctims ; i++ ){
- //---------------(20080912)
- //추민수start -> 노란색 Expr살리기
- if(grd_mthd.getCellProperty("Body", i, "background").length > 8 || grd_mthd.getCellProperty("Body", i, "background2").length > 8)
- {
- sExprBack = grd_mthd.getCellProperty("Body", i, "background").replace("'')", "");
- }
- //추민수 end
- if( i == 0 ){
-
- interval = Number(s_interval); //interval 지정(시작)
- }else{
- interval = Number(fCarec_GetIntervalTime(s_interval.substr(0,2), s_interval.substr(2,2), h_interval, m_interval, i));
- }
- carebasedd = parseInt(interval / 2400);
- carebasetm = fCarec_GetFillZeno((interval % 2400),4,0);
- carebaseddarr[i] = carebasedd;
- carebasetmarr[i] = carebasetm;
-
- //투약되었으면 변경할수 없다.
- if( xPathdrugmthdlist.getColumn(i, "medrexecflag") != "Y" ){
-
- xPathdrugmthdlist.setColumn(i, "c_drugmthdday", carebasedd);
- xPathdrugmthdlist.setColumn(i, "c_drugmthdtime", carebasetm);
-
- //grd_mthd.cellstyle("background-color",i+1,grd_mthd.colref("c_drugmthdday"),i+1,grd_mthd.colref("c_drugmthdtime")) = gray;
- sExprBack += "currow == "+i+" ? '"+gray+"' : ";
- } else {
- carebasedd = xPathdrugmthdlist.getColumn(i, "c_drugmthdday");
- carebasetm = xPathdrugmthdlist.getColumn(i, "c_drugmthdtime");
-
- sysf_messageBox("구분이 'Y'인 경우 투약된 자료로 변경할 수 없습니다.","E999");
- }
-
- tmcalculate = (Number(carebasetm) + Number(carebasedd) * 2400);
- tmcalculate = fCarec_GetFillZeno(tmcalculate,4,0);
- if( i == 0 ){
- carebasetmspec += tmcalculate;
- }else{
- carebasetmspec += " " + tmcalculate;
- }
- }
-
- sExprBack += "'')";
-
- for( var i=0 ; i<grd_mthd.getCellCount("Body") ; i++ ){
- grd_mthd.setCellProperty("Body", i, "background", sExprBack);
- grd_mthd.setCellProperty("Body", i, "background2", sExprBack);
- }
-
- //-----------------(20080605)
- //fSaveMthdInfo(carebasetmspec,"N");
- //opener.javascript.setParameter("SPMNR03300_RtnParamYN", "Y");
- //model.close();
- //-----------------
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약시간 저장
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSaveMthdInfo(carebasetmspec,saveflag){
- var execprcptims = "";
- var prcpno = "";
- var prcpdd = "";
- var prcpcd = "";
- var execprcptims = "";
- var execprcpnoarr = "";
- var execuniqnoarr = "";
- var prcphistnoarr = "";
- var carebasedd = "";
- var carebasetm = "";
- var tims = xPathList1.getColumn(0, "tims");
- //------------(20080912)
- //var tims = model.getValue(xPathList1 + "/tims");
- var calctims = xPathList1.getColumn(0, "calctims");
- //------------(20080912)
- var drugtmspec = xPathList1.getColumn(0, "drugtmspec");
- //---------------(20080617)
- //시간대가 순서에 관계없이 변경되므로 시간대를 정렬해야한다.
- //-------------------------
- //-3200 -3000 2100
- var carebasetmspec_bak = carebasetmspec;
- carebasetmspec = sortHashKeysString(carebasetmspec);
-
- ////alert(carebasetmspec);
- //return;
-
- //-------------------------
- //-----------------(20081104)
- var listcnt = -1;
- //-----------------(20081104)
-
- ds_send_savedata_mthdinfo.clearData();
-
- //hidden정보 : prcpno별 row
- for( var j=0 ; j<xPathList1.rowcount ; j++ ){ //xPathList1 : /root/hidden/param1/list :
-
- execprcptims = xPathList1.getColumn(j, "tims");
- prcpno = xPathList1.getColumn(j, "prcpno");
- prcpdd = xPathList1.getColumn(j, "prcpdd");
-
- prcpcd = xPathList1.getColumn(j, "prcpcd");
- execprcptims = xPathList1.getColumn(j, "tims");
- execprcpnoarr = xPathList1.getColumn(j, "execprcpnoarr").split(" ");
- execuniqnoarr = xPathList1.getColumn(j, "execuniqnoarr").split(" ");
- prcphistnoarr = xPathList1.getColumn(j, "prcphistnoarr").split(" ");
- // <execprcpnoarr>1 2 3</execprcpnoarr>
- // <execuniqnoarr>23634 23635 23636</execuniqnoarr>
- // <prcphistnoarr>1 1 1</prcphistnoarr>
- //-----------(20080912)
- //for(var k = 1; k <= tims; k++){ ///xPathdrugmthdlist : root/main/drugmthdlist/drugmthdlist(화면상의 정보)
- for( var k=0 ; k<calctims ; k++ ){ ///xPathdrugmthdlist : root/main/drugmthdlist/drugmthdlist(화면상의 정보)
- //-----------(20080912)
- carebasedd = xPathdrugmthdlist.getColumn(k, "c_drugmthdday"); //변경일자(입력값)
- carebasetm = xPathdrugmthdlist.getColumn(k, "c_drugmthdtime"); //변경시각(입력값)
-
- ds_hidden_mthdinfo.setColumn(0, "prcpno", prcpno);
- ds_hidden_mthdinfo.setColumn(0, "prcpdd", prcpdd);
- ds_hidden_mthdinfo.setColumn(0, "prcpcd", prcpcd);
- ds_hidden_mthdinfo.setColumn(0, "execprcptims", execprcptims);
- ds_hidden_mthdinfo.setColumn(0, "prcphistno", prcphistnoarr[k]);
- ds_hidden_mthdinfo.setColumn(0, "execprcpno", execprcpnoarr[k]);
- ds_hidden_mthdinfo.setColumn(0, "execprcpuniqno", execuniqnoarr[k]);
- //carebaseddarr : 전역변수
- //carebasetmarr : 전역변수
- //-------------------(20081012)
- //처방일기준으로
- //model.setValue("/root/hidden/mthdinfo/carebasedd", getDateAddc(prcpdd, carebaseddarr[k-1]));
- var prcphopedd = xPathList1.getColumn(j, "prcphopedd");
- //처방희망일기준으로
- ds_hidden_mthdinfo.setColumn(0, "carebasedd", getDateAddc(prcphopedd, carebaseddarr[k]));
- //-------------------(20081012)
- ds_hidden_mthdinfo.setColumn(0, "carebasetm", carebasetmarr[k] + "00");
- ds_hidden_mthdinfo.setColumn(0, "pid", xPathList1.getColumn(0, "pid"));
- ds_hidden_mthdinfo.setColumn(0, "carebasetmspec", carebasetmspec);
- //---------------------(20081104)
- //if(model.getValue(xPathList2 + "[" + k + "]/medrexistyn") == "N" || drugtmspec == ""){
- listcnt ++;
- //alert(j + "/" + k + "/" + listcnt);
- //alert(model.getValue(xPathList2 + "[" + listcnt + "]/medrexistyn"));
- if( xPathList2.getColumn(listcnt, "medrexistyn") == "N" || utlf_isNull(drugtmspec) ){
- //---------------------(20081104)
- ds_hidden_mthdinfo.setColumn(0, "status", "I");
- }else{
- ds_hidden_mthdinfo.setColumn(0, "status", "U");
- }
- ds_send_savedata_mthdinfo.addRow();
- ds_send_savedata_mthdinfo.copyRow(ds_send_savedata_mthdinfo.rowcount-1, ds_hidden_mthdinfo, 0);
- }
- }
- //alert("저장전:" + saveflag);
- if (saveflag == "Y") {
- var oParam = {};
- oParam.id = "TXMNR03301";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqExeDrugBaseInfo";
- oParam.inds = "reqcond=ds_send_savedata_mthdinfo";
- oParam.outds = "";
- oParam.async = false;
- //oParam.callback = "cf_TXMNR03301";
- tranf_submit(oParam);
-
- opener.frmf_setParameter("SPMNR03300_RtnParamYN", "Y");
- close();
- }
- }
- /*
- 정렬하기
- */
- function sortHashKeysString(sColString){
- var sColArray = new Array;
-
- //string -> 배열로
- var sCol = sColString.split(" ");
- var temp = "";
- for(var i = 0; i < sCol.length; i++){
- //sColArray[i] = Number(sCol[i]);
- sColArray[i] = fCarec_GetFillZeno(sCol[i],4,0);
- }
- //배열 정렬
- for(var i = 0; i < sColArray.length; i++){
- for(var j = 0; j < sColArray.length; j++){
- if(sort2(sColArray[i],sColArray[j]) == false){
- temp = fCarec_GetFillZeno(sColArray[i],4,0);
- sColArray[i] = fCarec_GetFillZeno(sColArray[j],4,0);
- sColArray[j] = fCarec_GetFillZeno(temp,4,0);
- }
- }
- }
- //중복제거(중복가능)
- // sColString = "";
- // for(var i = 0; i < sColArray.length; i++){
- // if ( sColArray[i] == "") continue;
- //
- // for(var j = i+1; j < sColArray.length; j++){
- // if ( sColArray[i] == sColArray[j]) sColArray[j] = "";
- // }
- // }
- //배열 -> string
- sColString = "";
- for(var i = 0; i < sColArray.length; i++){
- //횟수1인 처방에 대해서 기준시간을 00:00으로 변경시 발생되는 오류 수정_20091109_SMY
- //if (sColArray[i] == "0000") continue;
- sColString += sColArray[i] + " ";
- }
- //마지막 " " 제거
- sColString = sColString.substr(0,sColString.length-1);
- //string 리턴
- return sColString;
- }
- //--------------------(20080605)
- // 음수끼리의 정렬은 반대임(기능추가)
- // -1800 < -2000 임 시간이므로
- //--------------------
- function sort2(a,b){
- // 두변수가 전부 음수인 경우(음수,음수) -1800 < -2000
- if ( parseInt(a) < 0 && parseInt(b) < 0 ) {
- if(parseInt(a) < parseInt(b)){
- return true;
- }else if(parseInt(a) > parseInt(b)){
- return false;
- }else{
- var sort = new Array(a,b);
- sort.sort();
- return (sort[0] == a)? false:true;
- }
- } else {
- //그외경우 (음수,양수/양수,음수/양수,양수)
- if(parseInt(a) > parseInt(b)){
- return true;
- }else if(parseInt(a) < parseInt(b)){
- return false;
- }else{
- var sort = new Array(a,b);
- sort.sort();
- return (sort[0] == a)? false:true;
- }
- }
- }
- ]]></Script>
|