ConstruccionesCNJ_FactuGES/Modulos/Montaje completo/Views/uEditorMontajeCompleto.pas
2007-06-21 15:50:59 +00:00

366 lines
14 KiB
ObjectPascal
Raw Permalink Blame History

unit uEditorMontajeCompleto;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorMontajeDetalle, dxLayoutLookAndFeels, DB, uDADataTable,
JvAppStorage, JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList,
PngImageList, StdActns, ActnList, uCustomView, uViewBase, uViewDetallesBase,
uViewDetallesMontaje, ComCtrls, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage,
ExtCtrls, JvExControls, JvComponent, JvNavigationPane,
uIEditorMontajeCompleto, uViewGridBase, uViewGrid,
cxCustomData,
uViewPedidosMontaje, uBizMontajes, uMontajesController,
uViewPedidosProveedor, uViewCobrosCliente, uViewCobrosMontaje,
uViewDocumentosAsociados, uBizDocumentosAsociados, uViewGastosMontaje,
uViewSituacionMontaje, StdCtrls, JvExComCtrls, JvStatusBar;
type
TfEditorMontajeCompleto = class(TfEditorMontajeDetalle, IEditorMontajeCompleto)
pagPedidos: TTabSheet;
frViewPedidosMontaje1: TfrViewPedidosMontaje;
pagCobros: TTabSheet;
frViewCobrosMontaje1: TfrViewCobrosMontaje;
pagPlanos: TTabSheet;
frViewDocumentosAsociados1: TfrViewDocumentosAsociados;
PagGastos: TTabSheet;
frViewGastosMontaje1: TfrViewGastosMontaje;
frViewSituacionMontaje1: TfrViewSituacionMontaje;
procedure frViewPedidosMontaje1actAnadirExecute(Sender: TObject);
procedure frViewPedidosMontaje1actModificarExecute(Sender: TObject);
procedure frViewPedidosMontaje1actEliminarExecute(Sender: TObject);
procedure frViewCobrosMontaje1actAnadirExecute(Sender: TObject);
procedure frViewCobrosMontaje1actModificarExecute(Sender: TObject);
procedure frViewCobrosMontaje1actEliminarExecute(Sender: TObject);
procedure frViewGastosMontaje1actAnadirExecute(Sender: TObject);
procedure frViewGastosMontaje1actEliminarExecute(Sender: TObject);
procedure frViewPedidosMontajeAfterSummary(ASender: TcxDataSummary);
procedure frViewGastosMontajeAfterSummary(ASender: TcxDataSummary);
procedure frViewCobrosMontajeAfterSummary(ASender: TcxDataSummary);
procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure JvFormStorageRestorePlacement(Sender: TObject);
procedure JvFormStorageSavePlacement(Sender: TObject);
private
FViewDocumentos : IViewDocumentosAsociados;
protected
procedure SetController (const Value : IMontajesController); override;
procedure SetMontaje(const Value: IBizMontaje); override;
//DOCUMENTOS ASOCIADOS
function GetViewDocumentos: IViewDocumentosAsociados;
procedure SetViewDocumentos(const Value: IViewDocumentosAsociados);
property ViewDocumentos: IViewDocumentosAsociados read GetViewDocumentos write
SetViewDocumentos;
public
constructor Create(AOwner: TComponent); override;
end;
implementation
{$R *.dfm}
uses
uMontajesCompletoController, uBizMontajesCompleto, uEditorMontaje,
uPedidosMontajeController, uCobrosMontajeController, uBizPedidosMontaje,
uBizCobrosMontaje, uGastosMontajeController, uEditorDBItem,
schMontajesClient_Intf, uEditorDBBase
;
{ TfEditorMontajeCompleto }
constructor TfEditorMontajeCompleto.Create(AOwner: TComponent);
begin
inherited;
//DOCUMENTOS ASOCIADOS
FViewDocumentos := frViewDocumentosAsociados1;
frViewPedidosMontaje1.cxGridView.DataController.Summary.OnAfterSummary := frViewPedidosMontajeAfterSummary;
frViewGastosMontaje1.cxGridView.DataController.Summary.OnAfterSummary := frViewGastosMontajeAfterSummary;
frViewCobrosMontaje1.cxGridView.DataController.Summary.OnAfterSummary := frViewCobrosMontajeAfterSummary;
end;
procedure TfEditorMontajeCompleto.CustomEditorClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
//DOCUMENTOS ASOCIADOS
FViewDocumentos.DeshabilitarDocumentos;
FViewDocumentos := NIL;
frViewPedidosMontaje1.cxGridView.DataController.Summary.OnAfterSummary := Nil;
frViewGastosMontaje1.cxGridView.DataController.Summary.OnAfterSummary := Nil;
frViewCobrosMontaje1.cxGridView.DataController.Summary.OnAfterSummary := Nil;
end;
procedure TfEditorMontajeCompleto.FormShow(Sender: TObject);
begin
inherited;
//DOCUMENTOS ASOCIADOS
if Assigned((Montaje as IBizMontajeCompleto).GestorDocumentos) then
begin
ViewDocumentos := CreateView(TfrViewDocumentosAsociados) as IViewDocumentosAsociados;
ViewDocumentos.ShowEmbedded(pagPlanos);
end;
pgPaginas.ActivePage := pagGeneral;
end;
procedure TfEditorMontajeCompleto.frViewCobrosMontaje1actAnadirExecute(Sender: TObject);
var
ACobrosMontajeController: ICobrosMontajeController;
ACobroMontaje: IBizCobroMontaje;
begin
//Antes de a<>adir cobros al montaje validamos el montaje por si faltasen datos
//y lo guardamos para evitar que se cancele el montaje pero los cobros se den de alta
if Montaje.EsNuevo then
begin
Controller.Guardar(Montaje);
Montaje.Edit;
end;
try
ACobrosMontajeController := (FController as IMontajesCompletoController).CobrosController;
ACobroMontaje := (Montaje as IBizMontajeCompleto).Cobros;
ACobrosMontajeController.Anadir(ACobroMontaje);
ACobroMontaje.Montaje := (Montaje as IBizMontajeCompleto);
ACobroMontaje.Cliente := (Montaje as IBizMontajeCompleto).Cliente;
ACobrosMontajeController.Ver(ACobroMontaje);
finally
ACobrosMontajeController := Nil;
ACobroMontaje := Nil;
end;
end;
procedure TfEditorMontajeCompleto.frViewCobrosMontaje1actEliminarExecute(Sender: TObject);
var
ACobrosMontajeController: ICobrosMontajeController;
ACobroMontaje: IBizCobroMontaje;
begin
try
if (Application.MessageBox('<27>Desea borrar este cobro de cliente?', 'Atenci<63>n', MB_YESNO) = IDYES) then
begin
ACobrosMontajeController := (FController as IMontajesCompletoController).CobrosController;
ACobroMontaje := (Montaje as IBizMontajeCompleto).Cobros;
ACobrosMontajeController.Eliminar(ACobroMontaje);
end;
finally
ACobrosMontajeController := Nil;
ACobroMontaje := Nil;
end;
end;
procedure TfEditorMontajeCompleto.frViewCobrosMontaje1actModificarExecute(Sender: TObject);
var
ACobrosMontajeController: ICobrosMontajeController;
ACobroMontaje: IBizCobroMontaje;
begin
try
ACobrosMontajeController := (FController as IMontajesCompletoController).CobrosController;
ACobroMontaje := (Montaje as IBizMontajeCompleto).Cobros;
ACobrosMontajeController.Ver(ACobroMontaje);
finally
ACobrosMontajeController := Nil;
ACobroMontaje := Nil;
end;
end;
procedure TfEditorMontajeCompleto.frViewCobrosMontajeAfterSummary(ASender: TcxDataSummary);
begin
if VarIsNull(ASender.FooterSummaryValues[0])
then frViewSituacionMontaje1.pImporteCobrado := 0
else frViewSituacionMontaje1.pImporteCobrado := ASender.FooterSummaryValues[0];
end;
procedure TfEditorMontajeCompleto.frViewGastosMontaje1actAnadirExecute(
Sender: TObject);
var
AGastosMontajeController: IGastosMontajeController;
AGastoMontaje: IBizGastosMontaje;
begin
try
AGastosMontajeController := (FController as IMontajesCompletoController).GastosController;
AGastoMontaje := (Montaje as IBizMontajeCompleto).Gastos;
AGastosMontajeController.Anadir(AGastoMontaje);
// ACobroMontaje.Montaje := (Montaje as IBizMontajeCompleto);
// ACobroMontaje.Cliente := (Montaje as IBizMontajeCompleto).Cliente;
// ACobrosMontajeController.Ver(ACobroMontaje);
finally
AGastosMontajeController := Nil;
AGastoMontaje := Nil;
end;
end;
procedure TfEditorMontajeCompleto.frViewGastosMontaje1actEliminarExecute(
Sender: TObject);
var
AGastosMontajeController: IGastosMontajeController;
AGastoMontaje: IBizGastosMontaje;
begin
try
AGastosMontajeController := (FController as IMontajesCompletoController).GastosController;
AGastoMontaje := (Montaje as IBizMontajeCompleto).Gastos;
AGastosMontajeController.Eliminar(AGastoMontaje);
// ACobroMontaje.Montaje := (Montaje as IBizMontajeCompleto);
// ACobroMontaje.Cliente := (Montaje as IBizMontajeCompleto).Cliente;
// ACobrosMontajeController.Ver(ACobroMontaje);
finally
AGastosMontajeController := Nil;
AGastoMontaje := Nil;
end;
end;
procedure TfEditorMontajeCompleto.frViewGastosMontajeAfterSummary(ASender: TcxDataSummary);
begin
if VarIsNull(ASender.FooterSummaryValues[1])
then frViewSituacionMontaje1.pImporteOtrosGastos := 0
else frViewSituacionMontaje1.pImporteOtrosGastos := ASender.FooterSummaryValues[1];
end;
procedure TfEditorMontajeCompleto.frViewPedidosMontaje1actAnadirExecute(Sender: TObject);
var
APedidosMontajeController: IPedidosMontajeController;
APedidoMontaje: IBizPedidoMontaje;
begin
//Antes de a<>adir pedidos al montaje validamos el montaje por si faltasen datos
//y lo guardamos para evitar que se cancele el montaje pero los pedidos se den de alta
if Montaje.EsNuevo then
begin
Controller.Guardar(Montaje);
Montaje.Edit;
end;
try
APedidosMontajeController := (FController as IMontajesCompletoController).PedidosController;
APedidoMontaje := (Montaje as IBizMontajeCompleto).Pedidos;
APedidosMontajeController.Anadir(APedidoMontaje);
APedidoMontaje.Montaje := (Montaje as IBizMontajeCompleto);
APedidosMontajeController.Ver(APedidoMontaje);
finally
APedidosMontajeController := Nil;
APedidoMontaje := Nil;
end;
end;
procedure TfEditorMontajeCompleto.frViewPedidosMontaje1actEliminarExecute(Sender: TObject);
var
APedidosMontajeController: IPedidosMontajeController;
APedidoMontaje: IBizPedidoMontaje;
begin
try
if (Application.MessageBox('<27>Desea borrar este pedido a proveedor?', 'Atenci<63>n', MB_YESNO) = IDYES) then
begin
APedidosMontajeController := (FController as IMontajesCompletoController).PedidosController;
APedidoMontaje := (Montaje as IBizMontajeCompleto).Pedidos;
APedidosMontajeController.Eliminar(APedidoMontaje);
end;
finally
APedidosMontajeController := Nil;
APedidoMontaje := Nil;
end;
end;
procedure TfEditorMontajeCompleto.frViewPedidosMontaje1actModificarExecute(Sender: TObject);
var
APedidosMontajeController: IPedidosMontajeController;
APedidoMontaje: IBizPedidoMontaje;
begin
try
APedidosMontajeController := (FController as IMontajesCompletoController).PedidosController;
APedidoMontaje := (Montaje as IBizMontajeCompleto).Pedidos;
APedidosMontajeController.Ver(APedidoMontaje);
finally
APedidosMontajeController := Nil;
APedidoMontaje := Nil;
end;
end;
procedure TfEditorMontajeCompleto.frViewPedidosMontajeAfterSummary(ASender: TcxDataSummary);
begin
if VarIsNull(ASender.FooterSummaryValues[1])
then frViewSituacionMontaje1.pImportePedidos := 0
else frViewSituacionMontaje1.pImportePedidos := ASender.FooterSummaryValues[1];
end;
function TfEditorMontajeCompleto.GetViewDocumentos: IViewDocumentosAsociados;
begin
Result := FViewDocumentos;
end;
procedure TfEditorMontajeCompleto.JvFormStorageRestorePlacement(Sender: TObject);
var
Path: String;
begin
inherited;
Path := JvAppRegistryStorage.Root;
frViewPedidosMontaje1._FocusedView.RestoreFromRegistry(Path + '\\GridSettings\\' + frViewPedidosMontaje1.Name, False, False, []);
frViewGastosMontaje1._FocusedView.RestoreFromRegistry(Path + '\\GridSettings\\' + frViewGastosMontaje1.Name, False, False, []);
frViewCobrosMontaje1._FocusedView.RestoreFromRegistry(Path + '\\GridSettings\\' + frViewCobrosMontaje1.Name, False, False, []);
end;
procedure TfEditorMontajeCompleto.JvFormStorageSavePlacement(Sender: TObject);
var
Path: String;
begin
inherited;
Path := JvAppRegistryStorage.Root;
frViewPedidosMontaje1._FocusedView.StoreToRegistry(Path + '\\GridSettings\\' + frViewPedidosMontaje1.Name, False, []);
frViewGastosMontaje1._FocusedView.StoreToRegistry(Path + '\\GridSettings\\' + frViewGastosMontaje1.Name, False, []);
frViewCobrosMontaje1._FocusedView.StoreToRegistry(Path + '\\GridSettings\\' + frViewCobrosMontaje1.Name, False, []);
end;
procedure TfEditorMontajeCompleto.SetController(const Value: IMontajesController);
begin
inherited;
if Assigned(FController) then
begin
frViewPedidosMontaje1.Controller := (Controller as IMontajesCompletoController).PedidosController;
frViewCobrosMontaje1.Controller := (Controller as IMontajesCompletoController).CobrosController;
end;
end;
procedure TfEditorMontajeCompleto.SetMontaje(const Value: IBizMontaje);
begin
inherited;
if Assigned(FViewMontaje) then
begin
frViewGastosMontaje1.Gastos := (FMontaje as IBizMontajeCompleto).Gastos;
frViewPedidosMontaje1.Pedidos := (FMontaje as IBizMontajeCompleto).Pedidos;
frViewCobrosMontaje1.Cobros := (FMontaje as IBizMontajeCompleto).Cobros;
frViewSituacionMontaje1.dsDataTable.DataTable := dsDataTable.DataTable;
end;
//DOCUMENTOS ASOCIADOS
if Assigned(FViewDocumentos) then
if Assigned((Montaje as IBizDocumentosAsociados).GestorDocumentos) then
begin
FViewDocumentos.GestorDocumentos := (Montaje as IBizDocumentosAsociados).GestorDocumentos;
FViewDocumentos.GestorDocumentos.ModoInsert := (Montaje.DataTable.State = dsInsert);
pagPlanos.TabVisible := True;
end
else
begin
Showmessage('La ruta de documentos asociados no es accesible, se proceder<65> a desactivar la funcionalidad');
pagPlanos.TabVisible := False;
end;
end;
procedure TfEditorMontajeCompleto.SetViewDocumentos(const Value: IViewDocumentosAsociados);
begin
FViewDocumentos := Value;
if Assigned(FViewDocumentos) and Assigned(Montaje) then
if Assigned((Montaje as IBizDocumentosASociados).GestorDocumentos) then
FViewDocumentos.GestorDocumentos := (Montaje as IBizDocumentosASociados).GestorDocumentos;
end;
end.