123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : KNUH2.0
- * Job Name : EMR
- * Creator :
- * Make Date : 2015-02-09
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2015-02-09 Live Converter TF->XP
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- var xSortCol = -1;
- var xSortType = "";
- var arErrorCode = new HashArray();
- //=======================================================================================
- // Function
- //---------------------------------------------------------------------------------------
- /****************************************************************************************
- * Function : fInitOnCall
- * Description : On Call 신청화면 초기화
- * Argument : flag : 화면구분 flag(A:신청, R:도착, E:종료, P:결재/접수, S:집계)
- * return type :
- * Creator :
- ****************************************************************************************/
- function fInitOnCall(flag){
- ds_main_cond.setColumn(0,"condflag", flag);
-
- if( flag == "P" ){ //결재(접수) 화면
- ds_main_cond.setColumn(0,"condkind", "R");
- ds_main_cond.setColumn(0,"condacpt", "-");
- ds_main_cond.setColumn(0,"sortkind", "D");
- ds_main_cond.setColumn(0,"patflagcd", "-");
-
- fInitMngtOnCall(flag);
- fGetAfterOnCallList();
-
- }else if( flag == "S" ){ //집계 화면
- fInitMngtOnCall(flag);
- fGetSumOnCallList();
-
- var DayOfWeek = ds_main_oncalllist_month.getColumn(0,"day");
- if(!utlf_isNull(DayOfWeek)){
- //var Caption = "구분^calldeptcd^진료과^성명^사번^01^02^03^04^05^06^07^08^09^10^11^12^13^14^15^16^17^18^19^20^21^22^23^24^25^26^27^28^29^30^31|구분^calldeptcd^진료과^성명^사번^" + DayOfWeek;
- var Caption = DayOfWeek;
- s_Caption = Caption.split("^");
- var j = 36; // 그리드 셀 수 고정됨 merge작업 때문에 고정값으로 줌. 추후 문제 시 수정필요 2019-04-15 이아영
- for(var i = 0; i < s_Caption.length; i++)
- {
- grd_oncalllist.setCellProperty("Head", j, "text", s_Caption[i]);
- j++;
- }
- }
- }else if( flag == "T" ){ //통계조회 화면
- fInitMngtOnCall(flag);
- fGetStatsOnCallList()
- }else if( flag == "V" ){ //통계조회 화면
- //fGetStatsOnCallList()
- //call 진료과 리스트를 조회;
- // mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept" , "D");
- lf_mmbfGetDeptCodeComboList(ds_init_orddept, "D");
-
- // 요청서: 20181224015
- var nRowCnt = ds_init_orddept.rowcount;
- ds_init_orddept.addRow();
- ds_init_orddept.setColumn(nRowCnt, "deptcd", "2200000000");
- ds_init_orddept.setColumn(nRowCnt, "depthngnm", "진단검사의학과");
- ds_init_orddept.setColumn(nRowCnt, "deptengabbr", "LM");
-
- ds_init_orddept.addRow();
- ds_init_orddept.setColumn(nRowCnt+1, "deptcd", "2210000000");
- ds_init_orddept.setColumn(nRowCnt+1, "depthngnm", "병리과");
- ds_init_orddept.setColumn(nRowCnt+1, "deptengabbr", "PATH");
-
- fInitMngtOnCall(flag);
- }else{ //신청-도착-완료 화면
- //call 진료과 리스트를 조회
- // mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept" , "D");
- lf_mmbfGetDeptCodeComboList(ds_init_orddept, "D");
-
- // 요청서: 20181224015
- var nRowCnt = ds_init_orddept.rowcount;
- ds_init_orddept.addRow();
- ds_init_orddept.setColumn(nRowCnt, "deptcd", "2200000000");
- ds_init_orddept.setColumn(nRowCnt, "depthngnm", "진단검사의학과");
- ds_init_orddept.setColumn(nRowCnt, "deptengabbr", "LM");
-
- ds_init_orddept.addRow();
- ds_init_orddept.setColumn(nRowCnt+1, "deptcd", "2210000000");
- ds_init_orddept.setColumn(nRowCnt+1, "depthngnm", "병리과");
- ds_init_orddept.setColumn(nRowCnt+1, "deptengabbr", "PATH");
-
- //각 화면의 초기화
- if( flag == "A" ){
- fInitAppOnCall();
- ds_main_oncallinfo.setColumn(0,"patflagcd",frmf_getMenuParam());
- }else{
- fInitMngtOnCall(flag);
- }
- //환자별 신청내역 조회
- fGetOnCallList();
- }
- }
- /****************************************************************************************
- * Function : fInitOnCall
- * Description : On Call 신청화면 초기화
- * Argument : flag : 화면구분 flag(A:신청, R:도착, E:종료, P:결재/접수, S:집계)
- * return type :
- * Creator :
- ****************************************************************************************/
- function fInitMngtOnCall(flag){
- var curDD = utlf_getCurrentDate();
-
- if( flag == "S" ){
- ds_main_cond.setColumn(0,"basemm" , curDD.substring(0,6)); //집계화면은 조회월 초기화
- }else if( flag == "T" ){
- ds_main_cond.setColumn(0,"fromdd" , utlf_getNewDate().getAddDate(-1, "M").getDateFormat("YYYYMMDD"));
- ds_main_cond.setColumn(0,"todd" , curDD);
- }else{
- ds_main_cond.setColumn(0,"fromdd" , curDD);
- ds_main_cond.setColumn(0,"todd" , curDD);
- }
-
- if( flag == "R" ){
- ds_main_cond.setColumn(0,"codnstat" , "A"); //도착화면은 신청내역 조회
- ds_main_oncallinfo.setColumn(0,"arvdd", curDD);
- }else if( flag == "E" ){
- ds_main_cond.setColumn(0,"codnstat" , "R"); //완료화면은 도착내역 조회
- ds_main_oncallinfo.setColumn(0,"enddd", curDD);
- }
-
- // 현행화 15.06.01 start
- if( flag == "P" ) { // 온콜 내역화면
- if(lf_ContainsHardCD("490", sysf_getUserInfo( "dutplcecd" ))) { // 저장버튼 활성화 부서
- btn_save.enable = true;
- } else {
- btn_save.enable = false;
- }
- }
- // 현행화 15.06.01 end
- }
- /****************************************************************************************
- * Function : fGetAfterOnCallList
- * Description : 등록기간/시작시간 기준 OnCall 전체 리스트를 조회한다.
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fGetAfterOnCallList(){
- var oParam = {};
- oParam.id = "TRMMO33501";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetAfterOnCallList";
- oParam.inds = "req=ds_main_cond";
- oParam.outds = "ds_main_oncalllist_info=info";
- oParam.async = false;
- oParam.callback = "cb_TRMMO33501";
- tranf_submit(oParam);
- }
- function cb_TRMMO33501(sSvcId, nErrorCode, sErrorMsg)
- {
- if(nErrorCode < 0) return;
- ds_main_oncalllist_info.addColumn("chk1", "string");
- ds_main_oncalllist_info.addColumn("chk2", "string");
- ds_main_oncalllist_info.addColumn("chk3", "string");
- ds_main_oncalllist_info.addColumn("chk4", "string");
- ds_main_oncalllist_info.addColumn("chk5", "string");
- for(var iIndex = 0 ; iIndex < ds_main_oncalllist_info.rowcount ; iIndex++)
- {
- if(!utlf_isNull(ds_main_oncalllist_info.getColumn(iIndex, "checkyn")))
- {
- var arrData = ds_main_oncalllist_info.getColumn(iIndex, "checkyn").split(" ");
- for(var yIndex = 0 ; yIndex < arrData.length ; yIndex++)
- {
- if(arrData[yIndex] == 1)
- {
- ds_main_oncalllist_info.setColumn(iIndex, "chk1", "Y");
- }
- else if(arrData[yIndex] == 2)
- {
- ds_main_oncalllist_info.setColumn(iIndex, "chk2", "Y");
- }
- else if(arrData[yIndex] == 3)
- {
- ds_main_oncalllist_info.setColumn(iIndex, "chk3", "Y");
- }
- else if(arrData[yIndex] == 4)
- {
- ds_main_oncalllist_info.setColumn(iIndex, "chk4", "Y");
- }
- else if(arrData[yIndex] == 5)
- {
- ds_main_oncalllist_info.setColumn(iIndex, "chk5", "Y");
- }
- }
- }
- }
-
- }
- /****************************************************************************************
- * Function : fGetSumOnCallList
- * Description : 월별 On Call 수당지급내역을 조회한다.
- * : fromdd:기간 시작일자, todd:기간 종료일자, condstat:환자상태 조건
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fGetSumOnCallList(){
- var oParam = {};
- oParam.id = "TRMMO33601";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetSumOnCallList";
- oParam.inds = "req=ds_main_cond";
- oParam.outds = "ds_main_oncalllist_month=month ds_main_oncalllist_info=info";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : fGetSumOnCallList
- * Description : 월별 직급별 On Call 통계를 조회한다.
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fGetStatsOnCallList(){
- var oParam = {};
- oParam.id = "TRMMO33701";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetOnCallStatsList";
- oParam.inds = "req=ds_main_cond";
- oParam.outds = "ds_main_oncalllist_info=info";
- oParam.async = false;
- oParam.callback = "cf_TRMMO33701";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : cf_TRMMO33701
- * Description : TRMMO33701 콜백함수
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_TRMMO33701(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- for(var i = 0 ; i < ds_main_oncalllist_info.rowcount ; i++) {
- dsf_makeValue(ds_main_oncalllist_info,"cnt3" ,"string",ds_main_oncalllist_info.getColumn(i,"cnt2"));
- dsf_makeValue(ds_main_oncalllist_info,"rate3","string",ds_main_oncalllist_info.getColumn(i,"rate2"));
- }
- }
- /****************************************************************************************
- * Function : fInitAppOnCall
- * Description : 신청화면 초기화
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fInitAppOnCall(){
- //로그인한 사용자 정보
- var userid = sysf_getUserInfo("userid");
- var dutplcecd = sysf_getUserInfo("dutplcecd");
- ds_main_userinfo.setColumn(0,"orddrid" , userid);
- ds_main_userinfo.setColumn(0,"orddeptcd", dutplcecd);
- ds_main_userinfo.setColumn(0,"orddrnm" , sysf_getUserInfo("usernm"));
- ds_main_userinfo.setColumn(0,"orddeptnm", sysf_getUserInfo("dutplcenm"));
- ds_main_userinfo.setColumn(0,"mpphonno" , sysf_getUserInfo("mpphonno"));
- ds_main_userinfo.setColumn(0,"pdano" , sysf_getUserInfo("pdano"));
-
- //신청자 정보
- ds_main_oncallinfo.setColumn(0,"apporddrid" , userid);
- ds_main_oncallinfo.setColumn(0,"appdeptcd" , dutplcecd);
- ds_main_oncallinfo.setColumn(0,"appmpphonno", ds_main_userinfo.getColumn(0,"mpphonno"));
-
- //상단 환자정보
- var pid = appf_getPatientInfo("pid");
- if( !utlf_isNull(pid) ){
- ds_main_oncallinfo.setColumn(0,"pid" , pid);
- ds_main_oncallinfo.setColumn(0,"hngnm" , appf_getPatientInfo("pname"));
- //model.setValue("/root/main/oncallinfo/rrgstno", getPatientInfoDetail("rrgstno1") + "-" + getPatientInfoDetail("rrgstno2"));
-
- ds_main_cond.setColumn(0,"condpid" , pid);
- }else{
- ds_main_cond.setColumn(0,"condpid" , "-");
- }
- }
- /****************************************************************************************
- * Function : fGetOnCallList
- * Description : 환자별 OnCall 리스트를 조회한다.
- * : fromdd:기간 시작일자, todd:기간 종료일자, condstat:환자상태 조건
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fGetOnCallList(){
- var oParam = {};
- oParam.id = "TRMMO33201";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetOnCallList";
- oParam.inds = "req=ds_main_cond";
- oParam.outds = "ds_main_oncalllist_info=info";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : fGetPatBaseInfo
- * Description : 환자기본정보 조회
- * Argument : pid : 등록번호
- * : stnddd : 기준일자
- * return type :
- * Creator :
- ****************************************************************************************/
- function fGetPatBaseInfo(){
- var pid = ipt_pid.text;
- ds_main_oncallinfo.setColumn(0,"pid", pid);
-
- var oParam = {};
- oParam.id = "TRMMO33202";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetPatBaseInfo";
- oParam.inds = "req=ds_main_oncallinfo";
- oParam.outds = "ds_temp_patinfo=info";
- oParam.async = false;
- oParam.callback = "cf_TRMMO33202";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO33202") > -1){
- if(!utlf_isNull(pid)){
- ds_main_oncallinfo.setColumn(0,"pid" , pid);
- ds_main_oncallinfo.setColumn(0,"hngnm" , ds_temp_patinfo.getColumn(0,"hngnm"));
- //model.setValue("/root/main/oncallinfo/rrgstno", model.getValue("/root/temp/patinfo/info/rrgstno"));
-
- ds_main_cond.setColumn(0,"condpid" , pid);
- fGetOnCallList();
-
- }else{
- ds_main_oncallinfo.setColumn(0,"pid" , "");
- ds_main_oncallinfo.setColumn(0,"hngnm" , "");
- //model.setValue("/root/main/oncallinfo/rrgstno", "");
- }
- }
- }
- /****************************************************************************************
- * Function : cf_TRMMO33202
- * Description : TRMMO33202 콜백함수
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_TRMMO33202(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /****************************************************************************************
- * Function : fGetOrdDrList
- * Description : 진료과 선택 시 해당과 진료의 리스트를 조회한다.
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fGetOrdDrList(){
- // mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist" , cmb_orddept.value, "0330", "", "M");
- ds_main_oncallinfo.setColumn(0,"calldeptnm", cmb_orddept.text);
- lf_mmbfGetUserComboList(ds_init_userlist, cmb_orddept.value, "0330", "", "M");
- }
- /****************************************************************************************
- * Function : fGetUserCallInfo
- * Description : 진료의 선택시 oncall 정보 조회
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fGetUserCallInfo(){
- ds_main_oncallinfo.setColumn(0,"calldrnm", cmb_orddr.text);
- var oParam = {};
- oParam.id = "TRMMO33203";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetUserMpphonNo";
- oParam.inds = "req=ds_main_oncallinfo";
- oParam.outds = "ds_temp_callinfo=info";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : fGetOnCallInfo
- * Description : On Call 리스트 중 선택한 정보를 화면에 display한다.
- * Argument : flag : 화면구분 flag(A:신청, R:도착, E:종료, P:결재/접수, S:집계)
- * return type :
- * Creator :
- ****************************************************************************************/
- function fGetOnCallInfo(flag){
- var iRow = ds_main_oncalllist_info.rowposition;
- if(iRow < 0 ) return;
- ds_main_oncallinfo.copyRow(0,ds_main_oncalllist_info,iRow);
- fGetOrdDrList();
- // if(flag == "R"){
- // }else
- if(flag == "R"){
- var curDD = utlf_getCurrentDate();
- var curTM = utlf_getCurrentTime();
-
- if( ds_main_oncallinfo.getColumn(0,"arvdd") == "00000000" ){
- ds_main_oncallinfo.setColumn(0,"arvdd", curDD);
- }
- if( ds_main_oncallinfo.getColumn(0,"arvtm") == "000000" || ds_main_oncallinfo.getColumn(0,"arvtm") == "0000" ){
- ds_main_oncallinfo.setColumn(0,"arvtm", curTM);
- }
- }else if(flag == "E"){
- var curDD = utlf_getCurrentDate();
- var curTM = utlf_getCurrentTime();
- if( ds_main_oncallinfo.getColumn(0,"enddd") == "00000000" ){
- ds_main_oncallinfo.setColumn(0,"enddd", curDD);
- }
- if( ds_main_oncallinfo.getColumn(0,"endtm") == "000000" || ds_main_oncallinfo.getColumn(0,"endtm") == "0000" ){
- ds_main_oncallinfo.setColumn(0,"endtm", curTM);
- }
- }
-
- if( ds_main_oncallinfo.getColumn(0,"arvdd") == "00000000" ){
- ds_main_oncallinfo.setColumn(0,"arvdd", "");
- }
-
- //20171031 이돈희 추가 : 작성여부 값을 체크리스트에 반영
- //기본으로 체크 해제
- cp_checkboxList_checklist.setCheckAll(false,false);
- if(!utlf_isNull(ds_main_oncallinfo.getColumn(0, "checkyn")))
- {
- cp_checkboxList_checklist.setData(ds_main_oncallinfo.getColumn(0, "checkyn").split(" "), "",false);
-
-
- if(ds_main_oncallinfo.getColumn(0, "checkyn").indexOf("5") != -1)
- {
- Edit_checklistETC.enable = true;
- }
- }
-
- }
- /****************************************************************************************
- * Function : fSaveOnCallInfo
- * Description : On Call 정보를 저장한다.
- * Argument : flag : 화면구분 flag(A:신청, R:도착, E:종료, P:결재/접수, S:집계)
- * return type :
- * Creator :
- ****************************************************************************************/
- function fSaveOnCallInfo(flag){
- if( flag == "P" ){
- // copyNodeType("/root/send/savedata", "/root/main/oncalllist", "replace");
- ds_send_savedata.copyData(ds_main_oncalllist_info);
- }else{
- var appSeq = ds_main_oncallinfo.getColumn(0,"appseq");
- var statCd = ds_main_oncallinfo.getColumn(0,"statcd");
- var acptYn = ds_main_oncallinfo.getColumn(0,"acptyn");
-
- if(acptYn == "Y"){
- sysf_messageBox("결재가 완료되어 수정할 수 없습니다","I");
- return;
- }
-
- if( flag == "A" ){ //필수값 체크 (신청 화면)
- if ( ! frmf_chkMdt(["ipt_pid", "ipt_hngnm", "ipt_appmpphonno", "rdo_patflagcd", "cmb_orddept", "cmb_orddr"]
- ,["환자번호","성명","신청 전화번호","환자구분","진료과","진료의사"]) ) return false;
- ds_main_oncallinfo.setColumn(0,"statcd" , "A");
- if( utlf_isNull(appSeq) ){
- ds_main_oncallinfo.setColumn(0,"saveflag", "I");
- }else{
- ds_main_oncallinfo.setColumn(0,"saveflag", "U");
- }
- //alert(ds_main_oncallinfo.getColumn(0,"saveflag"));
- } else if( flag == "R" ){ //필수값 체크 (도착 화면)
- if(utlf_isNull(ds_main_oncallinfo.getColumn(0,"appseq"))){
- sysf_messageBox("신청내역을 선택하십시오.","I");
- return;
- }
-
- if ( ! frmf_chkMdt(["ipt_arvdd", "ipt_arvtm"]
- ,["도착일자","도착시간"]) ) return false;
-
- // 허만호, 2015.07.28 소스현행화 s
- var sCurrentDate = utlf_getCurrentDate();
- var appdt = ds_main_oncallinfo.getColumn(0, "appdt");
- // 허만호, 2015.07.28 소스현행화 e
- var arvdd = ds_main_oncallinfo.getColumn(0,"arvdd");
- var arvtm = ds_main_oncallinfo.getColumn(0,"arvtm");
- if(arvdd == "00000000" || utlf_isNull(arvdd)){
- sysf_messageBox("도착일자를 정확히 입력하십시오.","I");
- return;
- }
- if( arvtm.getByteLength() < 4 ){
- sysf_messageBox("도착시간을 4자리 이상 입력하십시오.","I");
- return;
- }else{
- arvtm = arvtm.getRightPad(6, "0");
- }
-
- if(!utlf_isValidDateTime(arvdd+arvtm, "YYYYMMDDhhmmss")) {
- sysf_messageBox("도착일시가 날짜형식이 아닙니다.","I");
- return;
- }
-
- if( utlf_isNull(statCd) || statCd == "E" ){
- sysf_messageBox("수정할 수 없는 상태입니다.","I");
- return;
- }
-
- // 허만호, 2015.07.28 소스현행화 s
- if(appdt.substr(0,6) != sCurrentDate.substr(0,6)) { // 이전달 신청내용은 이번달 5일까지만 수정 가능 하도록 요청번호 20150707019 2015.07.20 엄영만
- if(sCurrentDate.substr(0,6) + "05" < sCurrentDate) {
- sysf_messageBox("이전달 신청항목은 이번달 5일이후 수정이 불가능 합니다","E");
- return;
- }
- }
- // 허만호, 2015.07.28 소스현행화 e
-
- //도착시간에 대한 수정하는 경우, 권한과 시간 체크
- if( ds_main_oncallinfo.getColumn(0,"endrgstdt") != "00000000000000" && sysf_getUserInfo("dutplcecd") != "3310000000" && sysf_getUserInfo("userid") != ds_main_oncallinfo.getColumn(0,"calldrid")){ //진료행정팀이나 진료의가 아닌 경우
- sysf_messageBox("해당 진료의가 아니면 수정 불가능합니다.","I");
- return;
- }
-
- ds_main_oncallinfo.setColumn(0,"arvdt" , arvdd + arvtm);
- ds_main_oncallinfo.setColumn(0,"saveflag", "U");
- ds_main_oncallinfo.setColumn(0,"statcd" , "R");
- } else if( flag == "E" ){ //필수값 체크 (종료 화면)
- if(utlf_isNull(ds_main_oncallinfo.getColumn(0,"appseq"))){
- sysf_messageBox("신청내역을 선택하십시오.","I");
- return;
- }
-
-
- if ( ! frmf_chkMdt(["ipt_arvdd", "ipt_arvtm", "ipt_enddd", "ipt_endtm"]
- ,["도착일자","도착시간","완료일자","완료시간"])) return false;
-
- // 허만호, 2015.07.28 소스현행화 s
- var sCurrentDate = utlf_getCurrentDate();
- var appdt = ds_main_oncallinfo.getColumn(0, "appdt");
- // 허만호, 2015.07.28 소스현행화 e
- var arvdd = ds_main_oncallinfo.getColumn(0,"arvdd");
- var arvtm = ds_main_oncallinfo.getColumn(0,"arvtm");
- var enddd = ds_main_oncallinfo.getColumn(0,"enddd");
- var endtm = ds_main_oncallinfo.getColumn(0,"endtm");
- var checkyn = ds_main_oncallinfo.getColumn(0, "checkyn");
- var checkynetc = ds_main_oncallinfo.getColumn(0, "checkynetc");
-
-
- if( arvdd.getByteLength() < 6){
- sysf_messageBox("도착시간을 6자리 이상 입력하십시오.","I");
- return;
- }
-
- if( arvtm.getByteLength() < 4 ){
- sysf_messageBox("도착시간을 4자리 이상 입력하십시오.","I");
- return;
- }else{
- arvtm = arvtm.getRightPad(6, "0");
- }
-
- if(enddd == "00000000"){
- sysf_messageBox("완료일자를 정확히 입력하십시오.","I");
- return;
- }
-
- if( endtm.getByteLength() < 4 ){
- sysf_messageBox("완료시간을 4자리 이상 입력하십시오.","I");
- return;
- }else{
- endtm = endtm.getRightPad(6, "0");
- }
-
- if(!utlf_isValidDateTime(arvdd+arvtm, "YYYYMMDDhhmmss")) {
- sysf_messageBox("도착일시가 날짜형식이 아닙니다.","I");
- return;
- }
-
- if(!utlf_isValidDateTime(enddd+endtm, "YYYYMMDDhhmmss")) {
- sysf_messageBox("완료일시가 날짜형식이 아닙니다.","I");
- return;
- }
-
-
- if( utlf_isNull(statCd) || statCd == "A" ){
- sysf_messageBox("완료할 수 없는 상태입니다.","I");
- return;
- }
-
-
- //201711001 이돈희 추가 : 이순희선생님 요청으로 칠곡인 경우 비활성화
- var instcd = sysf_getUserInfo("dutplceinstcd");
- if(instcd == "031")
- {
- //20171030 이돈희 추가 : 완료시간이 도착시간보다 이전일인 경우 저장 안됨(요청번호 : 20171016008)
- if((arvdd+arvtm)>(enddd+endtm))
- {
- sysf_messageBox("완료시간은 도착시간보다 미래시간을 입력하십시오.", "I");
- return;
- }
-
- //20171031 이돈희 추가
- //이순희 선생님 요청사항 : 작성여부의 수술기록(1), 시술기록(2), 경과기록(3), 마취기록(4), 기타(5) 중
- // 체크된것이 있는 경우 저장 가능
- if(utlf_isNull(checkyn))
- {
- sysf_messageBox("작성여부를 체크하여 주십시오.", "I");
- return;
- }
-
- //20171101 이돈희 추가
- //이순희 선생님 요청사항 : 작성여부의 기타(5)가 체크된 경우 기타 에디트가 작성안된 경우 저장 안되도록 수정
- if(checkyn.indexOf("5") != -1)
- {
- if(utlf_isNull(checkynetc))
- {
- sysf_messageBox("작성여부의 기타란을 작성하여 주십시오.", "I");
- return;
- }
- }
- }
-
-
-
- // 허만호, 2015.07.28 소스현행화 s
- if(appdt.substr(0,6) != sCurrentDate.substr(0,6)) { // 이전달 신청내용은 이번달 5일까지만 수정 가능 하도록 요청번호 20150707019 2015.07.20 엄영만
- if(sCurrentDate.substr(0,6) + "05" < sCurrentDate) {
- sysf_messageBox("이전달 신청항목은 이번달 5일이후 수정이 불가능 합니다","E");
- return;
- }
- }
- // 허만호, 2015.07.28 소스현행화 e
-
- //완료시간에 대한 수정하는 경우, 권한과 시간 체크
- if( ds_main_oncallinfo.getColumn(0,"endrgstdt") != "00000000000000" && sysf_getUserInfo("dutplcecd") != "3310000000" && sysf_getUserInfo("userid") != ds_main_oncallinfo.getColumn(0,"calldrid")){ //진료행정팀이나 진료의가 아닌 경우
- sysf_messageBox("해당 진료의가 아니면 수정 불가능합니다.","I");
- return;
- }
- ds_main_oncallinfo.setColumn(0,"arvdt" , arvdd + arvtm);
- ds_main_oncallinfo.setColumn(0,"enddt" , enddd + endtm);
- ds_main_oncallinfo.setColumn(0,"saveflag", "U");
- ds_main_oncallinfo.setColumn(0,"statcd" , "E");
-
- } else if ( flag == "X" ){ // 삭제처리
- if(utlf_isNull(ds_main_oncallinfo.getColumn(0,"appseq"))){
- sysf_messageBox("삭제 항목을 선택하십시오.","I");
- return;
- }
-
- if( utlf_isNull(statCd) || statCd == "A" ){
- sysf_messageBox("삭제할 수 없는 상태입니다.","I");
- return;
- }
-
- //완료시간에 대한 수정하는 경우, 권한과 시간 체크
- if( sysf_getUserInfo("dutplcecd") != "3310000000" && sysf_getUserInfo("userid") != ds_main_oncallinfo.getColumn(0,"calldrid")){ //진료행정팀이나 진료의가 아닌 경우
- sysf_messageBox("해당 진료의가 아니면 삭제 불가능합니다.","I");
- return;
- }
-
- if ( sysf_messageBox ( "삭제 하시겠습니까?","Q") != "6" ) {
- return;
- }
-
- ds_main_oncallinfo.setColumn(0,"arvdt" , "");
- ds_main_oncallinfo.setColumn(0,"enddt" , "");
- ds_main_oncallinfo.setColumn(0,"saveflag", "D");
- ds_main_oncallinfo.setColumn(0,"statcd" , "X");
- }
-
- // model.copyNode("/root/send/savedata", "/root/main/oncallinfo");
- ds_send_savedata.copyData(ds_main_oncallinfo);
- } //end else
-
- // model.removeNode("/root/send/reqdata");
- // model.makeNode("/root/send/reqdata");
- // model.copyNode("/root/send/reqdata", "/root/main/cond");
- ds_send_reqdata.clear();
- ds_send_reqdata.copyData(ds_main_cond);
- //저장
- var oParam = {};
- oParam.id = "TXMMO33201";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqExeOnCallInfo";
- oParam.inds = "req=ds_send_reqdata oncallinfo=ds_send_savedata";
- oParam.outds = "ds_main_oncalllist_info=info";
- oParam.async = false;
- oParam.callback = "cf_TXMMO33201";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TXMMO33201") > -1){
- //신청 후에 메세지 보여줌
- if( flag == "A" ){
- if (ds_main_oncallinfo.getColumn(0, "sendsmsyn") == "Y") {
- mpphonno = ds_temp_callinfo.getColumn(0,"mpphonno");
- sysf_messageBox( mpphonno + " 번호로 SMS 전송되었습니다." ,"I");
- } else {
- sysf_messageBox("저장 되었습니다." ,"I");
- }
- } else if( flag == "X" ){
- ds_main_oncallinfo.clearData();
- }
-
- }else{
- ds_main_oncallinfo.setColumn(0,"saveflag","I");
- }
- }
- /****************************************************************************************
- * Function : cf_TXMMO33201
- * Description : TXMMO33201 콜백함수
- * Argument :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_TXMMO33201(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /****************************************************************************************
- * Function : fGetOrdDrList1
- * Description : 진료과별 진료의 조회
- * Argument : retValue : 과코드
- * return type :
- * Creator :
- ****************************************************************************************/
- function fGetOrdDrList1(retValue){
- lf_mmbfGetUserComboList(ds_init_userlist, retValue, "0330", "", "M", "", "", "", "", "");
- }
- /****************************************************************************************
- * Function : fSaveSumOnCall
- * Description : 월별 On Call 수당을 집계한다.
- * Argument :
- * return type :
- * Creator : 이아영
- ****************************************************************************************/
- function fSaveSumOnCall()
- {
- var oParam = {};
- oParam.id = "TRMMO33601";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqExeSumOnCallList";
- oParam.inds = "req=ds_main_cond";
- oParam.outds = "ds_main_oncalllist_month=month ds_main_oncalllist_info=info";
- oParam.async = false;
- oParam.callback = "cf_TRMMO33601";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRMMO33601") > -1)
- {
- alert("집계가 완료되었습니다.");
- }
- }
- /****************************************************************************************
- * Function : cf_TRMMO33601
- * Description : TRMMO33601 콜백함수
- * Argument :
- * return type :
- * Creator : 이아영
- ****************************************************************************************/
- function cf_TRMMO33601(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }]]></Script>
|