Esempio n. 1
0
 def get_meeting_number_simulation(manager, duration):
     all_rooms = Room.get_by_company_simulation(manager.company)
     if all_rooms is None:
         return
     sum_meetings = []
     for day in range(duration):
         for room in all_rooms:
             occupancy = room.get_occupancy_simulation(
                 datetime.now() + timedelta(days=day), room._id)
             sum_meetings += occupancy
     return sum_meetings / duration
Esempio n. 2
0
 def get_all_rooms_occupancy_simulation(manager, duration):
     all_rooms = Room.get_by_company_simulation(manager.company)
     if all_rooms is None:
         return
     occupancies = []
     sum_occupancy = 0
     for room in all_rooms:
         sum_occupancy = 0
         for day in range(duration):
             sum_occupancy += room.get_occupancy_simulation(
                 datetime.now() + timedelta(days=day), room._id)
         occupancies.append(
             (room._id,
              (sum_occupancy * 100) / (int(room.capacity) * duration)))
     return occupancies
Esempio n. 3
0
def route_simulation():
    if request.method == 'GET':
        return render_template('Simulation.html',
                               employees_no=0,
                               rooms_no=0,
                               facility_no=0,
                               meetings_no=0,
                               facility_visits_meetings=[("None", 0, 0)],
                               occupancies=[("None", 0)])
    if request.method == 'POST':
        manager = Manager.get_by_email(session['email'])
        if session['email'] is not None and manager is not None:
            duration = int(request.form['duration'])
            max_rooms = int(request.form['room'])
            max_employees = int(request.form['employee'])
            max_facilities = int(request.form['facility'])
            simulation_engine(max_rooms, max_employees, max_facilities,
                              duration)
            employees_no = len(manager.get_employees_simulation())
            facility_no = len(manager.get_facilities_simulation())
            facility_visits_meetings = []
            facilities = manager.get_facilities_simulation()
            for facility in facilities:
                visits = Analytics.get_all_participants_in_facility_simulation(
                    manager, facility, duration)
                meetings = Analytics.get_meetings_number_in_facility_simulation(
                    manager, facility, duration)
                facility_visits_meetings.append((facility, visits, meetings))
            rooms_no = len(Room.get_by_company_simulation(manager.company))
            occupancies = Analytics.get_all_rooms_occupancy_simulation(
                manager, duration)
            meetings_no = Analytics.get_meeting_number_simulation(
                manager, duration)
            return render_template(
                'Simulation.html',
                employees_no=employees_no,
                rooms_no=rooms_no,
                facility_no=facility_no,
                meetings_no=meetings_no,
                facility_visits_meetings=facility_visits_meetings,
                occupancies=occupancies)