AcertoCAGED
AcertoCAGED
#include <vcl.h>
#pragma hdrstop
#include "AcertoCAGED.h"
#include "Functions.h"
#include "FunctionsConsulta.h"
#include "DMCadastro.h"
#include "DMConsulta.h"
#include "DMFolha.h"
#include "DMFuncionario.h"
#include "DMReciboPagamento.h"
#include "Parametros.h"
#include "LEMan.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "LEditInteger"
#pragma link "LMaskEdit"
#pragma link "LDBGrid"
#pragma link "LProgressBar"
#pragma link "LCheckBox"
#pragma link "LClientDataSet"
#pragma link "LDataSetProvider"
#pragma link "LSQLDataSet"
#pragma resource "*.dfm"
TFmAcertoCAGED *FmAcertoCAGED;
//---------------------------------------------------------------------------
__fastcall TFmAcertoCAGED::TFmAcertoCAGED(TComponent* Owner): TForm(Owner)
{
EditEmpresa->Text = DM->EstabelecimentoCodigo->Text;
LbCompetencia->Caption = Competencia.NomeMesAno;
/*
unsigned short parMes = Competencia.Mes;
unsigned short parAno = Competencia.Ano;
Edit->Text = DM->DirectoryCAGED;
}
//---------------------------------------------------------------------------
void __fastcall TFmAcertoCAGED::EditEmpresaDblClick(TObject *Sender)
{
F1Empresa(EditEmpresa);
}
//---------------------------------------------------------------------------
void __fastcall TFmAcertoCAGED::EditEmpresaExit(TObject *Sender)
{
if( ! DM->Estabelecimento->ChkCod( EditEmpresa->AsInteger ) )
{
EditEmpresa->SetFocus();
return;
}
}
//---------------------------------------------------------------------------
void __fastcall TFmAcertoCAGED::PnEmpresaExit(TObject *Sender)
{
Fun->OnNewRecord = NULL;
Fun->OnNewRecord = FunNewRecord;
}
//---------------------------------------------------------------------------
void __fastcall TFmAcertoCAGED::BtnProcessarClick(TObject *Sender)
{
Edit->Text = DM->DirectoryCAGED;
try
{
Screen->Cursor = crHourGlass;
String ccc;
double remuneracao;
TDate dtInicio, dtFinal;
int sequencial = 0;
int tRegistroB = 0;
int tRegistroX = 0;
char tipoccc;
char tipoAlteracao;
Edit->Text = fileCAGED;
Edit->SelectAll();
Edit->CopyToClipboard();
file->CreateW();
if( ! file->IsOpen() )
throw Exception("Erro de grava��o do CAGED");
remuneracao = 0.;
dtInicio = FunDtAdmissao->AsDateTime;
dtFinal = FunDtRescisao->AsDateTime;
//------ Admiss�o
if( ::Right( ::DDMMAAAA(FunDtAdmissao->AsDateTime), 6 ) ==
Competencia.MesAno )
CagedRegistroX( file, ccc, tipoccc, tipoAlteracao, true,
remuneracao, sequencial, tRegistroX );
file->Seek( 138 );
file->Write( ::StrZero( tRegistroB, 5 ) );
file->Write( ::StrZero( tRegistroX, 5 ) );
file->Close();
Screen->Cursor = crDefault;
SetCurrentDir(dirOLD);
}
}
//---------------------------------------------------------------------------
void __fastcall TFmAcertoCAGED::CagedRegistroX( LFile* file, String ccc, char
tipoccc, char tipoAlteracao, bool isAdmissao, double vrSalarioContratual, int&
sequencial, int& tRegistroX )
{
//--------------------- Registro Tipo X Acerto
tRegistroX++;
file->Write( "X");
file->Write( tipoccc );
file->Write( ::Left(ccc, 14) );
file->Write( ::StrZero( ++sequencial, 5 ) );
file->Write( ::Left( FunPISPASEP->Text, 11) );
file->Write( ::Left( FunSexo->Text, 1 ) );
file->Write( ::DDMMAAAA( FunDtNascimento->AsDateTime ) );
file->Write( ::Left( FunGrauInstrucao->Text, 2 ) );
file->Write( ::Space(4) );
file->Write( ::String100(vrSalarioContratual, 8 ) );
file->Write( ::Left(FunHORASSEMANA->Text, 2) );
if( isAdmissao )
{
file->Write( ::Left(FunAdmissaoCAGED->AsString, 2) );
file->Write( "99" );
}
else
{
file->Write( ::Left(FunRescisaoCAGED->AsString, 2) );
file->Write( ::StrZero( ::Day( FunDtRescisao->AsDateTime ), 2 ) );
}
file->Write( ::Left(FunNome->Text,40) );
file->Write( ::Right(::AllTrim(FunNCTPS->Text), 8) );
file->Write( ::Right(FunSCTPS->Text, 4) );
file->Write( tipoAlteracao );
file->Write( Competencia.MesAno );
file->Write( ::Left(FunCor->Text,1) );
file->Write( ::Left(FunCBO2002->Text, 6 ) );
file->Write( ::Left(FunUFCTPS->Text, 2) );
file->Write( ::Left(FunCPF->Text,11) );
file->Write( ::Left(FunCEP->Text,8) );
file->Write( ::Space(10));
file->Put(13);
file->Put(10);
//--------------------- Fim Registro Tipo X
}
//---------------------------------------------------------------------------
void __fastcall TFmAcertoCAGED::FunNewRecord(TDataSet *DataSet)
{
Fun->Cancel();
}
//---------------------------------------------------------------------------
void __fastcall TFmAcertoCAGED::FormKeyUp(TObject *Sender, WORD &Key, TShiftState
Shift)
{
if(Key == VK_F8)
{
Fun->Close();
PnEmpresa->Enabled = true;
EditEmpresa->SetFocus();
}
else if (Key == VK_ESCAPE)
{
Close();
}
}
//---------------------------------------------------------------------------