📄 tzhdateunit.pas
字号:
unit TzhDateunit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, Buttons, ComCtrls, ExtCtrls, Animate, GIFCtrl;
type
TDateTZh = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label1: TLabel;
Label2: TLabel;
MaskEdit1: TMaskEdit;
UpDown1: TUpDown;
RxGIFAnimator1: TRxGIFAnimator;
Rg: TRadioGroup;
Bevel1: TBevel;
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DateTZh: TDateTZh;
implementation
uses PassWordUnit, DataTUnit, gzdata;
{$R *.DFM}
procedure TDateTZh.FormShow(Sender: TObject);
begin
{ maskedit1.Text:=password.MaskEdit1.Text;
edit4.Text:=inttostr(strtoint(password.Edit4.text));
maskedit1.SetFocus;
datat.Table1.Open;
datat.Table4.Open;
label1.Caption:='请选择产生工资月份';
label1.Update;}
end;
procedure TDateTZh.BitBtn1Click(Sender: TObject);
var Tyear,ddd,ts,zh:string;
i:integer;
begin
//产生基本内容从xxk.dbf 中清零
IF (application.messagebox('产生基本数据吗?','提示框',mb_okcancel+mb_defbutton1+mb_iconquestion)
=idok) then
begin
datat.Table6.Close;
datat.table6.EmptyTable;
end;
datat.Table1.Open;
datat.Table4.Open;
datat.Table6.Open;
data.Query1.DisableControls;
datat.table1.DisableControls;
datat.Table4.DisableControls;
datat.Table6.DisableControls;
try
ddd:='';
ddd:=inttostr(strtoint(maskedit1.Text));
data.Query1.Close;
with data.Query1.SQL do
begin
clear;
add('select * from Tzhk');
add('where T_year='''+ddd+'''');
end;
//
data.Query1.Open;
if data.Query1.IsEmpty then
begin
ts:='';
ts:='不存在'+ddd+'数据,进行吗?';
IF (application.messagebox(PChar(ts),'提示框',mb_okcancel+mb_defbutton1+mb_iconquestion)
=idok) then
begin
screen.cursor:=crhourglass;
datat.table4.Open;
datat.table4.First;
datat.table1.Open;
datat.table1.DisableControls;
datat.Table4.DisableControls;
while not(datat.table4.eof) do
begin
// zh:=datat.table4.FieldByName('rysx').AsString;
// if (zh='在职') or (zh='停薪') then
begin
datat.table6.Append;
datat.table6.Edit;
datat.Table6.FieldByName('code').AsString:=datat.Table4.FieldByName('code').AsString;
datat.Table6.FieldByName('name').AsString:=datat.Table4.FieldByName('name').AsString;
datat.Table6.FieldByName('xmdm').AsString:=datat.Table4.FieldByName('xmdm').AsString;
datat.Table6.FieldByName('gjm').AsString:=datat.Table4.FieldByName('gjm').AsString;
datat.Table6.FieldByName('rysx').AsString:=datat.Table4.FieldByName('rysx').AsString;
datat.Table6.FieldByName('zhichenglb').AsString:=datat.Table4.FieldByName('zhichenglb').AsString;
datat.Table6.FieldByName('bmno').AsString:=datat.Table4.FieldByName('bmno').AsString;
datat.Table6.FieldByName('jgks').AsString:=datat.Table4.FieldByName('jgks').AsString;
datat.Table6.FieldByName('sex').AsString:=datat.Table4.FieldByName('sex').AsString;
{ datat.Table6.FieldByName('jb_jc').AsString:=datat.Table4.FieldByName('jb_jc').AsString;
datat.Table6.FieldByName('bz_gw').AsString:=datat.Table4.FieldByName('bz_gw').AsString;
datat.Table6.FieldByName('bz_jn').AsString:=datat.Table4.FieldByName('bz_jn').AsString;
datat.Table6.FieldByName('jt_gt').AsString:=datat.Table4.FieldByName('jt_gt').AsString;
datat.Table6.FieldByName('jt_zr').AsString:=datat.Table4.FieldByName('jt_zr').AsString;
datat.Table6.FieldByName('jt_jg').AsString:=datat.Table4.FieldByName('jt_jg').AsString;
datat.Table6.FieldByName('jt_st').AsString:=datat.Table4.FieldByName('jt_st').AsString;
datat.Table6.FieldByName('jt_kl').AsString:=datat.Table4.FieldByName('jt_kl').AsString;
datat.Table6.FieldByName('jt_jh').AsString:=datat.Table4.FieldByName('jt_jh').AsString;
datat.Table6.FieldByName('jt_gat').AsString:=datat.Table4.FieldByName('jt_gat').AsString;
datat.Table6.FieldByName('jt_7x').AsString:=datat.Table4.FieldByName('jt_7x').AsString;
datat.Table6.FieldByName('jt_ly').AsString:=datat.Table4.FieldByName('jt_ly').AsString;
datat.Table6.FieldByName('jt_lc').AsString:=datat.Table4.FieldByName('jt_lc').AsString;
datat.Table6.FieldByName('jt_lj').AsString:=datat.Table4.FieldByName('jt_lj').AsString;
datat.Table6.FieldByName('jt_b9').AsString:=datat.Table4.FieldByName('jt_b9').AsString;
datat.Table6.FieldByName('jt_hz').AsString:=datat.Table4.FieldByName('jt_hz').AsString;
datat.Table6.FieldByName('jt_ft').AsString:=datat.Table4.FieldByName('jt_ft').AsString;
datat.Table6.FieldByName('jt_qt').AsString:=datat.Table4.FieldByName('jt_qt').AsString;
datat.Table6.FieldByName('fg_bj').AsString:=datat.Table4.FieldByName('fg_bj').AsString;
datat.Table6.FieldByName('kk_yl').AsString:=datat.Table4.FieldByName('kk_yl').AsString;
datat.Table6.FieldByName('kk_gj').AsString:=datat.Table4.FieldByName('kk_gj').AsString;
datat.Table6.FieldByName('riqi').AsString:=ddd;}
{ for k:=0 to datat.table4.FieldCount-1 do
begin
datat.Table6.Fields[k].assign(datat.table4.Fields[k]);
datat.Table6.FieldByName('riqi').AsString:=ddd;
end;}
datat.Table6.Post;
end;//pandan end
label1.Caption:=datat.Table4.FieldByName('Name').AsString+'正在转换.....';
label1.Update;
datat.table4.Next;
end;//while end
end;//if ok end;
end;
//基本信息传送完毕
//产生台帐
for i:=1 to 12 do
begin
tyear:='';
tyear:=ddd+'-'+IntToStr(i);
data.Query1.Close;
with data.Query1.SQL do
begin
clear;
add('select * from lyk');
add('where riqi='''+tyear+'''');
end;
data.query1.Open;
//进行实质性的工作
if not (data.Query1.IsEmpty) then
begin
with datat.Table6 do
begin
Open;
First;
while not eof do
begin
zh:=FieldByName('code').AsString;
if (data.query1.Locate('code;riqi',vararrayof([zh,Tyear]),[])) then
// locate('code;pc',vararrayof([cod,po]),[]) then
begin
edit;
{ if (data.query1.FieldByName('yf').asfloat-data.query1.FieldByName('jl_jj').asfloat
-data.query1.FieldByName('jl_ce').asfloat
-data.query1.FieldByName('jl_qt').asfloat)= data.query1.FieldByName('yf').asfloat then
begin}
case rg.ItemIndex of
0:begin
FieldByName('gz'+IntToStr(i)).asfloat:=data.Query1.FieldByName('yf').asfloat
-data.query1.FieldByName('fg_wc').asfloat
-data.query1.FieldByName('fg_bj').asfloat
-data.query1.FieldByName('jl_jj').asfloat
-data.query1.FieldByName('jl_ce').asfloat
-data.query1.FieldByName('jl_qt').asfloat;
end;
1:begin
FieldByName('gz'+IntToStr(i)).asfloat:=data.Query1.FieldByName('yf').asfloat
-data.query1.FieldByName('fg_wc').asfloat
-data.query1.FieldByName('fg_bj').asfloat;
end;
end; //-data.query1.FieldByName('jl_jj').asfloat
//-data.query1.FieldByName('jl_ce').asfloat
//-data.query1.FieldByName('jl_qt').asfloat;
{ end
else
begin
FieldByName('gz'+IntToStr(i)).asfloat:=data.Query1.FieldByName('yf').asfloat
-data.query1.FieldByName('fg_wc').asfloat
-data.query1.FieldByName('fg_bj').asfloat
-data.query1.FieldByName('jl_jj').asfloat
-data.query1.FieldByName('jl_ce').asfloat
-data.query1.FieldByName('jl_qt').asfloat;
end;}
FieldByName('jj'+IntToStr(i)).asfloat:=data.query1.FieldByName('jl_jj').asfloat
+data.query1.FieldByName('jl_ce').asfloat
+data.query1.FieldByName('jl_qt').asfloat;
FieldByName('wc'+IntToStr(i)).asfloat:=data.query1.FieldByName('fg_wc').asfloat;
FieldByName('T_year').asstring:=ddd;
post;
label1.Caption:=tyear+FieldByName('Name').AsString+'正在转换.....';
label1.Update;
end; //locate
Next;
end;//eof
end; //with t6
end; //emp
label1.Caption:='转换完毕,请退出!!!';
// ShowMessage(IntToStr(i));
end;//for i
//产生台帐end
//计算合计数
with datat.Table6 do
begin
Open;
First;
while not eof do
begin
edit;
FieldByName('gzze').asfloat:=0;
FieldByName('jjze').asfloat:=0;
FieldByName('wcze').asfloat:=0;
for i:=1 to 12 do
begin
FieldByName('gzze').asfloat:=FieldByName('gzze').asfloat+FieldByName('gz'+IntToStr(i)).asfloat;
FieldByName('jjze').asfloat:=FieldByName('jjze').asfloat+FieldByName('jj'+IntToStr(i)).asfloat;
FieldByName('wcze').asfloat:=FieldByName('wcze').asfloat+FieldByName('wc'+IntToStr(i)).asfloat;
end;
FieldByName('hj').asfloat:=FieldByName('gzze').asfloat+FieldByName('jjze').asfloat+FieldByName('wcze').asfloat;
post;
Next;
label1.Caption:=FieldByName('Name').AsString+'正在计算合计数.....';
label1.Update;
end;
end;
{ if not(data.Query1.IsEmpty) then
begin
ts:='';
ts:=ddd+'年 已有 <纪录>'+floattostr(data.Query1.RecordCount)+'个'+',请不要进行!';
application.messagebox(pchar(ts),'消息框',mb_ok+mb_iconstop);
abort;
end;}
finally
label1.Caption:='转换完毕,请退出!!!';
data.Query1.EnableControls;
datat.Table1.EnableControls;
datat.Table4.EnableControls;
datat.Table6.EnableControls;
datat.Table1.Close;
datat.Table4.close;
datat.Table6.Close;
data.Query1.Close;
screen.cursor:=crdefault;
label1.Caption:='请选择产生工资月份';
end;
label1.Caption:='转换完毕,请退出!!!';
data.Query1.EnableControls;
datat.Table1.EnableControls;
datat.Table4.EnableControls;
datat.Table6.EnableControls;
datat.Table1.Close;
datat.Table4.close;
datat.Table6.Close;
data.Query1.Close;
screen.cursor:=crdefault;
label1.Caption:='请选择产生台帐年度';
bitbtn1.Enabled:=false;
end;
procedure TDateTZh.BitBtn2Click(Sender: TObject);
begin
Close;
end;
procedure TDateTZh.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
datat.Table1.Close;
datat.Table4.close;
datat.Table6.Close;
data.Query1.Close;
end;
procedure TDateTZh.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #27 then Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -