About me
Name: Nikolay Voronkov
Place: Tver, Russia
Email: voronkov@engineer.com
Skype: nik-voronkov
Job: Freelancer
My portfolio (by category)
MS SQL / Oracle / mySQL
ASP.NET / Silverlight
C# / PHP
Adobe InDesign (client/server)
Multilanguage support for Wordpress

The production planning of the company “Promopost”

Customer: Company “Promopost”, member of OTTO Group Russia
Project type: Internal enterprise project for a Production Department
My position in project:
  • The database architect
  • Developer
  • Operation systems: Windows, Linux
    Databases: mySQL, Oracle 11G
    Languages: C#, PHP, SQL
    Technologies: Silverlight, Oracle Apache Server
    IDEs: MS Visual Studio, mySQL Workbench
    Interface language: Russian

    Brief information about the project:

  • Support of calculations of loading for multiple assembly technologies
  • Planning within one month of loading assembly lines
  • Support for unlimited number of business units (firms)
  • Operational planning of lines loading for the days ahead
  • Storing relevant information about production processes in real-time
  • Import data from the CRM system of the company
  • Generation of reports in MS Reporting Services (SSRS)

    Ladies and gentlemen, all screenshots that you see on this page relate to a test version of the project.

    On the server-side the browsers interface (Silverlight) to be served using PHP-modules that are created XML packs, these packs on the Silverlight side to be handled by LINQ and put into data sets (LISTs). But part of the project, which was used in the SSRS reports were very complex, so the data for the report created using mySQL procedures, which collected SQL-queries dynamically.
    The user interface of the project
    The project consists from several parts. One of the important tasks was gathering information about planned volumes of work. The unit of work was batch. Part of the work was formed in the CRM system of the company, the other part was planned manually. The project had the interface for adding and adjustment of batches.
    From this interface you can at any time download new batches from the CRM system. The import is executed at the web server from the PHP module. This has involved connecting to the Oracle database, requested data from Oracle views and results placed in the project database (mySQL).
    An important part of the system is the distribution of work to departments. Usually several departments of the company involved in the assembly process. All types of batches are unified and for each of them some rules of work are established and the list of units exists that need them to perform. To speed up the planning process, the batches are assigned to the assembly templates (Work-Department). This allows you immediately when you add a batch to distribute the work performed by the departments of the company in order. When you select a template for copying data in worksheets if there is any work not provided in the template, the interface batches you can add, remove, or adjust the desired items.
    Almost all entities of the project with the exception of algorithms assembly are configured through the dictionary system. This applies to lists of lines, business units, flow templates, etc.
    The workload in the assembly of the batches was based on the guidelines, which are also set for each technology. Technology is selected when you import or create batches, based on the name of the batch (there is a dictionary mapping names and technology).
    The process of working with the project begins with the planning of production volumes for the next month. The manager of the Production Department determines the lines that will work and the business units that they serve. In a special interface are filled weekends and holidays. Then you can fill the matrix planning for each day. Further, when receiving the operational information, the matrix starts to be corrected (column “Total” and “Missing” on the first picture).
    The main part of the project – operational planning interface. It is used when all information about batches collected. The manager calculates the complexity for each batch based on the technology of the assembly and its standards. In addition, the planned date of execution of the steps of the batch. For certain types of batches manager can assign assembly operators.
    The interface provides the mechanism for the adjustment of the actual volume of the performed work, the data for this are requested in the CRM system.
    Project reports (MS Reporting Services)
    For project I developed several SSRS reports (Microsoft Reporting Services). This technology is widely used in the company and it was decided not to give managers access to the project and develop the related reports, and submit all required reports on a SSRS server.
    The reporting requirements were very high, so as to initiate the project planning of production processes were done manually and main reporting documents were files in MS Excel rather complex structure, the task was to implement the project documents without losing the existing clarity and functionality. The reports configured from the interface of the project: the selected columns are necessary, create additional lines, etc. On the side of the report control for its elements was based on Expressions for different attributes. Basic RECORDSETS were created to report procedures in mySQL, simple SQL-queries to do was impossible.
    All complicated by the fact that for mySQL I was unable to find a driver for OLE DB and the default passing parameters to SQL queries on the reports were not working. ODBC driver is used. After some research the problem was solved, the parameters can be replaced by the question marks (highlighted in red), it was necessary to adhere strictly to their order, use the query designer was impossible.
    To create complex documents, I used a combination of reports. They had a flexibility structure and is configured from the interface. The most important condition was the receipt of documents in MS Excel format (export). Splitting reports tabs have been achieved by inserting page breaks between reports and several parts of the report.

    Leave a reply:

    Укажите 3 цифры