public IHttpActionResult GetFinancialPreAnalysis(string projectId, string usCode, string pageType = "") { var financial = new FinancialPreanalysis(); var reimageSum = ReimageSummary.FirstOrDefault(e => e.ProjectId == projectId && e.IsHistory == false); if (reimageSum != null) { financial = FinancialPreanalysis.FirstOrDefault(e => e.RefId == reimageSum.Id); } if (financial != null) { if (financial.Id != 0) { pageType = "save"; } } if (pageType == "") { //FinancialPreanalysis financial = reimageSummary.LoadFinancialPreanalysisInfo(); var enti = ReimageConsInfo.FirstOrDefault(e => e.ProjectId.Equals(projectId) && e.IsHistory == true); if (enti == null) { enti = ReimageConsInfo.FirstOrDefault(e => e.ProjectId.Equals(projectId) && e.IsHistory == false); } WriteOffAmount writeOff = WriteOffAmount.FirstOrDefault(e => e.ConsInfoID == enti.Id); if (financial == null) { financial = new FinancialPreanalysis(); } if (writeOff != null) { financial.EstimatedWriteOffCost = writeOff.TotalII; } var ContributionMargin = StoreCM.Get(usCode).ContributionMargin.ToString(); var reimageConsInfo = ReimageConsInfo.GetConsInfo(projectId, ""); var reinvestmentBasicInfo = ReinvestmentBasicInfo.FirstOrDefault(e => e.ConsInfoID == reimageConsInfo.Id); //ReinvestmentCost reinCost = ReinvestmentCost.FirstOrDefault(e => e.ConsInfoID == enti.Id); financial.IsMcCafe = reinvestmentBasicInfo.NewMcCafe; financial.IsKiosk = reinvestmentBasicInfo.NewKiosk; financial.IsMDS = reinvestmentBasicInfo.NewMDS; financial.IsTwientyFourHour = reinvestmentBasicInfo.NewTwientyFourHour; financial.StoreCM = ContributionMargin; } return(Ok(financial)); }
public IHttpActionResult GetKeyMeasuresInfo(string projectId) { var reimage = ReimageConsInfo.GetConsInfo(projectId, ""); ReinvestmentCost reinCost = ReinvestmentCost.FirstOrDefault(e => e.ConsInfoID == reimage.Id); var entity = ReimageSummary.FirstOrDefault(e => e.ProjectId.Equals(projectId) && e.IsHistory == false); var financialPreanalysis = new FinancialPreanalysis(); if (entity != null) { financialPreanalysis = FinancialPreanalysis.FirstOrDefault(e => e.RefId.Equals(entity.Id)); } if (reinCost != null) { financialPreanalysis.TotalReinvestmentNorm = reinCost.TotalReinvestmentNorm; } return(Ok(financialPreanalysis)); }
public override void Import() { var financialPreanalysis = FinancialPreanalysis.FirstOrDefault(e => e.RefId.ToString().Equals(_financialPreanalysis.RefId.ToString())); if (financialPreanalysis != null) { _financialPreanalysis.Id = financialPreanalysis.Id; } if (FinancialPreanalysis.Any(a => a.Id == _financialPreanalysis.Id)) { FinancialPreanalysis.Update(_financialPreanalysis); } else { FinancialPreanalysis.Add(_financialPreanalysis); } }
private string GenPrintReimageAttachment(ReimageInfo reimageInfo, ReimagePackage entity, PrintFileType fileType) { var storeInfo = StoreBasicInfo.GetStore(reimageInfo.USCode); StoreBasicInfo store = storeInfo.StoreBasicInfo; //生成Print文件 var printDic = new Dictionary <string, string>(); printDic.Add("WorkflowName", FlowCode.Reimage); printDic.Add("ProjectID", entity.ProjectId); printDic.Add("USCode", reimageInfo.USCode); printDic.Add("Region", store.RegionENUS); printDic.Add("Market", store.MarketENUS); printDic.Add("City", store.CityENUS); printDic.Add("AddressZHCN", store.AddressZHCN); printDic.Add("OpenDate", store.OpenDate.ToString("yyyy-MM-dd")); if (store.CloseDate.HasValue && store.CloseDate.Value.Year == 1900) { printDic.Add("ClosureDate", string.Empty); } else { printDic.Add("ClosureDate", store.CloseDate.HasValue ? (store.CloseDate.Value.ToString("yyyy-MM-dd")) : ""); } printDic.Add("AssetsManager", storeInfo.StoreDevelop.AssetMgrName); printDic.Add("AssetsRep", storeInfo.StoreDevelop.AssetRepName); printDic.Add("StoreAge", (DateTime.Now.Year - store.OpenDate.Year).ToString()); var currentLeaseENDYear = storeInfo.CurrentYear - int.Parse(storeInfo.StoreContractInfo.EndYear); printDic.Add("CurrentLeaseENDYear", currentLeaseENDYear.ToString()); printDic.Add("StoreNameEN", store.NameENUS); printDic.Add("StoreNameCN", store.NameENUS); var RmgSummaryentity = ReimageSummary.FirstOrDefault(e => e.ProjectId.Equals(entity.ProjectId) && e.IsHistory == false); var financialPreanalysis = FinancialPreanalysis.FirstOrDefault(e => e.RefId.Equals(RmgSummaryentity.Id)); printDic.Add("SalesBuildingInvestment", financialPreanalysis.SalesBuildingInvestment); printDic.Add("NoneSalesBuildingInvst", financialPreanalysis.NoneSalesBuildingInvst); printDic.Add("TTMSales", financialPreanalysis.TTMSales.HasValue ? Math.Round(financialPreanalysis.TTMSales.Value, 2).ToString() : string.Empty); var reimage = ReimageConsInfo.GetConsInfo(entity.ProjectId, ""); ReinvestmentCost reinCost = ReinvestmentCost.FirstOrDefault(e => e.ConsInfoID == reimage.Id); printDic.Add("TotalReinvestmentNorm", reinCost.TotalReinvestmentNorm); printDic.Add("TotalSalesInc", financialPreanalysis.TotalSalesInc); printDic.Add("ROI", financialPreanalysis.ROI); ////printDic.Add("SalesInc", financialPreanalysis.ROI); printDic.Add("PaybackYears", financialPreanalysis.PaybackYears); printDic.Add("StoreCM", financialPreanalysis.StoreCM); printDic.Add("EstimatedWriteOffCost", financialPreanalysis.EstimatedWriteOffCost); printDic.Add("MarginInc", financialPreanalysis.MarginInc); printDic.Add("ISDWIP", financialPreanalysis.ISDWIP); printDic.Add("CurrStorePricingTier", financialPreanalysis.CurrentPriceTier); printDic.Add("SPTAR", financialPreanalysis.SPTAR); //Submission and Approval Records - 只显示通过意见 List <SubmissionApprovalRecord> recordList = new List <SubmissionApprovalRecord>(); //Submission and Approval Records Details — 所有意见 List <SubmissionApprovalRecord> recordDetailList = new List <SubmissionApprovalRecord>(); ProjectComment projectCommentBll = new ProjectComment(); ProjectCommentCondition condition = new ProjectCommentCondition(); var package = ReimagePackage.Get(entity.ProjectId); condition.RefTableName = ReimagePackage.TableName; condition.RefTableId = entity.Id; condition.SourceCode = FlowCode.Reimage; var commentList = VProjectComment.SearchVListForPDF(condition); var commentDetailList = VProjectComment.SearchVList(condition); SubmissionApprovalRecord record = null; foreach (var item in commentList) { record = new SubmissionApprovalRecord(); record.ActionName = item.ActionDesc; if (item.CreateTime != null) { record.OperationDate = item.CreateTime.Value; } record.OperatorID = item.UserAccount; record.OperatorName = item.UserNameENUS; record.OperatorTitle = item.PositionName; record.Comments = item.Content; recordList.Add(record); } foreach (var item in commentDetailList) { record = new SubmissionApprovalRecord(); record.ActionName = item.ActionDesc; if (item.CreateTime != null) { record.OperationDate = item.CreateTime.Value; } record.OperatorID = item.UserAccount; record.OperatorName = item.UserNameENUS; record.OperatorTitle = item.PositionName; record.Comments = item.Content; recordDetailList.Add(record); } string result = string.Empty; if (fileType == PrintFileType.Pdf) { result = HtmlConversionUtility.HtmlConvertToPDF(HtmlTempalteType.Reimage, printDic, recordList, recordDetailList); } else { result = HtmlConversionUtility.ConvertToImage(HtmlTempalteType.Reimage, printDic, recordList, recordDetailList); } return(result); }
public override void Input(ExcelWorksheet worksheet, ExcelInputDTO inputInfo) { var projectInfo = ProjectInfo.FirstOrDefault(e => e.ProjectId == inputInfo.ProjectId); if (projectInfo == null) { throw new Exception("Cannot find the project info!"); } var store = StoreBasicInfo.Search(e => e.StoreCode == projectInfo.USCode).FirstOrDefault(); if (store == null) { throw new Exception("Cannot find Store info!"); } var reimageSummary = BaseWFEntity.GetWorkflowEntity(inputInfo.ProjectId, FlowCode.Reimage_Summary) as ReimageSummary; if (reimageSummary == null) { throw new Exception("Cannot find Reimage Summary Info!"); } var storeSTLocation = StoreSTLocation.GetStoreSTLocation(projectInfo.USCode); var storeLeaseInfo = new StoreProfitabilityAndLeaseInfo(); var reimageConsInfo = ReimageConsInfo.GetConsInfo(inputInfo.ProjectId); var reinvestment = ReinvestmentBasicInfo.FirstOrDefault(e => e.ConsInfoID == reimageConsInfo.Id); if (reimageSummary != null) { storeLeaseInfo = StoreProfitabilityAndLeaseInfo.FirstOrDefault(e => e.RefId == reimageSummary.Id); if (storeLeaseInfo != null) { if (storeLeaseInfo.LastRemodelDate.HasValue && storeLeaseInfo.LastRemodelDate.Value.ToString("yyyy-MM-dd") != "1900-01-01") { worksheet.Cells["B43"].Value = storeLeaseInfo.LastRemodelDate; } worksheet.Cells["B44"].Value = storeLeaseInfo.RemainingLeaseYears; worksheet.Cells["B46"].Value = storeLeaseInfo.TTMSOIPercent / 100; worksheet.Cells["B47"].Value = storeLeaseInfo.AsOf; worksheet.Cells["B48"].Value = reimageSummary.OperationRequirements; var financial = FinancialPreanalysis.FirstOrDefault(e => e.RefId == reimageSummary.Id); worksheet.Cells["B49"].Value = TryParseDecimal(financial.TotalSalesInc); worksheet.Cells["B45"].Value = financial.TTMSales; worksheet.Cells["B50"].Value = TryParseDecimal(financial.StoreCM) * 100 + "%"; worksheet.Cells["B51"].Value = financial.CurrentPriceTier; worksheet.Cells["B52"].Value = string.IsNullOrEmpty(financial.SPTAR) ? 0 : financial.SPTAR.As <decimal>(); worksheet.Cells["B53"].Value = financial.PriceTierafterReimage; } //worksheet.Cells["E4"].Value = financial.MarginInc; } else { var reimageInfo = ReimageInfo.FirstOrDefault(e => e.ProjectId == inputInfo.ProjectId); var storeBasicInfo = StoreBasicInfo.FirstOrDefault(e => e.StoreCode == reimageInfo.USCode); var storeContractInfo = StoreContractInfo.FirstOrDefault(e => e.StoreCode == reimageInfo.USCode); int Year = 0; if (storeContractInfo != null) { if (storeContractInfo.EndDate != null) { DateTime dtNow = DateTime.Now; Year = int.Parse(storeContractInfo.EndDate.ToString().Split('/')[2].Substring(0, 4)) - dtNow.Year; } } DateTime?dt = storeBasicInfo.ReImageDate; if (dt != null) { if (dt.ToString().Substring(0, 8) == "1/1/1900") { dt = null; } } worksheet.Cells["B43"].Value = dt; worksheet.Cells["B44"].Value = Year; //storeLeaseInfo.LastRemodelDate = dt; //storeLeaseInfo.RemainingLeaseYears = Year; } ReinvestmentCost cost = ReinvestmentCost.FirstOrDefault(e => e.ConsInfoID == reimageConsInfo.Id); worksheet.Cells["B2"].Value = store.Region; worksheet.Cells["B3"].Value = store.StoreCode; if (reinvestment != null) { worksheet.Cells["B8"].Value = TryParseDecimal(reinvestment.RightSizingSeatNo); worksheet.Cells["B11"].Value = TryParseDecimal(reinvestment.EstimatedSeatNo); worksheet.Cells["B41"].Value = reinvestment.GBDate; worksheet.Cells["B42"].Value = reinvestment.ConsCompletionDate; } if (cost != null) { worksheet.Cells["B13"].Value = TryParseDecimal(cost.DesignFee); worksheet.Cells["B14"].Value = TryParseDecimal(cost.PublicBudget); worksheet.Cells["B15"].Value = TryParseDecimal(cost.BuildingFacade); worksheet.Cells["B16"].Value = TryParseDecimal(cost.SiteBudget); worksheet.Cells["B17"].Value = TryParseDecimal(cost.BuildingWork); worksheet.Cells["B18"].Value = TryParseDecimal(cost.PlumbingSystem); worksheet.Cells["B19"].Value = TryParseDecimal(cost.ElectricalSystem); worksheet.Cells["B20"].Value = TryParseDecimal(cost.HVACDuctSystem); worksheet.Cells["B21"].Value = TryParseDecimal(cost.Signage); worksheet.Cells["B22"].Value = TryParseDecimal(cost.Seating); worksheet.Cells["B23"].Value = TryParseDecimal(cost.Decor); worksheet.Cells["B24"].Value = TryParseDecimal(cost.Kiosk); worksheet.Cells["B25"].Value = TryParseDecimal(cost.McCafe); worksheet.Cells["B26"].Value = TryParseDecimal(cost.MDS); worksheet.Cells["B27"].Value = TryParseDecimal(cost.Playland); worksheet.Cells["B28"].Value = TryParseDecimal(cost.KitchenCapacityUpgrade); worksheet.Cells["B29"].Value = TryParseDecimal(cost.BuildingWorks); worksheet.Cells["B30"].Value = TryParseDecimal(cost.KitchenEquipment); worksheet.Cells["B31"].Value = TryParseDecimal(cost.HVAC); worksheet.Cells["B32"].Value = TryParseDecimal(cost.Plumbing); worksheet.Cells["B33"].Value = TryParseDecimal(cost.ElectricDistribution); worksheet.Cells["B34"].Value = TryParseDecimal(cost.Structure); worksheet.Cells["B35"].Value = TryParseDecimal(cost.Others); worksheet.Cells["B36"].Value = TryParseDecimal(cost.LHIPMAct); worksheet.Cells["B37"].Value = TryParseDecimal(cost.SignagePMAct); worksheet.Cells["B38"].Value = TryParseDecimal(cost.EquipmentPMAct); worksheet.Cells["B39"].Value = TryParseDecimal(cost.SeatingPackagePMAct); worksheet.Cells["B40"].Value = TryParseDecimal(cost.DecorPMAct); } worksheet.Cells["B5"].Value = storeSTLocation.TotalArea.As <decimal>(); worksheet.Cells["B6"].Value = store.ProvinceZHCN; worksheet.Cells["B7"].Value = store.NameZHCN; worksheet.Cells["B4"].Value = TryParseDecimal(storeSTLocation.TotalSeatsNo); worksheet.Cells["B9"].Value = TryParseDecimal(storeSTLocation.KitchenArea); worksheet.Cells["B10"].Value = store.CityZHCN; if (!string.IsNullOrEmpty(storeSTLocation.DesignStyle)) { var dict = Dictionary.FirstOrDefault(i => i.Code == storeSTLocation.DesignStyle); if (dict != null) { worksheet.Cells["B12"].Value = dict.NameZHCN; } else { worksheet.Cells["B12"].Value = storeSTLocation.DesignStyle; } } //worksheet.Cells["B24"].Value = reimageSummary.ReinvestmentBasicInfo.NewKiosk; //worksheet.Cells["B25"].Value = reimageSummary.ReinvestmentBasicInfo.NewMcCafe; //worksheet.Cells["B26"].Value = reimageSummary.ReinvestmentBasicInfo.NewMDS; //worksheet.Cells["B41"].Value = reimageSummary.ReinvestmentBasicInfo.GBDate; //worksheet.Cells["B42"].Value = reimageSummary.ReinvestmentBasicInfo.ConsCompletionDate; worksheet.Cells["B10"].Value = store.CityZHCN; //worksheet.Cells["B11"].Value = inputInfo.StoreType; //worksheet.Cells["B12"].Value = inputInfo.StoreType; //worksheet.Cells["B13"].Value = inputInfo.StoreType; //worksheet.Cells["B14"].Value = inputInfo.StoreType; //worksheet.Cells["B15"].Value = inputInfo.StoreType; //worksheet.Cells["B16"].Value = inputInfo.StoreType; //worksheet.Cells["B17"].Value = inputInfo.StoreType; //worksheet.Cells["B18"].Value = inputInfo.StoreType; //worksheet.Cells["B19"].Value = inputInfo.StoreType; //worksheet.Cells["B20"].Value = inputInfo.StoreType; //worksheet.Cells["B21"].Value = inputInfo.StoreType; //worksheet.Cells["B22"].Value = inputInfo.StoreType; //worksheet.Cells["B23"].Value = inputInfo.StoreType; //worksheet.Cells["B27"].Value = inputInfo.StoreType; //worksheet.Cells["B28"].Value = inputInfo.StoreType; //worksheet.Cells["B29"].Value = inputInfo.StoreType; //worksheet.Cells["B30"].Value = inputInfo.StoreType; //worksheet.Cells["B31"].Value = inputInfo.StoreType; //worksheet.Cells["B32"].Value = inputInfo.StoreType; //worksheet.Cells["B33"].Value = inputInfo.StoreType; //worksheet.Cells["B34"].Value = inputInfo.StoreType; //worksheet.Cells["B35"].Value = inputInfo.StoreType; //worksheet.Cells["B36"].Value = inputInfo.StoreType; //worksheet.Cells["B37"].Value = inputInfo.StoreType; //worksheet.Cells["B38"].Value = inputInfo.StoreType; //worksheet.Cells["B39"].Value = inputInfo.StoreType; //worksheet.Cells["B40"].Value = inputInfo.StoreType; //if (reimageSummary.StoreProfitabilityAndLeaseInfo != null) //{ // worksheet.Cells["B43"].Value = reimageSummary.StoreProfitabilityAndLeaseInfo.LastRemodelDate; // worksheet.Cells["B44"].Value = reimageSummary.StoreProfitabilityAndLeaseInfo.RemainingLeaseYears; // worksheet.Cells["B45"].Value = reimageSummary.StoreProfitabilityAndLeaseInfo.TTMSales; // worksheet.Cells["B46"].Value = reimageSummary.StoreProfitabilityAndLeaseInfo.TTMSOIPercent; // worksheet.Cells["B47"].Value = reimageSummary.StoreProfitabilityAndLeaseInfo.AsOf; //} ////worksheet.Cells["B48"].Value = reimageSummary.OperationRequirements; //if (reimageSummary.FinancialPreanalysis != null) //{ // worksheet.Cells["B49"].Value = reimageSummary.FinancialPreanalysis.TotalSalesInc; // worksheet.Cells["B50"].Value = reimageSummary.FinancialPreanalysis.StoreCM; // worksheet.Cells["B51"].Value = reimageSummary.FinancialPreanalysis.CurrentPriceTier; // worksheet.Cells["B52"].Value = reimageSummary.FinancialPreanalysis.ISDWIP; // worksheet.Cells["B53"].Value = reimageSummary.FinancialPreanalysis.SPTAR; //} }