Configuración
Esta sección aborda la configuración de la planificación.
GET /schedule
Parámetros de solicitud:
- company [obligatorio]: el nombre o Id. de la compañía.
- session [obligatorio]: el Id. de la sesión activa.
- process: proceso al que está asignada la orden.
- datefrom: fecha mínima a la que está planificada la orden.
- dateto: fecha máxima a la que está planificada la orden.
- pn [obsoleto]: código de la orden. Use el parámetro order en su lugar.
- order: código de la orden.
- status: indica el estado de las órdenes que se quieren obtener. Los valores posibles son:
- 0: Preplanificadas
- 1: Planificadas
- 2: En marcha
- 3: Pausadas
- 4: Prefinaliazdas
- 5: Finalizadas
- 6: Canceladas
- 7: Todas
- 8: Pendientes (o sea, preplanificadas, planificadas, en marcha o pausadas)
Si se omite, el valor por defecto es 8 (pendientes).
- filter: es una cadena de texto que se usa para localizar órdenes que la contengan en cualquiera de estos campos: código de la orden, código del resultado, descripción del resultado, comentario y referencia.
Respuesta:
- status: devuelve "0" en caso de éxito o el código del error.
- data: devuelve la lista de órdenes de trabajo que coincidan con los criterios indicados en case de éxito o enlace a la ayuda de la solicitud en caso de error.
- message: "Success" en caso de éxito o información descriptiva del error.
Ejemplo:
Request: {"type":"get", "url":"schedule", "data":"company=testco&session=kOORid1fkPhuSFAmakcSHEJ5Vzp3egJ87zfuCDDR5J4A4uLQBfMdwFankFfb&order=12345"} Reponse (success): { "status":0, "data":[ { "Id":"20180515130923TMACENTRAL", "MachDate":"P00120180515162312", "OrderId":"12345", "id_prod":"RES0001", "QT":"82,5", "Target":"82,5", "SetupTime":"0", "CycleT":"15", "CycleQ":"0,087766", "TeardownTime":"0", "DueDate":"20180515220000", "Status":"5", "Started":"20180523154422", "Ended":"20180523195228", "Comment":"Resultado de prueba 1", "Ref":"<Sch:12345><Req:12345><Seg:10>", "Id_Author":"CENTRAL", "Created":"20180515130925", "Id_Mod":"", "Modified":"", "Link":"", "URL":"", "Id_TU":"0", "Id_Sche":"", "Work":"", "WBS":"", "Esti":"0", "DisableNotif":"0" } ], "message":"Success" } Reponse (error): {"status":1005, "data":"<a href='http:\/\/127.0.0.1:8080\/edinnM2\/help\/en\/API_Schedule_Oper.html'>for additional information follow this link<\/a>", "message":"No data available"} |
POST /schedule (ISA-95 compliant, para más información lea el documento de B2MML)
Este método crea órdenes de fabricación usando datos B2MML codificados como JSON. El usuario debe tener el permiso de planificador.
Parámetros de la solicitud:
- company [obligatorio]: el nombre o Id. de la compañía.
- session [obligatorio]: el Id. de la sesión activa.
- data [obligatorio]: los datos que definen la información de la orden en formato B2MML codificado como JSON.
Respuesta:
- status: devuelve "0" en caso de éxito y un código de error en cualquier otro caso.
- data: devuelve la respuesta de formato B2MML codificada como JSON.
- message: "Success" o una información descriptiva del error en cualquier otro caso.
Ejemplo (los datos de la orden se envían codificados para ser usada como la parte de consulta de una URL):
Request: {"type":"post", "url":"schedule", "data":"company=testco&session=1FrqhchVXQoAgpxUbdKHWQkILZjMMAV0cesiSMmaRjwFvaWLwrpLyxJ6O9Zo&data=%7B%22SyncProductionSchedule%22%3A%7B%22ApplicationArea%22%3A%7B%22Sender%22%3A%7B%22ComponentID%22%3A%22ERP%22%2C%22ConfirmationCode%22%3A%22Always%22%7D%2C%22CreationDateTime%22%3A%222020-09-23T10%3A41%3A00%22%7D%2C%22DataArea%22%3A%7B%22Sync%22%3A%7B%22ActionCriteria%22%3A%7B%22ActionExpression%22%3A%7B%22%40actionCode%22%3A%22Add%22%7D%7D%7D%2C%22ProductionSchedule%22%3A%7B%22ID%22%3A%2220200901%22%2C%22ProductionRequest%22%3A%7B%22ID%22%3A%222020092304%22%2C%22StartTime%22%3A%222020-09-23T16%3A00%3A00%22%2C%22EndTime%22%3A%222020-09-23T18%3A00%3A00%22%2C%22SegmentRequirement%22%3A%7B%22ID%22%3A%2210%22%2C%22Description%22%3A%22BOLSAS%20DE%2024x28%22%2C%22EarliestStartTime%22%3A%222020-09-23T16%3A00%3A00%22%2C%22LatestEndTime%22%3A%222020-09-23T18%3A00%3A00%22%2C%22Duration%22%3A%22P0Y0M0DT2H0M0S%22%2C%22PersonnelRequirement%22%3A%7B%22PersonnelClassID%22%3A%7B%7D%2C%22PersonID%22%3A%7B%7D%2C%22Location%22%3A%7B%22EquipmentID%22%3A%22TESTCO%22%2C%22EquipmentElementLevel%22%3A%22Enterprise%22%7D%2C%22Quantity%22%3A%7B%22QuantityString%22%3A%221%22%2C%22DataType%22%3A%22double%22%2C%22UnitOfMeasure%22%3A%22UN%22%7D%7D%2C%22EquipmentRequirement%22%3A%7B%22EquipmentClassID%22%3A%7B%7D%2C%22EquipmentID%22%3A%227102%22%2C%22Location%22%3A%7B%22EquipmentID%22%3A%22TESTCO%22%2C%22EquipmentElementLevel%22%3A%22Enterprise%22%7D%2C%22Quantity%22%3A%7B%22QuantityString%22%3A%221%22%2C%22DataType%22%3A%22double%22%2C%22UnitOfMeasure%22%3A%22UN%22%7D%2C%22EquipmentRequirementProperty%22%3A%7B%22ID%22%3A%22ID_TU%22%2C%22Value%22%3A%7B%22ValueString%22%3A%226104%22%2C%22DataType%22%3A%7B%7D%2C%22UnitOfMeasure%22%3A%7B%7D%7D%7D%7D%2C%22MaterialRequirement%22%3A%5B%7B%22MaterialClassID%22%3A%7B%7D%2C%22MaterialDefinitionID%22%3A%22BB0932428102%5C%2F4351%22%2C%22MaterialLotID%22%3A%7B%7D%2C%22MaterialUse%22%3A%22Produced%22%2C%22Quantity%22%3A%7B%22QuantityString%22%3A%221000%22%2C%22DataType%22%3A%22double%22%2C%22UnitOfMeasure%22%3A%22MI%22%7D%2C%22MaterialRequirementProperty%22%3A%7B%22ID%22%3A%22Equiv%22%2C%22Description%22%3A%22Equivalence%22%2C%22Quantity%22%3A%7B%22QuantityString%22%3A%221%22%2C%22DataType%22%3A%22double%22%2C%22UnitOfMeasure%22%3A%22KG%22%7D%7D%7D%2C%7B%22MaterialClassID%22%3A%7B%7D%2C%22MaterialDefinitionID%22%3A%22BO24035044%22%2C%22MaterialLotID%22%3A%7B%7D%2C%22MaterialUse%22%3A%22Consumed%22%2C%22Quantity%22%3A%7B%22QuantityString%22%3A%22238%22%2C%22DataType%22%3A%22double%22%2C%22UnitOfMeasure%22%3A%22KG%22%7D%2C%22MaterialRequirementProperty%22%3A%7B%22ID%22%3A%22Equiv%22%2C%22Description%22%3A%22Equivalence%22%2C%22Quantity%22%3A%7B%22QuantityString%22%3A%221%22%2C%22DataType%22%3A%22double%22%2C%22UnitOfMeasure%22%3A%22KG%22%7D%7D%7D%5D%7D%7D%7D%7D%7D%7D"} Reponse (success): {"status":"0", "data":"{\"ConfirmBOD\":{\"ApplicationArea\":{\"Sender\":{\"LogicalID\":\"20200924090208ACJCENTRAL\",\"ComponentID\":\"EDINN\",\"ConfirmationCode\":\"Always\"},\"CreationDateTime\":\"2020-09-24T09:02:08\"},\"DataArea\":{\"Confirm\":{\"ResponseCriteria\":{\"ResponseExpression\":{\"@actionCode\":\"Accepted\"}}},\"BOD\":{\"Description\":\"Accepted 2020092304\",\"Note\":\"segment 10 of the order 2020092304 inserted successfully.\"}}}}", "message":"Success"} Reponse (error): {"status":"0", "data":"{\"ConfirmBOD\":{\"ApplicationArea\":{\"Sender\":{\"LogicalID\":\"20200924090448ZOZCENTRAL\",\"ComponentID\":\"EDINN\",\"ConfirmationCode\":\"Always\"},\"CreationDateTime\":\"2020-09-24T09:04:48\"},\"DataArea\":{\"Confirm\":{\"ResponseCriteria\":{\"ResponseExpression\":{\"@actionCode\":\"Rejected\"}}},\"BOD\":{\"Description\":\"Rejected 2020092304\",\"Note\":\"Must provide a equipment requirement (Equipment 8102 does not exist in database) (Operation cancelled by an error)\"}}}}", "message":"Success"} |
Ejemplo de los datos de la orden sin codificar.
{ "SyncProductionSchedule": { "ApplicationArea": { "Sender": { "ComponentID": "ERP", "ConfirmationCode": "ALWAYS" }, "CreationDateTime": "2019-10-30T15:06:51.065224+00:00" }, "DataArea": { "Sync": { "ActionCriteria": { "ActionExpression": { "@actionCode": "Add" } } }, "ProductionSchedule": { "ID": "PS000001", "ProductionRequest": { "ID": "PR000001", "Description": "Request description", "Location": { "EquipmentID": "P10", "EquipmentElementLevel": "Site", "Location": { "EquipmentID": "L10", "EquipmentElementLevel": "ProductionLine" } }, "StartTime": "2019-10-30T15:06:51.0662173+00:00", "EndTime": "2019-11-06T15:06:51.0662173+00:00", "RequestState": "Planned", "SegmentRequirement": { "ID": "SR10", "Description": "Segment description", "Location": { "EquipmentID": "P10", "EquipmentElementLevel": "Site", "Location": { "EquipmentID": "L10", "EquipmentElementLevel": "ProductionLine" } }, "DocumentURL": "\\\\DOCS_FOLDER\\DOC.INF", "EarliestStartTime": "2019-10-30T15:06:51.0662173+00:00", "LatestEndTime": "2019-11-06T15:06:51.0662173+00:00", "Duration": "P0Y0M0DT1H36M0S", "ProductionParameter": { "ID": "OperationType", "Value": { "ValueString": "OP01", "DataType": "string" } }, "ProductionParameter": { "ID": "WBS", "Value": { "ValueString": "1234", "DataType": "string" } }, "PersonnelRequirement": [ { "PersonnelClassID": "LB01", "PersonID": "WO001", "Quantity": { "QuantityString": "30.000", "DataType": "double", "UnitOfMeasure": "HUR" }, "Location": { "EquipmentID": "CONAME", "EquipmentElementLevel": "Enterprise" } }, { "PersonnelClassID": "LB01", "PersonID": "WO001", "Quantity": { "QuantityString": "1", "DataType": "double", "UnitOfMeasure": "UN" }, "Location": { "EquipmentID": "CONAME", "EquipmentElementLevel": "Enterprise" } } ], "EquipmentRequirement": { "EquipmentClassID": "EC01", "EquipmentID": "EQ01", "Quantity": { "QuantityString": "1", "DataType": "double", "UnitOfMeasure": "UNIT" }, "Location": { "EquipmentID": "CONAME", "EquipmentElementLevel": "Enterprise", "Location": { "EquipmentID": "L10", "EquipmentElementLevel": "PoductionLine" } } }, "MaterialRequirement": [ { "MaterialClassID": "MC01", "MaterialDefinitionID": "MT0001", "MaterialLotID": "LOT0001", "MaterialSubLotID": "SLOT01", "Location": { "EquipmentID": "SZ01", "EquipmentElementLevel": "StorageZone", "Location": { "EquipmentID": "SU01", "EquipmentElementLevel": "StorageUnit" } }, "MaterialUse": "Produced", "Quantity": { "QuantityString": "100", "DataType": "double", "UnitOfMeasure": "UNIT" }, "MaterialRequirementProperty": { "ID": "PROP01", "Value": { "ValueString": "VAL0001", "DataType": "string" } } }, { "MaterialClassID": "MC02", "MaterialDefinitionID": "MT0002", "MaterialLotID": "LOT0002", "MaterialSubLotID": "SLOT02", "Location": { "EquipmentID": "SZ01", "EquipmentElementLevel": "StorageZone" }, "MaterialUse": "Consumed", "Quantity": { "QuantityString": "100", "DataType": "double", "UnitOfMeasure": "UNIT" }, "MaterialRequirementProperty": { "ID": "PROP02", "Value": { "ValueString": "VAL0002", "DataType": "string" } }, "Any": { "Confirm": { "ValueString": "1", "DataType": "integer" } } } ], "SegmentRequirement": [ { "ID": "Setup", "Duration": "PT2H0M0S" }, { "ID": "Processing", "Duration": "PT60H0M0S" } ] } } } } } } |
Notas:
El sistema ignorará las etiquetas B2MML que no estén presentes en este documento, aunque podrían considerarse para futuras versiones.
RequestState: se refiere al estado del pedido programado. Los valores permitidos son:
- Preplanned: la fecha y hora de la orden y la asignación de recursos no son definitivas y deben planificarse o confirmarse.
- Planned: la fecha y hora del pedido y la asignación de recursos son definitivos.
- Completed: el pedido se ha completado en el ERP.
DocumentURL: Ruta a un documento con información de la orden.
Duration: Si se proporciona, el tiempo del ciclo y la cantidad de ciclo de la orden se calcularán conforme al su valor, en caso contrario, se heredarán del tiempo de ciclo y la cantidad de ciclo del proceso.
Ejemplo de respuesta:
{ "status":"0", "data":"{ \"ConfirmBOD\":{ \"ApplicationArea\":{ \"Sender\":{\"ComponentID\":\"EDINN\",\"ConfirmationCode\":\"Always\"}, \"CreationDateTime\":\"2019-11-12T11:38:16\" }, \"DataArea\":{ \"Confirm\":{ \"ResponseCriteria\":{\"ResponseExpression\":{\"@actionCode\":\"Accepted\"}} }, \"BOD\":{ \"Description\":\"Accepted PR000001\",\"Note\":\"segment SR10 of the order PR000001 inserted successfully.\" } } } }", "message":"Success" } |
Ejemplo de respuesta de una orden que no se pudo insertar:
{ "status":"0", "data":"{ \"ConfirmBOD\":{ \"ApplicationArea\":{ \"Sender\":{\"ComponentID\":\"EDINN\",\"ConfirmationCode\":\"Always\"}, \"CreationDateTime\":\"2019-11-12T11:38:16\" }, \"DataArea\":{ \"Confirm\":{ \"ResponseCriteria\":{\"ResponseExpression\":{\"@actionCode\":\"Rejected\"}} }, \"BOD\":{ \"Description\":\"Rejected PR000001\",\"Note\":\"Must provide a equipment requirement (Equipment EQ01 does not exist in database) (Operation cancelled by an error)\" } } } }", "message":"Success" } |
POST /schedule
Este método crea órdenes de trabajo. El usuario debe tener el permiso de planificador.
Parámetros de la solicitud (para obtener información adicional, consulte la edición de planificación):
- company [obligatorio]: el nombre o Id. de la compañía.
- session [obligatorio]: el Id. de la sesión activa.
- area [obligatorio]: Id del área la que pertenece la orden.
- process: proceso al que se asigna la orden.
- date [obligatorio]: fecha y hora planificada de inicio.
- order [obligatorio]: código de la orden.
- result [obligatorio]: resultado que se va a producir.
- target [obligatorio]: cantidad objetivo de la orden.
- duedate [obligatorio]: fecha y hora prevista de final de la orden.
- duration: duración de la orden.
- comment: texto que describe en qué consiste la orden.
Respuesta:
- status: devuelve "0" en caso de éxito y un código de error en cualquier otro caso.
- data: devuelve el id de la orden en caso de éxito y el enlace a la ayuda de la solicitud en caso de error.
- message: "Success" o una información descriptiva del error en cualquier otro caso.
Ejemplo:
Request: {"type":"post", "url":"schedule", "data":"company=7362919493&session=1FrqhchVXQoAgpxUbdKHWQkILZjMMAV0cesiSMmaRjwFvaWLwrpLyxJ6O9Zo&area=7100&process=7101&date=20201101000000&duedate=20201108000000&order=20201102&result=BA0932535201&target=100&comment=Bolsas25x35"} Reponse (success): {"status":0, "data":"20211105171958AACINIT", "message":"Success"} Reponse (error): {"status":"1000", "data":"<a href='http:\/\/127.0.0.1:8080\/edinnM2\/help\/en\/API_Schedule_Config.html'>for additional information follow this link<\/a>", "message":"Some parameters are missing"} |
DELETE /schedule/{id}
Este método elimina una orden de trabajo identificada por su código único en edinn. El usuario debe tener el permiso de planificador.
Parámetros de la solicitud:
- company [obligatorio]: el nombre o Id. de la compañía.
- session [obligatorio]: el Id. de la sesión activa.
Atributos de la solicitud:
- id [obligatorio]: código interno de la orden en edinn.
Respuesta:
- status: devuelve "0" en caso de éxito y un código de error en cualquier otro caso.
- data: devuelve el enlace a la ayuda de la solicitud en caso de error.
- message: "Success" o una información descriptiva del error en cualquier otro caso.
Ejemplo:
Request: {"type":"delete", "url":"schedule/20201009110800AABCENTRAL", "data":"company=7362919493&session=1FrqhchVXQoAgpxUbdKHWQkILZjMMAV0cesiSMmaRjwFvaWLwrpLyxJ6O9Zo"} Reponse (success): {"status":"0", "data":null, "message":"Success"} Reponse (error): {"status":1007, "data":"<a href='http:\/\/127.0.0.1:8080\/edinnM2\/help\/en\/API_Schedule_Config.html'>for additional information follow this link<\/a>", "message":"Session not stablished"} |
DELETE /schedule
Este método elimina ordenes de trabajo a partir de su proceso y código. El usuario debe tener el permiso de planificador.
Parámetros de la solicitud:
- company [obligatorio]: el nombre o Id. de la compañía.
- session [obligatorio]: el Id. de la sesión activa.
- process [obligatorio]: proceso al que pertenece la orden.
- order [obligatorio]: el código de la orden u operación.
Respuesta:
- status: devuelve "0" en caso de éxito y un código de error en cualquier otro caso.
- data: devuelve el enlace a la ayuda de la solicitud en caso de error.
- message: "Success" o una información descriptiva del error en cualquier otro caso.
Ejemplo:
Request: {"type":"delete", "url":"schedule", "data":"company=7362919493&session=1FrqhchVXQoAgpxUbdKHWQkILZjMMAV0cesiSMmaRjwFvaWLwrpLyxJ6O9Zo&process=TT00&order=20201009110800AAB"} Reponse (success): {"status":"0", "data":null, "message":"Success"} Reponse (error): {"status":1007, "data":"<a href='http:\/\/127.0.0.1:8080\/edinnM2\/help\/en\/API_Schedule_Config.html'>for additional information follow this link<\/a>", "message":"Session not stablished"} |
PATCH /schedule/{id}/reschedule
Este método sirve para cambiar la fecha planificada de inicio, de fin, la cantidad y/o la duración de una orden de trabajo. El usuario debe tener permiso de replanificador.
Parámetros de la solicitud:
- company [obligatorio]: el nombre o Id. de la compañía.
- session [obligatorio]: el Id. de la sesión activa.
- date: fecha y hora planificada de inicio.
- target: cantidad objetivo de la orden.
- duedate: fecha y hora prevista de final de la orden.
- duration: duración de la orden.
Atributos de la solicitud:
- id [obligatorio]: código interno de la orden en edinn.
Respuesta:
- status: devuelve "0" en caso de éxito y un código de error en cualquier otro caso.
- data: devuelve el enlace a la ayuda de la solicitud en caso de error.
- message: "Success" o una información descriptiva del error en cualquier otro caso.
Ejemplo:
Request: {"type":"patch", "url":"schedule/20211105171958AACINIT/reschedule", "data":"company=7362919493&session=1FrqhchVXQoAgpxUbdKHWQkILZjMMAV0cesiSMmaRjwFvaWLwrpLyxJ6O9Zo&date=20201009113000&duedate=20201009163000&target=950&duration=3000"} Reponse (success): {"status":"0", "data":null, "message":"Success"} Reponse (error): {"status":1007, "data":"<a href='http:\/\/127.0.0.1:8080\/edinnM2\/help\/en\/API_Schedule_Config.html'>for additional information follow this link<\/a>", "message":"Session not stablished"} |
PUT /schedule/{id}
Este método reemplaza todos los parámetros de una orden de trabajo. El usuario debe tener el permiso de planificador.
Parámetros de la solicitud (para obtener información adicional, consulte la edición de planificación):
- company [obligatorio]: el nombre o Id. de la compañía.
- session [obligatorio]: el Id. de la sesión activa.
- area [obligatorio]: Id del área la que pertenece la orden.
- process: proceso al que se asigna la orden.
- date [obligatorio]: fecha y hora planificada de inicio.
- order [obligatorio]: código de la orden.
- result [obligatorio]: resultado que se va a producir.
- target [obligatorio]: cantidad objetivo de la orden.
- duedate [obligatorio]: fecha y hora prevista de final de la orden.
- duration: duración de la orden.
- comment: texto que describe en qué consiste la orden.
Atributos de la solicitud:
- id [obligatorio]: código interno de la orden en edinn.
Respuesta:
- status: devuelve "0" en caso de éxito y un código de error en cualquier otro caso.
- data: devuelve el id de la orden en caso de éxito y el enlace a la ayuda de la solicitud en caso de error.
- message: "Success" o una información descriptiva del error en cualquier otro caso.
Ejemplo:
Request: {"type":"put", "url":"schedule/20211027133604AABINIT", "data":"company=7362919493&session=1FrqhchVXQoAgpxUbdKHWQkILZjMMAV0cesiSMmaRjwFvaWLwrpLyxJ6O9Zo&area=7100&process=7101&date=20201101000000&duedate=20201108000000&order=20201102&result=BA0932535201&target=100&comment=Bolsas25x35"} Reponse (success): {"status":0, "data":null, "message":"Success"} Reponse (error): {"status":"1000", "data":"<a href='http:\/\/127.0.0.1:8080\/edinnM2\/help\/en\/API_Schedule_Config.html'>for additional information follow this link<\/a>", "message":"Some parameters are missing"} |