Compare commits

..

No commits in common. "d31325fb4d31e02250b4c013bfd5de01901c3af6" and "a810312f0117886ebd42f90e5d8b94eb8bdae68f" have entirely different histories.

29 changed files with 54 additions and 195 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@erp/factuges-server",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"scripts": {
"build": "tsup src/index.ts --config tsup.config.ts",

View File

@ -1,7 +1,7 @@
{
"name": "@erp/factuges-web",
"private": true,
"version": "0.9.2",
"version": "0.9.1",
"type": "module",
"scripts": {
"typecheck": "tsc -p tsconfig.json --noEmit",

View File

@ -183,6 +183,14 @@ INSERT INTO proformas (
language_code,
currency_code,
customer_id,
customer_tin,
customer_name,
customer_street,
customer_street2,
customer_city,
customer_province,
customer_postal_code,
customer_country,
payment_method_id,
payment_term_id,
tax_regime_code,
@ -229,6 +237,14 @@ SELECT
language_code,
currency_code,
customer_id,
customer_tin,
customer_name,
customer_street,
customer_street2,
customer_city,
customer_province,
customer_postal_code,
customer_country,
payment_method_id,
NULL AS payment_term_id,
tax_regime_code,
@ -352,8 +368,8 @@ SELECT
NULL AS payment_term_name,
NULL AS payment_term_description,
NULL AS payment_term_snapshot_json,
COALESCE(tax_regime_code, "01"),
COALESCE(tax_regime_description, "01: Operación de régimen general."),
tax_regime_code,
COALESCE(tax_regime_description, tax_regime_code),
subtotal_amount_value,
subtotal_amount_scale,
items_discount_amount_value,
@ -427,9 +443,7 @@ INSERT INTO proforma_items (
taxes_amount_value,
taxes_amount_scale,
total_amount_value,
total_amount_scale,
created_at,
updated_at
total_amount_scale
)
SELECT
i.item_id,
@ -472,105 +486,13 @@ SELECT
i.taxes_amount_value,
i.taxes_amount_scale,
i.total_amount_value,
i.total_amount_scale,
now(),
now()
i.total_amount_scale
FROM customer_invoice_items i
JOIN customer_invoices ci ON ci.id = i.invoice_id
WHERE ci.is_proforma = 1;
INSERT INTO issued_invoice_items (
item_id,
issued_invoice_id,
position,
description,
quantity_value,
quantity_scale,
unit_amount_value,
unit_amount_scale,
subtotal_amount_value,
subtotal_amount_scale,
item_discount_percentage_value,
item_discount_percentage_scale,
item_discount_amount_value,
item_discount_amount_scale,
global_discount_percentage_value,
global_discount_percentage_scale,
global_discount_amount_value,
global_discount_amount_scale,
total_discount_amount_value,
total_discount_amount_scale,
taxable_amount_value,
taxable_amount_scale,
iva_code,
iva_percentage_value,
iva_percentage_scale,
iva_amount_value,
iva_amount_scale,
rec_code,
rec_percentage_value,
rec_percentage_scale,
rec_amount_value,
rec_amount_scale,
retention_code,
retention_percentage_value,
retention_percentage_scale,
retention_amount_value,
retention_amount_scale,
taxes_amount_value,
taxes_amount_scale,
total_amount_value,
total_amount_scale,
created_at,
updated_at
)
SELECT
i.item_id,
i.invoice_id,
i.position,
i.description,
i.quantity_value,
i.quantity_scale,
i.unit_amount_value,
i.unit_amount_scale,
i.subtotal_amount_value,
i.subtotal_amount_scale,
i.item_discount_percentage_value,
i.item_discount_percentage_scale,
i.item_discount_amount_value,
i.item_discount_amount_scale,
i.global_discount_percentage_value,
i.global_discount_percentage_scale,
i.global_discount_amount_value,
i.global_discount_amount_scale,
i.total_discount_amount_value,
i.total_discount_amount_scale,
i.taxable_amount_value,
i.taxable_amount_scale,
i.iva_code,
i.iva_percentage_value,
i.iva_percentage_scale,
i.iva_amount_value,
i.iva_amount_scale,
i.rec_code,
i.rec_percentage_value,
i.rec_percentage_scale,
i.rec_amount_value,
i.rec_amount_scale,
i.retention_code,
i.retention_percentage_value,
i.retention_percentage_scale,
i.retention_amount_value,
i.retention_amount_scale,
i.taxes_amount_value,
i.taxes_amount_scale,
i.total_amount_value,
i.total_amount_scale,
now(),
now()
INSERT INTO issued_invoice_items (...)
SELECT ...
FROM customer_invoice_items i
JOIN customer_invoices ci ON ci.id = i.invoice_id
WHERE ci.is_proforma = 0;
@ -600,9 +522,7 @@ INSERT INTO proforma_taxes (
retention_amount_value,
retention_amount_scale,
taxes_amount_value,
taxes_amount_scale,
created_at,
updated_at
taxes_amount_scale
)
SELECT
t.tax_id,
@ -625,60 +545,13 @@ SELECT
t.retention_amount_value,
t.retention_amount_scale,
t.taxes_amount_value,
t.taxes_amount_scale,
now(),
now()
t.taxes_amount_scale
FROM customer_invoice_taxes t
JOIN customer_invoices ci ON ci.id = t.invoice_id
WHERE ci.is_proforma = 1;
INSERT INTO issued_invoice_taxes (tax_id,
issued_invoice_id,
taxable_amount_value,
taxable_amount_scale,
iva_code,
iva_percentage_value,
iva_percentage_scale,
iva_amount_value,
iva_amount_scale,
rec_code,
rec_percentage_value,
rec_percentage_scale,
rec_amount_value,
rec_amount_scale,
retention_code,
retention_percentage_value,
retention_percentage_scale,
retention_amount_value,
retention_amount_scale,
taxes_amount_value,
taxes_amount_scale,
created_at,
updated_at)
SELECT
t.tax_id,
t.invoice_id,
t.taxable_amount_value,
t.taxable_amount_scale,
t.iva_code,
t.iva_percentage_value,
t.iva_percentage_scale,
t.iva_amount_value,
t.iva_amount_scale,
t.rec_code,
t.rec_percentage_value,
t.rec_percentage_scale,
t.rec_amount_value,
t.rec_amount_scale,
t.retention_code,
t.retention_percentage_value,
t.retention_percentage_scale,
t.retention_amount_value,
t.retention_amount_scale,
t.taxes_amount_value,
t.taxes_amount_scale,
now(),
now()
INSERT INTO issued_invoice_taxes (...)
SELECT ...
FROM customer_invoice_taxes t
JOIN customer_invoices ci ON ci.id = t.invoice_id
WHERE ci.is_proforma = 0;

View File

@ -1,6 +1,6 @@
{
"name": "@erp/auth",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"sideEffects": false,

View File

@ -1,7 +1,7 @@
{
"name": "@erp/catalogs",
"description": "Catalogs module",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"sideEffects": false,

View File

@ -1,7 +1,7 @@
{
"name": "@erp/companies",
"description": "Companies module",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"sideEffects": false,

View File

@ -1,6 +1,6 @@
{
"name": "@erp/core",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"sideEffects": false,

View File

@ -1,6 +1,6 @@
{
"name": "@erp/customer-invoices",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"sideEffects": false,

View File

@ -512,14 +512,6 @@ export default (database: Sequelize) => {
fields: ["source_proforma_id"],
unique: true,
},
// Quiksearch => "CriteriaToSequelizeConverter" construye la sentencia SQL de búsqueda FULLTEXT
// a partir de este índice. Las columnas deben coincidir con los campos de búsqueda rápida definidos en el repositorio.
{
name: "idx_qs_issued_invoices",
type: "FULLTEXT",
fields: ["invoice_number", "reference", "description"],
},
],
whereMergeStrategy: "and",
defaultScope: {},

View File

@ -419,14 +419,6 @@ export default (database: Sequelize) => {
fields: ["company_id", "proforma_reference"],
unique: true,
},
// Quiksearch => "CriteriaToSequelizeConverter" construye la sentencia SQL de búsqueda FULLTEXT
// a partir de este índice. Las columnas deben coincidir con los campos de búsqueda rápida definidos en el repositorio.
{
name: "idx_qs_proformas",
type: "FULLTEXT",
fields: ["proforma_reference", "reference", "description"],
},
],
whereMergeStrategy: "and",
defaultScope: {},

View File

@ -1,7 +1,7 @@
export * from "./issued-invoice-public-services";
export * from "./issued-invoice-persistence.di";
export * from "./issued-invoice-persistence-mappers-v2.di";
export * from "./issued-invoice-public-services";
//export * from "./issued-invoice-persistence-mappers.di";
export * from "./issued-invoice-persistence-mappers.di";
export * from "./issued-invoice-repositories-v2.di";
//export * from "./issued-invoice-repositories.di";
export * from "./issued-invoice-repositories.di";
export * from "./issued-invoices.di";

View File

@ -1,5 +1,6 @@
export * from "./sequelize-issued-invoice-v2-domain.mapper";
export * from "./sequelize-issued-invoice-v2-item-domain.mapper";
/*export * from "./sequelize-issued-invoice-v2-item-domain.mapper";
export * from "./sequelize-issued-invoice-v2-recipient-domain.mapper";
export * from "./sequelize-issued-invoice-v2-taxes-domain.mapper";
export * from "./sequelize-issued-invoice-v2-verifactu-domain.mapper";
*/

View File

@ -1,7 +1,7 @@
{
"name": "@erp/customers",
"description": "Customers",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"sideEffects": false,

View File

@ -1,6 +1,6 @@
{
"name": "@erp/factuges",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"sideEffects": false,

View File

@ -2,6 +2,7 @@ import { type StartParams, validateRequest } from "@erp/core/api";
import type { IProformaPublicServices } from "@erp/customer-invoices/api";
import type { ICustomerPublicServices } from "@erp/customers/api";
import { CreateProformaFromFactugesRequestSchema } from "@erp/factuges/common";
import { requireIdentityTenant } from "@erp/identity/api";
import { type NextFunction, type Request, type Response, Router } from "express";
import type { FactugesInternalDeps } from "../di/factuges.di";
@ -26,7 +27,7 @@ export const factugesRouter = (params: StartParams) => {
const router: Router = Router({ mergeParams: true });
// 🔐 Autenticación + Tenancy para TODO el router
// router.use(...requireIdentityTenant(params));
router.use(...requireIdentityTenant(params));
// ----------------------------------------------

View File

@ -1,7 +1,7 @@
{
"name": "@erp/identity",
"description": "Identity module",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"sideEffects": false,

View File

@ -1,7 +1,7 @@
{
"name": "@erp/supplier-invoices",
"description": "Supplier invoices",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"sideEffects": false,

View File

@ -1,7 +1,7 @@
{
"name": "@erp/suppliers",
"description": "Suppliers",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"sideEffects": false,

View File

@ -1,7 +1,7 @@
{
"name": "uecko-erp-2025",
"private": true,
"version": "0.9.2",
"version": "0.9.1",
"workspaces": [
"apps/*",
"modules/*",

View File

@ -1,6 +1,6 @@
{
"name": "@repo/i18next",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"scripts": {

View File

@ -1,6 +1,6 @@
{
"name": "@repo/rdx-criteria",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"sideEffects": false,

View File

@ -1,6 +1,6 @@
{
"name": "@repo/rdx-ddd",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"sideEffects": false,

View File

@ -1,6 +1,6 @@
{
"name": "@repo/rdx-logger",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"sideEffects": false,

View File

@ -1,6 +1,6 @@
{
"name": "@repo/rdx-ui",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"sideEffects": false,

View File

@ -1,6 +1,6 @@
{
"name": "@repo/rdx-utils",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"type": "module",
"sideEffects": false,

View File

@ -1,6 +1,6 @@
{
"name": "@repo/shadcn-ui",
"version": "0.9.2",
"version": "0.9.1",
"type": "module",
"private": true,
"exports": {

View File

@ -1,6 +1,6 @@
{
"name": "@repo/typescript-config",
"version": "0.9.2",
"version": "0.9.1",
"private": true,
"publishConfig": {
"access": "public"