Ticket #487 -> Poder indicar el tipo de contrato al dar de alta uno nuevo
git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@541 f4e31baf-9722-1c47-927c-6f952f962d4b
This commit is contained in:
parent
19dd1b4e86
commit
3e80c298f6
@ -11,6 +11,8 @@ uses
|
|||||||
uIntegerListUtils;
|
uIntegerListUtils;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
TEnumTiposContrato = (teCocina, teArmario, teBano, teElectrodomestico, teVarios);
|
||||||
|
|
||||||
IContratosClienteController = interface(IControllerBase)
|
IContratosClienteController = interface(IControllerBase)
|
||||||
['{D6544299-A233-4FF0-BDA4-328DA06DCFD8}']
|
['{D6544299-A233-4FF0-BDA4-328DA06DCFD8}']
|
||||||
function GetClienteController: IClientesController;
|
function GetClienteController: IClientesController;
|
||||||
@ -36,7 +38,7 @@ type
|
|||||||
const AVerModal : Boolean = False; const AWindowCaption: String = '';
|
const AVerModal : Boolean = False; const AWindowCaption: String = '';
|
||||||
const AHeaderText: String = '');
|
const AHeaderText: String = '');
|
||||||
function Nuevo : IBizContratoCliente;
|
function Nuevo : IBizContratoCliente;
|
||||||
function Anadir(AContrato : IBizContratoCliente) : Boolean;
|
function Anadir(AContrato : IBizContratoCliente; const ATipo: TEnumTiposContrato = teVarios) : Boolean;
|
||||||
function Eliminar(const ID : Integer): Boolean; overload;
|
function Eliminar(const ID : Integer): Boolean; overload;
|
||||||
function Eliminar(AContrato : IBizContratoCliente; AllItems: Boolean = false): Boolean; overload;
|
function Eliminar(AContrato : IBizContratoCliente; AllItems: Boolean = false): Boolean; overload;
|
||||||
function Guardar(AContrato : IBizContratoCliente): Boolean;
|
function Guardar(AContrato : IBizContratoCliente): Boolean;
|
||||||
@ -88,6 +90,7 @@ type
|
|||||||
procedure FiltrarEmpresa(AContrato: IBizContratoCliente);
|
procedure FiltrarEmpresa(AContrato: IBizContratoCliente);
|
||||||
function _Vacio : IBizContratoCliente;
|
function _Vacio : IBizContratoCliente;
|
||||||
function ValidarContrato(AContrato: IBizContratoCliente): Boolean;
|
function ValidarContrato(AContrato: IBizContratoCliente): Boolean;
|
||||||
|
procedure RellenarValoresDefecto(AContrato: IBizContratoCliente; ATipo: TEnumTiposContrato);
|
||||||
public
|
public
|
||||||
property ClienteController: IClientesController read GetClienteController write SetClienteController;
|
property ClienteController: IClientesController read GetClienteController write SetClienteController;
|
||||||
property DetallesController: IDetallesContratoClienteController read GetDetallesController write SetDetallesController;
|
property DetallesController: IDetallesContratoClienteController read GetDetallesController write SetDetallesController;
|
||||||
@ -104,7 +107,7 @@ type
|
|||||||
function Guardar(AContrato : IBizContratoCliente): Boolean;
|
function Guardar(AContrato : IBizContratoCliente): Boolean;
|
||||||
procedure DescartarCambios(AContrato : IBizContratoCliente); virtual;
|
procedure DescartarCambios(AContrato : IBizContratoCliente); virtual;
|
||||||
function Existe(const ID: Integer) : Boolean; virtual;
|
function Existe(const ID: Integer) : Boolean; virtual;
|
||||||
function Anadir(AContrato : IBizContratoCliente) : Boolean;
|
function Anadir(AContrato : IBizContratoCliente; const ATipo: TEnumTiposContrato = teVarios) : Boolean;
|
||||||
function Buscar(const ListaID: TIntegerList): IBizContratoCliente; overload;
|
function Buscar(const ListaID: TIntegerList): IBizContratoCliente; overload;
|
||||||
function Buscar(const ID: Integer): IBizContratoCliente; overload;
|
function Buscar(const ID: Integer): IBizContratoCliente; overload;
|
||||||
function BuscarTodos: IBizContratoCliente; overload;
|
function BuscarTodos: IBizContratoCliente; overload;
|
||||||
@ -143,15 +146,18 @@ uses
|
|||||||
uIEditorElegirContratosCliente, uIEditorDireccionEntregaContratoCliente,
|
uIEditorElegirContratosCliente, uIEditorDireccionEntregaContratoCliente,
|
||||||
schContactosClient_Intf, uContratosClienteReportController,
|
schContactosClient_Intf, uContratosClienteReportController,
|
||||||
uSistemaFunc, uEMailUtils, uDialogElegirEMail, Dialogs, uStringsUtils,
|
uSistemaFunc, uEMailUtils, uDialogElegirEMail, Dialogs, uStringsUtils,
|
||||||
uIEditorContratosClienteBeneficios;
|
uIEditorContratosClienteBeneficios, uPresupuestosClienteController,
|
||||||
|
uConfiguracionController, uBizDetallesPresupuestoCliente;
|
||||||
|
|
||||||
{ TContratosClienteController }
|
{ TContratosClienteController }
|
||||||
|
|
||||||
function TContratosClienteController.Anadir(AContrato: IBizContratoCliente): Boolean;
|
function TContratosClienteController.Anadir(AContrato : IBizContratoCliente;
|
||||||
|
const ATipo: TEnumTiposContrato = teVarios) : Boolean;
|
||||||
begin
|
begin
|
||||||
if not Assigned(AContrato) then
|
if not Assigned(AContrato) then
|
||||||
raise Exception.Create ('Contrato no asignado (Anadir)');
|
raise Exception.Create ('Contrato no asignado (Anadir)');
|
||||||
AContrato.Insert;
|
AContrato.Insert;
|
||||||
|
RellenarValoresDefecto(AContrato, ATipo);
|
||||||
Result := True;
|
Result := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -725,6 +731,57 @@ begin
|
|||||||
RecuperarCliente(AContrato);
|
RecuperarCliente(AContrato);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TContratosClienteController.RellenarValoresDefecto(
|
||||||
|
AContrato: IBizContratoCliente; ATipo: TEnumTiposContrato);
|
||||||
|
begin
|
||||||
|
case ATipo of
|
||||||
|
teCocina:
|
||||||
|
begin
|
||||||
|
AContrato.TIPO_CONTRATO := CTE_COCINA;
|
||||||
|
AContrato.FORMA_PAGO.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_FORMA_PAGO_COCINA));
|
||||||
|
AContrato.PLAZO_ENTREGA.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_PLAZOS_ENTREGA_COCINA));
|
||||||
|
AContrato.OBSERVACIONES.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_OBSERVACIONES_COCINA));
|
||||||
|
(Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_C_VACIO, 'MUEBLES DE COCINA ', False, AContrato.Detalles);
|
||||||
|
(Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_V, 'IMPORTES ', True, AContrato.Detalles);
|
||||||
|
(Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_V, 'AUMENTO POR ', False, AContrato.Detalles);
|
||||||
|
end;
|
||||||
|
teArmario:
|
||||||
|
begin
|
||||||
|
AContrato.TIPO_CONTRATO := CTE_ARMARIO;
|
||||||
|
AContrato.FORMA_PAGO.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_FORMA_PAGO_ARMARIO));
|
||||||
|
AContrato.PLAZO_ENTREGA.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_PLAZOS_ENTREGA_ARMARIO));
|
||||||
|
AContrato.OBSERVACIONES.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_OBSERVACIONES_ARMARIO));
|
||||||
|
(Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_AF, 'FRENTE DE ARMARIO Nº ', False, AContrato.Detalles);
|
||||||
|
(Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_AI, 'INTERIOR DE ARMARIO Nº ', False, AContrato.Detalles);
|
||||||
|
end;
|
||||||
|
teBano:
|
||||||
|
begin
|
||||||
|
AContrato.TIPO_CONTRATO := CTE_BANO;
|
||||||
|
AContrato.FORMA_PAGO.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_FORMA_PAGO_BANO));
|
||||||
|
AContrato.PLAZO_ENTREGA.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_PLAZOS_ENTREGA_BANO));
|
||||||
|
AContrato.OBSERVACIONES.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_OBSERVACIONES_BANO));
|
||||||
|
(Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_B, 'MUEBLE DE BAÑO Nº ', False, AContrato.Detalles);
|
||||||
|
(Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_V, 'IMPORTES ', True, AContrato.Detalles);
|
||||||
|
end;
|
||||||
|
teElectrodomestico:
|
||||||
|
begin
|
||||||
|
AContrato.TIPO_CONTRATO := CTE_ELECTRODOMESTICO;
|
||||||
|
AContrato.FORMA_PAGO.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_FORMA_PAGO_ELECTRODOMESTICO));
|
||||||
|
AContrato.PLAZO_ENTREGA.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_PLAZOS_ENTREGA_ELECTRODOMESTICO));
|
||||||
|
AContrato.OBSERVACIONES.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_OBSERVACIONES_ELECTRODOMESTICO));
|
||||||
|
(Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_E, 'ELECTRODOMÉSTICOS ', False, AContrato.Detalles);
|
||||||
|
end;
|
||||||
|
teVarios:
|
||||||
|
begin
|
||||||
|
AContrato.TIPO_CONTRATO := CTE_VARIOS;
|
||||||
|
AContrato.FORMA_PAGO.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_FORMA_PAGO_VARIOS));
|
||||||
|
AContrato.PLAZO_ENTREGA.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_PLAZOS_ENTREGA_VARIOS));
|
||||||
|
AContrato.OBSERVACIONES.Add(AppFactuGES.Configuracion.GetSettingAsString(teBD, CTE_OBSERVACIONES_VARIOS));
|
||||||
|
(Self.DetallesController as IDetallesContratoClienteController).AnadirCapitulo(TIPO_CAPITULO_V, 'VARIOS ', False, AContrato.Detalles);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TContratosClienteController.RecuperarCliente(
|
procedure TContratosClienteController.RecuperarCliente(
|
||||||
AContrato: IBizContratoCliente);
|
AContrato: IBizContratoCliente);
|
||||||
begin
|
begin
|
||||||
|
|||||||
@ -125,7 +125,35 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
|
|||||||
ExplicitWidth = 805
|
ExplicitWidth = 805
|
||||||
inherited tbxMain: TTBXToolbar
|
inherited tbxMain: TTBXToolbar
|
||||||
ExplicitWidth = 775
|
ExplicitWidth = 775
|
||||||
object TBXItem47: TTBXItem [13]
|
object TBXSubmenuItem3: TTBXSubmenuItem [0]
|
||||||
|
Caption = 'Nuevo'
|
||||||
|
DisplayMode = nbdmImageAndText
|
||||||
|
ImageIndex = 22
|
||||||
|
object bCocina: TTBXItem
|
||||||
|
Caption = 'Contrato de cocina'
|
||||||
|
OnClick = bCocinaClick
|
||||||
|
end
|
||||||
|
object bArmario: TTBXItem
|
||||||
|
Caption = 'Contrato de armario'
|
||||||
|
OnClick = bArmarioClick
|
||||||
|
end
|
||||||
|
object bBano: TTBXItem
|
||||||
|
Caption = 'Contrato de ba'#241'o'
|
||||||
|
OnClick = bBanoClick
|
||||||
|
end
|
||||||
|
object bElectrodomestico: TTBXItem
|
||||||
|
Caption = 'Contrato de electrodom'#233'stico'
|
||||||
|
OnClick = bElectrodomesticoClick
|
||||||
|
end
|
||||||
|
object bVarios: TTBXItem
|
||||||
|
Caption = 'Contrato de varios'
|
||||||
|
OnClick = bVariosClick
|
||||||
|
end
|
||||||
|
end
|
||||||
|
inherited TBXItem2: TTBXItem
|
||||||
|
Visible = False
|
||||||
|
end
|
||||||
|
object TBXItem47: TTBXItem [14]
|
||||||
Action = actEnviarEMail
|
Action = actEnviarEMail
|
||||||
DisplayMode = nbdmImageAndText
|
DisplayMode = nbdmImageAndText
|
||||||
end
|
end
|
||||||
|
|||||||
@ -42,6 +42,7 @@ type
|
|||||||
TBXItem47: TTBXItem;
|
TBXItem47: TTBXItem;
|
||||||
actListadoBeneficios: TAction;
|
actListadoBeneficios: TAction;
|
||||||
TBXItem42: TTBXItem;
|
TBXItem42: TTBXItem;
|
||||||
|
TBXSubmenuItem3: TTBXSubmenuItem;
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure actGenerarAlbaranCliExecute(Sender: TObject);
|
procedure actGenerarAlbaranCliExecute(Sender: TObject);
|
||||||
procedure actEliminarUpdate(Sender: TObject);
|
procedure actEliminarUpdate(Sender: TObject);
|
||||||
@ -58,6 +59,11 @@ type
|
|||||||
procedure actInformesExecute(Sender: TObject);
|
procedure actInformesExecute(Sender: TObject);
|
||||||
procedure OnListaAnosChange(Sender: TObject; const Text: string);
|
procedure OnListaAnosChange(Sender: TObject; const Text: string);
|
||||||
procedure actListadoBeneficiosExecute(Sender: TObject);
|
procedure actListadoBeneficiosExecute(Sender: TObject);
|
||||||
|
procedure bCocinaClick(Sender: TObject);
|
||||||
|
procedure bArmarioClick(Sender: TObject);
|
||||||
|
procedure bBanoClick(Sender: TObject);
|
||||||
|
procedure bElectrodomesticoClick(Sender: TObject);
|
||||||
|
procedure bVariosClick(Sender: TObject);
|
||||||
|
|
||||||
protected
|
protected
|
||||||
FContratos: IBizContratoCliente;
|
FContratos: IBizContratoCliente;
|
||||||
@ -323,6 +329,42 @@ begin
|
|||||||
ViewGrid := CreateView(TfrViewContratosCliente) as IViewContratosCliente;
|
ViewGrid := CreateView(TfrViewContratosCliente) as IViewContratosCliente;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorContratosCliente.bArmarioClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if FController.Anadir(Contratos, teArmario) then
|
||||||
|
FController.Ver(Contratos);
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorContratosCliente.bBanoClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if FController.Anadir(Contratos, teBano) then
|
||||||
|
FController.Ver(Contratos);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorContratosCliente.bCocinaClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if FController.Anadir(Contratos, teCocina) then
|
||||||
|
FController.Ver(Contratos);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorContratosCliente.bElectrodomesticoClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if FController.Anadir(Contratos, teElectrodomestico) then
|
||||||
|
FController.Ver(Contratos);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TfEditorContratosCliente.bVariosClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if FController.Anadir(Contratos, teVarios) then
|
||||||
|
FController.Ver(Contratos);
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TfEditorContratosCliente.Create(AOwner: TComponent);
|
constructor TfEditorContratosCliente.Create(AOwner: TComponent);
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
|
|||||||
@ -281,7 +281,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
|
|||||||
TabOrder = 6
|
TabOrder = 6
|
||||||
Width = 27
|
Width = 27
|
||||||
end
|
end
|
||||||
object cbTipoPresupuesto: TcxDBComboBox
|
object cbTipoContrato: TcxDBComboBox
|
||||||
Left = 271
|
Left = 271
|
||||||
Top = 55
|
Top = 55
|
||||||
DataBinding.DataField = 'TIPO_CONTRATO'
|
DataBinding.DataField = 'TIPO_CONTRATO'
|
||||||
@ -344,7 +344,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
|
|||||||
AutoAligns = [aaVertical]
|
AutoAligns = [aaVertical]
|
||||||
AlignHorz = ahClient
|
AlignHorz = ahClient
|
||||||
Caption = 'Tipo contrato:'
|
Caption = 'Tipo contrato:'
|
||||||
Control = cbTipoPresupuesto
|
Control = cbTipoContrato
|
||||||
ControlOptions.ShowBorder = False
|
ControlOptions.ShowBorder = False
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -62,7 +62,7 @@ type
|
|||||||
cbVendedor: TcxDBLookupComboBox;
|
cbVendedor: TcxDBLookupComboBox;
|
||||||
dsVendedor: TDADataSource;
|
dsVendedor: TDADataSource;
|
||||||
dxLayoutControl1Item7: TdxLayoutItem;
|
dxLayoutControl1Item7: TdxLayoutItem;
|
||||||
cbTipoPresupuesto: TcxDBComboBox;
|
cbTipoContrato: TcxDBComboBox;
|
||||||
dxLayoutControl1Group11: TdxLayoutGroup;
|
dxLayoutControl1Group11: TdxLayoutGroup;
|
||||||
procedure CustomViewCreate(Sender: TObject);
|
procedure CustomViewCreate(Sender: TObject);
|
||||||
procedure CustomViewDestroy(Sender: TObject);
|
procedure CustomViewDestroy(Sender: TObject);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user