FEAT: correccion IVA y Boletas, filtro categorias, vista previa evidencia y proveedor de servicios
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import os
|
||||
import django
|
||||
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
|
||||
django.setup()
|
||||
|
||||
from expenses.models import Category
|
||||
from procurement.models import ItemCatalog
|
||||
|
||||
# 1. Update Project Categories to exactly 1201-1207
|
||||
print("Actualizando Categorías a la serie 1200...")
|
||||
Category.objects.filter(code__in=['3101', '3102', '3103', '3104', '3105', '3106', '3107']).delete()
|
||||
|
||||
required_codes = {
|
||||
'1201': 'Investigación Básica',
|
||||
'1202': 'Investigación Aplicada',
|
||||
'1203': 'Desarrollo Experimental',
|
||||
'1204': 'Prototipado',
|
||||
'1205': 'Pruebas de Concepto (PoC)',
|
||||
'1206': 'Gestión de Proyectos',
|
||||
'1207': 'Otros Servicios'
|
||||
}
|
||||
parent, _ = Category.objects.get_or_create(code='1200', defaults={'name': 'Portafolio de Proyectos'})
|
||||
for code, name in required_codes.items():
|
||||
cat, created = Category.objects.get_or_create(code=code, defaults={'name': name, 'parent': parent})
|
||||
if not created:
|
||||
cat.name = name
|
||||
cat.parent = parent
|
||||
cat.save()
|
||||
|
||||
# 3. Delete 'actv' from ItemCatalog in Procurement
|
||||
print("Eliminando ítem 'actv' del catálogo...")
|
||||
items_to_delete = ItemCatalog.objects.filter(code__iexact='actv')
|
||||
count = items_to_delete.count()
|
||||
items_to_delete.delete()
|
||||
print(f"Se eliminaron {count} ítems 'actv'.")
|
||||
|
||||
print("Migración de datos completada.")
|
||||
Reference in New Issue
Block a user