From 2166944a32c18ff964a27fd5d018a4b98b7ec478 Mon Sep 17 00:00:00 2001 From: Luis Gonzalez Date: Thu, 28 Sep 2023 20:52:00 -0400 Subject: [PATCH] Adding Carta Porte. --- README.md | 2 +- src/models/CartaPorte.php | 53 +++++++ src/models/Factura44.php | 299 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 353 insertions(+), 1 deletion(-) create mode 100644 src/models/CartaPorte.php create mode 100755 src/models/Factura44.php diff --git a/README.md b/README.md index fd3db8d..baab7ad 100755 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ La forma preferida para instalar esta extensión es a través de [composer](http Para instalar, ejecutar ``` -$ php composer.phar require inquid/yii2-facturacom +composer require inquid/yii2-facturacom ``` or agregar diff --git a/src/models/CartaPorte.php b/src/models/CartaPorte.php new file mode 100644 index 0000000..7413719 --- /dev/null +++ b/src/models/CartaPorte.php @@ -0,0 +1,53 @@ + "", + "Nombre" => "", + "RegimenFiscal" => "" + ]; + /** + * @var array $Receptor + */ + public $Receptor = [ + "ResidenciaFiscal" => "", + "UID" => "" + ]; + /** + * @var Conceptos $Conceptos + */ + public $Conceptos = []; + /** + * @var array $Pagos + */ + public $Pagos = []; + + // Carta Porte + + public $cartaPorte; + + use RelationTrait; + + /** + * @inheritdoc + */ + public static function tableName() + { + return '{{%factura}}'; + } + + /** + * @inheritdoc + */ + public function attributeLabels() + { + return [ + 'id' => 'ID', + 'rfc' => 'Cliente', + 'numero_cuenta' => 'Número de cuenta', + 'forma_pago' => 'Forma de pago', + 'metodo_pago' => 'Metodo de pago', + 'currencie' => 'Moneda', + 'num_orden' => 'Num Orden', + 'serie_factura' => 'Serie de la factura', + 'fecha_cfdi' => 'Fecha de Emisión', + 'send_email' => 'Enviar email', + 'invoice_comment' => 'Comentarios', + 'cuenta' => 'Cuenta', + 'exchange_rate' => 'Tipo de cambio (Pesos)', + 'status' => 'Status', + 'iva' => 'IVA', + 'Version' => 'Version', + 'TranspInternac' => 'Transporte Internacional', + 'TotalDistRec' => 'Distancia Total Recorrida', + 'NumLicencia' => 'Número de Licencia', + 'RFCFigura' => 'RFC de la Figura', + 'TipoFigura' => 'Tipo de Figura', + 'NumTotalMercancias' => 'Número Total de Mercancías', + 'PesoBrutoTotal' => 'Peso Bruto Total', + 'UnidadPeso' => 'Unidad de Peso', + 'BienesTransp' => 'Bienes Transportados', + 'Cantidad' => 'Cantidad', + 'ClaveUnidad' => 'Clave de Unidad', + 'Descripcion' => 'Descripción', + 'Moneda' => 'Moneda', + 'PesoEnKg' => 'Peso en Kg', + 'ValorMercancia' => 'Valor de la Mercancía', + 'IDDestino' => 'ID de Destino', + 'IDOrigen' => 'ID de Origen', + 'NumPermisoSCT' => 'Número de Permiso SCT', + 'PermSCT' => 'Permiso SCT', + 'AnioModeloVM' => 'Año Modelo del Vehículo', + 'ConfigVehicular' => 'Configuración Vehicular', + 'PlacaVM' => 'Placa del Vehículo', + 'AseguraRespCivil' => 'Aseguradora de Responsabilidad Civil', + 'PolizaRespCivil' => 'Póliza de Responsabilidad Civil', + 'AseguraCarga' => 'Aseguradora de Carga', + 'PlacaRemolque' => 'Placa del Remolque', + 'SubTipoRem' => 'Subtipo de Remolque', + 'FechaHoraSalidaLlegada' => 'Fecha y Hora de Salida/Llegada', + 'IDUbicacion' => 'ID de Ubicación', + 'RFCRemitenteDestinatario' => 'RFC del Remitente/Destinatario', + 'TipoUbicacion' => 'Tipo de Ubicación', + 'Calle' => 'Calle', + 'NumeroExterior' => 'Número Exterior', + 'Colonia' => 'Colonia', + 'Localidad' => 'Localidad', + 'Municipio' => 'Municipio', + 'Estado' => 'Estado', + 'Pais' => 'País', + 'CodigoPostal' => 'Código Postal', + 'DistanciaRecorrida' => 'Distancia Recorrida' + ]; + } + + /** + * @return \yii\db\ActiveQuery + */ + public function getItems() + { + return $this->hasMany(Items::className(), ['inq_facturas_id' => 'id']); + } + + /** + * @inheritdoc + * @return array mixed + */ + public function behaviors() + { + return [ + 'timestamp' => [ + 'class' => TimestampBehavior::className(), + 'createdAtAttribute' => 'created_at', + 'updatedAtAttribute' => 'updated_at', + 'value' => new Expression('NOW()'), + ], + 'blameable' => [ + 'class' => BlameableBehavior::className(), + 'createdByAttribute' => 'created_by', + 'updatedByAttribute' => 'updated_by', + ], + ]; + } + + /** + * @inheritdoc + * @return FacturasQuery the active query used by this AR class. + */ + public static function find() + { + return new FacturasQuery(get_called_class()); + } + + /** + * Returns model name with full namespace + * @return string + */ + public function getModelName() + { + return __CLASS__; + } +}