📄 dateprevshjunit.pas
字号:
unit DatePrevShjunit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, Buttons, ComCtrls, ExtCtrls, Animate, GIFCtrl, Grids,
DBGrids;
type
TDataPrevShj = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label1: TLabel;
MaskEdit1: TMaskEdit;
UpDown1: TUpDown;
Label2: TLabel;
Edit4: TEdit;
UpDown2: TUpDown;
Label3: TLabel;
RxGIFAnimator1: TRxGIFAnimator;
Bevel1: TBevel;
Label4: TLabel;
BitBtn3: TBitBtn;
jjcheck: TCheckBox;
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataPrevShj: TDataPrevShj;
implementation
uses gzdata, PassWordUnit, GzKqSrUnit, KqDayUnit;
{$R *.DFM}
procedure TDataPrevShj.FormShow(Sender: TObject);
begin
maskedit1.Text:=password.MaskEdit1.Text;
edit4.Text:=inttostr(strtoint(password.Edit4.text));
maskedit1.SetFocus;
end;
procedure TDataPrevShj.BitBtn1Click(Sender: TObject);
var ddd,ts:string;
shj:real;
begin
ddd:='';
ddd:=inttostr(strtoint(maskedit1.Text))+'-'+inttostr(strtoint(edit4.Text));
data.Query1.Close;
with data.Query1.SQL do
begin
clear;
add('select * from lyk');
add('where riqi='''+ddd+'''');
end;
data.Query1.Open;
if data.Query1.IsEmpty then
begin
ts:='';
ts:='不存在'+ddd+'数据,请重新选择日期或重新产生本月数据';
application.MessageBox(pchar(ts),'提示',mb_ok+mb_iconinformation);
abort;
end;
data.Query1.Close;
with data.Query1.SQL do
begin
clear;
add('select sum(zjsjhj) from lyk');
add('where riqi='''+ddd+'''');
end;
data.Query1.Open;
if data.Query1.IsEmpty then
begin
ts:='';
ts:='不存在'+ddd+'数据,请重新选择日期或重新产生本月数据';
application.MessageBox(pchar(ts),'提示',mb_ok+mb_iconinformation);
abort;
end
else
begin
ts:='';
if (data.Query1.fields[0].asfloat>=0) then
begin
ts:=ddd+'月 已有税金'+floattostr(data.Query1.fields[0].asfloat)+'元,继续进行吗?';
IF (application.messagebox(pchar(ts),'消息框',mb_okcancel+mb_defbutton1+mb_iconquestion)
=idok) then
begin
//产上月月税金
data.Query1.DisableControls;
data.Query1.Close;
with data.Query1.SQL do
begin
clear;
add('select * from lyk');
add('where riqi='''+ddd+'''');
end;
data.Query1.Open;
with data.query1 do
begin
first;
while not eof do
begin
edit;
if jjcheck.Checked then
begin
shj:=fieldbyname('yf').asfloat
-fieldbyname('kk_yl').asfloat-fieldbyname('kk_gj').asfloat
-fieldbyname('kk_qt1').asfloat-fieldbyname('kk_qt2').asfloat
-fieldbyname('fg_bj').asfloat-fieldbyname('fg_wc').asfloat-880;
end
else
begin
shj:=fieldbyname('yf').asfloat+fieldbyname('jl_jj').asfloat
+fieldbyname('jl_ce').asfloat+fieldbyname('jl_qt').asfloat
-fieldbyname('kk_yl').asfloat-fieldbyname('kk_gj').asfloat
-fieldbyname('kk_qt1').asfloat-fieldbyname('kk_qt2').asfloat
-fieldbyname('fg_bj').asfloat-fieldbyname('fg_wc').asfloat-880;
end;
fieldbyname('zjsjhj').asfloat:=0;
if (shj<=500) and (shj>0) then
begin
fieldbyname('zjsjhj').asfloat:=round(shj*0.05*100)/100;
end;
if (shj>500) and (shj<=2000) then
begin
fieldbyname('zjsjhj').asfloat:=round(((shj*0.1)-25)*100)/100;
end;
if (shj>2000) and (shj<=5000) then
begin
fieldbyname('zjsjhj').asfloat:=round(((shj*0.15)-125)*100)/100;
end;
if (shj>5000) then
begin
fieldbyname('zjsjhj').asfloat:=round(((shj*0.20)-375)*100)/100;
end;
if fieldbyname('zjqt5').asfloat=0 then
begin
fieldbyname('zjsjhj').asfloat:=0;
end;
post;
next;
end;
end;
application.MessageBox(pchar('税金计算完毕!!!'),'提示',mb_ok+mb_iconinformation);
data.Query1.EnableControls;
data.query1.close;
end
else
abort;
end;
end;
end;
procedure TDataPrevShj.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #27 then Close;
end;
procedure TDataPrevShj.BitBtn3Click(Sender: TObject);
var
a,shjrq1,shjrq2:string;
begin
shjrq1:='2001-9';//kqday.MaskEdit1.Text+'-'+kqday.Edit4.Text;
shjrq2:='2001-11';//kqday.MaskEdit2.Text+'-'+kqday.Edit3.Text;
data.Query1.Close;
// with data.Query3.SQL do
begin
data.Query1.SQL.clear;
data.Query1.SQL.add('select lyk."code",sum(lyk."zjqt3") from lyk.dbf lyk');
data.Query1.SQL.add('where lyk."riqi">='''+shjrq2+''' and lyk."riqi"<='''+shjrq1+'''');
data.Query1.SQL.add('group by lyk."code"');
end;
a:=data.query1.SQL.Text;
showmessage(a);
data.Query1.open;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -