Adept

Introduction

I made these applications while working for the company Adept NV located in Wevelgem.

About Adept NV

The company has ceased their operations.
It was lead by Pascal Geenens, now Business Development Manager Security with MSP, Eric Stroobants and Koen Geusens.

Project customer: Casier NV located in Deerlijk
Website: http://www.casier.com
Casier NV is a company which recycles ferrous and non ferrous metals.
My task was to develop 4 software projects for Casier nv, from the start, which they can use to do their daily job administration and the registration of the incoming and outgoing metal transactions.
The software is still in use by the customer on a daily base by 10 people.
This project was made in Delphi 6 CS with use of Devexpress components and MySql & Interbase databases with an extensive use of stored procedures, views and triggers, these projects are also made very object oriented.

To the point

At the customers site there is a constant incoming and outgoing traffic of metal which they recycle.
I made 4 projects for them:

  1. A weighing application with simultanious & independent connections to the two weigh stations outside.
    This application is operated by 1 person but can be switched to other pc's through a network.
    This pc has a special led printer to print tickets from the software..
  2. A administration application used by 10 persons.
  3. A second weigh application without interface to a weigh station in the workplace
  4. A small ticket print program.

IT layout diagram.

The main weighing application

This application is run on a pc which is powered by a UPS to avoid data loss due to power failure.
The program makes a connection to a localhost mysql database which contains data like customers, suppliers, drivers, products and weighings in master-detail format.
It's operated by a person who has visual contact & communication with the traffic outside.
On these pictures you can see the program in action and the situation outside.

 



The connections to the weigh stations outside are made by a propriety ISA interface card with self written drivers and by using 2 background threads which constantly register the weight of both weigh stations independent and simultanious.
By using background threads these have no impact on the actions of the person who operates the software.
He can use his software without any interference of the weigh connections at all.
Apart from the 2 background processes there is a third process which does the synchronisation between the mysql database of the weigh application and the interbase database of the administration application.
This synchronisation is done in 2 directions; the data like customers, products etc from the interbase is updated/inserted/deleted in the mysql database and the weighings of the mysql database are updated/inserted in the interbase database.
By doing the synchronisation this way the weighings can always continue even when a network problem, a power outage or a server reboot would occur.
All 3 processes are visualised on the application by use of led displays right under the recycle symbol.
Screenshot of weigh application:




A weigh transaction always occurs in at least 2 weighings, as the truck enters and leaves the facility to load and offload products.
When the truck has different products the transaction can, for instance, happen in 5 weighings; so several trucks can have a open transaction at the same time.
This application has more features built in.
For instance the application user can change process times, colours of the interface, send a bugreport, a protected login with hashed passwords, a transaction history window, open transactions window, print tickets, edit reports and more.
Here are some more screenshots of the application.



The administration program

In this application the users can administer all data like customers, suppliers, products, containers, drivers and many others.
Of course also all weighings can be seen in a data window and changed, manually added, reprint tickets, make reports etc.
For the users convenience there is also a built in calculator, webbrowser and a 'send bugreport feature'.
Every action by every user is also logged in textfiles which makes it easy to determine what the problem is when a error should occur.

With exception of a few, all datawindows are similar (inherit from a baseform) and have identical functionalities.

The users can sort, group, filter, change column orders in each data window independent of the other windows and independent of others users.
They can search for data in each column, change column widths, and these things can be done in combination.
Each data window has a wysiwyg export to html and xls & wysiwyg print function.

 



Also, this application has a users and permissions system built in.
W ith this you can administer the users, their passwords and the permissions they have on each part of the application.


Each user belongs to a group which can have the permission settings. 


 

A few other screenshots 


 Report management

The reports in this application are centralised in the database with a management window.
This has several advantages:

  • Changing or adding a report in the application automatically makes these reports available for each user/pc and they are automatically updated without any manual steps.
  • When the database is backedup the reports are also automatically saved since they remain inside the database.

 


The report editor


The second weigh application

I don't have any screenshots from this application.
It works like the main weigh program but without the interface connection to the hardware weigh station.
The values are entered manually by the operator.

The ticket application

Same here, no screenshots; this is a small utility which makes it possible to print a quick and manual ticket.