/// <summary> /// Method for execute batch process (each) /// </summary> /// <param name="data"></param> /// <returns></returns> public ActionResult CMS050_Runbatch(doBatchProcess data) { List <string> lsRunBatchFailed = new List <string>(); List <int?> list = new List <int?>(); try { IBatchProcessHandler handler = ServiceContainer.GetService <IBatchProcessHandler>() as IBatchProcessHandler; if (data != null) { if (data.isRunAll == false) // Run selected batch { data.BatchDate = DateTime.Now; data.BatchUser = CommonUtil.dsTransData.dtUserData.EmpNo; handler.RunProcess(data); } else // ... { } } return(Json(1)); } catch (Exception ex) { ObjectResultData res = new ObjectResultData(); res.AddErrorMessage(ex); return(Json(res)); } }
/// <summary> /// Method for execute all batch process /// </summary> /// <returns></returns> public ActionResult CMS050_RunbatchAll() { ObjectResultData res = new ObjectResultData(); try { if (BatchProcessUtil.CheckJobRunning("SECOM_AJIS_BatchAll")) { // btnRunBatchAll string lblRunBatchAll = CommonUtil.GetLabelFromResource(MessageUtil.MODULE_COMMON, "CMS050", "btnRunBatchAll"); res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0031, new string[] { lblRunBatchAll }); return(Json(res)); } IBatchProcessHandler handler = ServiceContainer.GetService <IBatchProcessHandler>() as IBatchProcessHandler; handler.RunProcessAll(); return(Json(1)); } catch (Exception ex) { res.AddErrorMessage(ex); return(Json(res)); } }
public void Execute(JobExecutionContext context) { JobDataMap dataMap = context.JobDetail.JobDataMap; tbs_BatchQueue batchQueue = dataMap.Get("BatchQueue") as tbs_BatchQueue; QueueStatusUpdate queueUpdateCallBack = dataMap.Get("QueueStatusUpdateCallBack") as QueueStatusUpdate; if (batchQueue == null) { return; } ICommonHandler commonHandler = ServiceContainer.GetService <ICommonHandler>() as ICommonHandler; ILogHandler logHandler = ServiceContainer.GetService <ILogHandler>() as ILogHandler; IBatchProcessHandler batchhandler = ServiceContainer.GetService <IBatchProcessHandler>() as IBatchProcessHandler; List <string> message = new List <string>(); batchQueue.Status = "R"; batchQueue.StartTime = DateTime.Now; batchQueue.LastUpdate = DateTime.Now; batchQueue.Remark = null; commonHandler.UpdateTbs_BatchQueue(CommonUtil.ConvertToXml_Store <tbs_BatchQueue>(new List <tbs_BatchQueue>() { batchQueue })); if (queueUpdateCallBack != null) { queueUpdateCallBack(batchQueue); } var callback = new BatchCallBackDel(batchhandler.BatchUpdateStatus); try { foreach (string tmpBatchCode in batchQueue.BatchCode.Split(',')) { var batchCode = tmpBatchCode.Trim(); var lstAllBatches = logHandler.GetBatchProcessDataList( ConfigName.C_CONFIG_SUSPEND_FLAG, MiscType.C_BATCH_STATUS, MiscType.C_BATCH_LAST_RESULT, BatchStatus.C_BATCH_STATUS_PROCESSING, FlagType.C_FLAG_ON, FlagType.C_FLAG_OFF ); var batchInfo = lstAllBatches.Where(b => b.BatchCode == batchCode).FirstOrDefault(); if (batchInfo == null) { message.Add(string.Format("BatchCode: {0} | Action: Skipped | Remark: Missing from sp_CM_GetBatchProcessDataList", batchCode)); continue; } if (!(batchInfo.EnableRun ?? false)) { message.Add(string.Format("BatchCode: {0} | Action: Skipped | Remark: EnableRun = False", batchCode)); continue; } batchQueue.LastUpdate = DateTime.Now; batchQueue.Remark = "Running BatchCode : " + batchCode; commonHandler.UpdateTbs_BatchQueue(CommonUtil.ConvertToXml_Store <tbs_BatchQueue>(new List <tbs_BatchQueue>() { batchQueue })); if (queueUpdateCallBack != null) { queueUpdateCallBack(batchQueue); } message.Add(string.Format("BatchCode: {0} | Action: Start | Remark: " + DateTime.Now.ToString(), batchCode)); this.RunProcess(batchInfo, "INITIAL", DateTime.Now, callback); message.Add(string.Format("BatchCode: {0} | Action: Finished | Remark: " + DateTime.Now.ToString(), batchCode)); } batchQueue.Status = "C"; batchQueue.EndTime = DateTime.Now; batchQueue.LastUpdate = DateTime.Now; batchQueue.Remark = string.Join("\r\n", message); commonHandler.UpdateTbs_BatchQueue(CommonUtil.ConvertToXml_Store <tbs_BatchQueue>(new List <tbs_BatchQueue>() { batchQueue })); if (queueUpdateCallBack != null) { queueUpdateCallBack(batchQueue); } } catch (Exception ex) { message.Add("ERROR: " + ex.ToString()); batchQueue.Status = "E"; batchQueue.EndTime = DateTime.Now; batchQueue.Remark = string.Join("\n", message); commonHandler.UpdateTbs_BatchQueue(CommonUtil.ConvertToXml_Store <tbs_BatchQueue>(new List <tbs_BatchQueue>() { batchQueue })); if (queueUpdateCallBack != null) { queueUpdateCallBack(batchQueue); } } }
public doBatchProcessResult WorkProcess(string strUserId, DateTime dtBatchDate) { IBatchProcessHandler batchHand = ServiceContainer.GetService <IBatchProcessHandler>() as IBatchProcessHandler; IInstallationDocumentHandler insHand = ServiceContainer.GetService <IInstallationDocumentHandler>() as IInstallationDocumentHandler; int failed = 0; int total = 0; try { CommonUtil.SetTransDataForJobScheduler(strUserId, dtBatchDate); List <tbt_InstallationReprint> lstSlipNo = insHand.GetTbt_InstallationReprint(); total = lstSlipNo.Count; foreach (tbt_InstallationReprint slip in lstSlipNo) { try { if (slip.DocumentCode == DocumentCode.C_DOCUMENT_CODE_NEW_INSTALL_SLIP_RENTAL || slip.DocumentCode == DocumentCode.C_DOCUMENT_CODE_CHANGE_INSTALL_SLIP || slip.DocumentCode == DocumentCode.C_DOCUMENT_CODE_REMOVAL_INSTALL_SLIP || slip.DocumentCode == DocumentCode.C_DOCUMENT_CODE_NEW_INSTALL_SLIP_SALE) { Stream tmp = insHand.CreateInstallationReport(slip.SlipNo, slip.DocumentCode); if (tmp != null) { batchHand.InsertTbt_BatchLog(dtBatchDate, "99", string.Format("Reprint installation report completed: {0}: {1} {2}", slip.Id, slip.DocumentCode, slip.SlipNo), false, strUserId); tmp.Close(); } else { batchHand.InsertTbt_BatchLog(dtBatchDate, "99", string.Format("Reprint installation report completed without file: {0}: {1} {2}", slip.Id, slip.DocumentCode, slip.SlipNo), true, strUserId); failed++; } } } catch (Exception ex) { batchHand.InsertTbt_BatchLog(dtBatchDate, "99", string.Format("Reprint installation report error: {0}: {1} {2} - {3} {4} {5}", slip.Id, slip.DocumentCode, slip.SlipNo, ex.Message, ex.ToString(), ex.StackTrace), true, strUserId); failed++; } } } catch (Exception ex) { batchHand.InsertTbt_BatchLog(dtBatchDate, "99", string.Format("Reprint installation report error: {0} {1} {2}", ex.Message, ex.ToString(), ex.StackTrace), true, strUserId); failed = total = 0; } return(new doBatchProcessResult() { Result = FlagType.C_FLAG_ON, BatchStatus = (failed == 0 ? BatchStatus.C_BATCH_STATUS_SUCCEEDED : BatchStatus.C_BATCH_STATUS_FAILED), Total = total, Complete = total - failed, Failed = failed, ErrorMessage = null, BatchUser = strUserId, BatchDate = dtBatchDate }); }