unit6.pas

来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 409 行

PAS
409
字号
unit Unit6;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ppVar, Db, ADODB, ppBands, ppModule, raCodMod, ppClass, ppCtrls,
  ppPrnabl, ppCache, ppProd, ppReport, ppDB, ppComm, ppRelatv, ppDBPipe,
  ppDBBDE, Mask, StdCtrls;

type
  TForm6 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    GroupBox1: TGroupBox;
    Label3: TLabel;
    RadioButton4: TRadioButton;
    RadioButton5: TRadioButton;
    RadioButton6: TRadioButton;
    Edit1: TEdit;
    Edit2: TEdit;
    ComboBox1: TComboBox;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    RadioButton1: TRadioButton;
    MaskEdit2: TMaskEdit;
    MaskEdit3: TMaskEdit;
    RadioButton2: TRadioButton;
    MaskEdit1: TMaskEdit;
    MaskEdit5: TMaskEdit;
    MaskEdit4: TMaskEdit;
    RadioButton3: TRadioButton;
    DataSource1: TDataSource;
    ppBDEPipeline1: TppBDEPipeline;
    DataSource2: TDataSource;
    ppBDEPipeline2: TppBDEPipeline;
    ppReport2: TppReport;
    ppReport3: TppReport;
    ppHeaderBand1: TppHeaderBand;
    ppLine1: TppLine;
    ppLabel2: TppLabel;
    ppLabel3: TppLabel;
    ppLabel4: TppLabel;
    ppLabel5: TppLabel;
    ppLabel1: TppLabel;
    ppColumnHeaderBand1: TppColumnHeaderBand;
    ppDetailBand1: TppDetailBand;
    ppDBText1: TppDBText;
    ppDBText2: TppDBText;
    ppDBText3: TppDBText;
    ppDBText4: TppDBText;
    ppColumnFooterBand1: TppColumnFooterBand;
    ppFooterBand1: TppFooterBand;
    ppLine2: TppLine;
    ppSystemVariable1: TppSystemVariable;
    ppSystemVariable2: TppSystemVariable;
    ADODataSet1: TADODataSet;
    ADODataSet1setno: TStringField;
    ADODataSet1goodnum: TBCDField;
    ADODataSet1ngnum: TBCDField;
    ADODataSet1factmoney: TBCDField;
    DataSource3: TDataSource;
    ppBDEPipeline3: TppBDEPipeline;
    ppReport4: TppReport;
    ppHeaderBand4: TppHeaderBand;
    ppLabel27: TppLabel;
    ppLabel28: TppLabel;
    ppLabel29: TppLabel;
    ppLabel30: TppLabel;
    ppLabel31: TppLabel;
    ppLabel32: TppLabel;
    ppLabel33: TppLabel;
    ppLabel34: TppLabel;
    ppLabel35: TppLabel;
    ppLine5: TppLine;
    ppLine6: TppLine;
    ppDetailBand4: TppDetailBand;
    ppDBText10: TppDBText;
    ppDBText11: TppDBText;
    ppDBText12: TppDBText;
    ppDBText13: TppDBText;
    ppFooterBand4: TppFooterBand;
    ppLabel36: TppLabel;
    ppDBCalc4: TppDBCalc;
    ppDBCalc5: TppDBCalc;
    ppDBCalc6: TppDBCalc;
    ppVariable3: TppVariable;
    ppVariable4: TppVariable;
    raCodeModule2: TraCodeModule;
    ADOQuery2: TADODataSet;
    ADOQuery1: TADODataSet;
    ppReport1: TppReport;
    ppHeaderBand3: TppHeaderBand;
    ppLabel6: TppLabel;
    ppLabel7: TppLabel;
    ppLabel8: TppLabel;
    ppLabel9: TppLabel;
    ppLabel10: TppLabel;
    ppLabel12: TppLabel;
    ppLabel13: TppLabel;
    ppSystemVariable3: TppSystemVariable;
    ppLabel14: TppLabel;
    ppLabel15: TppLabel;
    ppLine3: TppLine;
    ppDetailBand3: TppDetailBand;
    ppDBText5: TppDBText;
    ppDBText6: TppDBText;
    ppDBText7: TppDBText;
    ppDBText8: TppDBText;
    ppDBText9: TppDBText;
    ppGroup4: TppGroup;
    ppGroupHeaderBand4: TppGroupHeaderBand;
    ppGroupFooterBand4: TppGroupFooterBand;
    ppDBCalc7: TppDBCalc;
    ppLabel11: TppLabel;
    ppLine4: TppLine;
    ADOQuery2workno: TStringField;
    ADOQuery2cardno: TStringField;
    ADOQuery2name: TStringField;
    ADOQuery2dept: TStringField;
    ADOQuery2money: TBCDField;
    ADOQuery2procprice: TBCDField;
    ADOQuery2hours: TBCDField;
    ADOQuery2returnrq: TDateTimeField;
    ADOQuery2operator: TStringField;
    ADOQuery2cdate: TDateTimeField;
    ppHeaderBand2: TppHeaderBand;
    ppLine11: TppLine;
    ppLabel86: TppLabel;
    ppLabel87: TppLabel;
    ppLabel88: TppLabel;
    ppLabel94: TppLabel;
    ppLabel96: TppLabel;
    ppLabel97: TppLabel;
    ppLabel99: TppLabel;
    ppLabel100: TppLabel;
    ppSystemVariable12: TppSystemVariable;
    ppLabel23: TppLabel;
    ppLabel24: TppLabel;
    ppLabel25: TppLabel;
    ppLabel26: TppLabel;
    ppLabel20: TppLabel;
    ppDetailBand2: TppDetailBand;
    ppDBText80: TppDBText;
    ppDBText81: TppDBText;
    ppDBText83: TppDBText;
    ppDBText84: TppDBText;
    ppDBText85: TppDBText;
    ppDBText86: TppDBText;
    ppDBText88: TppDBText;
    ppDBText89: TppDBText;
    ppDBText14: TppDBText;
    ppSummaryBand1: TppSummaryBand;
    ppSystemVariable11: TppSystemVariable;
    ppLabel16: TppLabel;
    ppLabel17: TppLabel;
    ppLabel18: TppLabel;
    ppLabel22: TppLabel;
    ppDBCalc3: TppDBCalc;
    ppLine7: TppLine;
    ppGroup1: TppGroup;
    ppGroupHeaderBand1: TppGroupHeaderBand;
    ppGroupFooterBand1: TppGroupFooterBand;
    ppGroup3: TppGroup;
    ppGroupHeaderBand3: TppGroupHeaderBand;
    ppGroupFooterBand3: TppGroupFooterBand;
    ppGroup2: TppGroup;
    ppGroupHeaderBand2: TppGroupHeaderBand;
    ppGroupFooterBand2: TppGroupFooterBand;
    ppDBCalc1: TppDBCalc;
    ppLabel19: TppLabel;
    ppLine8: TppLine;
    ppLine9: TppLine;
    raCodeModule1: TraCodeModule;
    function printcondition:string;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ppReport2BeforePrint(Sender: TObject);
    procedure ppReport1BeforePrint(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure MaskEdit2KeyPress(Sender: TObject; var Key: Char);
    procedure MaskEdit3KeyPress(Sender: TObject; var Key: Char);
    procedure MaskEdit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure ppReport2PreviewFormCreate(Sender: TObject);
    procedure ppReport1PreviewFormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form6: TForm6;

implementation

uses main, datamol;

{$R *.DFM}

function TForm6.printcondition:string;
begin
  result:='';
  if RadioButton4.Checked then
    result:='';
  if RadioButton5.Checked then
    if combobox1.items.indexof(combobox1.text)<>-1 then result:='dept='''+combobox1.text+''' ';
  if RadioButton6.Checked then
    if (trim(edit1.text)<>'') and (trim(edit2.text)<>'') then result:='workno between '''+edit1.text+''' and '''+edit2.text+''' ';

end;
procedure TForm6.Button1Click(Sender: TObject);
var
  s:string;
begin
  s:=printcondition;
  if radiobutton1.checked then
  begin
    adoquery2.close;
    if (maskedit2.text<>'    /  /  ') and  (maskedit3.text<>'    /  /  ') and (s<>'' )then
        begin
          adoquery2.CommandText:='select * from pie05010js where  '+s+'  and returnrq between convert(datetime,'''+maskedit2.text+''') and convert(datetime,'''+maskedit3.text+''') order by workno,returnrq ';
         end else
         begin
           adoquery2.CommandText:='select * from pie05010js where   returnrq between convert(datetime,'''+maskedit2.text+''') and convert(datetime,'''+maskedit3.text+''') order by workno,returnrq';
         end ;
      adoquery2.open;
      ppreport2.print;
  end;

 if radiobutton2.Checked then
  begin
    adoquery1.close;
   if (maskedit1.text<>'    /  /') and (s<>'') then
   begin
     adoquery1.CommandText:='select workno,min(cardno) cardno , min(name) name, min(dept) dept, sum(isnull(money,0)) money, sum(isnull(hours,0)) hours from pie05010js '+
                            'where '''+s+''' and left(convert(varchar,returnrq,111),7)='''+maskedit1.Text+''' group by workno';
   end else
   begin
     adoquery1.CommandText:='select workno,min(cardno) cardno, min(name) name, min(dept) dept, sum(isnull(money,0)) money, sum(isnull(hours,0)) hours from pie05010js '+
                            'where left(convert(varchar,returnrq,111),7)='''+maskedit1.Text+''' group by workno';
   end;
   adoquery1.open;
   ppreport1.print;

  end;

 { if radiobutton3.checked then
   begin
    if (maskedit4.text<>'    /  /  ') and (maskedit5.text<>'    /  /  ') then
      begin
        adodataset1.Close;
        adodataset1.commandtext:='select setno, (sum(isnull(goodnum,0))+floor(sum(isnull(ngnum,0))/12)) goodnum,(sum(isnull(ngnum,0))-floor(sum(isnull(ngnum,0))/12)*12) ngnum ,sum(isnull(factmoney,0)) factmoney  from pie05010 where returnrq between convert(datetime,'''+maskedit4.text+''') and convert(datetime,'''+maskedit5.text+''')  group by setno  ' ;
     end else
     begin
       adodataset1.commandtext:='select setno, (sum(isnull(goodnum,0))+floor(sum(isnull(ngnum,0))/12)) goodnum,(sum(isnull(ngnum,0))-floor(sum(isnull(ngnum,0))/12)*12) ngnum ,sum(isnull(factmoney,0)) factmoney  from pie05010 group by setno ';
       adodataset1.open;
     end;
     ppreport4.print;
   end; }

end;

procedure TForm6.Button2Click(Sender: TObject);
begin
close;
end;

procedure TForm6.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  action:=cafree;
  form6:=nil;
end;

procedure TForm6.ppReport2BeforePrint(Sender: TObject);
begin
   pplabel18.caption:=pubworkname;
   pplabel23.caption:=maskedit2.text;
   pplabel24.caption:=maskedit3.text;
end;

procedure TForm6.ppReport1BeforePrint(Sender: TObject);
begin
  pplabel12.caption:=maskedit1.text;
  pplabel15.caption:='建表人:'+pubworkname;
end;

procedure TForm6.FormCreate(Sender: TObject);
begin
  maskedit2.text:=formatdatetime('yyyy/mm/dd',date);
  maskedit3.text:=formatdatetime('yyyy/mm/dd',date);
  maskedit1.text:=formatdatetime('yyyy/mm',date);
  MaskEdit1.Visible:=false;
   with datamod do
   begin
      Query1.close;
      Query1.sql.text:='Select dept from pub05010';
      Query1.Open;
      Combobox1.items.clear;
      while not Query1.eof do
      begin
          combobox1.items.add(Query1.fieldbyname('dept').asstring);
          Query1.next;
      end;
   end;  

end;

procedure TForm6.MaskEdit2KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then
 begin
   key:=#0;
   selectnext(activecontrol,true,true);
 end;
end;

procedure TForm6.MaskEdit3KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then
 begin
   key:=#0;
   selectnext(activecontrol,true,true);
 end;
end;

procedure TForm6.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then
 begin
   key:=#0;
   selectnext(activecontrol,true,true);
 end;
end;

procedure TForm6.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then
 begin
   key:=#0;
   selectnext(activecontrol,true,true);
 end;
end;

procedure TForm6.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then
 begin
   key:=#0;
   selectnext(activecontrol,true,true);
 end;
end;

procedure TForm6.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then
 begin
   key:=#0;
   selectnext(activecontrol,true,true);
 end;
end;

procedure TForm6.RadioButton2Click(Sender: TObject);
begin
 if  radiobutton2.checked then
  begin
    maskedit1.visible:=true;
    maskedit2.visible:=false;
    maskedit3.visible:=false;
    maskedit4.visible:=false;
    maskedit5.visible:=false;
    label1.Visible:=false;
    label2.Visible:=false;
  end;
end;

procedure TForm6.RadioButton1Click(Sender: TObject);
begin
  if radiobutton1.checked then
  begin
    label1.Visible:=true;
    label2.Visible:=true;
    maskedit2.visible:=true;
    maskedit3.visible:=true;
    maskedit1.visible:=false;
    maskedit4.visible:=false;
    maskedit5.visible:=false;
  end ;
end;

procedure TForm6.ppReport2PreviewFormCreate(Sender: TObject);
begin
  tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;

procedure TForm6.ppReport1PreviewFormCreate(Sender: TObject);
begin
  tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?