public void TestIsExpire() { IList <SupplierInformationInfo> dataList = new List <SupplierInformationInfo>(); var result = _qualificationManager.IsExpire(dataList, 30); Assert.IsTrue(result == "0"); dataList.Add(new SupplierInformationInfo { QualificationType = (int)SupplierQualificationType.BusinessLicense, OverdueDate = DateTime.Now.AddDays(-10) }); var result1 = _qualificationManager.IsExpire(dataList, 30); Assert.IsTrue(result1 == "3"); dataList.Add(new SupplierInformationInfo { QualificationType = (int)SupplierQualificationType.TaxRegistrationCertificate, OverdueDate = DateTime.Now.AddDays(10) }); var result2 = _qualificationManager.IsExpire(dataList, 30); Assert.IsTrue(result2 == "3,2"); dataList.Add(new SupplierInformationInfo { QualificationType = (int)SupplierQualificationType.MedicalDeviceBusinessLicense, OverdueDate = DateTime.Now.AddDays(60) }); var result3 = _qualificationManager.IsExpire(dataList, 30); Assert.IsTrue(result3 == "3,2,1"); dataList.Add(new SupplierInformationInfo { QualificationType = (int)SupplierQualificationType.OrganizationCodeCertificate, OverdueDate = DateTime.Now.AddDays(50) }); var result4 = _qualificationManager.IsExpire(dataList, 30); Assert.IsTrue(result4 == "3,2,1"); }
/// <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); } }