public override void Finish(TaskWorkStatus status, TaskWork task) { switch (status) { case TaskWorkStatus.K2ProcessDeclined: ProjectInfo.UpdateProjectStatus(ProjectId, FlowCode.TempClosure, ProjectStatus.Rejected); ProjectInfo.UpdateProjectStatus(ProjectId, FlowCode.TempClosure_ClosurePackage, ProjectStatus.Rejected); break; case TaskWorkStatus.K2ProcessApproved: ProjectInfo.FinishNode(ProjectId, FlowCode.TempClosure_ClosurePackage, NodeCode.TempClosure_ClosurePackage_Approve); var closureMemo = new TempClosureMemo(); closureMemo.GenerateClosureMemoTask(ProjectId); var tempClosureReopenMemo = new TempClosureReopenMemo(); tempClosureReopenMemo.GenerateReopenTask(ProjectId); break; } }
public static TempClosureReopenMemo Get(string projectId) { var db = PrepareDb(); var usCode = db.ProjectInfo.FirstOrDefault(pi => pi.ProjectId == projectId).USCode; var reopenMemo = FirstOrDefault(cm => cm.ProjectId == projectId); if (reopenMemo == null) { reopenMemo = SqlQuery <TempClosureReopenMemo>(@" SELECT CAST('00000000-0000-0000-0000-000000000000' AS uniqueidentifier) [Id] ,@ProjectId [ProjectId] ,@USCode [USCode] ,s.RegionCode [RegionCode] ,s.RegionENUS [RegionENUS] ,s.RegionZHCN [RegionZHCN] ,s.MarketCode [MarketCode] ,s.MarketENUS [MarketENUS] ,s.MarketZHCN [MarketZHCN] ,s.ProvinceENUS [ProvinceENUS] ,s.ProvinceZHCN [ProvinceZHCN] ,s.CityCode [CityCode] ,s.CityENUS [CityENUS] ,s.CityZHCN [CityZHCN] ,s.NameENUS [StoreENUS] ,s.NameZHCN [StoreZHCN] ,'' [PipelineId] ,NULL MarketDesirability ,NULL RERating ,NULL [ActualConsFinishDate] ,ci.ActualReopenDate [OpeningDate] ,s.PortfolioType [PortfolioType] ,s.PortfolioTypeName [ProtfolioTypeName] ,s.TACode [TAClassification] ,s.TAName [TAClassificationName] ,cast(cast(isnull(sloc.Seats1,0) as decimal)+cast(isnull(sloc.Seats2,0) as decimal) +cast(isnull(sloc.Seats3,0) as decimal)+cast(isnull(sloc.Seats4,0) as decimal) +cast(isnull(sloc.Seats5,0) as decimal) as nvarchar(10)) SeatingNum ,sloc.TotalArea [BusinessArea] ,sloc.KitchenFloor [KitchenFloor] ,sloc.Floor [SeatingFloor] ,'' [EarlyTerminationClause] ,NULL CarParkTotal ,sloc.KitchenFloor [ParkingNum] ,'' [ContractType] ,'' [Kiosk] ,sd.AssetRepEid [RERep] ,sd.PlannerEid [Planner] ,sd.RERepName RERepName ,sd.PlannerName PlannerName ,@Creator Creator ,getdate() CreateTime FROM StoreBasicInfo s INNER JOIN StoreSTLocation sloc ON sloc.StoreCode = s.StoreCode INNER JOIN StoreDevelop sd ON sd.StoreCode = s.StoreCode INNER JOIN TempClosureInfo ci ON ci.USCode = s.StoreCode WHERE s.StoreCode = @USCode AND ci.ProjectId = @ProjectId ", new { ProjectId = projectId, USCode = usCode, Creator = ClientCookie.UserCode }).FirstOrDefault(); var contractType = StoreContractInfo.SearchByProject(projectId).OrderByDescending(c => c.CreatedTime).Select(c => c.LeasePurchase).FirstOrDefault(); var taInfo = StoreMMInfo.Search(ta => ta.StoreCode == usCode).Select(ta => new { Desirability = ta.Desirability, LocationRatingPP = ta.LocationRatingPP }).FirstOrDefault(); var dic_contractType = Dictionary.GetDictionary(contractType); reopenMemo.ContractType = dic_contractType == null ? "" : dic_contractType.NameZHCN; var dic_desirability = Dictionary.GetDictionary(taInfo.Desirability); reopenMemo.MarketDesirability = dic_desirability == null ? "" : dic_desirability.NameZHCN; var dic_locationRatingPP = Dictionary.GetDictionary(taInfo.LocationRatingPP); reopenMemo.RERating = dic_locationRatingPP == null ? "" : dic_locationRatingPP.NameZHCN; var tempMemo = TempClosureMemo.GetTempClosureMemo(projectId); if (tempMemo != null) { reopenMemo.TempCloseDate = tempMemo.ClosureDate; } } return(reopenMemo); }