Exemplo n.º 1
0
        def test_Create_tasks_TOA_equal_Waterfall_Start(
                self, setup_and_teardown):
            description = None
            # setup_and_teardown['COMMENTS'] = setup_and_teardown['COMMENTS'].astype(str)
            setup_and_teardown.at[0, 'PETE_ID'] = 1
            setup_and_teardown.at[0, 'Schedule_Function'] = 'TOA'
            setup_and_teardown.at[0, 'COMMENTS'] = str(
                'Oncor Status: SUBMITTED ERCOT Status:')
            setup_and_teardown.at[0, 'Program_Manager'] = 'Michael Howard'
            setup_and_teardown.at[0, 'Start_Date'] = pd.to_datetime(
                pd.to_datetime("today").date())
            setup_and_teardown.at[0, 'Finish_Date'] = pd.to_datetime(
                pd.to_datetime("today").date() + pd.DateOffset(days=1))

            setup_and_teardown.at[1, 'PETE_ID'] = 1
            setup_and_teardown.at[1, 'Grandchild'] = 'Waterfall Start'
            setup_and_teardown.at[1, 'Program_Manager'] = 'Michael Howard'
            setup_and_teardown.at[1, 'Finish_Date'] = pd.to_datetime(
                pd.to_datetime("today").date())

            setup_and_teardown.at[2, 'PETE_ID'] = 1
            setup_and_teardown.at[2, 'Grandchild'] = 'Waterfall Finish'
            setup_and_teardown.at[2, 'Program_Manager'] = 'Michael Howard'
            setup_and_teardown.at[2, 'Finish_Date'] = pd.to_datetime(
                pd.to_datetime("today").date() + pd.DateOffset(days=6))

            assert ct.create_tasks_toa_outside_waterfalls(
                setup_and_teardown, False) == description
Exemplo n.º 2
0
def main():
    # TODO Create Docstring
    file_yaml = read_yaml('files.yaml', './configs')
    project_data_filename = file_yaml['Project_Data_Spreadsheet']['filename']

    # project_data_filename='All Project Data Report Metro West or Mike.xlsx'
    schedules_filename = file_yaml['Schedules_Spreadsheet']['filename']
    budget_item_filename = file_yaml['Budget_Item_Spreadsheet']['filename']
    relay_setters_filename = file_yaml['Relay_Setters_Spreadsheet']['filename']
    material_data_filename = file_yaml['Material_Data_Spreadsheet']['filename']

    myprojectbudgetitmes = [
        '00003212', '00003201', '00003203', '00003206', '00003226'
    ]
    """ Main entry point of the app """
    change_working_path('./Data')
    try:
        project_data_df = excel_to_pandas(project_data_filename, True)
    except:
        logger_obj.error('Can not find Project Data file')
        raise

    try:
        project_schedules_df = excel_to_pandas(schedules_filename, True)
    except:
        logger_obj.error('Can not find Schedule Data file')
        raise

    # try:
    #    budget_item_df = excel_to_pandas(budget_item_filename)
    # except:


#   logger_obj.error('Can not find Budget Item Data file')

    try:
        relay_setters_df = excel_to_pandas(relay_setters_filename)
    except:
        logger_obj.error('Can not find Relay Setters Data file')

    project_schedules_all_data_df = pd.merge(project_schedules_df,
                                             project_data_df,
                                             on='PETE_ID',
                                             sort=False,
                                             how='outer')

    # myprojectsdf.to_csv('myprojects.csv')
    project_schedules_all_data_df.to_csv('scheduledf.csv')

    # res = Popen('tasks=$(task tag=PMH _ids) && task delete $tasks', shell=True, stdin=PIPE)
    # res.stdin.write(b'a\n')
    # res.stdin.flush()
    # res.stdin.close()
    # res = Popen('task sync', shell=True, stdin=PIPE)
    # res.wait()
    # res.stdin.close()

    # Return the day of the week as an integer, where Monday is 0 and Sunday is 6
    # if dt.date.today().weekday() == 3:
    #     res = Popen('tasks=$(task tag=PMH_E _ids) && task delete $tasks', shell=True, stdin=PIPE)
    #     res.stdin.write(b'a\n')
    #     res.stdin.flush()
    #     res.wait()
    #     res.stdin.close()
    #     res = Popen('task sync', shell=True, stdin=PIPE)
    #     res.stdin.flush()
    #     res.wait()
    #     res.stdin.close()

    # Create_tasks_for_Precon_meetings(project_schedules_all_data_df)
    ct.create_task_for_final_engineering_with_draft_schedules(
        project_schedules_all_data_df)
    ct.create_task_for_released_projects_missing_construnction_ready_date(
        project_schedules_all_data_df)
    ct.create_task_for_relay_settings(project_schedules_all_data_df)
    ct.create_tasks_for_engineering_activities_start_dates(
        project_schedules_all_data_df)
    ct.create_tasks_for_engineering_activities_finish_dates(
        project_schedules_all_data_df)
    ct.create_task_for_relay_settings(project_schedules_all_data_df)

    ct.create_task_for_eisd_before_energiztion(project_schedules_all_data_df)
    ct.create_task_for_add_wa_to_schedule(project_schedules_all_data_df,
                                          myprojectbudgetitmes)
    ct.create_tasks_for_waterfalls(project_schedules_all_data_df)
    ct.create_task_for_missing_tiers(project_schedules_all_data_df)
    ct.create_tasks_toa_outside_waterfalls(project_schedules_all_data_df)
    ct.create_tasks_toa_no_active(project_schedules_all_data_df)
    ct.create_tasks_construnction_summary_before_construnction_ready(
        project_schedules_all_data_df)
    ct.create_tasks_line_design_finish_after_construction_ready_date(
        project_schedules_all_data_df)
    ct.create_tasks_station_activities_conflict(project_schedules_all_data_df)

    res = Popen('task sync', shell=True, stdin=PIPE)
    res.wait()
    res.stdin.close()

    if dt.date.today().weekday() == 4:
        Reports.Genrate_Relay_Settings_Report(project_schedules_all_data_df,
                                              relay_setters_df)
        Reports.Genrate_Electrical_Prints_Report(project_schedules_all_data_df)
        Reports.Genrate_Physical_Prints_Report(project_schedules_all_data_df)

    if dt.date.today().weekday() == 4:
        try:
            material_data_df = excel_to_pandas(material_data_filename)
        except:
            logger_obj.error('Can not find Project Data file')
            raise
        Reports.Genrate_Matrial_Report(material_data_df,
                                       project_schedules_all_data_df)