123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : KNUH2.0
- * Job Name : EMR
- * Creator :
- * Make Date : 2015-09-23
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2015-09-23 TF->XP
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- /****************************************************************************************
- * Argument : N/A
- * Description : 초기화
- ****************************************************************************************/
- function fInit() {
- var ioflag = "";
- ioflag = frmf_getMenuParam();
- if(utlf_isNull(ioflag)) {ioflag = "I";}
-
- ds_temp_srchinfo.setColumn(0,"ioflag",ioflag);
- // 날짜 초기화
- ds_temp_srchinfo.setColumn(0,"prcpdd", utlf_getCurrentDate());
- ds_temp_srchinfo.setColumn(0,"prcptodd", utlf_getCurrentDate());
-
- //model.setValue("/root/temp/srchinfo/ioflag", "I");
- ds_temp_srchinfo.setColumn(0,"spclflag", "M");
- ds_temp_srchinfo.setColumn(0,"chk_spclflag","");
- fChgIOFlag();
-
- // 내외용약,주사 전체 체크
- group2.checkbox7.value = "A";
- fChgDrugkindFlagAll();
- //로그인 사용자 셋팅
- var userid = sysf_getUserId();
- ds_temp_srchinfo.setColumn(0,"userid", userid);
- fGetUserInfo();
- // ========================== 수행부서 Combo 조회===========================
- //병동 Combo 조회
- dsf_createDsRow("ds_send_srchcond", [{col: "deptflag", type:"string", size:256, val:"W"}]);
- var oParam = {};
- oParam.id = "TRADT30401";
- oParam.service = "pharmacyprescriptionapp.Narcotics";
- oParam.method = "reqGetNursSrchList";
- oParam.inds = "req=ds_send_srchcond";
- oParam.outds = "ds_temp_srchcond_dept=dept";
- oParam.async = false;
- //oParam.callback = "cf_TRADT30401";
- tranf_submit(oParam);
-
- dsf_addDsItem(ds_temp_srchcond_dept, "deptnm", "deptcd", null, "- 전 체 -", "above" );
-
- // 반환 출고부서 2009.11.17 pymi
- var dutplceinstcd = sysf_getUserInfo("dutplceinstcd");
- var oParam = {};
- oParam.id = "TRADT01106";
- oParam.service = "pharmacyprescriptionapp.DrugPrint";
- oParam.method = "reqGetMisDeptlist";
- oParam.inds = "";
- oParam.outds = "ds_init_misdeptlist_deptlist=deptlist";
- oParam.async = false;
- //oParam.callback = "cf_TRADT01106";
- tranf_submit(oParam);
- var setNum = 0;
- if(frmf_getMenuParam() == "O") {
- ds_temp_srchinfo.setColumn(0,"eflag", "Y"); // 2009.12.03 외래일때 default
-
- if(utlf_isNull(frmf_getMenuParam())) setNum = 0;
- else {
- // 20101021_laboru_경북대병원_실출고부서 셋팅
- // var dutplceinstcd = sysf_getUserInfo("dutplceinstcd");
-
- if(dutplceinstcd == "031") {
- setNum = 1;
- } else if(dutplceinstcd == "032") {
- setNum = 0;
- } else {
- setNum = 1;
- }
- }
- } else if(frmf_getMenuParam() == "I") {
- group1.caption12.visible = true;
- // 20101021_laboru_경북대병원_실출고부서 셋팅
- setNum = 0;
- } else { // 20111207_특수조제실 일때
- setNum = 2;
- group1.caption12.visible = true;
- ds_temp_srchinfo.setColumn(0,"chk_spclflag" , "Y");
- ds_temp_srchinfo.setColumn(0,"spclflag" , "S");
- }
- group3.combo3.index = setNum;
-
- //1일기준인지 1회기준인지 체크하여 컬럼을 hidden
- var colHidnValue = lf_grdBaseColHidn("D");
- //1회 기준
- if( colHidnValue == "C") {
- group3.grd_rtnlist.setFormatColProperty(group3.grd_rtnlist.getBindCellIndex("body","dayprcpqty"),"size",0);
- group3.grd_rtnlist.setFormatColProperty(group3.grd_rtnlist.getBindCellIndex("body","dayrtnqty") ,"size",0);
- } else {
- group3.grd_rtnlist.setFormatColProperty(group3.grd_rtnlist.getBindCellIndex("body","prcpqty2") ,"size",0);
- group3.grd_rtnlist.setFormatColProperty(group3.grd_rtnlist.getBindCellIndex("body","rtnqty2") ,"size",0);
- group3.grd_prcplist.setFormatColProperty(group3.grd_prcplist.getBindCellIndex("body","prcpqty2"),"size",0);
- }
- }
- /**
- * 진료과 조회
- */
- function fGetDeptCombo() {
- model.setValue("/root/send/deptinfo/deptflag", "W");
- submit("TRADT00601");
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 약사정보 조회
- ****************************************************************************************/
- function fGetUserInfo() {
- var userid = ds_temp_srchinfo.getColumn(0,"userid");
- //20100819_laboru_경북대병원_User ID 길이 체크 막음
- ds_send_userinfo.setColumn(0,"userid", userid);
- var oParam = {};
- oParam.id = "TRADT00604";
- oParam.service = "pharmacyprescriptionapp.DrugReturn";
- oParam.method = "reqGetUserInfo";
- oParam.inds = "req=ds_send_userinfo";
- oParam.outds = "ds_temp_userinfo=userinfo";
- oParam.async = true;
- //oParam.callback = "cf_TRADT00604";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 반납약 조회
- ****************************************************************************************/
- function fRtnData() {
- ds_main_prcplist.clearData();
- ds_send_srchinfo.copyData(ds_temp_srchinfo);
- var oParam = {};
- oParam.id = "TRADT00602";
- oParam.service = "pharmacyprescriptionapp.DrugReturn";
- oParam.method = "reqGetRtnData";
- oParam.inds = "req=ds_send_srchinfo";
- oParam.outds = "ds_main_rtnlist=rtnlist";
- oParam.async = false;
- //oParam.callback = "cf_TRADT00602";
- tranf_submit(oParam);
- // 2009.12.03 pymi
- if(ds_temp_srchinfo.getColumn(0,"eflag") == "Y") {
- for(var i = 0 ; i < ds_main_rtnlist.rowcount; i++) {
- ds_main_rtnlist.setColumn(i,"sel", "Y");
- ds_main_rtnlist.setRowType(i,Dataset.ROWTYPE_UPDATE);
- // var arrRow = new Array();
- // arrRow[0] = ds_anstlist.rowposition;
- // grdf_setStatus(grd_answlist, "D", arrRow);
- }
- }
- //해당row에 색깔 처리
- //grd_rtnlist.rebuildStyle();
- // setRowStyle("grd_rtnlist" , "2" , "2" , "rtnflag", "equal" );
- // setRowStyle("grd_rtnlist" , "4" , "3" , "rtnflag", "equal" );
- grdf_setRowStyle(group3.grd_rtnlist , "2^4" , "2^3" , "rtnflag");
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 반납약 원처방 조회
- ****************************************************************************************/
- function fGetRtnPrcpData() {
- if(ds_main_rtnlist.rowposition > -1 && !utlf_isNull(ds_main_rtnlist.getColumn(ds_main_rtnlist.rowposition,"pid"))) {
- ds_send_prcpinfo.clear();
- dsf_copyColInfo(ds_send_prcpinfo,ds_main_rtnlist);
- ds_send_prcpinfo.copyRow(ds_send_prcpinfo.addRow(),ds_main_rtnlist,ds_main_rtnlist.rowposition);
-
- var oParam = {};
- oParam.id = "TRADT00603";
- oParam.service = "pharmacyprescriptionapp.DrugReturn";
- oParam.method = "reqGetRtnPrcpData";
- oParam.inds = "req=ds_send_prcpinfo";
- oParam.outds = "ds_main_prcplist=prcplist";
- oParam.async = false;
- //oParam.callback = "cf_TRADT00603";
- tranf_submit(oParam);
-
- // grd_prcplist.rebuildStyle();
- // setRowStyle("grd_prcplist" , "4" , "C" , "prcphistcd", "equal" );
- // setRowStyle("grd_prcplist" , "4" , "L" , "prcphistcd", "equal" );
- // setRowStyle("grd_prcplist" , "3" , "D" , "prcphistcd", "equal" );
- // setRowStyle("grd_prcplist" , "2" , "E" , "prcphistcd", "equal" );
- grdf_setRowStyle(group3.grd_prcplist , "4^4^3^2" , "C^L^D^E" , "prcphistcd");
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 반납약 저장
- ****************************************************************************************/
- function fSaveRtnList() {
- if(utlf_isNull(ds_temp_userinfo.getColumn(0,"userid"))) {
- sysf_messageBox("약사ID는", "I003");
- return;
- }
-
- ds_send_rtninfo_rtnlist.clearData();
-
- var cp_cnt = 0;
-
- for(var i = 0 ; i < ds_main_rtnlist.rowcount ; i++){
- if(ds_main_rtnlist.getColumn(i,"sel") == "Y" && ds_main_rtnlist.getColumn(i,"rtnflag") == "1") {
- // 20120920_폐기처리여부 set
- if(ds_temp.getColumn(0,"disflag") == "Y") {
- dsf_makeValue(ds_main_rtnlist,"disflag","string","DIS",i);
- }
-
- //fIptRtnCnts(i); //20090924 이선경
- dsf_makeValue(ds_main_rtnlist,"rtnstocdeptcd","string",ds_temp_srchinfo.getColumn(0,"rtnstocdeptcd"),i);
- ds_main_rtnlist.setColumn(i,"rtncnts", parseInt(ds_main_rtnlist.getColumn(i,"rtnstocqty"))); //20100208 이선경
- // astfCopyNodeSet("/root/send/rtninfo/rtnlist", "/root/main/rtnlist/rtnlist["+i+"]");
- ds_send_rtninfo_rtnlist.copyRow(ds_send_rtninfo_rtnlist.addRow(),ds_main_rtnlist,i);
-
- cp_cnt++;
- }
- }
-
- if(cp_cnt == 0){
- sysf_messageBox("저장할 데이터가", "I004");
- return;
- }
-
- ds_send_rtninfo_userinfo.setColumn(0,"userid" ,ds_temp_userinfo.getColumn(0,"userid"));
- ds_send_rtninfo_userinfo.setColumn(0,"userdeptcd",ds_temp_userinfo.getColumn(0,"userdeptcd"));
- ds_send_rtninfo_srchinfo.copyData(ds_temp_srchinfo);
- ds_send_rtninfo_srchinfo.updateColID("prcpdd","chg_prcpdd");
- ds_send_rtninfo_srchinfo.updateColID("ioflag","chg_ioflag");
- dsf_makeValue(ds_send_rtninfo_srchinfo,"chg_drugflag","string", ds_send_rtninfo_srchinfo.getColumn(0,"drugflag"));
- var oParam = {};
- oParam.id = "TXADT00601";
- oParam.service = "pharmacyprescriptionapp.DrugReturn";
- oParam.method = "reqSetRtnData";
- oParam.inds = "req=ds_send_rtninfo_rtnlist user=ds_send_rtninfo_userinfo srch=ds_send_rtninfo_srchinfo";
- oParam.outds = "ds_main_rtnlist=rtnlist";
- oParam.async = false;
- //oParam.callback = "cf_TXADT00601";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 반납약 취소
- ****************************************************************************************/
- function fSaveRtnCancel() {
- if(utlf_isNull(ds_temp_userinfo.getColumn(0,"userid"))) {
- sysf_messageBox("약사ID는", "I003");
- return;
- }
- ds_send_rtninfo_rtnlist.clearData();
- var cp_cnt = 0;
-
- for(var i = 0 ; i < ds_main_rtnlist.rowcount ; i++){
- if(ds_main_rtnlist.getColumn(i,"sel") == "Y" && ds_main_rtnlist.getColumn(i,"rtnflag") == "2") {
- dsf_makeValue(ds_main_rtnlist,"cancelflag","string","Y",i);
- // astfCopyNodeSet("/root/send/rtninfo/rtnlist", "/root/main/rtnlist/rtnlist["+i+"]");
- ds_send_rtninfo_rtnlist.copyRow(ds_send_rtninfo_rtnlist.addRow(),ds_main_rtnlist,i);
- cp_cnt++;
- }
- }
- if(cp_cnt == 0){
- sysf_messageBox("저장할 데이터가", "I004");
- return;
- }
-
- ds_send_rtninfo_userinfo.setColumn(0,"userid" ,ds_temp_userinfo.getColumn(0,"userid"));
- ds_send_rtninfo_userinfo.setColumn(0,"userdeptcd",ds_temp_userinfo.getColumn(0,"userdeptcd"));
- ds_send_rtninfo_srchinfo.copyData(ds_temp_srchinfo);
- ds_send_rtninfo_srchinfo.updateColID("prcpdd","chg_prcpdd");
- ds_send_rtninfo_srchinfo.updateColID("ioflag","chg_ioflag");
- dsf_makeValue(ds_send_rtninfo_srchinfo,"chg_drugflag","string", ds_send_rtninfo_srchinfo.getColumn(0,"drugflag"));
-
- var oParam = {};
- oParam.id = "TXADT00602";
- oParam.service = "pharmacyprescriptionapp.DrugReturn";
- oParam.method = "reqSetRtnCancel";
- oParam.inds = "req=ds_send_rtninfo_rtnlist user=ds_send_rtninfo_userinfo srch=ds_send_rtninfo_srchinfo";
- oParam.outds = "ds_main_rtnlist=rtnlist";
- oParam.async = false;
- //oParam.callback = "cf_TXADT00602";
- tranf_submit(oParam);
- }
- /**
- * 반납량(반납횟수) 입력시
- * -. 외래처방 : 약국에서 처리 -> 외래 및 입원에서 전환된 외용약처방 - 수량반납
- * 그외 외래처방 - 일수반납
- * 입원에서 전환된 퇴원 및 외출외박약 처방 - 일수반납
- * 입원에서 전환된 그외 처방 - 횟수반납
- * -. 입원처방 : 병동간호에서 처리 -> 입원 및 외래에서 전환된 외용약처방 - 수량반납
- * 입원 퇴원 및 외출외박약 - 일수 반납
- * 그외 입원처방 - 횟수반납
- * 외래에서 전환된 처방 (외용약 제외) - 일수반납
- * 정리 노트 : 외용약 - 수량반납, 외래 및 퇴원/외출/외박약 - 일수반납, 입원약 - 횟수반납,
- * 각부분별로 주사제는 소수점내림 처리함(엠플단위이기때문에).
- */
- // function fIptRtnCnts(rowid) {
- //
- // //20090924 이선경
- // if(rowid == "") {
- // rowid = grd_rtnlist.row;
- // }
- //
- // var RtnCnts = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts");
- // var RtnStocQty = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtnstocqty");
- // var RtnFlag = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtnflag");
- //
- // if(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/sel") == "N"){
- // if(RtnFlag == "1"){
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtnstocqty", "");
- // return;
- // }
- // }
- //
- // //반납의뢰인 약품만 반납처리함
- // /*if(RtnFlag == "2"){
- // messageBox("반납완료된 약품","E008");
- // return;
- // } else if(RtnFlag == "3"){
- // messageBox("반납의뢰된 약품","E008");
- // return;
- // }
- // */
- // //반납량을 입력하지 않았을 경우
- // if(RtnCnts == "" ){ //|| RtnCnts == "0"
- // /*messageBox("반납량을","C001");
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/sel", "");
- // return;*/
- // //최대 반환량 자동 입력
- // fMaxRtnCnts(rowid);
- // RtnCnts = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts");
- // }
- //
- // if(isNaN(RtnCnts)){
- // messageBox("반납량은 숫자로","C001");
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
- // return;
- // }
- //
- // //반납로직을 위한 변수 선언
- // var IOFlag = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/ioflag");
- // var PrcpClscd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpclscd");
- // var PrcpGenrflag = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpgenrflag");
- // var PrcpKindcd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpkindcd");
- //
- //
- // if(IOFlag == "O"){
- // //수가계산방식에 따른 변화량
- // var sCalcmthdcd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/calcmthdcd");
- // //반납재고량 계산을 위한 변수 선언
- // var DeliveCrite = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/delivecrite");
- // var iRtnCnts = parseInt(RtnCnts, 10);
- // var iLimitCnts = 0;
- // var PrcpQty = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpqty"));
- // var DayPrcpQty = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/dayprcpqty"));
- // var PrcpTims = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"), 10);
- // var PrcpDayno = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpdayno"), 10);
- // var RtnStocQty = 0;
- // if(PrcpClscd == "A4" || sCalcmthdcd == 4){
- // //외래 외용제 (수량반납)
- // if(sCalcmthdcd == 4){
- // iLimitCnts = DayPrcpQty;
- // } else if(sCalcmthdcd == 5){
- // iLimitCnts = DayPrcpQty*PrcpDayno;
- // } else {
- // iLimitCnts = DayPrcpQty*PrcpDayno;
- // }
- // //if(iRtnCnts > iLimitCnts){
- // if(iRtnCnts > iLimitCnts){
- // messageBox("반납 가능한 양을","E003");
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
- // return;
- // }
- // RtnStocQty = fCalStocQty("Q", DeliveCrite, iRtnCnts, null, null, rowid);
- //
- // //투약내역에 들어간 반납결과 수치 계산
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugtims", model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"));
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugdayno", model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpdayno"));
- // } else if((PrcpGenrflag == "O" || PrcpGenrflag == "S" ) || // 'S' 추가 pymi 2009.10.28
- // ((PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D") && (PrcpKindcd == "50" || PrcpKindcd == "60" || PrcpKindcd == "70")) ){
- // //외래 약주사 또는 입원에서 전환된 퇴원/외출/외박약 (일수반납)
- // iLimitCnts = PrcpDayno;
- // if(iRtnCnts > iLimitCnts){
- // messageBox("반납 가능한 양을","E003");
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
- // return;
- // }
- // /*if(PrcpClscd == "A6"){
- // //주사제 처리 반납량 따로 계산
- // RtnStocQty = fCalStocQty("I", DeliveCrite, iRtnCnts, PrcpQty, PrcpTims);
- // } else {
- // RtnStocQty = fCalStocQty("D", DeliveCrite, iRtnCnts, PrcpQty, PrcpTims);
- // }*/
- // RtnStocQty = fCalStocQty("D", DeliveCrite, iRtnCnts, PrcpQty, PrcpTims, rowid);
- //
- //
- // //투약내역에 들어간 반납결과 수치 계산
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugtims", model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"));
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugdayno", iRtnCnts);
- // } else if(PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D"){
- // //입원에서 전환된 그외 처방 (횟수반납)
- // iLimitCnts = PrcpTims*PrcpDayno;
- // if(iRtnCnts > iLimitCnts){
- // messageBox("반납 가능한 양을","E003");
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
- // return;
- // }
- // /*if(PrcpClscd == "A6"){
- // //주사제 처리 반납량 따로 계산
- // RtnStocQty = fCalStocQty("I", DeliveCrite, iRtnCnts, PrcpQty);
- // } else {
- // RtnStocQty = fCalStocQty("T", DeliveCrite, iRtnCnts, PrcpQty);
- // }*/
- // RtnStocQty = fCalStocQty("T", DeliveCrite, iRtnCnts, PrcpQty, null , rowid);
- //
- // //투약내역에 들어간 반납결과 수치 계산
- // var temp = iRtnCnts%PrcpDayno;
- // var RtnDrugDayno = 0;
- // var RtnDrugTims = 0;
- // RtnDrugTims = iRtnCnts;
- // RtnDrugDayno = 1;
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugtims", RtnDrugTims);
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugdayno", RtnDrugDayno);
- // }
- // } else if(IOFlag == "I"){
- // //반납재고량 계산을 위한 변수 선언
- // var DeliveCrite = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/delivecrite");
- // var iRtnCnts = parseInt(RtnCnts, 10);
- // var iLimitCnts = 0;
- // var PrcpQty = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpqty"));
- // var DayPrcpQty = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/dayprcpqty"));
- // var PrcpTims = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"), 10);
- // var PrcpDayno = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpdayno"), 10);
- // var RtnStocQty = 0;
- // if(PrcpClscd == "A4"){
- // //외래 외용제 (수량반납)
- // if(sCalcmthdcd == 4){
- // iLimitCnts = DayPrcpQty;
- // } else if(sCalcmthdcd == 5){
- // iLimitCnts = DayPrcpQty*PrcpDayno;
- // } else {
- // iLimitCnts = DayPrcpQty*PrcpDayno;
- // }
- // if(iRtnCnts > iLimitCnts){
- // messageBox("반납 가능한 양을","E003");
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
- // return;
- // }
- // RtnStocQty = fCalStocQty("Q", DeliveCrite, iRtnCnts, null, null, rowid);
- //
- // //투약내역에 들어간 반납결과 수치 계산
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugtims", model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"));
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugdayno", model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpdayno"));
- // } else if(PrcpGenrflag == "O" ||
- // ((PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D") && (PrcpKindcd == "50" || PrcpKindcd == "60" || PrcpKindcd == "70")) ){
- // //외래 약주사 또는 입원에서 전환된 퇴원/외출/외박약 (일수반납)
- // iLimitCnts = PrcpDayno;
- // if(iRtnCnts > iLimitCnts){
- // messageBox("반납 가능한 양을","E003");
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
- // return;
- // }
- // /*if(PrcpClscd == "A6"){
- // //주사제 처리 반납량 따로 계산
- // RtnStocQty = fCalStocQty("I", DeliveCrite, iRtnCnts, PrcpQty, PrcpTims);
- // } else {
- // RtnStocQty = fCalStocQty("D", DeliveCrite, iRtnCnts, PrcpQty, PrcpTims);
- // }*/
- // RtnStocQty = fCalStocQty("D", DeliveCrite, iRtnCnts, PrcpQty, PrcpTims, rowid);
- //
- //
- // //투약내역에 들어간 반납결과 수치 계산
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugtims", model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"));
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugdayno", iRtnCnts);
- // } else if(PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D"){
- // //입원에서 전환된 그외 처방 (횟수반납)
- // iLimitCnts = PrcpTims*PrcpDayno;
- // if(iRtnCnts > iLimitCnts){
- // messageBox("반납 가능한 양을","E003");
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", "");
- // return;
- // }
- // /*if(PrcpClscd == "A6"){
- // //주사제 처리 반납량 따로 계산
- // RtnStocQty = fCalStocQty("I", DeliveCrite, iRtnCnts, PrcpQty);
- // } else {
- // RtnStocQty = fCalStocQty("T", DeliveCrite, iRtnCnts, PrcpQty);
- // }*/
- // //alert(DeliveCrite);
- // //alert(iRtnCnts);
- // //alert(PrcpQty);
- // //alert(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"));
- //
- // RtnStocQty = fCalStocQty("T", DeliveCrite, iRtnCnts, PrcpQty, null, rowid);
- //
- // //투약내역에 들어간 반납결과 수치 계산
- // var temp = iRtnCnts%PrcpDayno;
- // var RtnDrugDayno = 0;
- // var RtnDrugTims = 0;
- // RtnDrugTims = iRtnCnts;
- // RtnDrugDayno = 1;
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugtims", RtnDrugTims);
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndrugdayno", RtnDrugDayno);
- // }
- // }
- //
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtnstocqty", fChkFloat(RtnStocQty));
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/sel", "Y");
- // //rowid++;
- // //grd_rtnlist.isSelected(rowid) = true;
- // model.refresh();
- //
- // }
- /**
- * 불출계산에 따른 반납재고량 계산
- * 계산 방식
- * 원처방 불출량(totdrugqty) - 살아있는처방 불출량 계산 = 반환된 불출량
- */
- // function fCalStocQty(RtnType, DeliveCrite, RtnCnts, Qty, Tims, rowid) {
- // var dResult = 0;
- // var PackVol = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/packvol"));
- // var NearIntNum = 0;
- // var RoundNum = 0;
- // //alert("Start : " + DeliveCrite + ", " + pQty + ", " + pRtnTims);
- //
- // //수가계산방식에 따른 변화량
- // var sCalcmthdcd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/calcmthdcd");
- //
- // if ( Tims == null ) { Tims =1; }
- // if(RtnType == "Q"){
- // //수량반납
- // //외용약만 수량반납하므로 무조건 올림처리
- // dResult = Math.ceil(RtnCnts);
- // } else if(RtnType == "T"){
- // //횟수반납
- // // 횟수반납시에는 RtnCnts가 횟수이므로 Tims는 제외
- //
- // //살아있는 처방 불출량 계산을 위한 횟수 변환
- // var iPrcptims = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims");
- // var itotdrugqty = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/totdrugqty");
- // if(iPrcptims == RtnCnts){
- // //살아있는 처방이 없으므로 불출량은 원처방 불출량(totdrugqty)임
- // return itotdrugqty;
- // } else {
- // //살아있는 처방이 있으면 살아있는 처방의 횟수를 계산
- // RtnCnts = iPrcptims - RtnCnts;
- // }
- //
- // // 1 : 단가*수량*횟수*일수
- // // 4 : 단가*수량
- // // 5 : 단가*수량*일수
- // if(sCalcmthdcd == "1"){
- // //초기화 없이 다 계산처리함
- // } else if(sCalcmthdcd == "4" || sCalcmthdcd == "5"){
- // //횟수, 일수 1로 초기화
- // RtnCnts = "1";
- // }
- //
- // if (DeliveCrite == "1") {
- // // 처방대로
- // dResult = Math.round(Qty*RtnCnts*1000)/1000;
- // } else if (DeliveCrite == "2") {
- // // 1/4 1회 올림 --> 1/2 1회 올림 수정 pymi
- // /*NearIntNum = Math.floor(Qty);
- // RoundNum = Qty - NearIntNum;
- // if(RoundNum >= 0.5){
- // dResult = Math.round((NearIntNum+0.5)*RtnCnts*1000)/1000;
- // } else {
- // dResult = Math.round((NearIntNum+1)*RtnCnts*1000)/1000;
- // } */
- // dResult = Math.round(Math.ceil(Qty)*RtnCnts*1000)/1000;
- // } else if (DeliveCrite == "3") {
- // // 1/2 1회 올림
- // dResult = Math.round(Math.ceil(Qty)*RtnCnts*1000)/1000;
- //
- // } else if (DeliveCrite == "4") {
- // // 1/4 1일 올림
- // NearIntNum = Math.floor(Qty*Tims);
- // RoundNum = (Qty*Tims) - NearIntNum;
- // if(RoundNum >= 0.5){
- // dResult = Math.round((NearIntNum+0.5)*(RtnCnts/Tims)*1000)/1000;
- // } else {
- // dResult = Math.round((NearIntNum+1)*(RtnCnts/Tims)*1000)/1000;
- // }
- // } else if (DeliveCrite == "5") {
- // // 1/2 1일 올림
- // //alert(Tims);
- // dResult = Math.round(Math.ceil(Qty*Tims)*(RtnCnts/Tims)*1000)/1000;
- // } else if (DeliveCrite == "6") {
- // // 계산후 올림
- // dResult = Math.ceil(Qty*RtnCnts);
- // }
- // // 원처방 불출량(totdrugqty) - 살아있는처방 불출량 계산 = 반환된 불출량
- // dResult = itotdrugqty - dResult;
- //
- // } else if(RtnType == "D"){
- // //일수반납
- //
- // //살아있는 처방 불출량 계산을 위한 횟수 변환
- // var iPrcpDayno = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpdayno");
- // var itotdrugqty = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/totdrugqty");
- // if(iPrcpDayno == RtnCnts){
- // //살아있는 처방이 없으므로 불출량은 원처방 불출량(totdrugqty)임
- // return itotdrugqty;
- // } else {
- // //살아있는 처방이 있으면 살아있는 처방의 횟수를 계산
- // RtnCnts = iPrcpDayno - RtnCnts;
- // }
- //
- // // 1 : 단가*수량*횟수*일수
- // // 4 : 단가*수량
- // // 5 : 단가*수량*일수
- // if(sCalcmthdcd == "1"){
- // //초기화 없이 다 계산처리함
- // } else if(sCalcmthdcd == "4"){
- // //횟수, 일수 1로 초기화
- // Tims = "1";
- // RtnCnts = "1";
- // } else if(sCalcmthdcd == "5"){
- // //횟수 1로 초기화
- // Tims = "1";
- // }
- //
- // if (DeliveCrite == "1") {
- // // 처방대로
- // dResult = Math.round(Qty*Tims*RtnCnts*1000)/1000;
- // } else if (DeliveCrite == "2") {
- // // 1/4 1회 올림 --> 1/2 1회 올림 수정 pymi
- // /*NearIntNum = Math.floor(Qty);
- // RoundNum = Qty - NearIntNum;
- // if(RoundNum >= 0.5){
- // dResult = Math.round((NearIntNum+0.5)*Tims*RtnCnts*1000)/1000;
- // } else {
- // dResult = Math.round((NearIntNum+1)*Tims*RtnCnts*1000)/1000;
- // } */
- // dResult = Math.round(Math.ceil(Qty)*Tims*RtnCnts*1000)/1000;
- // } else if (DeliveCrite == "3") {
- // // 1/2 1회 올림
- // dResult = Math.round(Math.ceil(Qty)*Tims*RtnCnts*1000)/1000;
- // } else if (DeliveCrite == "4") {
- // // 1/4 1일 올림
- // NearIntNum = Math.floor(Qty*Tims);
- // RoundNum = (Qty*Tims) - NearIntNum;
- // if(RoundNum >= 0.5){
- // dResult = Math.round((NearIntNum+0.5)*RtnCnts*1000)/1000;
- // } else {
- // dResult = Math.round((NearIntNum+1)*RtnCnts*1000)/1000;
- // }
- // } else if (DeliveCrite == "5") {
- // // 1/2 1일 올림
- // dResult = Math.round(Math.ceil(Qty*Tims)*RtnCnts*1000)/1000;
- // } else if (DeliveCrite == "6") {
- // // 계산후 올림
- // dResult = Math.ceil(Qty*Tims*RtnCnts);
- // }
- // // 원처방 불출량(totdrugqty) - 살아있는처방 불출량 계산 = 반환된 불출량
- // dResult = itotdrugqty - dResult;
- // }
- // //model.alert("End : " + dResult);
- // return dResult;
- // }
- /**
- * 최대 반환량 자동입력
- */
- // function fMaxRtnCnts(rowid) {
- // //반납로직을 위한 변수 선언
- // var IOFlag = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/ioflag");
- // var PrcpClscd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpclscd");
- // var PrcpGenrflag = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpgenrflag");
- // var PrcpKindcd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpkindcd");
- //
- //
- // if(IOFlag == "O"){
- // //반납재고량 계산을 위한 변수 선언
- // var iLimitCnts = 0;
- // var DayPrcpQty = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/dayprcpqty"));
- // var PrcpQty = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpqty"));
- // var PrcpTims = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"), 10);
- // var PrcpDayno = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpdayno"), 10);
- // var CalcMthdCd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/calcmthdcd");
- // if(PrcpClscd == "A4"){
- // //외래 외용제 (수량반납)
- // if ( CalcMthdCd == "1" || CalcMthdCd == "5" ){
- // iLimitCnts = parseInt(DayPrcpQty* PrcpDayno);
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
- // } else {
- // iLimitCnts =parseInt( DayPrcpQty );
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
- // }
- // } else if((PrcpGenrflag == "O" || PrcpGenrflag == "S" ) || // 'S' 추가 pymi 2009.10.28 ||
- // ((PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D") && (PrcpKindcd == "50" || PrcpKindcd == "60" || PrcpKindcd == "70")) ){
- // //외래 약주사 또는 입원에서 전환된 퇴원/외출/외박약 (일수반납)
- // if ( CalcMthdCd == "4" ){
- // iLimitCnts = parseInt(DayPrcpQty);
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
- // } else {
- // iLimitCnts = parseInt(PrcpDayno);
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
- // }
- // } else if(PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D"){
- // //입원에서 전환된 그외 처방 (횟수반납)
- // iLimitCnts = PrcpTims*PrcpDayno;
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
- // }
- // } else if(IOFlag == "I"){
- // //반납재고량 계산을 위한 변수 선언
- // var iLimitCnts = 0;
- // var PrcpQty = parseFloat(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpqty"));
- // var PrcpTims = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcptims"), 10);
- // var PrcpDayno = parseInt(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/prcpdayno"), 10);
- // var CalcMthdCd = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/calcmthdcd");
- // if(PrcpClscd == "A4"){
- // //외래 외용제 (수량반납)
- // //입원에서 전환된 그외 처방 (횟수반납)
- // if ( CalcMthdCd == "1" || CalcMthdCd == "5" ){
- // iLimitCnts =parseInt( DayPrcpQty* PrcpDayno);
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
- // } else {
- // iLimitCnts = parseInt(DayPrcpQty);
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
- // }
- //
- // //if(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/dayrtnqty") != ""){
- // // PrcpQty = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/dayrtntims");
- // //}
- // //iLimitCnts = PrcpQty;
- // //model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
- // } else if(PrcpGenrflag == "O" ||
- // ((PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D") && (PrcpKindcd == "50" || PrcpKindcd == "60" || PrcpKindcd == "70")) ){
- // //외래 약주사 또는 입원에서 전환된 퇴원/외출/외박약 (일수반납)
- // if ( CalcMthdCd == "4" ){
- // iLimitCnts =parseInt( DayPrcpQty);
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
- // } else {
- // iLimitCnts = PrcpDayno;
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", iLimitCnts);
- // }
- // } else if(PrcpGenrflag == "I" || PrcpGenrflag == "E" || PrcpGenrflag == "D"){
- // //입원에서 전환된 그외 처방 (횟수반납)
- // if(model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtntims") != ""){
- // PrcpTims = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtntims");
- // PrcpDayno = model.getValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtndayno");
- // }
- // iLimitCnts = PrcpTims*PrcpDayno;
- // model.setValue("/root/main/rtnlist/rtnlist["+rowid+"]/rtncnts", fChkFloat(iLimitCnts));
- // }
- // }
- // model.refresh();
- // }
- /**
- *
- */
- // function fChkFloat(qty) {
- // var fQty = parseFloat(qty);
- // var fRst = "";
- //
- // if(fQty%1 == 0){
- // fRst = parseInt(qty);
- // } else {
- // fRst = qty;
- // }
- //
- // return fRst;
- // }
- /****************************************************************************************
- * Argument : N/A
- * Description : 반납구분 전체 체크시
- ****************************************************************************************/
- function fChgRtnFlagAll(vFlag) {
- if(utlf_isNull(vFlag)) vFlag = ds_temp_srchinfo.getColumn(0,"rtnflag_all");
- if(vFlag == "A"){
- var sValue = "1|2|3";
- ds_temp_srchinfo.setColumn(0,"rtnflag", sValue);
- group2.checkbox2.setData(sValue.split("|"),null,false);
- } else {
- ds_temp_srchinfo.setColumn(0,"rtnflag", "");
- group2.checkbox2.setCheckAll(false,false);
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 반납구분 변경시
- ****************************************************************************************/
- function fChgRtnFlag() {
- var sChk = ds_temp_srchinfo.getColumn(0,"rtnflag");
- if(sChk.length == 5){
- ds_temp_srchinfo.setColumn(0,"rtnflag_all", "A");
- } else {
- group2.checkbox1.enableevent = false;
- ds_temp_srchinfo.setColumn(0,"rtnflag_all", "");
- group2.checkbox1.enableevent = true;
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 입원외래구분 변경시
- ****************************************************************************************/
- function fChgIOFlag() {
- if(ds_temp_srchinfo.getColumn(0,"ioflag") == "I"){
- group2.rdo_drugflag.visible = true;
- //ds_temp_srchinfo.setColumn(0,"drugflag", "I");
- group2.rdo_drugflag.setData("I");
- } else if(ds_temp_srchinfo.getColumn(0,"ioflag") == "S"){
- group2.rdo_drugflag.visible = true;
- //ds_temp_srchinfo.setColumn(0,"drugflag", "S");
- group2.rdo_drugflag.setData("S");
- } else {
- group2.rdo_drugflag.visible = false;
- //ds_temp_srchinfo.setColumn(0,"drugflag", "");
- group2.rdo_drugflag.setData("");
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 내외용약 구분 전체 체크시
- ****************************************************************************************/
- function fChgDrugkindFlagAll(vFlag) {
- if(utlf_isNull(vFlag)) vFlag = ds_temp_srchinfo.getColumn(0,"drugkindflag_all");
- if(vFlag == "A"){
- var sValue = "1|2";
- ds_temp_srchinfo.setColumn(0,"drugkindflag", sValue);
- group2.checkbox6.setData(sValue.split("|"),null,false);
- } else {
- ds_temp_srchinfo.setColumn(0,"drugkindflag", "");
- group2.checkbox6.setCheckAll(false,false);
- }
- }
- /****************************************************************************************
- * Argument : N/A
- * Description : 내외용약 구분 변경시
- ****************************************************************************************/
- function fChgDrugkindFlag() {
- var sChk = ds_temp_srchinfo.getColumn(0,"drugkindflag");
- if(sChk.length == 3){
- ds_temp_srchinfo.setColumn(0,"drugkindflag_all", "A");
- } else {
- group2.checkbox7.enableevent = false;
- ds_temp_srchinfo.setColumn(0,"drugkindflag_all", "");
- group2.checkbox7.enableevent = true;
- }
- }
- ]]></Script>
|