Esempio n. 1
0
    def __init__(self, time):

        # 从数据中读取出在时间time下所有在厂外排队的车辆
        queue_cars = Data_acquisition.queue_cars(time)
        # 从数据中读取出在时间time下所有叫号还没进厂的车
        ready_cars = Data_acquisition.ready_cars(time)
        # 排队的车 列表
        self.__queue_cars = Tool.car_init(queue_cars, 'out')  # update
        # 小队列初始化,字典 {mat_code:cars_list}
        # self.__queue = self.__queue_init(self.__queue_cars)
        # 厂内情况初始化
        self.__inFactory = InFactory(time)
        # 叫号还没进厂的车 列表
        self.__ready_cars = self.ready_cars_init(
            Tool.car_init(ready_cars, 'ready'))
        # plan_day
        self.plan_day = Tool.init_plan_day()
Esempio n. 2
0
    def __init__(self, time):

        # Car类初始化,从数据中读取出在时间time下所有在厂内的车辆
        cars = Data_acquisition.inFactory_cars(time)
        self.__cars_list = Tool.car_init(cars, 'in')  # 所有在厂内的carlist
        self.__warehouse_list = self.warehouse_init(self.__cars_list,
                                                    'minorMax', 0.7,
                                                    'minorTime')  # 仓库类列表
Esempio n. 3
0
File: main.py Progetto: CaiDog/queue
import demo.setting.Tools as Tool
import demo.OutFactory as OutFactory
import datetime

now_time = '2019-10-25 00:00:00'

data = Data_acquisition.entry_queue_data_acquisition()
out_factory = OutFactory.OutFactory(now_time)
# out_factory.get_inFactory().cal_mat_priority(now_time)
# out_factory.cal_cars_priority(now_time)
# for warehouse in out_factory.get_inFactory().get_warehouse():
#     for car in warehouse.get_cars():
#         car.set_finish_time(Tool.datetime_to_string(Tool.string_to_datetime(car.get_entry_time()) + datetime.timedelta(seconds=warehouse.get_unloadTime())))
# for car in out_factory.get_ready_cars():
#     for warehouse in out_factory.get_inFactory().get_warehouse():
#         if car.get_target_warehouse() == warehouse.get_warehouse_code():
#             car.set_entry_time(Tool.datetime_to_string(Tool.string_to_datetime(car.get_notice_time()) + datetime.timedelta(seconds=warehouse.get_preTime())))
#             car.set_finish_time(Tool.datetime_to_string(Tool.string_to_datetime(car.get_entry_time()) + datetime.timedelta(seconds=warehouse.get_unloadTime())))

pre_time = now_time

for i in range(1, 10):
    time = Tool.time_window(pre_time, i * Tool.interval)  # 更新时间
    new_cars = data[(data['QUEUE_START_TIME'] >= pre_time) &
                    (data['QUEUE_START_TIME'] <= time)]  # 读取在这个时间段新来的车辆
    queue_cars = Tool.car_init(new_cars, 'out')  # 初始化排队车辆,形成列表
    out_factory.update(time, queue_cars)  # 更新
    pre_time = time

print(out_factory)