phis\EAPDomain\public\config\siconfig.jsp |-phis\EAPDomain\unieap\ria3.3\pages\config.jsp //<%@ include file="/unieap/ria3.3/pages/config.jsp"%> include在siconfig.js内部! |-phis\EAPDomain\unieap\ria3.3\unieap\patch\rpc32-patch.js //<script type="text/javascript" src="<%=path%>/unieap/ria3.3/unieap/patch/rpc32-patch.js" ></script>
正常业务逻辑的流程:
.js : QUERYURL : "/ria_grid.do?method=query" //调用rpc32-patch.js
.xml:struts-config.xml : <action type="com.neusoft.unieap.riaclient.action.GridAction" parameter="method" scope="request" validate="true" path="/ria_grid">
//.js : phis\src\com\neusoft\unieap\riaclient\action\GridExportAction.java save()
// 缓存同步的程序文件:
// phis\EAPDomain\ph\pages\his\system\clientcache
// |-dataGenerateTool.js
// |-system_clientcache_dbgenerator.js
// |-system_clientcache_dbgenerator.jsp
// |-system_clientcache_manage.js
// |-system_clientcache_manage.jsp
// (以下缓存同步所引用到的)
// phis\EAPDomain\ph\pages\his\common\datasync
// |-commonDataSync.js
// |-syncTableInfo.js
//缓存同步到客户端,功能页面上选择性的加载自己需要的数据就用到了clientCache.js,
//而对于像药品库存等实时性要求比较高的数据来说,需要在每一次加载页面的时候重新从服务端数据库获取:(si.ClientCache._requestFeeData)
// phis\EAPDomain\si\js\ClientCache.js --si.ClientCache.downLoadFeeItemInfo
/**
hideLoading : 默认隐藏Loading对话框,如果设置的话,进行显示,不传默认为显示进度条
*/
si.ClientCache._requestFeeData=function(Src,callback,hideLoading,patientDept){
_downloadTimes++;
var times = _downloadTimes;
var dc = new unieap.ds.DataCenter();
var dsFeeItem = new unieap.ds.DataStore("dsItem");
dsFeeItem.setRowSetName("ncm.local.VIEW_STOCK_INFO");
//modify begin by liuy 20120919
patientDept = unieap.isEmpty(patientDept)?gsLoginInfo.getDeptCode():patientDept;
dsFeeItem.setCondition(" ORGCODE = ? and (DEPTCODE = ? or DEPTCODE = 'ALL') and ITEMTYPE='P'");
dsFeeItem.insertConditionValue(gsLoginInfo.getOrgCode(),unieap.DATATYPES.VARCHAR,0);
dsFeeItem.insertConditionValue(patientDept,unieap.DATATYPES.VARCHAR,0);
//modify end by liuy 20120919
dsFeeItem.setPageSize(_rowItemCountEach);
dsFeeItem.setPageNumber(_downloadTimes);
dsFeeItem.setRecordCount(_recordCount);
dc.addDataStore("dsItem",dsFeeItem);
unieap.showLoading(hideLoading?false:true);
unieap.Action.requestData({
url : unieap.WEB_APP_NAME + "/ClientCacheAction.do?method=loadItemCacheData",
sync : false,
timeout : 900*1000,//15 min
parameters:{BUSINESS_REQUEST_ID:"REQ-ZA-M-001-00"},
load : function(dc) {
if(dc.getCode()!="0"){
messagebox("诊疗项目下载出现错误!","111");
return;
}
var dsFeeItem = dc.getDataStore("dsItem");
_recordCount = dsFeeItem.getRecordCount();
if(dsFeeItem.getRecordCount()>_downloadTimes*_rowItemCountEach){
si.ClientCache._requestFeeData(Src,callback,hideLoading,patientDept);
}
//没有检索到变动记录
if(dsFeeItem.getRowSet().getRowCount() != 0){
//将变动记录批量记录到本地数据库中
si.ClientCache.LoadLocalFeeItemInfo(dsFeeItem);
}
if(dsFeeItem.getRecordCount()<=times*_rowItemCountEach){
unieap.showLoading(false);
if(callback!=null)callback.call(Src,null);
}
},
error:function(err){
err.getDetail?alert(err.getDetail()):alert("装载缓存数据失败。");
unieap.showLoading(false);
}
},dc,false);} }
网友评论