I run an engineering factory with approx 15 machines in it. We are always late on delivery and I need to do something to properly plan jobs into the workshop so we tighten up on our delivery dates.
Initially I want to start off with something very simple and ideally graphically represented for ease of use. Later on I will want to integrate the times for each job that come from my current works order system (Microsoft Access based), but that is not part of this project for now.
As an explanation.......... We have orders come in to us that will have from 1 task to no more than 10 tasks to complete the job. A Job sheet is generated that travels around the factory showing the process type and the time allowed (e.g Milling = 10hours / Turning = 6.5 hours etc). The process itself can be made on more than one machine in most cases. For example a milling process can be completed on most of the milling machines in the workshop as can turning processes be completed on most of the lathes in the workshop. Most of the time repeatable jobs will go on the same machine each time, but not always!!! We also may have some sub contract work on jobs as part of the route through the work shop which can take from days to weeks to complete!
Each machine has "x" amount of hours a week it is able to run jobs on it. Some machines CAN run lights out and unmanned and some cannot. The ones that do, obviously run 24 hours a day.
I need to load each machines with jobs so I can accurately quote delivery dates to customers and stick to them!. Be aware that some jobs will need work doing on them on multiple machines and possibly outside sub contract processes too before they are complete.
Ideally I would like this system to be web based, as then I can allow the workshop staff to access it from there laptops so they can see what jobs are coming up next. It may require the machine operator to key on or click a button to advise the scheduler of the start and stop time of the jobs, then the schedule can alert any backlogs or spare capacity. The scheduler would also need to be able to "reshedule" if required. For example if a machine were to breakdown for a week everything in that week needs to either be moved to other machines or rescheduled on the current machine when it is fixed. We would in that case need to see what effect this has had on other jobs so we can tell customers in plenty of time that there work could be late due to a machine breakdown. Alternatively if the scheduler tells us how many hours we are out, we could possibly put on overtime to make up the time lost in the breakdown.
Id also like to add a "what if" function, so that when a customer phones and asks what date we can do a job for, we enter the times in and the scheduler advises me a delivery date. Also if we push jobs in (which sadly often happens in our game), we need to show what effect this has on other work already planned in......(what overtime do we need to add to bring the schedfule back into line, or which jobs will be late because of it etc)
Once we have some sort of scheduling system working, I will eventually want to integrate our log on/log off of jobs we use (by way of barcodes for each task on our job travellers) with our current MS access driven order system.
Hope I have explained this in enough detail. Any questions, please do not hesitate to contact me.