using Ips.Library.Entity; using Ips.Sps.Scheduling.Entities; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Ips.Sps.Scheduling.SigAds { public class AdWorkerFactory { public static AdWorkerBase Create(RunTsk runTsk) { AdWorkerBase worker = null; if (!runTsk.IsHistory) { if (runTsk.TskType == TskType.LocTsk) { switch (runTsk.AdMode) { case AdMode.ADC: worker = new AdcWorker(runTsk); break; case AdMode.DDC: worker = new DdcWorker(runTsk); break; case AdMode.DDCKeep: worker = new DdcKeepWorker(runTsk); break; } } else if (runTsk.TskType == TskType.SctTsk) { switch (runTsk.AdMode) { case AdMode.ADC: worker = new AdcSctWorker(runTsk); break; //case AdMode.DDC: // worker = new AdDdcWorker(runTsk); // break; //case AdMode.DDCKeep: // worker = new AdDdcCtWorker(runTsk); // break; default: throw new Exception("不支持的采集模式!"); } } } else { if (runTsk.FileFindType == SigFileFindType.ByFS) { worker = new AdFsHistoryWorker(runTsk); } else { worker = new AdDbHistoryWorker(runTsk); } } return worker; } } }