diff --git a/ci4/app/Config/OrdenTrabajo.php b/ci4/app/Config/OrdenTrabajo.php index bde32b99..b3638dba 100644 --- a/ci4/app/Config/OrdenTrabajo.php +++ b/ci4/app/Config/OrdenTrabajo.php @@ -18,6 +18,10 @@ class OrdenTrabajo extends BaseConfig "corte_at" => "corte_user_id", "preparacion_interiores_at" => "preparacion_interior_user_id", "entrada_manipulado_at" => "entrada_manipulado_user_id", + "cosido_at" => "cosido_user_id", + "grapado_at" => "grapado_user_id", + "solapa_at" => "solapa_user_id", + //FERRO "pendiente_ferro_at" => "pendiente_ferro_user_id", "ferro_en_cliente_at" => "ferro_en_cliente_user_id", @@ -45,8 +49,8 @@ class OrdenTrabajo extends BaseConfig "impreso_int" => "#AFDDFF", "impreso_cub" => "#3A59D1", "plastificado" => "#FFD63A", - "solapas" => "#4F1C51", "preparado" => "#FF0B55", + "solapa" => "#4F1C51", "cosido" => "#FF0B55", "grapado" => "#FEBA17", "encuadernado" => "#FEBA17", diff --git a/ci4/app/Database/Migrations/2025-04-14-204500_UpdateDateFieldsOrdenTrabajoDates.php b/ci4/app/Database/Migrations/2025-04-14-204500_UpdateDateFieldsOrdenTrabajoDates.php new file mode 100644 index 00000000..a69258c7 --- /dev/null +++ b/ci4/app/Database/Migrations/2025-04-14-204500_UpdateDateFieldsOrdenTrabajoDates.php @@ -0,0 +1,61 @@ + [ + "type" => "DATE", + "null" => true, + ], + "solapa_at" => [ + "type" => "DATE", + "null" => true, + ], + "grapado_at" => [ + "type" => "DATE", + "null" => true, + ], + ]; + protected array $USERS = [ + "cosido_user_id" => [ + "type" => "INT", + "unsigned" => true, + "constraint" => 10, + "null" => true, + ], + "solapa_user_id" => [ + "type" => "INT", + "unsigned" => true, + "constraint" => 10, + "null" => true, + ], + "grapado_user_id" => [ + "type" => "INT", + "unsigned" => true, + "constraint" => 10, + "null" => true, + ], + ]; + + public function up() + { + $this->forge->addColumn("orden_trabajo_dates", $this->DATES); + $this->forge->addColumn("orden_trabajo_users", $this->USERS); + foreach ($this->USERS as $key => $value) { + $this->forge->addForeignKey([$key],"users",["id"]); + } + } + + public function down() + { + $this->forge->dropColumn("orden_trabajo_dates", array_keys($this->DATES)); + $this->forge->dropColumn("orden_trabajo_users", array_keys($this->USERS)); + + + } +} diff --git a/ci4/app/Entities/Produccion/OrdenTrabajoDateEntity.php b/ci4/app/Entities/Produccion/OrdenTrabajoDateEntity.php index 0142b0bf..43410440 100644 --- a/ci4/app/Entities/Produccion/OrdenTrabajoDateEntity.php +++ b/ci4/app/Entities/Produccion/OrdenTrabajoDateEntity.php @@ -21,6 +21,9 @@ class OrdenTrabajoDateEntity extends Entity "corte_at" => null, "preparacion_interiores_at" => null, "entrada_manipulado_at" => null, + "cosido_at" => null, + "solapa_at" => null, + "cosido_at" => null, //FERRO "pendiente_ferro_at" => null, "ferro_en_cliente_at" => null, @@ -77,4 +80,16 @@ class OrdenTrabajoDateEntity extends Entity { return $this->attributes['corte_at'] != null; } + public function cosidoStatus():bool + { + return $this->attributes['cosido_at'] != null; + } + public function grapadoStatus():bool + { + return $this->attributes['grapado_at'] != null; + } + public function solapaStatus():bool + { + return $this->attributes['solapa_at'] != null; + } } diff --git a/ci4/app/Entities/Produccion/OrdenTrabajoUserEntity.php b/ci4/app/Entities/Produccion/OrdenTrabajoUserEntity.php index 4f516ecd..26e78560 100644 --- a/ci4/app/Entities/Produccion/OrdenTrabajoUserEntity.php +++ b/ci4/app/Entities/Produccion/OrdenTrabajoUserEntity.php @@ -25,6 +25,9 @@ class OrdenTrabajoUserEntity extends Entity "corte_user_id" => null, "preparacion_interior_user_id" => null, "entrada_manipulado_user_id" => null, + "cosido_user_id"=> null, + "solapa_user_id"=> null, + "grapado_user_id"=> null, //FERRO "pendiente_ferro_user_id" => null, "ferro_en_cliente_user_id" => null, diff --git a/ci4/app/Language/es/Produccion.php b/ci4/app/Language/es/Produccion.php index c8cb238b..4e27fb34 100644 --- a/ci4/app/Language/es/Produccion.php +++ b/ci4/app/Language/es/Produccion.php @@ -87,6 +87,10 @@ return [ "ejemplares" => "Ejemplares", "tipo" => "Tipo", "lomo" => "Lomo", + + "cosido" => "Cosido", + "grapado" => "Grapado", + "solapa" => "Solapas", //IMPRESION "impresion_bn" => "Impresión BN", "cubierta" => "Cubierta/Portada", @@ -96,6 +100,7 @@ return [ "pre_solapa" => "Revisión solapa", "pre_codbarras" => "Revisión código barras", "pre_imposicion" => "Revisión imposición", + "errors" => [ diff --git a/ci4/app/Models/OrdenTrabajo/OrdenTrabajoDate.php b/ci4/app/Models/OrdenTrabajo/OrdenTrabajoDate.php index 83f62c54..0c883788 100644 --- a/ci4/app/Models/OrdenTrabajo/OrdenTrabajoDate.php +++ b/ci4/app/Models/OrdenTrabajo/OrdenTrabajoDate.php @@ -28,6 +28,9 @@ class OrdenTrabajoDate extends Model "corte_at", "preparacion_interiores_at", "entrada_manipulado_at", + "cosido_at", + "solapa_at", + "cosido_at", //FERRO "pendiente_ferro_at", "ferro_en_cliente_at", diff --git a/ci4/app/Models/OrdenTrabajo/OrdenTrabajoUser.php b/ci4/app/Models/OrdenTrabajo/OrdenTrabajoUser.php index 3bc18711..12c6b0e9 100644 --- a/ci4/app/Models/OrdenTrabajo/OrdenTrabajoUser.php +++ b/ci4/app/Models/OrdenTrabajo/OrdenTrabajoUser.php @@ -29,6 +29,9 @@ class OrdenTrabajoUser extends Model "corte_user_id", "preparacion_interior_user_id", "entrada_manipulado_user_id", + "cosido_user_id", + "solapa_user_id", + "grapado_user_id", //FERRO "pendiente_ferro_user_id", "ferro_en_cliente_user_id", diff --git a/ci4/app/Services/ProductionService.php b/ci4/app/Services/ProductionService.php index 1392dde4..c073dc38 100644 --- a/ci4/app/Services/ProductionService.php +++ b/ci4/app/Services/ProductionService.php @@ -1150,7 +1150,9 @@ class ProductionService extends BaseService } protected function otSolapaColor() { - + if ($this->ot->dates()->solapaStatus()) { + $this->statusColor = $this->ordenTrabajoConfig->OT_COLORS["solapa"]; + }; } protected function otEncuadernadoColor() { @@ -1172,9 +1174,15 @@ class ProductionService extends BaseService } protected function otCosidoColor() { + if ($this->ot->dates()->cosidoStatus()) { + $this->statusColor = $this->ordenTrabajoConfig->OT_COLORS["cosido"]; + }; } protected function otGrapadoColor() { + if ($this->ot->dates()->grapadoStatus()) { + $this->statusColor = $this->ordenTrabajoConfig->OT_COLORS["grapado"]; + }; } protected function updateColor(){ $this->otSinImprimirColor(); diff --git a/ci4/app/Views/themes/vuexy/form/produccion/ot/otProgress.php b/ci4/app/Views/themes/vuexy/form/produccion/ot/otProgress.php index 382cf351..a3b25fe9 100644 --- a/ci4/app/Views/themes/vuexy/form/produccion/ot/otProgress.php +++ b/ci4/app/Views/themes/vuexy/form/produccion/ot/otProgress.php @@ -97,7 +97,24 @@
- + +
+ + +
+
+ +
+ + +
+
+ +
+ + +
+
diff --git a/httpdocs/assets/js/safekat/components/datatables/otDatatable.js b/httpdocs/assets/js/safekat/components/datatables/otDatatable.js index c2052b33..089406a6 100644 --- a/httpdocs/assets/js/safekat/components/datatables/otDatatable.js +++ b/httpdocs/assets/js/safekat/components/datatables/otDatatable.js @@ -65,7 +65,8 @@ class OrdenTrabajoDatatable { columns: this.datatableColumns, ajax: '/produccion/ordentrabajo/datatable', createdRow: (row,data,dataIndex) => { - $(row).css("background-color",data.logo.color) + $(row).css("border-left",`10px solid ${data.logo.color}`) + $(row).css("border-right",`10px solid ${data.logo.color}`) } }); } @@ -90,7 +91,9 @@ class OrdenTrabajoDatatable { columns: this.datatableColumns, ajax: '/produccion/ordentrabajo/datatable_pendientes', createdRow: (row,data,dataIndex) => { - $(row).css("background-color",data.logo.color) + $(row).css("border-left",`20px solid ${data.logo.color}`) + $(row).css("border-right",`20px solid ${data.logo.color}`) + } }); } @@ -115,7 +118,8 @@ class OrdenTrabajoDatatable { columns: this.datatableColumns, ajax: '/produccion/ordentrabajo/datatable_ferro_pendiente', createdRow: (row,data,dataIndex) => { - $(row).css("background-color",data.logo.color) + $(row).css("border-left",`20px solid ${data.logo.color}`) + $(row).css("border-right",`20px solid ${data.logo.color}`) } }); } @@ -140,7 +144,8 @@ class OrdenTrabajoDatatable { columns: this.datatableColumns, ajax: '/produccion/ordentrabajo/datatable_ferro_ok', createdRow: (row,data,dataIndex) => { - $(row).css("background-color",data.logo.color) + $(row).css("border-left",`20px solid ${data.logo.color}`) + $(row).css("border-right",`20px solid ${data.logo.color}`) } }); } diff --git a/httpdocs/assets/js/safekat/pages/produccion/ot.js b/httpdocs/assets/js/safekat/pages/produccion/ot.js index ac3c5307..d0358813 100644 --- a/httpdocs/assets/js/safekat/pages/produccion/ot.js +++ b/httpdocs/assets/js/safekat/pages/produccion/ot.js @@ -77,6 +77,10 @@ class OrdenTrabajo { this.portada = new DatePicker(this.otForm.find("#ot-portada"), option) this.plastificadoMate = new DatePicker(this.otForm.find("#ot-plastificado-mate"), option) this.prepGuillotina = new DatePicker(this.otForm.find("#ot-prep-guillotina"), option) + this.prepCosido = new DatePicker(this.otForm.find("#ot-prep-cosido"), option) + this.prepGrapado = new DatePicker(this.otForm.find("#ot-prep-grapado"), option) + this.prepSolapa = new DatePicker(this.otForm.find("#ot-prep-solapa"), option) + this.espiral = new DatePicker(this.otForm.find("#ot-espiral"), option) this.embalaje = new DatePicker(this.otForm.find("#ot-embalaje"), option) this.envio = new DatePicker(this.otForm.find("#ot-envio"), option) @@ -389,6 +393,10 @@ class OrdenTrabajo { this.portada.setDate(this.summaryData.dates.cubierta_at) this.plastificadoMate.setDate(this.summaryData.dates.plastificado_at) this.prepGuillotina.setDate(this.summaryData.dates.corte_at) + this.prepCosido.setDate(this.summaryData.dates.cosido_at) + this.prepSolapa.setDate(this.summaryData.dates.solapa_at) + this.prepGrapado.setDate(this.summaryData.dates.grapado_at) + this.espiral.setDate(this.summaryData.dates.fecha_impresion_at) this.embalaje.setDate(this.summaryData.dates.embalaje_at) this.envio.setDate(this.summaryData.dates.envio_at)