⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modellocator.as

📁 本人为公司开发的Flex办公系统web源码,包括数据库脚本文件。
💻 AS
📖 第 1 页 / 共 2 页
字号:
		     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(&apos;" + url + "&apos;);}");
   }
   //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 + -