"use strict";
/**
* mplus_modal_medicationlist
*/
var mplus_modal_medicationlist = function(){
// 상속
mplus_common.call(this);
// 상위 객체 생성
//var mplusPatient = new mplus_mobile_patient();
//var mplusNursing = new mplus_nursing();
//super
var self = this;
//==== 변수 { ====
var varResultLists = [];
//==== 변수 } ====
/**
* 초기화
*/
this.init = function(sendParam){ //여기서 모든화면 콤보박스데이터를 집어넣자!!! 그래야지 화면이동할때 속도가 오래걸리지않음!!!
// 초기 화면 조건 구성
initCondition(sendParam);
// 이벤트 초기화
addEvent();
};
//==== 초기화 설정 { ====
var initCondition = function(sendParam){
$("#divMedicationListResultRows").empty();
varResultLists = [];
// 초기 화면 조건 구성
// 일자 설정
initStartEndDate();
if(sendParam !== undefined && sendParam != null){
//console.log("searchMedicationListPrescriptionCall call!");
searchMedicationListPrescriptionCall(sendParam)
}else{
//console.log("searchMedicationList call!");
searchMedicationList();
}
};
var searchMedicationList = function(){
//7일 이상 차이 날 경우 처리
var varVitalListStartDt = moment($("#txtMedicationListStartDt").val() , "YYYY-MM-DD");
var varVitalListEndDt = moment($("#txtMedicationListEndDt").val() , "YYYY-MM-DD");
//console.log("날짜이동 : " + moment.duration(varVitalListStartDt.diff(varVitalListEndDt , "day")));
/*
if(moment.duration(varVitalListStartDt.diff(varVitalListEndDt , "day")) >= 1 || moment.duration(varVitalListStartDt.diff(varVitalListEndDt , "day")) <= -7){
self.alert("1주 이상 검색할 수 없습니다.");
initStartEndDate();
return;
}
*/
//화면 호출일 경우
var param = {
userId:gLoginUserId,
patientId:gPatientId,
startDt: moment($("#txtMedicationListStartDt").val()).format("YYYYMMDD"),
endDt: moment($("#txtMedicationListEndDt").val()).format("YYYYMMDD"),
prescriptionCd:"%",
prescriptionNo:"%"
};
self.medical.getMedicationList(param, processSearchMedicalInHisList);
};
var searchMedicationListPrescriptionCall = function(sendParam){
if(sendParam === undefined || sendParam == null){
self.alert("데이터 오류입니다. 관리자에게 문의하세요.");
return;
}
//화면 호출일 경우
var param = {
userId:gLoginUserId,
patientId:gPatientId,
startDt: moment(sendParam.medicationSearchDt).format("YYYYMMDD"),
endDt: moment(sendParam.medicationSearchDt).format("YYYYMMDD"),
prescriptionCd:sendParam.prescriptionCd,
prescriptionNo:sendParam.prescriptionNo
};
self.medical.getMedicationList(param, processSearchMedicalInHisList);
};
var processSearchMedicalInHisList = function(lists){
//console.log(JSON.stringify(lists));
varResultLists = lists;
var strDisplayTemp = "";
var varDoseDtTm = "";
var varPrescriptionDtTm = "";
$("#divMedicationListResultRows").empty();
for( var i = 0; i < lists.length; i++){
if(lists[i].doseDtTm != undefined && lists[i].doseDtTm != "" && lists[i].doseDtTm != null) {
varDoseDtTm = moment(lists[i].doseDtTm , "YYYYMMDDhhmmss").format("MM/DD HH:mm");
} else {
varDoseDtTm = lists[i].doseDtTm;
}
if(lists[i].prescriptionDtTm != undefined && lists[i].prescriptionDtTm != "" && lists[i].prescriptionDtTm != null) {
varPrescriptionDtTm = moment(lists[i].prescriptionDtTm , "YYYYMMDDhhmmss").format("YYYY-MM-DD HH:mm:ss");
} else {
varPrescriptionDtTm = lists[i].prescriptionDtTm;
}
strDisplayTemp += "
"
+ "
"
+ "
" + lists[i].prescriptionNo + "
"
+ "
" + lists[i].prescriptionClsNm +"
"
+ "
" + lists[i].prescriptionNm + "
"
+ "
"
+ "
"
// + "
" + ((moment(lists[i].doseDtTm , "YYYYMMDDhhmmss").format("YYYY-MM-DD HH:mm:ss") != "Invalid date") ? moment(lists[i].doseDtTm , "YYYYMMDDhhmmss").format("MM/DD HH:mm") : "-") + "
"
+ "
" + varDoseDtTm + "
"
+ "
" + lists[i].doseQtyPerDay + "/" + lists[i].doseQtyTotal + "
"
+ "
" + lists[i].doseQtyPer1Tim + "
"
+ "
" + lists[i].doseWay + "
"
+ "
"
+ "
"
// + "
" + ((moment(lists[i].prescriptionDtTm , "YYYYMMDDhhmmss").format("YYYY-MM-DD HH:mm:ss") != "Invalid date") ? moment(lists[i].prescriptionDtTm , "YYYYMMDDhhmmss").format("YYYY-MM-DD HH:mm:ss") : "-") + "/" + lists[i].prescriptionDeptNm + "/" + lists[i].prescriptionDoctorNm + "/" + lists[i].doseExecutorNm + "
";
+ "
" + varPrescriptionDtTm + "/" + lists[i].prescriptionDeptNm + "/" + lists[i].prescriptionDoctorNm + "/" + lists[i].doseExecutorNm + "
";
// 2019.05.09 백병원 요구사항으로 약품정보 버튼 미노출
// 20190610 dkchoi75 일산백병원 요구사항으로 약품정보 버튼 노출 Y: 노출 N:미노출
var varDrogInfoButtonYn = "Y";
if(lists[i].prescriptionCd != null && lists[i].prescriptionCd != "" && lists[i].prescriptionCd != "-"){
//if(lists[i].comment != null && lists[i].comment != "" && lists[i].comment != "-" && varDrogInfoButtonYn == "Y"){
strDisplayTemp += "
";
}else{
strDisplayTemp += "
";
}
strDisplayTemp += "
"
+ "
"
;
//console.log( i + " : " + lists[i].deptNm);
}
$("#divMedicationListResultRows").append(strDisplayTemp); // element 추가
//선택이벤트 처리
addEventMedicationListResult();
};
var addEventMedicationListResult = function() {
$("#divMedicationListResultRows .list-group-item").off("click"); // 기존 이벤트 해제
$("#divMedicationListResultRows .list-group-item").on("click", function(e){
//진료기록 조회 리스트 검색 처리
var varPreCnt = e.currentTarget.attributes.listCnt.value;
var varOrderCd = e.currentTarget.attributes.prescriptionCd.value;
var divMedicationId = "#divMedicationListDetail" + varPreCnt;
// 20190610 dkchoi75 일산백병원 약품정보 Naver 연동 서비스 구분 N:Naver, E:내부EMR, K:킴스
var varDrugInfoApi = "N";
//버튼 클릭 이벤트 처리
if((e.target.id).indexOf("btnCallDrugInfo") != -1){
//if(varResultLists[varPreCnt].prescriptionCd != null && varResultLists[varPreCnt].prescriptionCd != "" && varResultLists[varPreCnt].prescriptionCd != "-"){
// if(varResultLists[varPreCnt].comment != null && varResultLists[varPreCnt].comment != "" && varResultLists[varPreCnt].comment != "-"){
//examResultKey의 값을 정확하게 처리해야함!!! 체크바람!
//if(e.target.id == "btnCallDrugInfo" && varOrderCd != null && varOrderCd != ""){//약품정보
if(e.target.id == "btnCallDrugInfo" ){//약품정보
if (varDrugInfoApi == "N") {
var jsonMsg = {
"type":"command",
"functionType":"popup",
"value" : {
"url" : "http://m.terms.naver.com/medicineSearch.nhn?query=" + varResultLists[varPreCnt].comment,
"method": "GET", // Default "GET" ** 2017-10-19 추가
"parameters": "-" // POST 인 경우만, GET 인 경우는 "url" 에 모두 붙여서 전달 ** 2017-10-19 추가
}
};
self.toNative(jsonMsg);
} else if (varDrugInfoApi == "E") {
//console.log("orderCd.value : " + varOrderCd);
mplusModalMedication.init(param);
$("#mplusAlertDrugInfo").modal("show");
//mplusModalExamrsltty1.init(varPrescriptionLists[varPreCnt]);
//self.alert("처방번호 : " + varResultLists[varPreCnt].prescriptionCd);
} else if (varDrugInfoApi == "K") {
// 킴스 연동 부분
}
var param = {
orderCd: varOrderCd
};
}else{//판독결과
self.alert("약품정보가 없습니다.");
// 환자 정보 화면 띄우기
//$("#modalExamRsltTy2").modal("show");
//mplusModalExamrsltty2.init(varPrescriptionLists[varPreCnt]);
//self.alert("처방번호 : " + varResultLists[varPreCnt].prescriptionCd);
}
// }else{
// console.log("prescriptionCd값 확인바람 : " + varResultLists[varPreCnt].prescriptionCd);
// }
return;
}
if( $(divMedicationId).hasClass("hidden")) {
$(divMedicationId).removeClass("hidden");
} else {
$(divMedicationId).addClass("hidden");
}
});
};
var initStartEndDate = function(){
//오늘일자 로드
var varToday = new Date();
//일요일이면 차주 가져오기
//다른 요일이면 해당 요일 처리
//$("#txtMedicationListEndDt").val( moment(varToday).format("YYYY-MM-DD") );
//varToday.setMonth(varToday.getMonth() - 1);
//varToday.setDate(varToday.getDate() - 1);
//$("#txtMedicationListStartDt").val( moment(varToday).format("YYYY-MM-DD") );
$("#txtMedicationListEndDt").val( moment(varToday).format("YYYY-MM-DD") );
$("#txtMedicationListStartDt").val( moment().subtract(1, 'months').format("YYYY-MM-DD") );
};
//==== 초기화 설정 } ====
//==== 이벤트 설정 { ====
var addEvent = function(){
//$("#btnLogout").on("click", function(){
// logout();
//});
eventColumnClick();
eventRowClick();
eventConditionClick();
};
var eventConditionClick = function(){
// 1일 버튼클릭
$("#btnMedicationListOneDaySearch").off('click'); // 기존 이벤트 해제
$("#btnMedicationListOneDaySearch").on('click', function(e){
$("#txtMedicationListStartDt").val( moment().subtract(1, 'days').format("YYYY-MM-DD") );
searchMedicationList();
});
// 1주 버튼클릭
/*
$("#btnMedicationListOneWeekSearch").off('click'); // 기존 이벤트 해제
$("#btnMedicationListOneWeekSearch").on('click', function(e){
var varSelDate = new Date($("#txtMedicationListEndDt").val());
varSelDate.setDate(varSelDate.getDate() - 6);
//varSelDate.setMonth(varSelDate.getMonth() - 3);
$("#txtMedicationListStartDt").val( moment(varSelDate).format("YYYY-MM-DD") );
});
*/
// 1달 버튼클릭
$("#btnMedicationListOneMonthSearch").off("click"); // 기존 이벤트 해제
$("#btnMedicationListOneMonthSearch").on("click", function(e){
$("#txtMedicationListStartDt").val( moment().subtract(1, 'months').format("YYYY-MM-DD") );
searchMedicationList();
});
// 3달 버튼클릭
$("#btnMedicationListThreeMonthSearch").off('click'); // 기존 이벤트 해제
$("#btnMedicationListThreeMonthSearch").on('click', function(e){
$("#txtMedicationListStartDt").val( moment().subtract(3, 'months').format("YYYY-MM-DD") );
searchMedicationList();
});
// 조회버튼
$("#btnMedicationListSearch").off('click'); // 기존 이벤트 해제
$("#btnMedicationListSearch").on('click', function(e){
//로우 초기화
$("#divMedicationListResultRows").empty();
searchMedicationList();
});
};
var eventColumnClick = function(){
};
var eventRowClick = function(){
};
//==== 이벤트 설정 } ====
//==== 서비스 실행 { ====
//==== 서비스 실행 { ====
};