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.
|