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

📄 usalary.pas

📁 是个办公系统,可以实现财务上的管理和人员的流动
💻 PAS
📖 第 1 页 / 共 2 页
字号:
       fieldbyname('BusinessAdd').AsFloat:=strtofloat(edit14.Text);
       fieldbyname('Absenteeism').AsInteger:=strtoint(edit16.Text);
       fieldbyname('AbsCurr').AsFloat:=strtofloat(edit17.Text);
       fieldbyname('late').AsInteger:=strtoint(edit18.Text);
       fieldbyname('LateCurr').AsFloat:=strtofloat(edit19.Text);
       fieldbyname('prize').AsFloat:=strtofloat(edit15.Text);
       fieldbyname('SalDate').AsString:=formatdatetime('yyyy-mm-dd',DateTimePicker1.Date);
       fieldbyname('IsSal').AsString:=combobox2.Text;
       fieldbyname('operator').AsString:=ComboBox3.Text;
       fieldbyname('Memo').AsString:=Memo1.Text;
     end;
    bbtnpost.Enabled:=true;
  end;
end;

procedure TfrmSalary.bbtnPostClick(Sender: TObject);
begin
 try
  with dm.AQSalary do
      begin
        Edit;
        fieldbyname('Empname').AsString:=edit4.Text;
        fieldbyname('EmpNo').AsString:=edit10.Text;
        fieldbyname('Department').AsString:=edit11.Text;
        fieldbyname('BasicSal').AsFloat:=strtofloat(edit12.Text);
        fieldbyname('Business').AsFloat:=strtofloat(edit13.Text);
        fieldbyname('BusinessAdd').AsFloat:=strtofloat(edit14.Text);
        fieldbyname('Absenteeism').AsInteger:=strtoint(edit16.Text);
        fieldbyname('AbsCurr').AsFloat:=strtofloat(edit17.Text);
        fieldbyname('late').AsInteger:=strtoint(edit18.Text);
        fieldbyname('LateCurr').AsFloat:=strtofloat(edit19.Text);
        fieldbyname('prize').AsFloat:=strtofloat(edit15.Text);
        fieldbyname('SalDate').AsString:=formatdatetime('yyyy-mm-dd',DateTimePicker1.Date);
        fieldbyname('IsSal').AsString:=combobox2.Text;
        fieldbyname('operator').AsString:=ComboBox3.Text;
        fieldbyname('Memo').AsString:=Memo1.Text;
        Post;
      end;
  except
     showmessage('保存失败,请检查所填信息是否正确');
     exit;
     dm.AQSalary.Cancel;
 end;
    showmessage('保存成功');
    bbtnpost.Enabled:=false;
end;
procedure TfrmSalary.TreeView1Change(Sender: TObject; Node: TTreeNode);
  var
    i:integer;
begin
  for i:=0 to treeview1.Items.Count-1 do
    begin
      if treeview1.Items[i].HasChildren then
        begin
          treeview1.Items[i].ImageIndex:=1;
          treeview1.Items[i].SelectedIndex:=1;
        end
        else
          treeview1.Items[i].ImageIndex:=0;

    end;
end;

procedure TfrmSalary.ComboBox1Change(Sender: TObject);
var
  Tempstr:string;
  i:integer;
begin
  TempStr:=Trim(ComboBox1.Text);
  if TreeView1.Items.GetFirstNode.Text=TempStr then
  begin
    TreeView1.Items.GetFirstNode.Selected:=True;
  end
  else
  begin
    for i:=1 to TreeView1.Items.Count do
    begin
      if TreeView1.Items.Item[i].Text=TempStr then
      begin
        TreeView1.SetFocus;
        TreeView1.Items.Item[i].Selected:=True;
        treeview1.Items.Item[i].Expanded:=true;
        Break;
      end
      else
        Continue;
    end;
  end;
end;

procedure TfrmSalary.bbtnCancelClick(Sender: TObject);
begin
  //edit10.Text:='';
  //edit11.Text:='';
  edit12.Text:='';
  edit13.Text:='';
  edit14.Text:='';
  edit15.Text:='';
  edit16.Text:='';
  edit17.Text:='';
  edit18.Text:='';
  edit19.Text:='';
  combobox2.Text:='';
  ComboBox3.Text:='';
  //edit4.Text:='';
  Memo1.Text:='';
end;

procedure TfrmSalary.DBGrid1CellClick(Column: TColumn);
begin
  with dm.AQSalary do
    begin
       edit4.Text:=fieldbyname('Empname').AsString;
       edit10.Text:=fieldbyname('EmpNo').AsString;
       edit11.Text:=fieldbyname('Department').AsString;
       edit12.Text:=fieldbyname('BasicSal').AsString;
       edit13.Text:=fieldbyname('Business').AsString;
       edit14.Text:=fieldbyname('BusinessAdd').AsString;
       edit16.Text:=fieldbyname('Absenteeism').AsString;
       edit17.Text:=fieldbyname('AbsCurr').AsString;
       edit18.Text:=fieldbyname('late').AsString;
       edit19.Text:=fieldbyname('LateCurr').AsString;
       edit15.Text:=fieldbyname('prize').AsString;
       DateTimePicker1.Date :=fieldbyname('SalDate').AsDateTime;
       combobox2.Text:=fieldbyname('IsSal').AsString;
       ComboBox3.Text:=fieldbyname('operator').AsString;
       Memo1.Text:=fieldbyname('Memo').AsString;
    end;
end;

