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;
|
||||
|
||||
type
|
||||
TEnumTiposContrato = (teCocina, teArmario, teBano, teElectrodomestico, teVarios);
|
||||
|
||||
IContratosClienteController = interface(IControllerBase)
|
||||
['{D6544299-A233-4FF0-BDA4-328DA06DCFD8}']
|
||||
function GetClienteController: IClientesController;
|
||||
@ -36,7 +38,7 @@ type
|
||||
const AVerModal : Boolean = False; const AWindowCaption: String = '';
|
||||
const AHeaderText: String = '');
|
||||
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(AContrato : IBizContratoCliente; AllItems: Boolean = false): Boolean; overload;
|
||||
function Guardar(AContrato : IBizContratoCliente): Boolean;
|
||||
@ -88,6 +90,7 @@ type
|
||||
procedure FiltrarEmpresa(AContrato: IBizContratoCliente);
|
||||
function _Vacio : IBizContratoCliente;
|
||||
function ValidarContrato(AContrato: IBizContratoCliente): Boolean;
|
||||
procedure RellenarValoresDefecto(AContrato: IBizContratoCliente; ATipo: TEnumTiposContrato);
|
||||
public
|
||||
property ClienteController: IClientesController read GetClienteController write SetClienteController;
|
||||
property DetallesController: IDetallesContratoClienteController read GetDetallesController write SetDetallesController;
|
||||
@ -104,7 +107,7 @@ type
|
||||
function Guardar(AContrato : IBizContratoCliente): Boolean;
|
||||
procedure DescartarCambios(AContrato : IBizContratoCliente); 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 ID: Integer): IBizContratoCliente; overload;
|
||||
function BuscarTodos: IBizContratoCliente; overload;
|
||||
@ -143,15 +146,18 @@ uses
|
||||
uIEditorElegirContratosCliente, uIEditorDireccionEntregaContratoCliente,
|
||||
schContactosClient_Intf, uContratosClienteReportController,
|
||||
uSistemaFunc, uEMailUtils, uDialogElegirEMail, Dialogs, uStringsUtils,
|
||||
uIEditorContratosClienteBeneficios;
|
||||
uIEditorContratosClienteBeneficios, uPresupuestosClienteController,
|
||||
uConfiguracionController, uBizDetallesPresupuestoCliente;
|
||||
|
||||
{ TContratosClienteController }
|
||||
|
||||
function TContratosClienteController.Anadir(AContrato: IBizContratoCliente): Boolean;
|
||||
function TContratosClienteController.Anadir(AContrato : IBizContratoCliente;
|
||||
const ATipo: TEnumTiposContrato = teVarios) : Boolean;
|
||||
begin
|
||||
if not Assigned(AContrato) then
|
||||
raise Exception.Create ('Contrato no asignado (Anadir)');
|
||||
AContrato.Insert;
|
||||
RellenarValoresDefecto(AContrato, ATipo);
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
@ -725,6 +731,57 @@ begin
|
||||
RecuperarCliente(AContrato);
|
||||
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(
|
||||
AContrato: IBizContratoCliente);
|
||||
begin
|
||||
|
||||
@ -125,7 +125,35 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
|
||||
ExplicitWidth = 805
|
||||
inherited tbxMain: TTBXToolbar
|
||||
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
|
||||
DisplayMode = nbdmImageAndText
|
||||
end
|
||||
|
||||
@ -42,6 +42,7 @@ type
|
||||
TBXItem47: TTBXItem;
|
||||
actListadoBeneficios: TAction;
|
||||
TBXItem42: TTBXItem;
|
||||
TBXSubmenuItem3: TTBXSubmenuItem;
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure actGenerarAlbaranCliExecute(Sender: TObject);
|
||||
procedure actEliminarUpdate(Sender: TObject);
|
||||
@ -58,6 +59,11 @@ type
|
||||
procedure actInformesExecute(Sender: TObject);
|
||||
procedure OnListaAnosChange(Sender: TObject; const Text: string);
|
||||
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
|
||||
FContratos: IBizContratoCliente;
|
||||
@ -323,6 +329,42 @@ begin
|
||||
ViewGrid := CreateView(TfrViewContratosCliente) as IViewContratosCliente;
|
||||
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);
|
||||
begin
|
||||
inherited;
|
||||
|
||||
@ -281,7 +281,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
|
||||
TabOrder = 6
|
||||
Width = 27
|
||||
end
|
||||
object cbTipoPresupuesto: TcxDBComboBox
|
||||
object cbTipoContrato: TcxDBComboBox
|
||||
Left = 271
|
||||
Top = 55
|
||||
DataBinding.DataField = 'TIPO_CONTRATO'
|
||||
@ -344,7 +344,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Tipo contrato:'
|
||||
Control = cbTipoPresupuesto
|
||||
Control = cbTipoContrato
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
|
||||
@ -62,7 +62,7 @@ type
|
||||
cbVendedor: TcxDBLookupComboBox;
|
||||
dsVendedor: TDADataSource;
|
||||
dxLayoutControl1Item7: TdxLayoutItem;
|
||||
cbTipoPresupuesto: TcxDBComboBox;
|
||||
cbTipoContrato: TcxDBComboBox;
|
||||
dxLayoutControl1Group11: TdxLayoutGroup;
|
||||
procedure CustomViewCreate(Sender: TObject);
|
||||
procedure CustomViewDestroy(Sender: TObject);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user