git-svn-id: https://192.168.0.254/svn/Proyectos.ConstruccionesCNJ_FactuGES/trunk@4 6cb6b671-b4a0-dd4c-8bdc-3006503d97e9
366 lines
14 KiB
ObjectPascal
366 lines
14 KiB
ObjectPascal
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.
|