MDR-2 - Scheduling refactoring and extension

Issue: QCADOOMES-828

Brief

  • fix old mistakes done then implementing modules related to production scheduling
    • no separations of algorithms and data
    • wrong separation of functionality among modules
    • wrong dependencies causing bugs in systems configuration
  • prepare fundamental structures needed for production scheduling on production lines
  • correctly separate production scheduling on production lines among them and add new modules

Current goals:

  • make less functions directly dependent on orders (function like cost and duration calculation need to extend the technology instance not the order it self)
  • separate universal data from algorithms
  • move technology instance to technologies module - the order module will just use it
  • remove bugs exposed by turning off plugins coursed by wrong dependencies (for ex. turning of the productionTimeNorms module will disable half of the system)

Future goals which this will support:

  • all calculations done on the technology instance (less code and complexity)
  • configuration of qcadoo MES with cost calculations and duration calculations but no orders modules at all
  • orders without technology

Modules and dependencies