Minor update to the Checklist report to adjust the sorting in case multiple entries are made for the same cart by the same person on the same day. Sorting wasn't specific beyond the cart, so it was a bit of a mess.
For the same report, added option to display the queries if suitable access is available and you hold down the shift button when running the report.
When selecting 'raw punches' for, like, the past 20 years, the view only showed TIMETYPE=0, but this was adjusted to show TIMETYPE<=0 so you could see, for example, all of the punches pertaining to a checklist, even if they were marked such that they didn't make it through to the processed punches due to being very short activities.
New workers that do not have any classification or team defined will show up in the Worker Manager for everyone. The idea is that if you just add a new worker record in the main view, it will automatically not have a pay rate record or a team record defined, so it will be inaccessible. This change makes it so that it is accessible and there is then the opportunity to add the pay rate record and so on. This is how it used to work prior to the overhaul, and was simply overlooked when the new security measures were enforced more clearly.
General
Minor change to the EurekaLog mechanism to go back to including the LoginDatabase as part of the username that is logged with each ticket. This also matches the other Oasis apps and gives a bit more clarity. There aren't typically any users with the same username in different systems but this still helps particularly when the user hasn't logged in yet.
Minor change to the queries that are first run after a long network disconnect - the BUZZER and M09 queries. The BUZZER query is first run after a CheckIn has started. M09 is first run when someone punches in, which may come after a long disconnect.
These queries were both updated with a different 'Error Message' so that if an error occurs, it is reported visually as a network error rather than a query error. These aren't complex queries, so it is unlikely that the query has failed but far more likely that the network has failed.
Normally this failure will recover eventually when the network access is restored, but the error is still presented on the screen for some reason as an 'Excessive Error' type of thing. Maybe this is an issue to take up in the next EurekaLog update.
The intent here is to give an error more indicative of the problem. Very few TimeClocks use the Buzzer system for example (currently ONE as of this writing I think) and ERR-M09 sounds more cryptic than it needs to be.
Updated the premium query. Seems it wasn't always working for all premium types. More modifications to deal with the start/end times. Had a case statement in a Where clause which as it turns out isn't possible. Odd that it didn't come out during testing though. Like, really odd. All better now.
Updated the Checklist report to work with multiple checklists. Added Forklift name to the report if that type of checklist is used.
Minor tweaks to the interface at the top-left. Contemplating bigger things here.
Labour Manager
Some changes to the Single/Multi-punch code to catch an error that was generated today. Pretty obscure though.
Repair Tool
Another attempt at catching obscure errors. I think someone doesn't have their regional settings set properly. Can't explain why this error would occur otherwise. Going to be a long haul to remove that restriction, but getting there slowly I suppose.
Sets Manager
Minor tweak to remove the setting for the Accel character so you can enter & in a question and have it work and look properly everywhere, rather than underlining the following character.
Fixed problem with Checklists not being recorded at all. Also added checklist output to the \"main\" TimeClock log so at least there's a record if the query fails in this fashion again.
Wrapped some exception handling around the code that plays sounds to see if it helps with the random exceptions that are generated. An odd place to have an exception it seems.
Added some extra code to the logging that checks for updates. Seems sometimes there is a StrToFloat error, suggesting that the database query isn't always returning data. Which doesn't make much sense, but the logging should indicate if that's actually the case or not.
Pretty major update to many things. First up, the code that draws the list of activities was updated. Seems that the labels were all overlapping one another, making the drawing of the menu excruciatingly slow even on modern computers. Nice and fast now, just by trimming the size of the labels.
Hid everything to do with 'messages' appearing at the top-right of the TimeClock - they weren't being used, and just interfered with the screen updates.
Updated Checklist system. Bit of an overhaul really. Now properly supports multiple checklists, and handles things better when multiple checklists are available, no checklists, checklists without questions, and so on. Pretty major overhaul of how checklists are started here.
Changed the RESTART mechanism for upgrades, hopefully will dispense with the endless looping upgrades after a new version is installed that needs to be deployed more quickly.
Fixed some miscellaneous bugs in code that comes up from time to time - moving around RunQuery invocations so that they are closer to the query processing.
Changed the Mantis interface to add the Database/TimeClock number to the BugAccount field to make it easier to see which TimeClock is affected.
Fixed error encountered when trying to set the Checklists for a worker - was still linked to the Roles code that was used as a template for this code.
Added Checklists as a field in the main view - already populated everywhere, just never got added to the view.
Adjusted tab order for the bottom section of the Attributes tab.
Labour Manager
Added code to check that the times being entered for Single/MultiPunch start/end times was actually a HH:mm:ss time as this seems to generate exceptions daily. Hopefully they will be reduced as a result of this.
Updated EurekaLog Mantis interface to incorporate a custom field to contain the username logged in to the app. Normally Mantis tracks things like the username logged into Windows, but of course this is not the same thing, and the actual username wasn't appearing anywhere in the bug report aside from potentially the parameters used to launch the program, which can be changed at login time.
Added Problems field to the Workers Present view, as a companion to the \"problems\" list at the top of the view, to make it easier to filter the view to show only the problems on each day.
Fixed some strange errors with processing. Not sure why but for some reason some workers were not processing. Seemed to be an internal error with queries not aligned with their fields, yet this is the first reported instance. And this version has been in the wild for quite a number of weeks now.
Added an 'Auto Accounts' filter to the Access History section so that accounts like GLMAUTO are not automatically included in the query, speeding things up dramatically. Also changed it so that it includes the user if the user is in the list of Auto Accounts (IE, ASIMARD).
Fixed the Reports context menu not appearing.
Greenhouse Viewer
Cosmetic changes to the fonts, the top-left period picker, other little tweaks.
Added more debugging details when running the TimeSheets report - now logs all the various parameters and options that are selected. Will likely do this for other reports as they get reviewed.
Major overhaul of the Worker Manager. This has been some time in coming. Many changes in converting over to the new \"grey\" theme, but for the most part functionality is the same.
Worker Manager interface rearranged to have all the tabs appearing on the left side rather than across the top. Sounds simple enough, but not really simple at all.
Updated module loading to disable cursor switching... big performance boost in the Worker Manager init in particular.
Added Checklists to the Worker Manager Attributes tab.
One more time with this bleepin query! The thing that was fixing the \"worker last punched\" query seemed to be ok, but apparently some inline comments are not compatible with some installed versions of the DB2 client. Go figure. Anyway, this update is merely to remove those comments from the query. Hasn't really been a habit, adding comments to queries, but I guess it isn't likely to become one anytime soon.
Another change to the mechanism used to check for whether the worker is present or not, complicated by the 24-hr processing system. The last iteration made it possible to punch a worker who had punched out within the past 12 hours, so this update makes it so that the worker is considered punched out if their last activity was, well, punch out. No clue why this hasn't been the case for the past 20 years, but there you have it.
Minor update to how the TimeClock checks for whether the worker is present or not. Due to the 24-hr processing mechanism, it had been looking for punches in the past 10 hours to verify that the worker was present. Well, some people apparently have 10-hr shifts, so this was updated to look at 12 hours instead. Will see if that causes problems or not.
Auto-Punch-Out when punching with a fingerprint now is a bit smarter about 24hr shifts. Hopefully smart enough to dispense with the troubles that such things have been causing.
Updated IPM Manager with new search function. This currently just searches the 'Comments' and 'Resolution' fields (the only text fields) but could be extended to other fields if it made sense.
Updated IPM Manager with ability to add, rename, and delete custom views for the main interface. This is a key component envisioned from the outset to allow different views of the very substantial IPM records. As there are many fields, but few that are applicable to different records, this is an important tool to help organize and actually use the IPM data as it is created.
Fixed problem with attaching log files (semi-colon-delimited list instead of comma-delimited) so now both TimeClock logs are sent in case of an exception.
Changed back to using SSL for Mantis connection. For whatever reason, this means that the XP exceptions aren't sent to Mantis but come via email. Hopefully this also means that the error message is not displayed. Guess we'll find out tomorrow.
Removed one of the Buzzer exceptions that is actually an error that needs to be reported (deivce not opened vs. can't write to D0... The latter is ok, the former not so much).