public void TestIsComplete()
        {
            //没有资质
            IList <SupplierInformationInfo> dataList = new List <SupplierInformationInfo>();
            var result = _qualificationManager.IsComplete(dataList);

            Assert.IsTrue(result == (int)SupplierCompleteType.NoComplete);

            //有资质、不完整或者完整但过期
            dataList.Add(new SupplierInformationInfo
            {
                QualificationType = (int)SupplierQualificationType.TaxRegistrationCertificate,
                OverdueDate       = DateTime.Now
            });
            var result1 = _qualificationManager.IsComplete(dataList);

            Assert.IsTrue(result1 == (int)SupplierCompleteType.NoComplete);

            dataList.Add(new SupplierInformationInfo
            {
                QualificationType = (int)SupplierQualificationType.BusinessLicense,
                OverdueDate       = DateTime.Now
            });
            var result2 = _qualificationManager.IsComplete(dataList);

            Assert.IsTrue(result2 == (int)SupplierCompleteType.NoComplete);

            dataList.Add(new SupplierInformationInfo
            {
                QualificationType = (int)SupplierQualificationType.OrganizationCodeCertificate,
                OverdueDate       = DateTime.Now.AddDays(-10)
            });
            var result3 = _qualificationManager.IsComplete(dataList);

            Assert.IsTrue(result3 == (int)SupplierCompleteType.NoComplete);

            //有资质、完整
            dataList = new List <SupplierInformationInfo> {
                new SupplierInformationInfo
                {
                    QualificationType = (int)SupplierQualificationType.BusinessLicense,
                    OverdueDate       = DateTime.Now
                },
                new SupplierInformationInfo
                {
                    QualificationType = (int)SupplierQualificationType.OrganizationCodeCertificate,
                    OverdueDate       = DateTime.Now
                },
                new SupplierInformationInfo
                {
                    QualificationType = (int)SupplierQualificationType.TaxRegistrationCertificate,
                    OverdueDate       = DateTime.Now
                }
            };
            var result7 = _qualificationManager.IsComplete(dataList);

            Assert.IsTrue(result7 == (int)SupplierCompleteType.Complete);
        }
        /// <summary>
        /// 供应商资质完整与过期维护
        /// </summary>
        public static void RunQualificationTask()
        {
            var date            = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
            var createStockHour = Configuration.AppSettings["CreateStockHour"];
            var hours           = createStockHour.Split(',');

            if (!hours.Contains(string.Format("{0}", date.Hour)))
            {
                return;
            }
            if (_currentDay == DateTime.Now.Day)
            {
                return;
            }
            try
            {
                var dataList = _companyCussent.GetSupplierGoodsInfos(CompanyType.Suppliers, State.Enable, string.Empty, 0, 0);
                if (dataList.Count > 0)
                {
                    foreach (var supplierGoodsInfo in dataList)
                    {
                        var infoList = _qualification.GetSupplierQualificationBySupplierId(supplierGoodsInfo.ID);
                        if (infoList.Count == 0)
                        {
                            if (supplierGoodsInfo.Complete == 0 && supplierGoodsInfo.Expire == "0")
                            {
                                continue;
                            }
                            _companyCussent.UpdateQualificationCompleteState(supplierGoodsInfo.ID, 0, "0");
                        }
                        else
                        {
                            var complete = _qualificationManager.IsComplete(infoList);
                            var expire   = _qualificationManager.IsExpire(infoList, _days);
                            if (supplierGoodsInfo.Complete != complete || expire != supplierGoodsInfo.Expire)
                            {
                                _companyCussent.UpdateQualificationCompleteState(supplierGoodsInfo.ID, complete, expire);
                            }
                        }
                    }
                    _currentDay = DateTime.Now.Day;
                }
            }
            catch (Exception exp)
            {
                ERP.SAL.LogCenter.LogService.LogError(string.Format("{0}供应商资质完整与过期维护异常!", date), "供应商资质完整与过期维护", exp);
            }
        }