schedule - 为 ResourcePool 设置多个计划
问题描述
我正在模拟一条通过 Excel 构建的生产线。现在有一个,需要为每台机器自由设置工人班次,一共三班。
我的想法是创建三个不同的 Schedules,分别代表三个班次,然后在 ResourcePool 中,使用 If 语句设置每个班次的使用。如图所示在此处输入图片说明
但它没有用。如果可能,请告诉我Java语句是否有问题或想法错误。如果可能,您能告诉我如何在 ResourcePool 中设置多个计划吗?
问题补充: 模型是对生产系统做评价,工人班次是一个重要的评价参数。我要做的是直接在Excel工作表中输入工人的轮班,ResourcePool识别并使用相应的Schedule。
我尝试通过代码生成对应的Schedule,但是Resourcepool的Schedule不能动态设置。所以我想尝试手动将多个Schedule输入到模型中,然后像图片一样通过If语句在ResourcePool中设置对应的Schedule。
提前致谢
解决方案
您需要知道的第一件事是您放置代码的位置是一个静态参数,因此它只被评估一次,当对象被创建而不是连续检查时。
当您将鼠标悬停在将输入字段从代码更改为值的按钮上时,小弹出窗口会指示这一点
如果它是动态的,它将声明动态值而不是静态值
其次,在该字段内,您必须使用三元运算符,而不是 if 语句,以便公式的结果是计划对象,否则您将收到“错位构造”错误
如果您将代码更改为
v_Shift == "Shift1" ?
s_Shift1 : v_Shift == "Shift2" ? s_Shift2 : s_Shift3
它会起作用但是:
- 它只会在创建对象时被评估,而不是再次被评估
- 而不是
==
在字符串上使用,总是.equals()
在字符串上使用 , 它可能会起作用,有时可能不会。你可以做一些研究为什么;-)
解决方案:您将不得不使用一个函数来更改资源池的计划。v_Shift
每当变量更改时调用此函数
推荐阅读
- python - 如果 nan 在列表列表中,则删除列表
- javascript - 我似乎无法将一行异步添加到@angular/material:table 示意图的表格中
- node.js - TypeError: body is not iterable - RabbitMQ, Celery worker NodeJs,
- reactjs - 单击链接时如何关闭移动菜单以做出反应?
- python - ValueError: bad marshal 不能通过删除 .pyc 文件来解决?
- javascript - Redux 和 ReactJS Hooks:UseEffect 返回一个空状态
- html - 由于绝对位置和 z 索引,链接无法正常工作
- ios - 当 clipToBounds 为 true 时,Swift UINavigationBar 背景图像不覆盖状态栏
- xslt - 换班
或者
使用 XSLT? - javascript - JavaScript 函数输出页面的 DOM 树