Jump to content
Simio Forum
msalemip

Off shift worker

Recommended Posts

I want my worker to complete an ongoing customer service in case his shift is over at the middle of service. I know that simio has that assumption already but in my model the worker might need to finish some tasks in different servers in order to finish one customer service not only the ones he is currently working on.


Any help is appreciated.

Share this post


Link to post
Share on other sites

It sounds like you will need some custom process logic. Something like:

--In the Worker's Off Shift logic, add something to say, "I'm not really off shift yet. I will continue work related to entity x"

--In the Workers On Seize Request logic add something to say "I only accept work on entity x"

--In the Workers Released logic add something to say "When entity x is done, I will really go off-shift"

Share this post


Link to post
Share on other sites

Thanks;


Yes, I am trying to use a process in the offshift add on process. I need to "delay" it until the worker get back to the office. But my issue is that the delay process is based on time, not event. Not sure what to use now.

Share this post


Link to post
Share on other sites

You can have the token Wait until the worker gets back and some other token would Fire the Event element.

Share this post


Link to post
Share on other sites

So I do not need the "fire" step in my process. I will just "decide" whether the worker is in office when going off shift, if the answer is yes I will do nothing, if the answer is no, I will use a "wait" step until the worker.currentNode.is.office. Does this sounds correct to you?


Thanks

Share this post


Link to post
Share on other sites

You may wish to attach your model here so that we can take a look or you can alternatively send the model to support@simio.com.


By using the Wait step at the offshift process of the worker (if the worker is currently busy), the worker will still go into the 'offshift' state, but the delay will not start until the after the Fire step fires the given event (which you would do once the tasks are completed by the worker).

Share this post


Link to post
Share on other sites

Thank you for your reply. I have a supper big model and sending it to people will confuse them. Let me explain the issue in more detail.


The worker is suppose to pick up the patient form the waiting area, take it to the exam room, do the test, then clean the room and do the final paper work. The simio default is that if the worker is busy with something and it goes offshift, it will finish that specific job and then it goes off shift. For example if the worker is going offshift when it is transporting the patient to the exam room; it will become "offshiftTransporting" and then it will go "off shift" and leaves the patient. I want the worker to finish everything about that patient (exam, cleaning, paper work), before leaving. Since I am keeping track of how much workers are working in offshift time, I do not want to change the worker capacity when it goes off shift. For example if the worker is offshift and I am forcing it to stay, I want it to have the "offshiftbusy" state no the "busy" state. If I change the capacity it will become "on shift" and it is not what I want to model. I want it to finish everything while the model knows that the worker is working in the offshift mode.

I thought if I use "wait", I could do that, but it is not working.


Any help is really appreciated.


Thanks

Share this post


Link to post
Share on other sites

Having a worker ID, how I can check the "resourceState" of that worker? Assume, somewhere in the model, I need to see the "resourceState" of a worker with ID "50". I have a decide step in a process and I want to make a decision based on the resourceState of the worker with ID 50.

Share this post


Link to post
Share on other sites

You can use an expression like Worker[50].ResourceState using the worker unit number (e.g. the 50th worker of the set), but I'm not sure if its ID number (e.g. the 50th object) is usable.

Share this post


Link to post
Share on other sites

The answer is no. But, assume that worker1[1]'s ID is 12. And, if simio can enables Worker1[].12.ResourceState or Worker1[iD=12].ResourceState expressions valid then one can get the same results as with the Worker1[1].resourcestate expression.

Share this post


Link to post
Share on other sites

×