diff --git a/ci4/app/Config/OrdenTrabajo.php b/ci4/app/Config/OrdenTrabajo.php new file mode 100644 index 00000000..763bad87 --- /dev/null +++ b/ci4/app/Config/OrdenTrabajo.php @@ -0,0 +1,42 @@ + "interior_bn_user_id", + "interior_color_at" => "interior_color_user_id", + "cubierta_at" => "cubierta_user_id", + //ACABADO + "plastificado_at" => "plastificado_user_id", + "encuadernacion_at" => "encuadernacion_user_id", + "corte_at" => "corte_user_id", + "preparacion_interiores_at" => "preparacion_interior_user_id", + "entrada_manipulado_at" => "entrada_manipulado_user_id", + //FERRO + "pendiente_ferro_at" => "pendiente_ferro_user_id", + "ferro_en_cliente_at" => "ferro_en_cliente_user_id", + "ferro_ok_at" => "ferro_ok_user_id", + //ENVIO + "embalaje_at" => "embalaje_user_id", + "envio_at" => "envio_user_id", + //PREIMPRESION + "pre_formato_at" => "pre_formato_user_id", + "pre_lomo_at" => "pre_lomo_user_id", + "pre_solapa_at" => "pre_solapa_user_id", + "pre_codbarras_at" => "pre_codbarras_user_id", + "pre_imposicion_at" => "pre_imposicion_user_id", + + ]; + + public function __construct() + { + parent::__construct(); + } + +} diff --git a/ci4/app/Controllers/Produccion/Ordentrabajo.php b/ci4/app/Controllers/Produccion/Ordentrabajo.php index ef39f38a..54b9335d 100755 --- a/ci4/app/Controllers/Produccion/Ordentrabajo.php +++ b/ci4/app/Controllers/Produccion/Ordentrabajo.php @@ -131,6 +131,7 @@ class Ordentrabajo extends BaseController $this->viewData["presupuesto"] = $this->produccionService->getPresupuesto(); $this->viewData["cliente"] = $this->produccionService->getCliente(); $this->viewData["ot"] = $this->produccionService->getOrdenTrabajo(); + $this->viewData["user_dates"] = $this->produccionService->userDates(); return view(static::$viewPath . $this->editRoute, $this->viewData); } diff --git a/ci4/app/Entities/Produccion/OrdenTrabajoDateEntity.php b/ci4/app/Entities/Produccion/OrdenTrabajoDateEntity.php index f6b5e79c..352e3ac8 100644 --- a/ci4/app/Entities/Produccion/OrdenTrabajoDateEntity.php +++ b/ci4/app/Entities/Produccion/OrdenTrabajoDateEntity.php @@ -2,34 +2,38 @@ namespace App\Entities\Produccion; +use App\Models\Usuarios\UserModel; use CodeIgniter\Entity\Entity; +use Exception; class OrdenTrabajoDateEntity extends Entity { protected $attributes = [ "orden_trabajo_id" => null, "fecha_entrada_at" => null, - "fecha_entrega_change_at" => null, - "fecha_entrega_real_at" => null, - "fecha_entrega_real_warning" => null, - "fecha_impresion_at" => null, - "fecha_encuadernado_at" => null, - "fecha_externo_at" => null, - "fecha_entrega_warning" => null, - "fecha_entrega_warning_revised" => null, - "pendiente_ferro_at" => null, - "ferro_en_cliente_at" => null, - "ferro_ok_at" => null, + //IMPRESION "interior_bn_at" => null, "interior_color_at" => null, - "preparacion_interiores_at" => null, "cubierta_at" => null, + //ACABADO "plastificado_at" => null, "encuadernacion_at" => null, "corte_at" => null, + "preparacion_interiores_at" => null, + "entrada_manipulado_at" => null, + //FERRO + "pendiente_ferro_at" => null, + "ferro_en_cliente_at" => null, + "ferro_ok_at" => null, + //ENVIO "embalaje_at" => null, "envio_at" => null, - "entrada_manipulado_at" => null + //PREIMPRESION + "pre_formato_at" => null, + "pre_lomo_at" => null, + "pre_solapa_at" => null, + "pre_codbarras_at" => null, + "pre_imposicion_at" => null, ]; protected $datamap = []; @@ -37,51 +41,11 @@ class OrdenTrabajoDateEntity extends Entity 'created_at', 'updated_at', 'deleted_at', - // 'fecha_entrega_at', - // 'fecha_entrega_change_at', - // 'fecha_entrega_real_at', - // 'fecha_entrega_real_warning', - // 'fecha_impresion_at', - // 'fecha_encuadernado_at', - // 'fecha_externo_at', - // 'fecha_entrega_warning', - // 'fecha_entrega_warning_revised', - // 'pendiente_ferro_at', - // 'ferro_en_cliente_at', - // 'ferro_ok_at', - // 'interior_bn_at', - // 'interior_color_at', - // 'preparacion_interiores_at', - // 'cubierta_at', - // 'plastificado_at', - // 'encuadernacion_at', - // 'corte_at', - // 'embalaje_at', - // 'envio_at', - // 'entrada_manipulado_at' + ]; protected $casts = [ - // "fecha_entrada_at" => "?datetime", - // "fecha_entrega_change_at" => "?datetime", - // "fecha_entrega_real_at" => "?datetime", - // "fecha_entrega_real_warning" => "?bool", - // "fecha_impresion_at" => "?datetime", - // "fecha_encuadernado_at" => "?datetime", - // "fecha_externo_at" => "?datetime", - // "fecha_entrega_warning" => "?bool", - // "fecha_entrega_warning_revised" => "?bool", - // "pendiente_ferro_at" => "?datetime", - // "ferro_en_cliente_at" => "?datetime", - // "ferro_ok_at" => "?datetime", - // "interior_bn_at" => "?datetime", - // "interior_color_at" => "?datetime", - // "preparacion_interiores_at" => "?datetime", - // "cubierta_at" => "?datetime", - // "plastificado_at" => "?datetime", - // "encuadernacion_at" => "?datetime", - // "corte_at" => "?datetime", - // "embalaje_at" => "?datetime", - // "envio_at" => "?datetime", - // "entrada_manipulado_at" => "?datetime" ]; + + + } diff --git a/ci4/app/Entities/Produccion/OrdenTrabajoUserEntity.php b/ci4/app/Entities/Produccion/OrdenTrabajoUserEntity.php index c03df33a..4f516ecd 100644 --- a/ci4/app/Entities/Produccion/OrdenTrabajoUserEntity.php +++ b/ci4/app/Entities/Produccion/OrdenTrabajoUserEntity.php @@ -15,28 +15,35 @@ class OrdenTrabajoUserEntity extends Entity "orden_trabajo_id" => null, "user_created_id" => null, "user_update_id" => null, - "inaplazable_revised_change_user_id" => null, - "ferro_disponible_hecho_user_id" => null, - "ferro_disponible_ok_user_id" => null, - "ferro_entregado_user_id" => null, - "pendiente_ferro_user_id" => null, - "ferro_en_cliente_user_id" => null, - "ferro_ok_user_id" => null, + //IMPRESION "interior_bn_user_id" => null, "interior_color_user_id" => null, - "preparacion_interior_user_id" => null, "cubierta_user_id" => null, + //ACABADO "plastificado_user_id" => null, "encuadernacion_user_id" => null, "corte_user_id" => null, - "embalaje_user_id" => null, + "preparacion_interior_user_id" => null, "entrada_manipulado_user_id" => null, + //FERRO + "pendiente_ferro_user_id" => null, + "ferro_en_cliente_user_id" => null, + "ferro_ok_user_id" => null, + //ENVIO + "embalaje_user_id" => null, + "envio_user_id" => null, + //PREIMPRESION "pre_formato_user_id" => null, "pre_lomo_user_id" => null, "pre_solapa_user_id" => null, "pre_codbarras_user_id" => null, "pre_imposicion_user_id" => null, - "pre_imprimir_user_id" => null + //UNUSED + "inaplazable_revised_change_user_id" => null,//!DELETE + "ferro_disponible_hecho_user_id" => null,//!DELETE + "ferro_entregado_user_id" => null,//!DELETE + "pre_imprimir_user_id" => null, //!DELETE + "ferro_disponible_ok_user_id" => null, //!DELETE ]; // protected array $casts = [ // "orden_trabajo_id" => "integer", @@ -66,7 +73,7 @@ class OrdenTrabajoUserEntity extends Entity // "pre_imprimir_user_id" => "?integer" // ]; - protected function userBy(string $key): ?UserEntity + public function userBy(string $key): ?UserEntity { $user = null; if (isset($this->attributes[$key])) { diff --git a/ci4/app/Language/es/Produccion.php b/ci4/app/Language/es/Produccion.php index 603f21b3..d9719aeb 100644 --- a/ci4/app/Language/es/Produccion.php +++ b/ci4/app/Language/es/Produccion.php @@ -57,7 +57,7 @@ return [ "fecha_entrega_estimada" => "Fecha entrega estimada", "formato" => "Formato", "paginas" => "Páginas", - "guillotina" => "Guillotina", + "guillotina" => "Guillotina/Corte", "tirada" => "Tirada", "merma" => "Merma", "pendiente_ferro" => "Pendiente ferro", @@ -86,7 +86,22 @@ return [ "size" => "Tamaño", "ejemplares" => "Ejemplares", "tipo" => "Tipo", - "lomo" => "Lomo" + "lomo" => "Lomo", + //IMPRESION + "impresion_bn" => "Impresión BN", + "cubierta" => "Cubierta/Portada", + //PREIMPRESION + "pre_formato" => "Revisión formato", + "pre_lomo" => "Revisión lomo", + "pre_solapa" => "Revisión solapa", + "pre_codbarras" => "Revisión código barras", + "pre_imposicion" => "Revisión imposición", + + + "errors" => [ + "date_not_exist" => "Esta fecha no existe en el modelo." + ] + ]; \ No newline at end of file diff --git a/ci4/app/Models/OrdenTrabajo/OrdenTrabajoDate.php b/ci4/app/Models/OrdenTrabajo/OrdenTrabajoDate.php index d6a7d7c1..9feb110a 100644 --- a/ci4/app/Models/OrdenTrabajo/OrdenTrabajoDate.php +++ b/ci4/app/Models/OrdenTrabajo/OrdenTrabajoDate.php @@ -17,25 +17,29 @@ class OrdenTrabajoDate extends Model protected $allowedFields = [ "orden_trabajo_id", "fecha_entrada_at", - "fecha_entrega_at", - "fecha_entrega_real_at", - "fecha_entrega_change_at", - "fecha_impresion_at", - "fecha_encuadernado_at", - "fecha_externo_at", - "pendiente_ferro_at", - "ferro_en_cliente_at", - "ferro_ok_at", + //IMPRESION "interior_bn_at", "interior_color_at", - "preparacion_interiores_at", "cubierta_at", + //ACABADO "plastificado_at", "encuadernacion_at", "corte_at", + "preparacion_interiores_at", + "entrada_manipulado_at", + //FERRO + "pendiente_ferro_at", + "ferro_en_cliente_at", + "ferro_ok_at", + //ENVIO "embalaje_at", "envio_at", - "entrada_manipulado_at" + //PREIMPRESION + "pre_formato_at", + "pre_lomo_at", + "pre_solapa_at", + "pre_codbarras_at", + "pre_imposicion_at" ]; protected bool $allowEmptyInserts = false; diff --git a/ci4/app/Models/OrdenTrabajo/OrdenTrabajoUser.php b/ci4/app/Models/OrdenTrabajo/OrdenTrabajoUser.php index c1a232f5..3bc18711 100644 --- a/ci4/app/Models/OrdenTrabajo/OrdenTrabajoUser.php +++ b/ci4/app/Models/OrdenTrabajo/OrdenTrabajoUser.php @@ -3,6 +3,7 @@ namespace App\Models\OrdenTrabajo; use App\Entities\Produccion\OrdenTrabajoUserEntity; +use App\Models\Usuarios\UserModel; use CodeIgniter\Database\MySQLi\Builder; use CodeIgniter\Model; @@ -18,28 +19,35 @@ class OrdenTrabajoUser extends Model "orden_trabajo_id", "user_created_id", "user_update_id", - "inaplazable_revised_change_user_id", - "ferro_disponible_hecho_user_id", - "ferro_disponible_ok_user_id", - "ferro_entregado_user_id", - "pendiente_ferro_user_id", - "ferro_en_cliente_user_id", - "ferro_ok_user_id", + //IMPRESION "interior_bn_user_id", "interior_color_user_id", - "preparacion_interior_user_id", "cubierta_user_id", + //ACABADO "plastificado_user_id", "encuadernacion_user_id", "corte_user_id", - "embalaje_user_id", + "preparacion_interior_user_id", "entrada_manipulado_user_id", + //FERRO + "pendiente_ferro_user_id", + "ferro_en_cliente_user_id", + "ferro_ok_user_id", + //ENVIO + "embalaje_user_id", + "envio_user_id", + //PREIMPRESION "pre_formato_user_id", "pre_lomo_user_id", "pre_solapa_user_id", "pre_codbarras_user_id", "pre_imposicion_user_id", - "pre_imprimir_user_id" + //UNUSED + "inaplazable_revised_change_user_id",//!DELETE + "ferro_disponible_hecho_user_id",//!DELETE + "ferro_entregado_user_id",//!DELETE + "pre_imprimir_user_id", //!DELETE + "ferro_disponible_ok_user_id", //!DELETE ]; protected bool $allowEmptyInserts = false; @@ -72,6 +80,5 @@ class OrdenTrabajoUser extends Model protected $beforeDelete = []; protected $afterDelete = []; - } diff --git a/ci4/app/Services/ProductionService.php b/ci4/app/Services/ProductionService.php index 0a325cf9..eab9ef70 100644 --- a/ci4/app/Services/ProductionService.php +++ b/ci4/app/Services/ProductionService.php @@ -25,6 +25,7 @@ use CodeIgniter\Database\BaseResult; use CodeIgniter\Database\Exceptions\DatabaseException; use CodeIgniter\HTTP\Files\UploadedFile; use CodeIgniter\I18n\Time; +use Config\OrdenTrabajo; use Exception; /** @@ -46,22 +47,7 @@ class ProductionService extends BaseService protected string $defaultMaquinaCorteName = 'HT-1000'; protected MaquinaEntity $defaultMaquinaCorte; protected MaquinaModel $maquinaModel; - protected array $MAPPING_DATE_USER = [ - "fecha_encuadernado_at" => "encuadernacion_user_id", - // "fecha_externo_at" => "null", - "fecha_impresion_at" => null, - "pendiente_ferro_at" => "pendiente_ferro_user_id", - "ferro_en_cliente_at" => "ferro_en_cliente_user_id", - "ferro_ok_at" => "ferro_ok_user_id", - "interior_bn_at" => "interior_bn_user_id", - "interior_color_at" => "interior_color_user_id", - "preparacion_interiores_at" => "preparacion_interior_user_id", - "cubierta_at" => "cubierta_user_id", - "plastificado_at" => "plastificado_user_id", - "corte_at" => "corte_user_id", - "embalaje_at" => "embalaje_user_id", - "entrada_manipulado_at" => "entrada_manipulado_user_id" - ]; + protected OrdenTrabajo $ordenTrabajoConfig; /** * Pedido Entity @@ -84,6 +70,7 @@ class ProductionService extends BaseService $this->otUser = model(OrdenTrabajoUser::class); $this->userModel = model(UserModel::class); $this->otFileModel = model(OrdenTrabajoFileModel::class); + $this->ordenTrabajoConfig = config('OrdenTrabajo'); } public function init(int $orden_trabajo_id): self { @@ -627,6 +614,7 @@ class ProductionService extends BaseService "pedido" => $this->pedido, "presupuesto" => $this->presupuesto, "dates" => $this->ot->dates(), + "user_dates" => $this->userDates(), "tasks" => $this->ot->tareas(), "acabados" => $this->presupuesto->acabados(), "preimpresiones" => $this->presupuesto->preimpresiones(), @@ -757,8 +745,8 @@ class ProductionService extends BaseService ->update($data); $this->otDate->updateUserDateMap($this->ot->id, $data); $ot_users = $this->ot->users(); - if (isset($this->MAPPING_DATE_USER[$data["name"]])) { - $user_id = $ot_users->{$this->MAPPING_DATE_USER[$data["name"]]}; + if (isset($this->ordenTrabajoConfig->DATE_USER_MAPPING[$data["name"]])) { + $user_id = $ot_users->{$this->ordenTrabajoConfig->DATE_USER_MAPPING[$data["name"]]}; $user = $this->userModel->find($user_id); if ($user_id) { $result = ["user" => null, "status" => false]; @@ -1034,4 +1022,18 @@ class ProductionService extends BaseService } return $status; } + public function userDates() : array + { + $userDates = []; + foreach ($this->ordenTrabajoConfig->DATE_USER_MAPPING as $key => $value) { + $otUserEntity = $this->otUser->where("orden_trabajo_id",$this->ot->id)->first(); + $userEntity = $otUserEntity->userBy($value); + if($userEntity){ + $userDates[$key] = $userEntity->full_name; + }else{ + $userDates[$key] = null; + } + } + return $userDates; + } } 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 380dfb68..e22dd511 100644 --- a/ci4/app/Views/themes/vuexy/form/produccion/ot/otProgress.php +++ b/ci4/app/Views/themes/vuexy/form/produccion/ot/otProgress.php @@ -21,69 +21,136 @@
- -
- - +
+ + +
+ + +
+
+ +
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ +
- -
- - +
+ +
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ +
- -
- - +
+ + + +
+ + +
+ +
+ +
+ + +
+ +
- -
- - +
+ +
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ +
+ +
+ + +
+ +
+
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
-