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

📄 tzhdateunit.pas

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