先寫輸入框:
<label class="col-md-1 control-label" for="txtRDKeyWord">關(guān)鍵字</label>
<div class="col-md-9">
<input type="text" id="txtRDKeyWord" class="form-control" autocomplete="off" placeholder="請(qǐng)輸入病歷號(hào)/門診號(hào)關(guān)鍵字"/>
</div>
<div class="col-sm-2">
<button id="btnRDSearch" class="btn btn-block btn-pink">搜索</button>
</div>
按鈕觸發(fā)事件及function方法(window.open為打開新的頁面具體頁面后續(xù)):
$("#btnRDSearch").click(reserveDetail.loadReserve);
//搜索關(guān)鍵字
reserveDetail.loadReserve = function(){
var sUrl = "reserveAction_loadReserve";
var objParams = { "hasLoading": false, "cvoParameter.keyWord": $("#txtRDKeyWord").val()};
commonJs.openAjax(sUrl, objParams,function(data){
if (!data.success) {
commonJs.openDialog("error", data.message);
} else {
var lstResult = data.lstResult;
if (typeof(lstResult) =="undefined") {
commonJs.openDialog("error", "無查詢結(jié)果請(qǐng)重新輸入!");
} else {
if (lstResult.length == 1) {
var sId = lstResult[0].id;
var sMrn = lstResult[0].medicalRecordNumber;
var sCn = lstResult[0].clinicNumber;
var sOrderId = lstResult[0].orderId;
var sTargetId = lstResult[0].targetId;
window.open(BASE_PATH + "/spv2/nurse/reserve/reserve_detail.jsp?id="+sId+"&mrn="+sMrn+"&cn="+sCn+"&oid="+sOrderId+"&tid="+sTargetId);
} else if (lstResult.length > 1){
commonJs.openDialog("warning","查詢數(shù)據(jù)條數(shù)為"+lstResult.length+",請(qǐng)重新輸入蛔糯!");
return;
}
}
}
});
}
在commonJs中已經(jīng)封裝好openAjax拯腮、openDialog方法了:
//打開ajax請(qǐng)求(請(qǐng)求地址, 參數(shù), 成功后回調(diào)的函數(shù), 失敗后回調(diào)的函數(shù))
commonJs.openAjax = function(sUrl, vParams, funSuccess, funError) {
if (sUrl == null || sUrl == '') return false;
// 默認(rèn)顯示加載層,如果不需要蚁飒,請(qǐng)?jiān)O(shè)置vParams.hasLoading為false
var hasLoading = true;
if (vParams != null && vParams.hasLoading == false) { hasLoading = false; }
if (hasLoading) { commonJs.openLoadDialog(); }
$.ajax({
url: sUrl,
data: vParams,
type: 'POST',
dataType: 'json',// xml,html,script,json,jsonp
timeout: 30 * 60 * 1000,
success: function(data) {
if (hasLoading) { commonJs.closeLoadDialog(); }
if (data != null && data.code == "login"){
commonJs.openDialog("error", data.message, function(){
location.href = BASE_PATH + "/spv2/login.jsp?returnUrl=" + commonJs.enReturnUrl();
});
}else{
funSuccess(data);
}
},
error: funError
});
};
// 打開頁面對(duì)話框
commonJs.openPageDialog = function(par) {
if (par != null && par.closable == null) { par.closable = false; }
if (par != null && par.lg != null && par.lg == true) {
par.lg = BootstrapDialog.SIZE_WIDE;
} else {
par.lg = BootstrapDialog.SIZE_NORMAL;
}
var dialog = new BootstrapDialog({
id: par.id,// 窗口id
title: par.title,// 標(biāo)題
size: par.lg,// 是否大窗口
closable: par.closable,// 是否可關(guān)閉(默認(rèn)為不關(guān)閉)
closeByKeyboard: par.closable,// 是否可用Esc關(guān)閉窗口(與closable一致)
message: function(dialog) {
var $message = $('<div><i class="fa fa-spinner fa-spin loading" style="font-size:24px;"></i><span style="font-size:16px;">?加載中动壤,請(qǐng)稍候...</span></div>');
setTimeout(function() {
if (par.url == null || par.url == '') return;
if (par.url.indexOf('?') > -1) {
// par.url += '&ran=' + Math.random();
} else {
// par.url += '?ran=' + Math.random();
}
$message.load(par.url, par.data, function() { });
}, 500);
return $message;
},
buttons: par.buttons
}).open();
return dialog;
}
編寫action方法:
IReserve funReserve = FunFactory.getReserve();
/**
* 加載預(yù)約就診客戶
* @return
*/
@IAccess(competenceNumber = { GlobalCache.UserRole.SPD }, returnFormat = GlobalCache.JSON)
public void loadReserve() {
MessageVo mvoResult = new MessageVo();
CommonVo cvoParams = getCvoParameter();
if ("".equals(cvoParams.getKeyWord()) || cvoParams.getKeyWord() == null) {
mvoResult.setSuccess(false);
mvoResult.setMessage("輸入關(guān)鍵字不能為空!");
} else {
mvoResult = funReserve.pageListReserve(cvoParams);
}
this.outJson(mvoResult);
}
commonVo為公共值對(duì)象,MessageVo 為返回值對(duì)象淮逻,立面包含你所要傳輸?shù)闹祵?duì)象狼电。
funReserve 為FunFactory的獲取對(duì)象。
pageListReserve方法為:
/**
* 獲取預(yù)約確認(rèn)列表
*/
public MessageVo pageListReserve(CommonVo cvoParams) {
String sSql = "";
cvoParams.setIsPay("1");// 已付款
sSql += CommonBean.getRangeCondition(cvoParams.getRange(), "reserve_date", "4");
if (!"".equals(cvoParams.getKeyWord()) && cvoParams.getKeyWord() != null) {
sSql += " and (CLINIC_NUMBER LIKE '%" + cvoParams.getKeyWord() + "%' OR MEDICAL_RECORD_NUMBER LIKE '%" + cvoParams.getKeyWord() + "%' OR TARGET_NAME LIKE '%" + cvoParams.getKeyWord()
+ "%')";
sSql += " and (DOCTOR_ID = '" + cvoParams.getDoctorId() + "' OR DOCTOR_ID IS NULL)";
}
cvoParams.setSql(sSql);
cvoParams.setOrderBy("order by DOCTOR_ID,RESERVE_DATE,QUEUE_ID");
return tdoReserveOrder.getList(cvoParams);
}
封裝好的dao包(盡量不要修改這文件):
@Repository("VReserveOrderViewDao")
public class VReserveOrderViewDao extends DaoSupport implements IViewDao {
private static String TABLE_NAME = "VReserveOrder";
public MessageVo getList(CommonVo cvoSelect) {
String sHql = "from " + TABLE_NAME + " where 1=1 ";// 查詢語句
String sCount = "select count(*) from " + TABLE_NAME + " where 1=1 ";// 分頁語句
MessageVo mvoResult = new MessageVo();
try {
Object[] objParameter = null;
ArrayList<Object[]> arrParameter = new ArrayList<Object[]>();
// 設(shè)置搜索條件
objParameter = new Object[] { " and id = ? ", cvoSelect.getId() };
arrParameter.add(objParameter);// 編號(hào)
objParameter = new Object[] { " and order_number like ? ", "%" + cvoSelect.getOrderNumber() + "%" };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and medical_record_number like ? ", "%" + cvoSelect.getMedicalRecordNumber() + "%" };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and target_id = ? ", cvoSelect.getTargetId() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and customer_id = ? ", cvoSelect.getCustomerId() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and target_name like ? ", "%" + cvoSelect.getTargetName() + "%" };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and room_id = ? ", cvoSelect.getRoomId() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and room_name like ? ", "%" + cvoSelect.getRoomName() + "%" };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and doctor_name like ? ", "%" + cvoSelect.getDoctorName() + "%" };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and reserve_type = ? ", cvoSelect.getReserveType() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and order_status = ? ", cvoSelect.getOrderStatus() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and evaluate_status = ? ", cvoSelect.getEvaluateStatus() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and is_pay = ? ", cvoSelect.getIsPay() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and reserve_mode = ? ", cvoSelect.getReserveMode() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and create_time >= ? ", cvoSelect.getBeginTime() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and create_time <= ? ", cvoSelect.getEndTime() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and sp_id = ? ", cvoSelect.getSpId() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and service_mode = ? ", cvoSelect.getServiceMode() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and is_book_time = ? ", cvoSelect.getIsBookTime() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and is_deduct = ? ", cvoSelect.getIsDeduct() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and clinic_type = ? ", cvoSelect.getClinicType() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and create_name like ? ", "%" + cvoSelect.getCreateName() + "%" };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and is_delete = ? ", cvoSelect.getIsDelete() };
arrParameter.add(objParameter);// 是否已刪除
// 將參數(shù)傳入到分頁Bean中
String[] sHqlArr = { sHql, sCount, cvoSelect.getSql(), cvoSelect.getOrderBy() };
int[] iInfoArr = { cvoSelect.getPageNum(), cvoSelect.getLimitNum(), cvoSelect.getForUpdateWait() };
SpringPageBean spbQuery = new SpringPageBean(sHqlArr, iInfoArr, arrParameter, getCustomSession());;
List<?> lstResult = (List<?>) getHibernateTemplate().execute(spbQuery);
mvoResult.setSuccess(true);
mvoResult.setLstResult(lstResult);
mvoResult.setTotalPage(spbQuery.getTotalPage());
mvoResult.setTotalSize(spbQuery.getTotalNum());
} catch (Exception e) {
e.printStackTrace();
}
// 返回搜索結(jié)果
return mvoResult;
}
public CommonVo getOne(CommonVo cvoSelect) {
String sHql = "from " + TABLE_NAME + " where 1=1 ";// 查詢語句
CommonVo cvoResult = null;
try {
Object[] objParameter = null;
ArrayList<Object[]> arrParameter = new ArrayList<Object[]>();
// 設(shè)置排序和是否刪除的默認(rèn)值
if (cvoSelect.getOrderBy() == null || "".equals(cvoSelect.getOrderBy())) {
cvoSelect.setOrderBy(" order by id desc");
}
// 設(shè)置搜索條件
objParameter = new Object[] { " and id = ? ", cvoSelect.getId() };
arrParameter.add(objParameter);// 編號(hào)
objParameter = new Object[] { " and order_number = ? ", cvoSelect.getOrderNumber() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and medical_record_number = ? ", cvoSelect.getMedicalRecordNumber() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and target_id = ? ", cvoSelect.getTargetId() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and room_id = ? ", cvoSelect.getRoomId() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and sp_id = ? ", cvoSelect.getSpId() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and doctor_id = ? ", cvoSelect.getDoctorId() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and doctor_name like ? ", "%" + cvoSelect.getDoctorName() + "%" };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and reserve_type = ? ", cvoSelect.getReserveType() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and order_status = ? ", cvoSelect.getOrderStatus() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and customer_id = ? ", cvoSelect.getCustomerId() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and service_mode = ? ", cvoSelect.getServiceMode() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and clinic_type = ? ", cvoSelect.getClinicType() };
arrParameter.add(objParameter);//
objParameter = new Object[] { " and is_delete = ? ", cvoSelect.getIsDelete() };
arrParameter.add(objParameter);// 是否已刪除
// 將參數(shù)傳入到分頁Bean中
String[] sHqlArr = { sHql, null, cvoSelect.getSql(), cvoSelect.getOrderBy() };
int[] iInfoArr = { 1, 1 };
SpringPageBean spbQuery = new SpringPageBean(sHqlArr, iInfoArr, arrParameter, getCustomSession());;
// 搜索數(shù)據(jù)
List<?> lstResult = (List<?>) getHibernateTemplate().execute(spbQuery);
if (lstResult != null && lstResult.size() > 0) {
cvoResult = (CommonVo) lstResult.get(0);
getHibernateTemplate().evict(cvoResult);// 分離對(duì)象
lstResult.clear();
}
// 清空參數(shù)
lstResult = null;
arrParameter.clear();
arrParameter = null;
objParameter = null;
} catch (Exception e) {
e.printStackTrace();
}
// 返回搜索結(jié)果
return cvoResult;
}
}