⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dateprevshjunit.pas

📁 工资管理系统
💻 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 + -