procedure TfrmSalary.DateTimePicker2Change(Sender: TObject);
begin
  bbtnsave.Enabled:=true;
  with dm.AQEmpname do
    begin
      close;
      sql.Clear;
      sql.Add('select Count(EmpNO) as EmpCount from Employees ');
     // sql.Add('select count(Empno) as EmpCount from salary where Issal=''否'' and  SalDate='''+formatdatetime('yyyy-mm-dd ',datetimepicker2.Date)+'''');
      open;
      Edit1.Text:=floatToStr(dm.AQEmpname.fieldbyname('EmpCount').AsFloat);
      end;
  with dm.AQSumSal do
    begin
      close;
      sql.Clear;
      sql.Add('select count(Empno) as Empnum,(sum(Business*BusinessAdd)+sum(BasicSal)+sum(prize)- (sum(latecurr)');
      sql.Add('+sum(abscurr))) as SumSal,(sum(latecurr)+sum(abscurr)) as SalKou from salary');
      sql.Add('where Issal=''是'' and  SalDate='''+formatdatetime('yyyy-mm-dd ',datetimepicker2.Date)+'''');
      open;
      Edit2.Text:=floatToStr(dm.AQSumSal.fieldbyname('EmpNum').AsFloat);
      Edit3.Text:=IntToStr(StrToInt(Edit1.Text)-StrToInt(Edit2.Text));
      Edit5.Text:=floatToStr(dm.AQSumSal.fieldbyname('Sumsal').AsCurrency);
      Edit6.Text:=floatToStr(dm.AQSumSal.fieldbyname('Salkou').AsFloat);
    end;

end;

procedure TfrmSalary.FormShow(Sender: TObject);
var
  Year, Month, Day: Word;
begin
  datetimepicker1.Date:=now;
  datetimepicker2.Date:=now;
  DecodeDate(Now, Year, Month, Day);
  with dm.AQSalary do
  begin
    close;
    sql.Clear;
    sql.Text :='select * from salary where Month(salDate)='''+inttostr(Month)+'''';
    open;
  end;
end;

procedure TfrmSalary.bbtnSaveClick(Sender: TObject);
begin
  if ComboBox3.Text='' then
   begin
     ShowMessage('录入人员不能为空!');
     Exit;
   end;
  with dm.AQsal do
    begin
      close;
      sql.Clear;
      sql.Add('insert into dailycost(DCNO,DCDriection,DCDate,DCQuatity ,DCObject,DCOperator)');
      sql.Add('values (');
      //sql.Add(''''+frmDailyCost.AutoNum+''',''工资发放'','''+formatdatetime('yyyy-mm-dd',datetimepicker2.Date)+''','''+Trim(Edit5.Text)+''',''财务部'','''+Trim(ComboBox3.Text)+'''');
      sql.Add(':DCNO,:DCDriection,:DCDate,:DCQuatity,:DCObject,:DCOperator');
      sql.Add(')');
      Parameters.ParamByName('DCNO').Value:=frmDailyCost.AutoNum;
      Parameters.ParamByName('DCDriection').Value:='工资发放';
      parameters.ParamByName('DCDate').Value:=formatdatetime('yyyy-mm-dd ',datetimepicker2.Date);
      parameters.ParamByName('DCQuatity').Value:=Trim(Edit5.Text);
      parameters.ParamByName('DCObject').Value:='财务部';
      parameters.ParamByName('DCOperator').Value:=Trim(ComboBox3.Text);
      ExecSQL;
      bbtnSave.Enabled:=false;
      showmessage('该记录成功保存!');
    end;
end;

procedure TfrmSalary.DBGrid2DblClick(Sender: TObject);
begin
   with dm.AQWagesSum do
    begin
      close;
      sql.Clear;
      sql.Add('select count(EmpNo) as sumEmpno,(sum(Business*BusinessAdd)+sum(BasicSal)+sum(prize)- ');
      sql.Add('(sum(latecurr)+sum(abscurr))) as sumsal,(sum(latecurr)+sum(abscurr)) as');
      sql.Add('KouChu from salary where Issal=''是''  and Empname='''+Dbgrid2.Fields[1].AsString+'''');
      open;
      DBEdit5.Text:=inttostr(dm.AQWagesSum.fieldbyname('sumEmpno').AsInteger);
      DBEdit6.Text:=floattostr(dm.AQWagesSum.fieldbyname('sumsal').AsFloat);
      DBEdit7.Text:=floattostr(dm.AQWagesSum.fieldbyname('KouChu').AsFloat);
    end;
end;

procedure TfrmSalary.bbtnNewClick(Sender: TObject);
begin
   with dm.AQPublic do
    begin
     close;
     sql.Clear;
     sql.Add('Insert Into Salary(EmpNO,EmpName,Department,SalDate,IsSal)');
     sql.Add('select EmpNO,EmpName,Department,'''+FormatDateTime('YYYY-MM-DD',DateTimePicker1.Date)+''','''+'否'+''' from Employees');
     ExecSQL;
     ShowMessage('本月所有员工工资信息已录入!');
    end;
end;

procedure TfrmSalary.ComboBox3DropDown(Sender: TObject);
begin
  ComboBox3.Items.Clear;
  with dm.AQDeptEmp do
   begin
    close;
    sql.Clear;
    sql.Add('select * from Employees where Department ='''+'财务部'+'''');
    open;
    while not eof do
     begin
      ComboBox3.Items.Add(dm.AQDeptEmp.FieldValues['EmpName']);
      dm.AQDeptEmp.Next;
     end;
   end;
end;

end.

⌨️ 快捷键说明

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