protected void LoadObject(string id) { JobBase result; //根据ID获取任务对象 result = JobBaseAdapter.Instance.Load(w => w.AppendItem("job_id", id)).FirstOrDefault();// ETLJobAdapter.Instance.Load(id); this.Data = result; //给控件赋值 if (this.Data != null) { txt_JobName.Text = this.Data.Name; txt_jobCategory.Text = this.Data.Category.ToString(); txt_JobDescription.Text = this.Data.Description.ToString(); ch_IsAuto.Checked = !this.Data.ISManual; //etl任务 if (this.Data.JobType == JobType.ETLService) { //etl实体列表 List <EtlGridObj> etls = new List <EtlGridObj>(); var etlJob = ETLJobAdapter.Instance.Load(this.Data.JobID); foreach (ETLEntity item in etlJob.ETLEntities) { etls.Add(new EtlGridObj() { ID = item.ID, CodeName = item.Name, Description = item.Description }); } gridEtl.InitialData = etls; ch_IsIncrement.Checked = etlJob.IsIncrement; //Where条件 ETLJob loadEtl = ETLJobAdapter.Instance.Load(this.Data.JobID); conditions.Value = JSONSerializerExecute.Serialize(loadEtl.ETLWhereConditions); } //WebService任务 else { this.Data = InvokeWebServiceJobAdapter.Instance.Load(w => w.AppendItem("JOB_ID", this.Data.JobID)).FirstOrDefault(); invokingServiceGrid.InitialData = (this.Data as InvokeWebServiceJob).SvcOperationDefs; } //是否手动任务 if (!this.Data.ISManual) { //计划列表 List <ScheduleGridObj> schedules = new List <ScheduleGridObj>(); foreach (JobSchedule item in this.Data.Schedules) { schedules.Add(new ScheduleGridObj() { ID = item.ID, Name = item.Name, Description = item.Description }); } grid.InitialData = schedules; } } }
public XPCollection <ETLBusinessObject> GetNewerETLBusinessObject(Session session, Guid jobId, DateTime time) { XPCollection <ETLBusinessObject> etlBusinessObjectCollection = null; try { ETLJob job = session.GetObjectByKey <ETLJob>(jobId); if (job == null) { return(null); } CriteriaOperator criteria_0 = new BinaryOperator("ETLJobId", job, BinaryOperatorType.Equal); CriteriaOperator criteria_1 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.GreaterOrEqual); CriteriaOperator criteria_2 = new BinaryOperator("BusinessObjectIssuedDateTimeStamp", time, BinaryOperatorType.GreaterOrEqual); CriteriaOperator criteria = GroupOperator.Combine(GroupOperatorType.And, criteria_0, criteria_1, criteria_2); etlBusinessObjectCollection = new XPCollection <ETLBusinessObject>(session, criteria); } catch (Exception) { throw; } return(etlBusinessObjectCollection); }
public bool IsExistETLEntryObjectHistory(Session session, Guid jobId, Int64 objectEntryLogId) { bool result = false; try { ETLJob job = session.GetObjectByKey <ETLJob>(jobId); ObjectEntryLog objectEntryLog = session.GetObjectByKey <ObjectEntryLog>(objectEntryLogId); CriteriaOperator criteria_0 = new BinaryOperator(new OperandProperty("ETLBusinessObjectId.ETLJobId.ETLJobId"), job.ETLJobId, BinaryOperatorType.Equal); CriteriaOperator criteria_1 = new BinaryOperator("ObjectEntryLogId", objectEntryLog, BinaryOperatorType.Equal); CriteriaOperator criteria_2 = new BinaryOperator("RowStatus", 1, BinaryOperatorType.GreaterOrEqual); CriteriaOperator criteria = GroupOperator.Combine(GroupOperatorType.And, criteria_0, criteria_1, criteria_2); ETLEntryObjectHistory etlEntryObjectHistory = session.FindObject <ETLEntryObjectHistory>(criteria); if (etlEntryObjectHistory != null) { result = true; } }catch (Exception) { throw; } return(result); }
public XPCollection <ETLBusinessObject> GetChangedIssuedDateETLBusinessObject(Session session, Guid jobId) { XPCollection <ETLBusinessObject> ChangedIssuedDateETLBusinessObjectCollection = null; try { ETLJob job = session.GetObjectByKey <ETLJob>(jobId); if (job == null) { return(null); } CriteriaOperator criteria_0 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.GreaterOrEqual); CriteriaOperator criteria_1 = new BinaryOperator(new OperandProperty("ETLJobId.ETLJobId"), job.ETLJobId, BinaryOperatorType.Equal); CriteriaOperator criteria_2 = new BinaryOperator(new OperandProperty("BusinessObjectId.ObjectIssueDate"), new OperandProperty("BusinessObjectIssuedDateTimeStamp"), BinaryOperatorType.NotEqual); CriteriaOperator criteria = new GroupOperator(GroupOperatorType.And, criteria_0, criteria_1, criteria_2); ChangedIssuedDateETLBusinessObjectCollection = new XPCollection <ETLBusinessObject>(session, criteria); } catch (Exception) { return(ChangedIssuedDateETLBusinessObjectCollection); throw; } return(ChangedIssuedDateETLBusinessObjectCollection); }
public ETLBusinessObject GetETLBusinessObject(Session session, Guid jobId, Int64 ObjectId) { ETLBusinessObject etlBusinessObject = null; try { ETLJob job = session.GetObjectByKey <ETLJob>(jobId); if (job == null) { return(null); } BusinessObject businessObject = session.GetObjectByKey <BusinessObject>(ObjectId); if (businessObject == null) { return(null); } CriteriaOperator criteria_0 = new BinaryOperator("ETLJobId", job, BinaryOperatorType.Equal); CriteriaOperator criteria_1 = new BinaryOperator("BusinessObjectId", businessObject, BinaryOperatorType.Equal); CriteriaOperator criteria_2 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.GreaterOrEqual); CriteriaOperator criteria = GroupOperator.Combine(GroupOperatorType.And, criteria_0, criteria_1, criteria_2); etlBusinessObject = session.FindObject <ETLBusinessObject>(criteria); } catch (Exception) { throw; } return(etlBusinessObject); }
protected void Button2_Click(object sender, EventArgs e) { //inserts = ETLTools.GetInsertSql(dt, etlEntity); //f6483e01-ab7f-4293-8dea-225d4686b839 913f8372-bb2d-4063-b375-825a9375ec46 string strCode = txt_JobID.Text.Trim(); ETLJob job = ETLJobAdapter.Instance.Load(strCode); job.Start(); }
protected void JobDeluxeGrid_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "btn_star") { try { string jobID = e.CommandArgument.ToString(); ETLJob loadJob = ETLJobAdapter.Instance.Load(jobID); #region 执行任务 SysTask sysTask = SysTaskAdapter.Instance.Load(jobID); if (sysTask != null) { //自动任务 ExecuteTask(sysTask); } else { //手动任务 SysTask task = loadJob.ToSysTask(); task.FillData(BuildTaskExtraData(loadJob, new TimeSpan(0), null)); loadJob.SetCurrentJobBeginStatus(); SysTaskAdapter.Instance.Update(task); ExecuteTask(task); } #endregion // Task.Factory.StartNew(loadJob.Start).ContinueWith(task => //{ // if (task.Status == System.Threading.Tasks.TaskStatus.Faulted) // { // string detail = EnvironmentHelper.GetEnvironmentInfo() + "\r\n" + task.Exception.GetAllStackTrace(); // Exception realEx = task.Exception.InnerException.GetRealException(); // realEx.TryWriteAppLog(detail, Request.RequestContext.HttpContext); // } //}); } catch (Exception) { throw; } } }
public BusinessObject GetOldestUnprocessedObject(Session session, Guid jobId, List <int> ObjectType) { BusinessObject oldestObject = null; try { ETLJob etlJob = session.GetObjectByKey <ETLJob>(jobId); if (etlJob == null) { return(null); } ETLLogBO etlLogBO = new ETLLogBO(); XPCollection <ETLBusinessObject> etlBusinessObjectCollection = etlLogBO.GetChangedIssuedDateETLBusinessObject(session, jobId); if (etlBusinessObjectCollection != null && etlBusinessObjectCollection.Count() != 0) { etlBusinessObjectCollection.Sorting.Add(new SortProperty("BusinessObject.IssuedDateTimeStamp", SortingDirection.Ascending)); ETLBusinessObject oldestETLBusinessObject = etlBusinessObjectCollection.FirstOrDefault(); etlBusinessObjectCollection = etlLogBO.GetNewerETLBusinessObject(session, jobId, oldestETLBusinessObject.BusinessObjectIssuedDateTimeStamp); foreach (ETLBusinessObject EBO in etlBusinessObjectCollection) { EBO.RowStatus = -2; EBO.Save(); } oldestETLBusinessObject.RowStatus = -2; oldestETLBusinessObject.Save(); } CriteriaOperator criteria_0 = new InOperator("ObjectType", ObjectType); CriteriaOperator criteria_1 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.Greater); CriteriaOperator criteria = new GroupOperator(GroupOperatorType.And, criteria_0, criteria_1); XPCollection <BusinessObject> businessObjectCollection = new XPCollection <BusinessObject>(session, criteria); businessObjectCollection.Sorting.Add(new SortProperty("ObjectIssueDate", SortingDirection.Ascending)); businessObjectCollection.Sorting.Add(new SortProperty("IssuedDateTimeStamp", SortingDirection.Ascending)); foreach (BusinessObject bo in businessObjectCollection) { if (NeedToBeProcessed(session, bo.BusinessObjectId, jobId)) { return(bo); } } } catch (Exception) { throw; } return(oldestObject); }
public void CreateETLBusinessObject(Session session, Guid ETLJobId, Int64 ObjectId) { try { ETLJob job = session.GetObjectByKey <ETLJob>(ETLJobId); if (job == null) { return; } BusinessObject businessObject = session.GetObjectByKey <BusinessObject>(ObjectId); if (businessObject == null) { return; } CriteriaOperator criteria_0 = new BinaryOperator("ETLJobId", job, BinaryOperatorType.Equal); CriteriaOperator criteria_1 = new BinaryOperator("BusinessObjectId", businessObject, BinaryOperatorType.Equal); CriteriaOperator criteria_2 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.GreaterOrEqual); CriteriaOperator criteria = GroupOperator.Combine(GroupOperatorType.And, criteria_0, criteria_1, criteria_2); ETLBusinessObject etlBusinessObject = session.FindObject <ETLBusinessObject>(criteria); if (etlBusinessObject != null) { etlBusinessObject.RowStatus = Constant.ROWSTATUS_ACTIVE; etlBusinessObject.BusinessObjectIssuedDateTimeStamp = businessObject.ObjectIssueDate; etlBusinessObject.Save(); return; } etlBusinessObject = new ETLBusinessObject(session); etlBusinessObject.BusinessObjectId = businessObject; etlBusinessObject.ETLJobId = job; etlBusinessObject.RowStatus = Constant.ROWSTATUS_ACTIVE; etlBusinessObject.BusinessObjectIssuedDateTimeStamp = businessObject.ObjectIssueDate; etlBusinessObject.Save(); ETLBusinessObject LastETLBusinessObject = GetNearestETLBusinessObject(session, ETLJobId, ObjectId); etlBusinessObject.PreviousETLBusinessObjectId = LastETLBusinessObject; etlBusinessObject.Save(); } catch (Exception) { throw; } }
public static void Populate(Session dbSession) { Session session = null; try { ETLUtils util = new ETLUtils(); ETLJob.Populate(dbSession); session = dbSession; ETLJob etlJob; CriteriaOperator criteria = new BinaryOperator("Code", Utility.Constant.NAAN_DEFAULT_CODE, BinaryOperatorType.Equal); etlJob = session.FindObject <ETLJob>(criteria); //insert default data into ETLCategory table if (!Util.IsExistXpoObject <ETLJobDetail>(session, "ETLJobId", etlJob)) { etlJob = session.FindObject <ETLJob>(criteria); ETLJobDetail _ETLJobDetail = new ETLJobDetail(session) { Data = null, ETLJobId = etlJob }; _ETLJobDetail.Save(); } criteria = new BinaryOperator("Code", Utility.Constant.NAAN_DEFAULT_CODE, BinaryOperatorType.Equal); etlJob = session.FindObject <ETLJob>(criteria); if (!Util.IsExistXpoObject <ETLJobDetail>(session, "ETLJobId", etlJob)) { etlJob = session.FindObject <ETLJob>(criteria); ETLJobDetail _ETLJobDetail = new ETLJobDetail(session) { Data = ETLUtils.ConvertStringToByte(Utility.Constant.NAAN_DEFAULT_CODE), ETLJobId = etlJob }; _ETLJobDetail.Save(); } } catch (Exception) { throw; } finally { //if (session != null) session.Dispose(); } }
//初始化任务 private ETLJob InitEntity(string entityId) { ETLJob result; if (entityId.IsNotEmpty()) { result = (ETLJob)ETLJobAdapter.Instance.Load(entityId); OperationMode = SCObjectOperationMode.Update; } else { result = new ETLJob(); OperationMode = SCObjectOperationMode.Add; } return(result); }
public bool NeedToBeProcessed(Session session, Int64 ObjectId, Guid jobId) { bool result = false; BusinessObject businessObject = session.GetObjectByKey <BusinessObject>(ObjectId); if (businessObject == null) { return(false); } ETLJob etlJob = session.GetObjectByKey <ETLJob>(jobId); if (etlJob == null) { return(false); } CriteriaOperator criteria_0 = new BinaryOperator("ETLJobId", etlJob, BinaryOperatorType.Equal); CriteriaOperator criteria_1 = new BinaryOperator("BusinessObjectId", businessObject, BinaryOperatorType.Equal); CriteriaOperator criteria_2 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.Greater); CriteriaOperator criteria = GroupOperator.Combine(GroupOperatorType.And, criteria_0, criteria_1, criteria_2); ETLBusinessObject etlBusinessObject = session.FindObject <ETLBusinessObject>(criteria); if (etlBusinessObject == null) { return(true); } ObjectEntryLogBO objectEntryLogBO = new ObjectEntryLogBO(); ObjectEntryLog objectEntryLog = objectEntryLogBO.GetNewestObjectEntryLog(session, businessObject.BusinessObjectId); if (objectEntryLog == null) { objectEntryLogBO.CreateObjectEntryLog(session, businessObject); objectEntryLog = objectEntryLogBO.GetNewestObjectEntryLog(session, businessObject.BusinessObjectId); } if (!IsExistETLEntryObjectHistory(session, jobId, objectEntryLog.ObjectEntryLogId)) { return(true); } return(result); }
public void CreatETLEntryObjectHistory(Session session, Guid jobId, Int64 businessObjectId, int ErrorCode) { try { ETLJob job = session.GetObjectByKey <ETLJob>(jobId); if (job == null) { return; } BusinessObject businessObject = session.GetObjectByKey <BusinessObject>(businessObjectId); if (businessObject == null) { return; } ObjectEntryLogBO objectEntryLogBO = new ObjectEntryLogBO(); ETLLogBO etlLogBO = new ETLLogBO(); ObjectEntryLog newestObjectEntryLog = objectEntryLogBO.GetNewestObjectEntryLog(session, businessObjectId); if (newestObjectEntryLog == null) { return; } ETLBusinessObject etlBusinessObject = etlLogBO.GetETLBusinessObject(session, jobId, businessObjectId); if (etlBusinessObject == null) { return; } ETLEntryObjectHistory etlEntryObjectHistory = new ETLEntryObjectHistory(session); etlEntryObjectHistory.ErrorCode = ErrorCode; etlEntryObjectHistory.ETLBusinessObjectId = etlBusinessObject; etlEntryObjectHistory.ObjectEntryLogId = newestObjectEntryLog; etlEntryObjectHistory.RowTimeStamp = DateTime.Now; etlEntryObjectHistory.RowStatus = 0; etlEntryObjectHistory.Save(); } catch (Exception) { throw; } }
public XPCollection <ETLBusinessObject> GetOlderETLBusinessObject(Session session, Guid jobId, Int64 ObjectId) { XPCollection <ETLBusinessObject> etlBusinessObjectCollection = null; try { ETLJob job = session.GetObjectByKey <ETLJob>(jobId); if (job == null) { return(null); } BusinessObject businessObject = session.GetObjectByKey <BusinessObject>(ObjectId); if (businessObject == null) { return(null); } DateTime issueDate = businessObject.ObjectIssueDate; DateTime createDate = businessObject.IssuedDateTimeStamp; CriteriaOperator criteria_Job = new BinaryOperator("ETLJobId", job, BinaryOperatorType.Equal); //DateTime CriteriaOperator criteria_IssueDate = new BinaryOperator(new OperandProperty("BusinessObjectId.ObjectIssueDate"), issueDate, BinaryOperatorType.Less); CriteriaOperator criteria_IssueDate_1 = new BinaryOperator(new OperandProperty("BusinessObjectId.ObjectIssueDate"), issueDate, BinaryOperatorType.Equal); CriteriaOperator criteria_CreateDate = new BinaryOperator("BusinessObjectId.IssuedDateTimeStamp", createDate, BinaryOperatorType.LessOrEqual); CriteriaOperator criteria_Datetime = CriteriaOperator.Or( criteria_IssueDate, CriteriaOperator.And(criteria_IssueDate_1, criteria_CreateDate)); CriteriaOperator criteria_RowStatus = new BinaryOperator("RowStatus", 0, BinaryOperatorType.GreaterOrEqual); CriteriaOperator criteria_BusinessObjectId = new BinaryOperator(new OperandProperty("BusinessObjectId.BusinessObjectId"), businessObject.BusinessObjectId, BinaryOperatorType.NotEqual); CriteriaOperator criteria = CriteriaOperator.And(criteria_Job, criteria_Datetime, criteria_RowStatus, criteria_BusinessObjectId); etlBusinessObjectCollection = new XPCollection <ETLBusinessObject>(session, criteria); } catch (Exception) { throw; } return(etlBusinessObjectCollection); }
public ETLBusinessObject GetLastProcessedObject(Session session, Guid jobId) { ETLBusinessObject etlBusinessObject = null; try { ETLJob job = session.GetObjectByKey <ETLJob>(jobId); CriteriaOperator criteria_0 = new BinaryOperator("ETLJobId", job, BinaryOperatorType.Equal); CriteriaOperator criteria_1 = new BinaryOperator("RowStatus", 0, BinaryOperatorType.Greater); CriteriaOperator criteria = new GroupOperator(GroupOperatorType.And, criteria_0, criteria_1); XPCollection <ETLBusinessObject> etlBusinessObjectCollection = new XPCollection <ETLBusinessObject>(criteria); etlBusinessObjectCollection.Sorting.Add(new SortProperty("BusinessObjectIssuedDateTimeStamp", SortingDirection.Descending)); etlBusinessObject = etlBusinessObjectCollection.FirstOrDefault(); } catch (Exception) { throw; } return(etlBusinessObject); }
public double GetAccountingBalanceAtTime(Session session, Guid AccountingId, Guid CurrencyId, DateTime time) { double result = 0; try { Currency currentCurrency = session.GetObjectByKey <Currency>(CurrencyId); CriteriaOperator criteria_0 = new BinaryOperator("RowStatus", Utility.Constant.ROWSTATUS_ACTIVE, BinaryOperatorType.GreaterOrEqual); CriteriaOperator criteria_1; criteria_1 = new BinaryOperator("TransactionId.IssueDate", time, BinaryOperatorType.LessOrEqual); CriteriaOperator criteria_2 = new BinaryOperator("AccountId!Key", AccountingId, BinaryOperatorType.Equal); CriteriaOperator criteria_3 = new BinaryOperator("CurrencyId.CurrencyTypeId", currentCurrency.CurrencyTypeId, BinaryOperatorType.Equal); CriteriaOperator criteria = new GroupOperator(GroupOperatorType.And, criteria_0, criteria_1, criteria_2, criteria_3); XPCollection <GeneralLedger> ledgerList = new XPCollection <GeneralLedger>(session, criteria); if (ledgerList == null || ledgerList.Count == 0) { return(0); } ledgerList.Sorting.Add(new SortProperty("IssuedDate", SortingDirection.Descending)); ledgerList.Sorting.Add(new SortProperty("CreateDate", SortingDirection.Descending)); result = ledgerList.FirstOrDefault().Balance; foreach (GeneralLedger ledger in ledgerList) { Util util = new Util(); BusinessObjectBO businessObjectBO = new BusinessObjectBO(); BusinessObject businessObject = util.GetXpoObjectByFieldName <BusinessObject, Guid>(session, "RefId", ledger.TransactionId.TransactionId, BinaryOperatorType.Equal); ETLJob etlJob = util.GetXpoObjectByFieldName <ETLJob, string>(session, "Code", "GeneralJournalToGeneralLedgerJob", BinaryOperatorType.Equal); //Console.WriteLine("Test:" + businessObject.BusinessObjectId + " " + ledger.TransactionId.TransactionId); if (!businessObjectBO.NeedToBeProcessed(session, businessObject.BusinessObjectId, etlJob.ETLJobId)) { result = ledger.Balance; return(result); } } } catch (Exception) { throw; } return(result); }
public ETLEntryObjectHistory GetETLEntryObjectHistory(Session session, Guid jobId, Int64 businessObjectId) { ETLEntryObjectHistory etlEntryObjectHistory = null; try { ETLJob job = session.GetObjectByKey <ETLJob>(jobId); if (job == null) { return(null); } BusinessObject businessObject = session.GetObjectByKey <BusinessObject>(businessObjectId); if (businessObject == null) { return(null); } ObjectEntryLogBO objectEntryLogBO = new ObjectEntryLogBO(); ETLLogBO etlLogBO = new ETLLogBO(); ObjectEntryLog newestObjectEntryLog = objectEntryLogBO.GetNewestObjectEntryLog(session, businessObjectId); ETLBusinessObject etlBusinessObject = etlLogBO.GetETLBusinessObject(session, jobId, businessObjectId); if (etlBusinessObject == null) { return(null); } CriteriaOperator criteria_0 = new BinaryOperator("ETLBusinessObjectId", etlBusinessObject, BinaryOperatorType.Equal); CriteriaOperator criteria_1 = new BinaryOperator(new OperandProperty("ObjectEntryLogId.BusinessObjectId.BusinessObjectId"), businessObject.BusinessObjectId, BinaryOperatorType.Equal); CriteriaOperator criteria = GroupOperator.Combine(GroupOperatorType.And, criteria_0, criteria_1); etlEntryObjectHistory = session.FindObject <ETLEntryObjectHistory>(criteria); } catch (Exception) { throw; } return(etlEntryObjectHistory); }
public static void Populate(Session dbSession) { Session session = null; try { session = dbSession; //insert default data into ETLBusinessObject table if (!Util.IsExistXpoObject <ETLBusinessObject>(session, "RowStatus", 0)) { CriteriaOperator criteria = new BinaryOperator("ObjectType", -10, BinaryOperatorType.Equal); BusinessObject businessObject = session.FindObject <BusinessObject>(criteria); criteria = new BinaryOperator("Code", Utility.Constant.NAAN_DEFAULT_CODE, BinaryOperatorType.Equal); ETLJob job = session.FindObject <ETLJob>(criteria); ETLBusinessObject _ETLBusinessObject = new ETLBusinessObject(session) { BusinessObjectIssuedDateTimeStamp = DateTime.Now, BusinessObjectId = businessObject, ETLJobId = job, RowStatus = 0 }; _ETLBusinessObject.Save(); } //if (!Util.IsExistXpoObject<ETLBusinessObject>(session,"RowStatus",2)) //{ // ETLBusinessObject _ETLBusinessObject = new ETLBusinessObject(session) // { // BusinessObjectIssuedDateTimeStamp = new DateTime(2013, 10, 23), // BusinessObjectId = session.GetObjectByKey<BusinessObject>((Int64)2), // ETLJobId = session.GetObjectByKey<ETLJob>(Guid.Parse("1d6260c7-797a-41c3-b419-709b4270a0ee")), // RowStatus = 2 // }; // _ETLBusinessObject.Save(); //} //if (!Util.IsExistXpoObject<ETLBusinessObject>(session,"RowStatus", 3)) //{ // ETLBusinessObject _ETLBusinessObject = new ETLBusinessObject(session) // { // BusinessObjectIssuedDateTimeStamp = new DateTime(2013, 10, 24), // BusinessObjectId = session.GetObjectByKey<BusinessObject>((Int64)3), // ETLJobId = session.GetObjectByKey<ETLJob>(Guid.Parse("1d6260c7-797a-41c3-b419-709b4270a0ee")), // RowStatus = 3 // }; // _ETLBusinessObject.Save(); //} //if (!Util.IsExistXpoObject<ETLBusinessObject>(session,"RowStatus", 4)) //{ // ETLBusinessObject _ETLBusinessObject = new ETLBusinessObject(session) // { // BusinessObjectIssuedDateTimeStamp = new DateTime(2013, 10, 25), // BusinessObjectId = session.GetObjectByKey<BusinessObject>((Int64)4), // ETLJobId = session.GetObjectByKey<ETLJob>(Guid.Parse("1d6260c7-797a-41c3-b419-709b4270a0ee")), // RowStatus = 4 // }; // _ETLBusinessObject.Save(); //} } catch (Exception) { throw; } finally { //if (session != null) session.Dispose(); } }
//保存 protected void btn_Save_Click(object sender, EventArgs e) { //错误信息 StringBuilder error = new StringBuilder(); if (this.Data == null && Request["id"] != null) { //根据ID获取任务对象 //this.Data = (ETLJob)ETLJobAdapter.Instance.Load(Convert.ToString(Request["id"])); this.Data = JobBaseAdapter.Instance.Load(c => c.AppendItem("job_id", Convert.ToString(Request["id"]))).FirstOrDefault(); } if (!Util.CheckOperationSafe()) { return; } //ETL任务 if (ddl_JobType.SelectedValue == "ETLService") { #region JobScheduleCollection pvc = new JobScheduleCollection(); //计划列表 if (ch_IsAuto.Checked) { //pvc = JSONSerializerExecute.Deserialize<JobScheduleCollection>(schedules.Value); pvc = GetSchedules(schedules.Value); } ETLEntityCollection etls = GetETLEntities(etlEntities.Value); ETLWhereConditionCollection wheres = JSONSerializerExecute.Deserialize <ETLWhereConditionCollection>(conditions.Value); if (this.Data != null) { ETLJob job = ETLJobAdapter.Instance.Load(this.Data.JobID) as ETLJob; this.Data = job; job.Category = txt_jobCategory.Text; job.Enabled = ddl_Enabled.SelectedValue == "1" ? true : false; job.JobType = JobType.ETLService; job.Description = txt_JobDescription.Text; job.Name = txt_JobName.Text; job.Schedules = pvc; job.ETLEntities = etls; job.IsAuto = ch_IsAuto.Checked; job.IsIncrement = ch_IsIncrement.Checked; wheres.ForEach(w => { w.JOB_ID = this.Data.JobID; w.ID = Guid.NewGuid().ToString(); }); job.ETLWhereConditions = wheres; if (CheckEtlEntities()) { ETLJobOperations.Instance.DoOperation(EntityJobOperationMode.Update, job); } } else { ETLJob job = new ETLJob() { JobID = Guid.NewGuid().ToString(), Category = txt_jobCategory.Text, Enabled = ddl_Enabled.SelectedValue == "1" ? true : false, JobType = JobType.ETLService, Description = txt_JobDescription.Text, Name = txt_JobName.Text, Schedules = pvc, ETLEntities = etls, IsAuto = ch_IsAuto.Checked, IsIncrement = ch_IsIncrement.Checked }; wheres.ForEach(w => { w.JOB_ID = job.JobID; w.ID = Guid.NewGuid().ToString(); }); job.ETLWhereConditions = wheres; this.Data = job; if (CheckEtlEntities()) { ETLJobOperations.Instance.DoOperation(EntityJobOperationMode.Add, job); } } if (string.IsNullOrEmpty(ErrorMsg)) { HttpContext.Current.Response.Write("<script>window.returnValue=true;window.close();</script>"); //this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "closeWindow", "window.returnValue=true;window.close()", true); } else { //ViewState["conditions"] = conditions.Value; ViewState["schedules"] = schedules.Value; conditions.Value = JSONSerializerExecute.Serialize((this.Data as ETLJob).ETLWhereConditions); ViewState["etlEntities"] = etlEntities.Value; //计划列表 List <ScheduleGridObj> scheduleList = new List <ScheduleGridObj>(); foreach (JobSchedule item in this.Data.Schedules) { scheduleList.Add(new ScheduleGridObj() { ID = item.ID, Name = item.Name, Description = item.Description }); } ViewState["schedulesGrid"] = JSONSerializerExecute.Serialize(scheduleList);; grid.InitialData = scheduleList; //etl实体列表 List <EtlGridObj> etlJobs = new List <EtlGridObj>(); foreach (ETLEntity item in (this.Data as ETLJob).ETLEntities) { etlJobs.Add(new EtlGridObj() { ID = item.ID, CodeName = item.Name, Description = item.Description }); } ViewState["etlsGrid"] = JSONSerializerExecute.Serialize(etlJobs); gridEtl.InitialData = etlJobs; string msg = ErrorMsg.Replace("\r\n", string.Empty); string scriptStr = string.Format("alert('{0}');", msg); this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "closeWindow", scriptStr, true); //HttpContext.Current.Response.Write(scriptStr); } #endregion } //WebService任务 else { #region JobScheduleCollection pvc = new JobScheduleCollection(); //计划列表 if (ch_IsAuto.Checked) { //pvc = JSONSerializerExecute.Deserialize<JobScheduleCollection>(schedules.Value); pvc = GetSchedules(schedules.Value); } if (this.Data != null) { InvokeWebServiceJob job = InvokeWebServiceJobAdapter.Instance.Load(w => w.AppendItem("Job_id", this.Data.JobID)).FirstOrDefault();// this.Data as InvokeWebServiceJob; job.Category = txt_jobCategory.Text; job.Enabled = ddl_Enabled.SelectedValue == "1" ? true : false; job.JobType = JobType.InvokeService; job.Description = txt_JobDescription.Text; job.Name = txt_JobName.Text; job.Schedules = pvc; job.ISManual = !ch_IsAuto.Checked; job.SvcOperationDefs = JSONSerializerExecute.Deserialize <WfServiceOperationDefinitionCollection>(this.services.Value); //入库 DoUpdate(job); } else { InvokeWebServiceJob job = new InvokeWebServiceJob() { JobID = Guid.NewGuid().ToString(), Category = txt_jobCategory.Text, Enabled = ddl_Enabled.SelectedValue == "1" ? true : false, JobType = JobType.InvokeService, Description = txt_JobDescription.Text, Name = txt_JobName.Text, Schedules = pvc, ISManual = !ch_IsAuto.Checked, SvcOperationDefs = JSONSerializerExecute.Deserialize <WfServiceOperationDefinitionCollection>(this.services.Value) }; this.Data = job; //入库 DoUpdate(job); } if (string.IsNullOrEmpty(ErrorMsg)) { HttpContext.Current.Response.Write("<script>window.returnValue=true;window.close();</script>"); //this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "closeWindow", "window.returnValue=true;window.close()", true); } else { //ViewState["conditions"] = conditions.Value; ViewState["schedules"] = schedules.Value; conditions.Value = JSONSerializerExecute.Serialize((this.Data as ETLJob).ETLWhereConditions); ViewState["etlEntities"] = etlEntities.Value; //计划列表 List <ScheduleGridObj> scheduleList = new List <ScheduleGridObj>(); foreach (JobSchedule item in this.Data.Schedules) { scheduleList.Add(new ScheduleGridObj() { ID = item.ID, Name = item.Name, Description = item.Description }); } ViewState["schedulesGrid"] = JSONSerializerExecute.Serialize(scheduleList);; grid.InitialData = scheduleList; //etl实体列表 List <EtlGridObj> etlJobs = new List <EtlGridObj>(); foreach (ETLEntity item in (this.Data as ETLJob).ETLEntities) { etlJobs.Add(new EtlGridObj() { ID = item.ID, CodeName = item.Name, Description = item.Description }); } ViewState["etlsGrid"] = JSONSerializerExecute.Serialize(etlJobs); gridEtl.InitialData = etlJobs; string msg = ErrorMsg.Replace("\r\n", string.Empty); string scriptStr = string.Format("alert('{0}');", msg); this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "closeWindow", scriptStr, true); } #endregion } }
public bool CreatETLJobLog(Session session, Guid jobId, string StateName, string StatusName, DateTime date) { bool res = true; try { DateTime nowTime = date; string currentDay = nowTime.Day.ToString(); string currentMonth = nowTime.Month.ToString(); string currentYear = nowTime.Year.ToString(); string currentHour = nowTime.Hour.ToString(); string currentMinute = nowTime.Minute.ToString(); DayDim day = GetDayDim(session, currentDay); if (day == null) { return(false); } MonthDim month = GetMonthDim(session, currentMonth); if (month == null) { return(false); } YearDim year = GetYearDim(session, currentYear); if (year == null) { return(false); } HourDim hour = GetHourDim(session, currentHour); if (hour == null) { return(false); } MinuteDim minute = GetMinuteDim(session, currentMinute); if (minute == null) { return(false); } ETLJobRunningState state = GetETLJobRunningState(session, StateName); if (state == null) { return(false); } ETLJobRunningStatus status = GetETLJobRunningStatus(session, StatusName); if (status == null) { return(false); } ETLJob job = session.GetObjectByKey <ETLJob>(jobId); if (job == null) { return(false); } ETLJobLog etlJobLog = new ETLJobLog(session); etlJobLog.ETLJobId = job; etlJobLog.DayDimId = day; etlJobLog.MinuteDimId = minute; etlJobLog.MonthDimId = month; etlJobLog.YearDimId = year; etlJobLog.HourDimId = hour; etlJobLog.ETLJobRunningStateId = state; etlJobLog.ETLJobRunningStatusId = status; etlJobLog.Save(); } catch (Exception) { return(false); throw; } return(res); }