git-svn-id: https://192.168.0.254/svn/Proyectos.Varela_PuntosVenta/trunk@2 1c943782-d109-9647-9548-93b3ac332352
345 lines
9.7 KiB
ObjectPascal
345 lines
9.7 KiB
ObjectPascal
unit uAsistenteCargaFicheros;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, JvWizard, JvExControls, JvComponent, StdCtrls, cxControls,
|
|
cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxSpinEdit,
|
|
cxGraphics, cxDropDownEdit, Mask, JvExMask, JvToolEdit, cxGroupBox,
|
|
ComCtrls, uROClient, SyncObjs, VARELA_Intf,
|
|
uROServiceComponent, uRORemoteService, uDataModuleBase, pngimage,
|
|
ExtCtrls, JvExComCtrls, JvAnimate;
|
|
|
|
type
|
|
TfAsistenteCargaFicheros = class(TForm)
|
|
JvWizard1: TJvWizard;
|
|
JvWizardWelcomePage1: TJvWizardWelcomePage;
|
|
Label1: TLabel;
|
|
pageRutas: TJvWizardInteriorPage;
|
|
Label3: TLabel;
|
|
pagFinal: TJvWizardWelcomePage;
|
|
lblFinalizar: TLabel;
|
|
cbVentas: TCheckBox;
|
|
cbInventario: TCheckBox;
|
|
Label2: TLabel;
|
|
Label4: TLabel;
|
|
Label5: TLabel;
|
|
edtCABVEN: TJvFilenameEdit;
|
|
edtLUGVEN: TJvFilenameEdit;
|
|
edtARTVEN: TJvFilenameEdit;
|
|
cxGroupBox1: TcxGroupBox;
|
|
cxGroupBox2: TcxGroupBox;
|
|
Label8: TLabel;
|
|
Label9: TLabel;
|
|
Label10: TLabel;
|
|
JvFilenameEdit1: TJvFilenameEdit;
|
|
JvFilenameEdit2: TJvFilenameEdit;
|
|
JvFilenameEdit3: TJvFilenameEdit;
|
|
Label7: TLabel;
|
|
Label11: TLabel;
|
|
Label12: TLabel;
|
|
Label13: TLabel;
|
|
pbarCABVEN: TProgressBar;
|
|
pbarLUGVEN: TProgressBar;
|
|
pbarARTVEN: TProgressBar;
|
|
RORemoteService: TRORemoteService;
|
|
imgOK1: TImage;
|
|
imgOK2: TImage;
|
|
imgOK3: TImage;
|
|
Bevel1: TBevel;
|
|
imgBAD1: TImage;
|
|
imgBAD2: TImage;
|
|
imgBAD3: TImage;
|
|
imgOK4: TImage;
|
|
imgBAD4: TImage;
|
|
lblError: TLabel;
|
|
JvAnimate1: TJvAnimate;
|
|
bCargar: TButton;
|
|
procedure JvWizard1FinishButtonClick(Sender: TObject);
|
|
procedure cbVentasClick(Sender: TObject);
|
|
procedure edtCABVENChange(Sender: TObject);
|
|
procedure edtLUGVENChange(Sender: TObject);
|
|
procedure edtARTVENChange(Sender: TObject);
|
|
procedure pagFinalEnterPage(Sender: TObject;
|
|
const FromPage: TJvWizardCustomPage);
|
|
procedure bCargarClick(Sender: TObject);
|
|
procedure pagFinalPage(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
FCritical: TCriticalSection;
|
|
FFileService: IsrvTransfereciaFicheros;
|
|
procedure ActualizarBotonesNav;
|
|
procedure OnUploadAborted(Sender: TObject);
|
|
procedure OnUploadError(Sender: TObject);
|
|
procedure OnUploadFinished(Sender: TObject);
|
|
procedure OnUploadProgress(Sender: TObject);
|
|
procedure OnUploadStarted(Sender: TObject);
|
|
procedure OnLoadSuccess(Sender: TObject);
|
|
procedure OnLoadError(Sender : TObject);
|
|
procedure CargarFicherosEDI;
|
|
procedure SubirFicheros;
|
|
public
|
|
constructor Create(AOwner: TComponent); override;
|
|
destructor Destroy; override;
|
|
end;
|
|
|
|
procedure VerAsistenteEtiquetasMontajes;
|
|
|
|
implementation
|
|
|
|
uses
|
|
uSubirFicheros, uCargarFicheros;
|
|
|
|
{$R *.dfm}
|
|
|
|
procedure VerAsistenteEtiquetasMontajes;
|
|
var
|
|
fAsistenteCargaFicheros: TfAsistenteCargaFicheros;
|
|
begin
|
|
with TfAsistenteCargaFicheros.Create(NIL) do
|
|
try
|
|
ShowModal;
|
|
finally
|
|
Free;
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TfAsistenteCargaFicheros.JvWizard1FinishButtonClick(
|
|
Sender: TObject);
|
|
begin
|
|
Close;
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.cbVentasClick(Sender: TObject);
|
|
begin
|
|
edtCABVEN.Enabled := (Sender as TCheckBox).Checked;
|
|
edtLUGVEN.Enabled := (Sender as TCheckBox).Checked;
|
|
edtARTVEN.Enabled := (Sender as TCheckBox).Checked;
|
|
ActualizarBotonesNav;
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.ActualizarBotonesNav;
|
|
var
|
|
bActivarNext : Boolean;
|
|
begin
|
|
bActivarNext := True;
|
|
if JvWizard1.ActivePageIndex = 1 then // Rutas de ficheros
|
|
begin
|
|
bActivarNext := bActivarNext and (cbVentas.Checked or cbInventario.Checked);
|
|
|
|
bActivarNext := bActivarNext and
|
|
((Length(edtCABVEN.Text) > 0) and
|
|
(Length(edtLUGVEN.Text) > 0) and
|
|
(Length(edtARTVEN.Text) > 0));
|
|
pageRutas.EnableButton(bkNext, bActivarNext);
|
|
end;
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.edtCABVENChange(Sender: TObject);
|
|
begin
|
|
ActualizarBotonesNav;
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.edtLUGVENChange(Sender: TObject);
|
|
begin
|
|
ActualizarBotonesNav;
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.edtARTVENChange(Sender: TObject);
|
|
begin
|
|
ActualizarBotonesNav;
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.OnUploadAborted(Sender: TObject);
|
|
begin
|
|
fCritical.Enter;
|
|
with Sender as TSubirFicheroThread do
|
|
try
|
|
if Pos(FileName, edtCABVEN.Text) > 0 then
|
|
imgBAD1.Visible := True;
|
|
if Pos(FileName, edtLUGVEN.Text) > 0 then
|
|
imgBAD2.Visible := True;
|
|
if Pos(FileName, edtARTVEN.Text) > 0 then
|
|
imgBAD3.Visible := True;
|
|
finally
|
|
fCritical.Leave;
|
|
end;
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.OnUploadError(Sender: TObject);
|
|
begin
|
|
fCritical.Enter;
|
|
with Sender as TSubirFicheroThread do
|
|
try
|
|
if Pos(FileName, edtCABVEN.Text) > 0 then
|
|
imgBAD1.Visible := True;
|
|
if Pos(FileName, edtLUGVEN.Text) > 0 then
|
|
imgBAD2.Visible := True;
|
|
if Pos(FileName, edtARTVEN.Text) > 0 then
|
|
imgBAD3.Visible := True;
|
|
finally
|
|
fCritical.Leave;
|
|
end;
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.OnUploadFinished(Sender: TObject);
|
|
begin
|
|
fCritical.Enter;
|
|
with Sender as TSubirFicheroThread do
|
|
try
|
|
if UploadOK then
|
|
begin
|
|
if Pos(FileName, edtCABVEN.Text) > 0 then
|
|
imgOK1.Visible := True;
|
|
if Pos(FileName, edtLUGVEN.Text) > 0 then
|
|
imgOK2.Visible := True;
|
|
if Pos(FileName, edtARTVEN.Text) > 0 then
|
|
imgOK3.Visible := True;
|
|
end;
|
|
finally
|
|
fCritical.Leave;
|
|
end;
|
|
if imgOK1.Visible and imgOK2.Visible and imgOK3.Visible then
|
|
bCargar.Enabled := True;
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.OnUploadProgress(Sender: TObject);
|
|
begin
|
|
FCritical.Enter;
|
|
try
|
|
with Sender as TSubirFicheroThread do
|
|
begin
|
|
if Pos(FileName, edtCABVEN.Text) > 0 then
|
|
pbarCABVEN.Position := CurrentBytePos;
|
|
if Pos(FileName, edtLUGVEN.Text) > 0 then
|
|
pbarLUGVEN.Position := CurrentBytePos;
|
|
if Pos(FileName, edtARTVEN.Text) > 0 then
|
|
pbarARTVEN.Position := CurrentBytePos;
|
|
end;
|
|
finally
|
|
fCritical.Leave;
|
|
end;
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.OnUploadStarted(Sender: TObject);
|
|
begin
|
|
FCritical.Enter;
|
|
with Sender as TSubirFicheroThread do
|
|
try
|
|
if Pos(FileName, edtCABVEN.Text) > 0 then
|
|
pbarCABVEN.Max := FileSize;
|
|
if Pos(FileName, edtLUGVEN.Text) > 0 then
|
|
pbarLUGVEN.Max := FileSize;
|
|
if Pos(FileName, edtARTVEN.Text) > 0 then
|
|
pbarARTVEN.Max := FileSize;
|
|
finally
|
|
FCritical.Leave;
|
|
end;
|
|
end;
|
|
|
|
constructor TfAsistenteCargaFicheros.Create(AOwner: TComponent);
|
|
begin
|
|
inherited;
|
|
FCritical := TCriticalSection.create;
|
|
FFileService := RORemoteService as IsrvTransfereciaFicheros;
|
|
end;
|
|
|
|
destructor TfAsistenteCargaFicheros.Destroy;
|
|
begin
|
|
FFileService := nil;
|
|
FCritical.Free;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.pagFinalEnterPage(
|
|
Sender: TObject; const FromPage: TJvWizardCustomPage);
|
|
begin
|
|
SubirFicheros;
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.CargarFicherosEDI;
|
|
begin
|
|
JvAnimate1.Visible := True;
|
|
JvAnimate1.Active := True;
|
|
Label13.Visible := True;
|
|
pagFinal.EnableButton(bkBack, False);
|
|
pagFinal.EnableButton(bkCancel, False);
|
|
imgBAD4.Visible := False;
|
|
imgOK4.Visible := False;
|
|
lblError.Visible := False;
|
|
|
|
TCargarVentasThread.Create(ExtractFileName(edtCABVEN.Text), ExtractFileName(edtLUGVEN.Text),
|
|
ExtractFileName(edtARTVEN.Text), OnLoadSuccess, OnLoadError);
|
|
|
|
{ TCargarInventarioThread.Create(ExtractFileName(edtCABVEN.Text), ExtractFileName(edtLUGVEN.Text),
|
|
ExtractFileName(edtARTVEN.Text), OnLoadSuccess, OnLoadError);}
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.SubirFicheros;
|
|
begin
|
|
TSubirFicheroThread.Create(edtCABVEN.Text, OnUploadStarted, OnUploadProgress,
|
|
OnUploadFinished, OnUploadAborted, OnUploadError);
|
|
|
|
TSubirFicheroThread.Create(edtLUGVEN.Text, OnUploadStarted, OnUploadProgress,
|
|
OnUploadFinished, OnUploadAborted, OnUploadError);
|
|
|
|
TSubirFicheroThread.Create(edtARTVEN.Text, OnUploadStarted, OnUploadProgress,
|
|
OnUploadFinished, OnUploadAborted, OnUploadError);
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.OnLoadError(Sender: TObject);
|
|
begin
|
|
JvAnimate1.Visible := False;
|
|
JvAnimate1.Active := False;
|
|
imgBAD4.Visible := True;
|
|
lblError.Caption := (Sender as TCargarFicherosThread).ErrorText;
|
|
lblError.Visible := True;
|
|
pagFinal.EnableButton(bkBack, True);
|
|
pagFinal.EnableButton(bkCancel, True);
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.OnLoadSuccess(Sender: TObject);
|
|
begin
|
|
Beep;
|
|
JvAnimate1.Visible := False;
|
|
JvAnimate1.Active := False;
|
|
imgOK4.Visible := True;
|
|
Label13.Caption := 'Ficheros cargados correctamente';
|
|
lblFinalizar.Visible := True;
|
|
pagFinal.EnableButton(bkFinish, True);
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.bCargarClick(Sender: TObject);
|
|
begin
|
|
bCargar.Enabled := False;
|
|
CargarFicherosEDI;
|
|
end;
|
|
|
|
procedure TfAsistenteCargaFicheros.pagFinalPage(Sender: TObject);
|
|
begin
|
|
bCargar.Enabled := False;
|
|
imgOK1.Visible := False;
|
|
imgOK2.Visible := False;
|
|
imgOK3.Visible := False;
|
|
imgOK4.Visible := False;
|
|
imgBAD1.Visible := False;
|
|
imgBAD2.Visible := False;
|
|
imgBAD3.Visible := False;
|
|
imgBAD4.Visible := False;
|
|
pbarCABVEN.Position := 0;
|
|
pbarLUGVEN.Position := 0;
|
|
pbarARTVEN.Position := 0;
|
|
JvAnimate1.Visible := False;
|
|
lblFinalizar.Visible := False;
|
|
lblError.Visible := False;
|
|
Label13.Visible := False;
|
|
Label13.Caption := 'Cargando datos desde los ficheros...';
|
|
pagFinal.EnableButton(bkBack, True);
|
|
pagFinal.EnableButton(bkCancel, True);
|
|
pagFinal.EnableButton(bkFinish, False);
|
|
end;
|
|
|
|
end.
|