📄 modellocator.as
字号:
befvalue = src.getItemAt(idx)[fldname].toString();
}
}
var distinctArr:ArrayCollection=new ArrayCollection(arr);
return distinctArr;
}
//public static var ecnsub_fs:Array=["ECN_Code","seq","ERP_Code","ERP_Name","ERP_Rule",
// "Chg_Code","Chg_Name","Chg_Rule","Change_desc"];
public static function getSqlArray(recArray:Array,tabName:String,optype:String,fieldNames:Array,fieldsType:Array,keyfldsCount:int):Array{
var sqlArr:Array=new Array();
if (optype=="Add"){
for each(var recObj:Object in recArray){
var sql:String="Insert into "+ tabName + "("+fieldNames.join(",")+") values(";
for (var ifr:int=0;ifr<fieldNames.length;ifr++){
if (fieldsType[ifr]=="N" || fieldsType[ifr]=="Number"){
sql += recObj[fieldNames[ifr].toString()].toString()+",";
}else{//如果该字段不是数值类型
sql += "'"+recObj[fieldNames[ifr].toString()].toString()+"',";
}
}
sql=sql.substr(0,sql.length-1);//去掉最后一个,号
sql += ")";
sqlArr.push(sql);
}
}
if(optype=="Edit"){
for each(var recEdit:Object in recArray){
var sqlEdit:String=("Update " + tabName + " set ");
for (var ife:int=0;ife<fieldNames.length;ife++){
if (fieldsType[ife]=="N" || fieldsType[ife]=="Number"){
sqlEdit += (fieldNames[ife].toString()+"="+recEdit[fieldNames[ife].toString()].toString()+",");
}else{//如果该字段不是数值类型
sqlEdit += (fieldNames[ife].toString()+"='"+recEdit[fieldNames[ife].toString()].toString()+"',");
}
}
sqlEdit=sqlEdit.substr(0,sqlEdit.length-1);//去掉最后一个,号
sqlEdit += " where";
for(var ik:int=0;ik<keyfldsCount;ik++){
sqlEdit += (" cast("+fieldNames[ik].toString()+" as varchar)='"+recEdit[fieldNames[ik].toString()].toString()+"' and");
}
sqlEdit=sqlEdit.substr(0,sqlEdit.length-3);//去掉and
sqlArr.push(sqlEdit);
}
}
if(optype=="Dele"){
if (keyfldsCount<=1){//只有一个关键字段,则只产生一条sql语句(不管recArray有多少条)
var sqld:String=("Delete "+tabName + " Where "+fieldNames[0].toString()+"=");
if (fieldsType[0].toString()=="N" || fieldsType[0]=="Number"){
sqld+=recArray[0][fieldNames[0].toString()].toString();
}else{
sqld+=("'"+recArray[0][fieldNames[0].toString()].toString()+"'");
}
sqlArr.push(sqld);
}else{//两个关键字段,必定为从表,因为主表只有一个关键字段,以下是固定两个字段写法,两个以上需要参考Edit写法
for each(var recDele:Object in recArray){
var sqld2:String=("Delete "+tabName + " Where "+fieldNames[0].toString()+"=");
if (fieldsType[0].toString()=="N" || fieldsType[0]=="Number"){
sqld2+=recDele[fieldNames[0].toString()].toString();
}else{
sqld2+=("'"+recDele[fieldNames[0].toString()].toString()+"'");
}
sqld2+=(" and "+fieldNames[1].toString()+"=");
if (fieldsType[1].toString()=="N" || fieldsType[1]=="Number"){
sqld2+=recDele[fieldNames[1].toString()].toString();
}else{
sqld2+=("'"+recDele[fieldNames[1].toString()].toString()+"'");
}
sqlArr.push(sqld2);
}
}
}
return sqlArr;
}
public static function getDatestr(dt:Date):String{
return (dt.getFullYear().toString()+"-" +
("0"+(dt.getMonth()+1).toString()).substr( ("0"+(dt.getMonth()+1).toString()).length==3?1:0 )
+"-"+("0"+dt.getDate().toString()).substr(("0"+dt.getDate().toString()).length==3?1:0)
);
}
public static function getDatetimestr(dt:Date):String{
return (dt.getFullYear().toString()+"-" +
("0"+(dt.getMonth()+1).toString()).substr( ("0"+(dt.getMonth()+1).toString()).length==3?1:0 )
+"-"+("0"+dt.getDate().toString()).substr(("0"+dt.getDate().toString()).length==3?1:0)
+" "+dt.getHours().toString()+":"+ dt.getMinutes().toString()+":"+dt.getSeconds().toString()
);
}
public static function openWindow(url:String, window:String="_blank", features:String=""):void{
var WINDOW_OPEN_FUNCTION:String = "window.open";
var myURL:URLRequest = new URLRequest(url);
var browserName:String = getBrowserName();
if(getBrowserName() == "Firefox"){
ExternalInterface.call(WINDOW_OPEN_FUNCTION, url, window, features);
}
//If IE,
else if(browserName == "IE"){
ExternalInterface.call(WINDOW_OPEN_FUNCTION, url, window, features);
//ExternalInterface.call("function setWMWindow() {window.open('" + url + "');}");
}
//If Safari
else if(browserName == "Safari"){
navigateToURL(myURL, window);
}
//If Opera
else if(browserName == "Opera"){
navigateToURL(myURL, window);
} else {
navigateToURL(myURL, window);
}
/*Alternate methodology...
var popSuccess:Boolean = ExternalInterface.call(WINDOW_OPEN_FUNCTION, url, window, features);
if(popSuccess == false){
navigateToURL(myURL, window);
}*/
}
private static function getBrowserName():String{
var browser:String;
//Uses external interface to reach out to browser and grab browser useragent info.
var browserAgent:String = ExternalInterface.call("function getBrowser(){return navigator.userAgent;}");
// Debug.text += "Browser Info: [" + browserAgent + "]";
//Determines brand of browser using a find index. If not found indexOf returns (-1).
if(browserAgent != null && browserAgent.indexOf("Firefox") >= 0) {
browser = "Firefox";
}
else if(browserAgent != null && browserAgent.indexOf("Safari") >= 0){
browser = "Safari";
}
else if(browserAgent != null && browserAgent.indexOf("MSIE") >= 0){
browser = "IE";
}
else if(browserAgent != null && browserAgent.indexOf("Opera") >= 0){
browser = "Opera";
}
else {
browser = "Undefined";
}
return browser;
}
//静态变量,只以在当前类中构造中函数中初始化,不能在外部类中重新赋值(即不能更新值)
//所以对于用来作存储用途且会改变的变量,决不能定义静态变量,所以上面很多arrayList定义成普通变量了(以便可以更新值)
//:RemoteObject = new RemoteObject("fluorine");
public var OA_service:RemoteObject;
//出错处理,弹出错误信息
public static function __onGenFaultHandler(event:FaultEvent):void
{
Alert.show(event.fault.message,"Error");
return; // 6/8增加,以便在发起本地调用失败后不再执行调用函数中失败行之后的代码
}
private static var _instace:ModelLocator;
public static function getInstance():ModelLocator
{
if(_instace == null)
{
_instace = new ModelLocator();
_instace.OA_service = new RemoteObject();
_instace.OA_service.showBusyCursor = true;
_instace.OA_service.destination = "fluorine";
_instace.OA_service.source = "ServiceLibrary.OA";
//监听错误事件
_instace.OA_service.addEventListener(FaultEvent.FAULT,__onGenFaultHandler);
//为每个远程方法注册单独的事件监听,转移到视图中(构造函数)中,并写对应返回函数,或者
//并在发起函数中使用GAP_service.中间层方法.send直接调用,并直接返回(命名用闭包),这样就不需注册
}
return _instace;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -