v_ordini.dart 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import 'package:drift/drift.dart';
  2. /*
  3. create view v_ordini as
  4. select
  5. a.codAgente,
  6. c.codCliente, c.ragioneSociale,
  7. f.codFiliale as codFiliale,
  8. f.descrizione as Filiale,
  9. case when o.idFiliale is null then c.indirizzo else f.indirizzo end as indirizzo,
  10. case when o.idFiliale is null then c.citta else f.citta end as citta,
  11. case when o.idFiliale is null then c.provincia else f.provincia end as provincia,
  12. case when o.idFiliale is null then c.cap else f.cap end as cap,
  13. o.*,
  14. (select sum(totale) from righe_ordine where idOrdine=o.idordine) as totale
  15. from ordini o
  16. join agenti a on a.idagente = o.idAgente
  17. join clienti c on c.idCliente = o.idCliente
  18. left join filiali f on f.idfiliale = o.idfiliale
  19. */
  20. class VOrdini extends Table {
  21. TextColumn get codAgente => text().named('codAgente')();
  22. TextColumn get codCliente => text().named('codCliente').nullable()();
  23. TextColumn get ragioneSociale => text().named('ragioneSociale').nullable()();
  24. TextColumn get codFiliale => text().named('codFiliale').nullable()();
  25. TextColumn get filiale => text().named('Filiale').nullable()();
  26. TextColumn get indirizzo => text().named('indirizzo').nullable()();
  27. TextColumn get citta => text().named('citta').nullable()();
  28. TextColumn get provincia => text().named('provincia').nullable()();
  29. TextColumn get cap => text().named('cap').nullable()();
  30. IntColumn get idOrdine => integer().named('idOrdine')();
  31. IntColumn get idOrdineSede => integer().named('idOrdineSede').nullable()();
  32. IntColumn get numeroOrdine => integer().named('numeroOrdine').nullable()();
  33. TextColumn get numeroOrdineSede => text().named('numeroOrdineSede').nullable()();
  34. TextColumn get dataOrdine => text().named('dataOrdine').nullable()();
  35. TextColumn get dataConsegna => text().named('dataConsegna').nullable()();
  36. TextColumn get dataModifica => text().named('dataModifica').nullable()();
  37. TextColumn get riferimento => text().named('riferimento').nullable()();
  38. TextColumn get noteCliente => text().named('noteCliente').nullable()();
  39. TextColumn get noteOrdine => text().named('noteOrdine').nullable()();
  40. IntColumn get idCliente => integer().named('idCliente').nullable()();
  41. IntColumn get idFiliale => integer().named('idFiliale').nullable()();
  42. TextColumn get stato => text().named('stato').nullable()();
  43. IntColumn get idListino => integer().named('idListino').nullable()();
  44. IntColumn get idAgente => integer().named('idAgente').nullable()();
  45. IntColumn get idPagamento => integer().named('idPagamento').nullable()();
  46. RealColumn get totale => real().named('totale').nullable()();
  47. @override
  48. Set<Column> get primaryKey => {idOrdine};
  49. @override
  50. String get tableName => 'v_ordini';
  51. @override
  52. bool get withoutRowId => true;
  53. }