コード例 #1
0
        /// <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));
            }
        }
コード例 #2
0
        /// <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));
            }
        }
コード例 #3
0
        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);
                }
            }
        }
コード例 #4
0
        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
            });
        }