/// <summary>应付款每月金额、入库统计金额存档任务
        /// </summary>
        public static void RunSupplierPaymentsAndPurchasingTask()
        {
            string title = "";

            //执行时间点  每月1号  0 - 8  每天成功运行一次就好
            try
            {
                var date            = DateTime.Now;
                var createStockHour = Configuration.AppSettings["CreateStockHour"];
                var hours           = createStockHour.Split(',');
                if (!hours.Contains(string.Format("{0}", date.Hour)))
                {
                    return;
                }

                title = "往来帐明细存档";

                if (_day == DateTime.Now.Day)
                {
                    return;
                }
                //将需要统计的往来帐记录到SupplierReckoningRecord表中
                var result = _supplierReportBll.InsertRececkoning(date);
                if (!result)
                {
                    ERP.SAL.LogCenter.LogService.LogError(string.Format("往来帐明细存档失败:{0}", date), "往来帐报表存档", null);
                }
                else
                {
                    if (date.Day == 1)
                    {
                        title = "统计应付款金额和采购入库金额";
                        var rerunResult = _supplierReport.ReRunEveryData(date);
                        if (!rerunResult)
                        {
                            ERP.SAL.LogCenter.LogService.LogError(string.Format("{0}年{1}月{2}日数据报表存档失败", date.Year, date.Month, 1), "月初应付款金额和采购入库金额");
                            return;
                        }
                    }
                    _day = DateTime.Now.Day;
                }
            }
            catch (Exception exp)
            {
                ERP.SAL.LogCenter.LogService.LogError("应付款每月金额、入库统计金额存档任务异常", title, exp);
            }
        }
Exemple #2
0
        public void TestInsertRececkoning()
        {
            _supplierReportBll = new SupplierReportBll(_iSupplierReport, _stubICompanyCussent, _stubIReckoning);
            var date = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 3);

            _iSupplierReport.IsExistsRecentDateTime = time => true;
            //_iSupplierReport.InsertRececkoningDateTimeIListOfRecordReckoningInfo = (time, list) => true;
            _supplierReportBll = new SupplierReportBll(_iSupplierReport, _stubICompanyCussent, _stubIReckoning);
            var result8 = _supplierReportBll.InsertRececkoning(date);

            Assert.IsTrue(result8);

            date = new DateTime(DateTime.Now.Year, 11, 1);
            _iSupplierReport.IsExistsDateTime = time => true;
            _supplierReportBll = new SupplierReportBll(_iSupplierReport, _stubICompanyCussent, _stubIReckoning);
            var result9 = _supplierReportBll.InsertRececkoning(date);

            Assert.IsTrue(result9);

            _iSupplierReport.IsExistsDateTime = time => false;
            _stubIReckoning.SelectRecordReckoningInfosDateTimeDateTime = (time, dateTime) => new List <ERP.Model.Report.RecordReckoningInfo>();
            _supplierReportBll = new SupplierReportBll(_iSupplierReport, _stubICompanyCussent, _stubIReckoning);
            var result2 = _supplierReportBll.InsertRececkoning(date);

            Assert.IsTrue(!result2);


            _stubIReckoning.SelectRecordReckoningInfosDateTimeDateTime = (time, dateTime) => new List <RecordReckoningInfo>
            {
                new RecordReckoningInfo
                {
                    ReckoningId = Guid.NewGuid()
                }
            };
            _iSupplierReport.InsertRececkoningBooleanIListOfRecordReckoningInfo = (b, list) => true;
            _supplierReportBll = new SupplierReportBll(_iSupplierReport, _stubICompanyCussent, _stubIReckoning);
            var result3 = _supplierReportBll.InsertRececkoning(date);

            Assert.IsTrue(result3);
        }