public void Execute(IJobExecutionContext context) { dataMap = context.JobDetail.JobDataMap; //database program string jobtype = dataMap.Get("JOBTYPE").ToString(); SourceTaskItem sourceTask = (SourceTaskItem)dataMap.Get("SOURCETASK"); TargetTaskItem targetTask = (TargetTaskItem)dataMap.Get("TARGETTASK"); LogTaskItem logTask = (LogTaskItem)dataMap.Get("LOGTASK"); if (jobtype == "program") { ExecuteProgramJob(sourceTask, logTask); } else if (jobtype == "database") { ExecuteDataJob(sourceTask, targetTask, logTask); } }
public override void ExecuteProgramJob(SourceTaskItem sourceTask, LogTaskItem logTask) { //base.ExecuteProgramJob(sourceTask, logTask); _log.InfoFormat(DateTime.Now + Environment.NewLine + "MonitoringPollutantsTask 开始执行"); Excate(sourceTask); }
public virtual void ExecuteProgramJob(SourceTaskItem sourceTask, LogTaskItem logTask) { }
public virtual void ExecuteDataJob(SourceTaskItem sourceTask, TargetTaskItem targetTask, LogTaskItem logTask) { }
public override void ExecuteProgramJob(SourceTaskItem sourceTask, LogTaskItem logTask) { _log.InfoFormat(DateTime.Now + Environment.NewLine + "TBJDataUploadTask 开始执行"); Excate(sourceTask); }
public override void ExecuteProgramJob(SourceTaskItem sourceTask, LogTaskItem logTask) { string sqlStr = @" SELECT * FROM ( SELECT ROW_NUMBER() OVER(PARTITION BY deviceAddress ORDER BY dataTime DESC) AS RowNumber, *FROM ( SELECT * FROM baseData WHERE deviceAddress IN(SELECT deviceAddress FROM TransToType WHERE transTo = '12') ) AS A ) AS B WHERE RowNumber = 1 AND deviceAddress ='11056'"; //_log.InfoFormat(DateTime.Now + Environment.NewLine + "DustMonitoringTask sqlStr:{0}", sqlStr); DataTable dt = new SQLHelper(sourceTask.ConnectionString).ExecuteQuery(sqlStr, CommandType.Text); DateTime now = DateTime.Now; _log.InfoFormat(DateTime.Now + Environment.NewLine + "DustMonitoringTask sqlStr:{0}", dt.Rows.Count); List <BaseDataModel> dataList = new List <BaseDataModel>(); foreach (DataRow item in dt.Rows) { BaseDataModel baseDataModel = new BaseDataModel(); baseDataModel.ID = ConvertObject.ToInt32(item["ID"]); baseDataModel.deviceAddress = ConvertObject.ToString(item["deviceAddress"]);; baseDataModel.sensorCount = ConvertObject.ToString(item["sensorCount"], "0"); baseDataModel.PM25 = ConvertObject.ToString(item["PM25"], "0"); baseDataModel.PM10 = ConvertObject.ToString(item["PM10"], "0"); baseDataModel.noise = ConvertObject.ToString(item["noise"], "0"); baseDataModel.temperature = ConvertObject.ToString(item["temperature"], "0"); baseDataModel.humidity = ConvertObject.ToString(item["humidity"], "0"); baseDataModel.windSpeed = ConvertObject.ToString(item["windSpeed"], "0"); baseDataModel.windPower = ConvertObject.ToString(item["windPower"], "0"); baseDataModel.windDirection = ConvertObject.ToString(item["windDirection"], "0"); baseDataModel.dataTime = ConvertObject.ToDateTime(item["dataTime"]); baseDataModel.transTo = ConvertObject.ToString(item["transTo"], "0"); baseDataModel.transCode = ConvertObject.ToString(item["transCode"], "0"); //十分钟之内的数据才会统计 if (baseDataModel.dataTime >= now.AddMinutes(-10)) { dataList.Add(baseDataModel); } } foreach (BaseDataModel item in dataList) { DustMonitoringService dustMonitoringService = new DustMonitoringService(); dustMonitoringService.Regester(item); while (true) { if (dustMonitoringService._client.State == Cowboy.Sockets.TcpSocketConnectionState.Closed) { break; } Thread.Sleep(1000); } //sqlStr = string.Format("UPDATE baseData SET ISAsync='1' WHERE ID = '{0}'", baseDataModel.ID); //int result = new SQLHelper(sourceTask.ConnectionString).ExecuteNonQuery(sqlStr, CommandType.Text); //_log.InfoFormat("{0}{1}记录更新结果为:{2},{3}", DateTime.Now, Environment.NewLine, sqlStr, result); //Thread.Sleep(1000); } }