编辑代码

class Main {
	public static void main(String[] args) {
        //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。
		System.out.println("Hello world!   - java.jsrun.net ");
	}
}import webbrowser
from urllib.parse import urljoin

class Employee:
    def __init__(self, name, department, priority):
        self.name = name
        self.department = department
        self.priority = priority

def main():
    # 初始化员工列表
    employees = [
        # ... 150个员工数据 ...
    ]

    # 调用Edge浏览器的本地资源
    webbrowser.open('https://localhost:8000/arrangement', '_blank')

    # 停止 Edge 的本地进程
    while True:
        try:
            exit()
        except KeyboardInterrupt:
            pass

def run():
    global time_points, current_employee

    # 初始化时间和点
    time_points = []
    current_employee = None
    current_time = 1600  # 取得一个合适的初始时间点

    # 获取所有员工信息
    employees_data = load_employees()
    
    # 定义调度算法函数
    def assign_time(time, employee):
        if not time_points:
            return employee, time
        max_priority = -1
        best_employee = None
        for emp in time_points:
            for i, time in enumerate(emp):
                if emp[i][0].priority > max_priority or (emp[i][0].priority == max_priority and i < current_employee):
                    max_priority = emp[i][0].priority
                    best_employee = emp[i]
        return best_employee, time_points[current_employee]

    # 调用调度算法分配时间点给员工
    for i in range(150):
        if employees_data[i] is not None:
            employee = find_employee(employees_data[i])
            time_points.append(assign_time(time, employee))

    webbrowser.get('https://localhost:8000').setPageWidth(640)
    webbrowser.setUserAgent('150人排班系统')
    webbrowser.open('https://localhost:8000/arrangement', '_blank')

def load_employees():
    employees_data = [
        {'name': 'A001', 'department': '生产', 'priority': 4},
        {'name': 'B002', 'department': '工程', 'priority': 5},
        # ... 其他员工数据 ...
    ]
    return employees_data

def find_employee(employees):
    for emp in employees:
        if emp.name == current_employee.name:
            return emp
    return None

if __name__ == '__main__':
    run()