Patch correctif TP2
This commit is contained in:
@@ -84,7 +84,8 @@ ProductionOrder::ProductionOrder(uint8_t *buffer, std::size_t size)
|
||||
_is_finish = _buffer[INDEX_POSITION] + 1 >= _buffer[OPERATION_NUMBER_POSITION];
|
||||
}
|
||||
|
||||
ProductionOrder::ProductionOrder(uint16_t ID, uint16_t product_ID, const Program &program) : _is_finish(false) {
|
||||
ProductionOrder::ProductionOrder(uint16_t ID, uint16_t parent_ID, uint32_t due_date, uint16_t product_ID,
|
||||
const Program &program) : _is_finish(false) {
|
||||
Reference reference{0, 0};
|
||||
std::size_t operation_number = 0;
|
||||
|
||||
@@ -108,6 +109,16 @@ ProductionOrder::ProductionOrder(uint16_t ID, uint16_t product_ID, const Program
|
||||
_buffer[reference._byte_index++] = (uint8_t) (ID >> 8);
|
||||
_buffer[reference._byte_index++] = (uint8_t) (ID & 0xFF);
|
||||
|
||||
// parent ID
|
||||
_buffer[reference._byte_index++] = (uint8_t) (parent_ID >> 8);
|
||||
_buffer[reference._byte_index++] = (uint8_t) (parent_ID & 0xFF);
|
||||
|
||||
// due date
|
||||
_buffer[reference._byte_index++] = (uint8_t) (due_date >> 24);
|
||||
_buffer[reference._byte_index++] = (uint8_t) ((due_date >> 16) & 0xFF);
|
||||
_buffer[reference._byte_index++] = (uint8_t) ((due_date >> 8) & 0xFF);
|
||||
_buffer[reference._byte_index++] = (uint8_t) (due_date & 0xFF);
|
||||
|
||||
// product ID
|
||||
_buffer[reference._byte_index++] = (uint8_t) (product_ID >> 8);
|
||||
_buffer[reference._byte_index++] = (uint8_t) (product_ID & 0xFF);
|
||||
@@ -199,8 +210,14 @@ std::unique_ptr<Operation> ProductionOrder::previous_operation() const {
|
||||
std::string ProductionOrder::to_string() const {
|
||||
std::string str = "[ ";
|
||||
uint16_t ID = (_buffer[ID_POSITION] << 8) + _buffer[ID_POSITION + 1];
|
||||
uint16_t parentID = (_buffer[PARENT_ID_POSITION] << 8) + _buffer[PARENT_ID_POSITION + 1];
|
||||
|
||||
str += std::to_string(ID) + " ][ ";
|
||||
str += std::to_string(ID);
|
||||
if (ID != parentID) {
|
||||
str += + "/" + std::to_string(parentID) +" ][ ";
|
||||
|
||||
}
|
||||
str += " ][ ";
|
||||
for (uint8_t i = 0; i < _buffer[OPERATION_NUMBER_POSITION]; ++i) {
|
||||
if (_buffer[INDEX_POSITION] == i) {
|
||||
str += "<";
|
||||
|
||||
Reference in New Issue
Block a user