diff --git a/front/current/components/project/slot.component.ts b/front/current/components/project/slot.component.ts index 13c8c32ca335d27de3f14eb54c611b10d917ff15..8652b0b6985f9e0ae5ed0091c17d7511ca4ab3e7 100644 --- a/front/current/components/project/slot.component.ts +++ b/front/current/components/project/slot.component.ts @@ -22,6 +22,7 @@ export class SlotComponent { documents:Collection; parent_documents:Collection; parent_document_slots:Collection; + /*state:any*/ /* state will be a complete state model*/ moment = moment; diff --git a/front/current/services/project/project.service.ts b/front/current/services/project/project.service.ts index 0db2072e1fc636440d174d9a7f6484071eeb2cd2..3ade946b3b47d6be0b99c21ea2732e3004253a9d 100644 --- a/front/current/services/project/project.service.ts +++ b/front/current/services/project/project.service.ts @@ -7,7 +7,214 @@ export class ProjectService { public service_name:string = 'project'; public config:any = config.SERVICES.project; public url:string = '/project/'; - + public states: any[] = + [ + { + name: 'Collect Forms', + id: 3, + description: 'Collect 12 Months of Utility Bills and 3 years of Income. Fill out business section of PNS form.', + }, + { + name: 'Create Opportunity', + id: 4, + description: 'Create object on project dashboard with pending state. Create opportunity on salesforce.', + }, + { + name: 'Confirm Bill Validity', + id: 5, + description: 'Quality Assurance checks bills on dashboard are correct.', + }, + { + name: 'Confirm Validity of 3 Years of Income Statements ', + id: 6, + description: 'Finance does quality check on 3 Years of Income Statements on dashboard.', + }, + { + name: 'Schedule Site Visit', + id: 7, + description: 'Schedule site visit with client and project engineer.', + }, + { + name: 'Perform Remote Assessment', + id: 8, + description: 'Project Engineers perform remote assessment (Energy Watch, Code Violations, Google Earth, Heat Load Calculations).', + }, + { + name: 'Conduct Site Visit', + id: 9, + description: 'Project Engineer conducts site visit audit. All data entry is complete. Sensors are installed.', + }, + { + name: 'Complete Finance PNS', + id: 10, + description: 'Complete Finance section of the PNS Form. This step does not have any dependencies. Must only be complete one month post site visit.', + }, + { + name: 'Send PNS Form', + id: 11, + description: 'Project Engineer sends client PNS Form.', + }, + { + name: 'Perform Initial Engineering Analysis', + id: 12, + description: 'Project Engineer performs energy efficiency calculations for annual savings.', + }, + { + name: 'Send Diagnostic Report', + id: 13, + description: 'Project Engineer creates diagnostic report.', + }, + { + name: 'Follow Up Post Project Update', + id: 14, + description: 'Project Engineer contacts client to discover if client is interested in moving forward.', + }, + { + name: 'Outsource Retrofit', + id: 15, + description: 'Project Manager assesses potential outsourced retrofits (e.g. lighting and windows).' + }, + { + name: 'HPD Finance', + id: 16, + description: 'Finance discovers if HPD will finance the project.', + }, + { + name: 'Confirm Client wants HPD', + id: 17, + description: 'Finance confirms client wants to proceed with HPD program.' + }, + { + name: 'Preliminary Financial Analysis', + id: 18, + description: 'Run preliminary finance model and suggest budget range for Project Engineer.', + }, + { + name: 'Confirm Project Financing', + id: 19, + description: 'Finance decides if project is feasible.', + }, + { + name: 'Perform Detailed Calculations and Analysis', + id: 20, + description: 'Project Engineer runs models (hydronic, steam, cooling, heating, controls).', + }, + { + name: 'Write Scope of Work Report', + id: 21, + description: 'Project Engineer selects desired equipment for retrofits.', + }, + { + name: 'Obtain Quotes', + id: 22, + description: 'Project Manager bundles nearby projects together and sends equipment lists to contractor to collect quotes and look for violations.', + }, + { + name: 'Create Engineering Energy Output Model', + id: 23, + description: 'Project Engineer generates Engineering Output Model for suggested scenario.', + }, + { + name: 'Create Finance Model', + id: 24, + description: 'Finance uses quotes and Engineering Output Model to run Finance model for suggested scenario.', + }, + { + name: 'Create Client Presentation', + id: 25, + description: 'Project Engineer creates final presentation for various retrofit scenarios with upfront cost estimates and annual savings.', + }, + { + name: 'Schedule Client Presentation', + id: 26, + description: 'Project Manager coordinates with client, engineer, and finance/business to set up presentation date.', + }, + { + name: 'Present to Client', + id: 27, + description: 'Project Engineer presents retrofit scenarios and financing options to client.', + }, + { + name: 'Client Chooses Retrofits', + id: 28, + description: 'Project Engineer contacts Client to determine actionable retrofits. ', + }, + { + name: 'Redesign Scope of Work', + id: 29, + description: 'Project Engineer redesigns and finalizes scope of work.', + }, + { + name: 'Finalize Quotes', + id: 30, + description: 'Project Engineer sends contractor Final Scope of Work and finalizes quotes. Contractor signs contract.', + }, + { + name: 'Final Finance Model' , + id: 31, + description: 'Finance runs the finance model to obtain actual costs inclduing payback years.', + }, + { + name: 'Update Client with Project Financing' , + id: 32 , + description: 'Finance contacts client to discuss financing options such as loans and marketplace.', + }, + { + name: 'Client Decides on Marketplace' , + id: 33 , + description: 'Client decides if they want to use Marketplace.', + }, + { + name: 'Marketplace Content' , + id: 34, + description: 'The Project content gets collected to prepare it for a Marketplace Launch.', + }, + { + name: 'Marketplace' , + id: 35, + description: 'The Project is launched on the Marketplace and is being funded.', + }, + { + name: 'Contractor Downpayment' , + id: 39, + description: 'A downpayment is payed to contractor.', + }, + { + name: 'Apply for Loan' , + id: 40, + description: 'Finance appplies for loan.', + }, + { + name: 'Approval of Underwriter' , + id: 41, + description: 'Finance is notified that the loan was approved by the Underwriter (banks).', + }, + { + name: 'Confirm Funding' , + id: 42, + description: 'Finance confirms project is funded.', + }, + { + name: 'Commence Construction' , + id: 43, + description: 'Construction Manager coordinates with client contractor, and engineers to schedule retrofit construction.', + }, + { + name: 'Measurement and Verification' , + id: 44, + description: 'Project Engineer collects sensor data during site visit, recalibrates sensors, and reinstalls sensors for "post retrofit" measurement and verification.', + }, + { + name: 'Loan Payback' , + id: 45, + description: 'Loan is in the process of being paid back.', + }, + { + name: 'Completed', + id: 46, + description: 'Project is complete!' + } + ] getSalesForceUrl(model:Model) { return '//na34.salesforce.com/' + model.data['sales_force_id'].substr(0, 15); };