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

📄 unit_modesalary.~pas

📁 此代码为企业原料管理代码
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
        sql.Add('delete from modeSalaryDay ');
        execsql;
       end;
 
//========清除记录==========
   tabledaysalary.close;
   Querydaysalary.Close;
   queryall.close;
   tableall.close;
   ename.Text:='';
   Form_modeallsalaryprt.close;
   Form_modeallsalarychart.close;
   Form_modedaysalaryprt.close;
   Form_modedaysalarychart.close;
end;
//===================结束=====================
procedure TForm_modesalary.BBPrintClick(Sender: TObject);
begin
if al=1 then
 begin
Form_modeallsalaryprt.QRLabeldate.Caption:=datetostr(date);
Form_modeallsalaryprt.QRLabel1.Caption:='整修车间'+'从'+datetostr(DateTimePicker1.date)+'到 '+datetostr(DateTimePicker2.date)+' 工资清单';
Form_modeallsalaryprt.QuickRep1.Preview;
 exit
end;
showmessage('请先按“查询”按键!');
end;

procedure TForm_modesalary.BBPicClick(Sender: TObject);
begin
if al=1 then
 begin
Form_modeallsalarychart.show;
Form_modeallsalarychart.DBChart1.Title.Text.Text:='整修车间'+'从'+datetostr(DateTimePicker1.date)+'到 '+datetostr(DateTimePicker2.date)+' 工资图表分析';
 exit
end;
showmessage('请先按“查询”按键!');
end;

procedure TForm_modesalary.BBCloseClick(Sender: TObject);
begin
 close;
end;

procedure TForm_modesalary.BBNextClick(Sender: TObject);
begin
 dbgrid2.SetFocus;
 queryall.Next;
end;

procedure TForm_modesalary.BBPritClick(Sender: TObject);
begin
 dbgrid2.SetFocus;
 queryall.Prior;
end;

procedure TForm_modesalary.FormShow(Sender: TObject);
begin
   al:=0;
   i:=0;
   j:=0;
   tabledaysalary.open;
   //queryall.open;
   tableall.open;
   ename.Text:='';
   DateTimePicker1.date:=date-30;
   DateTimePicker2.date:=date;
   DateTimePicker3.date:=date-30;
   DateTimePicker4.date:=date;
   PageControl1.ActivePageIndex :=0;
end;
//=========以下是个人工资查询事件====================
procedure TForm_modesalary.bbdayserchClick(Sender: TObject);
var int0,int1,int2,int3,int4,int5,int6:integer;
    f1,f2,f3,f4:real;
begin
    if (i<>1) or (ename.text='') then
   begin
   showmessage('请先输入职工姓名!');
   exit;
  end;
 
   j:=1;
///======首先清除tabledaysalary记录,为查询做准备===========
 with query1all do
      begin
        close;
        sql.Clear;
        sql.Add('delete from modeSalaryDay ');
        execsql;
       end;
//======以下是第一次对query1分组查询过滤============

with querydaysalary do begin
  close;
  sql.Clear;
  Unprepare;
  sql.Add('Select zhenxiou.riqi,zhenxiou.prodid,sum(hao)as SumQcNum,sum(xioufei)as SumLackNum,');
  //sql.Add('sum(impunum)as SumImpuNum,sum(polenum)as SumPoleNum,sum(ripnum)as SumRipNum,');
  sql.Add('sum(SubSalary)as sumsubsalary,');
  sql.Add('sum(DisSalary)as sumdissalary,avg(xioujia)as avgUS from zhenxiou,ProdDictionary');
  sql.Add (' where name =:index and riqi between :fromdate and  :todate and zhenxiou.prodid=ProdDictionary.prodid');
  sql.Add ('group by riqi,zhenxiou.prodid');
      parambyname('fromdate').asdate:=DateTimePicker3.date;
      parambyname('todate').asdate:=DateTimePicker4.date;
      parambyname('index').asstring:=ename.text;
  Prepare;
  open;
      if ename.text='' then  begin
        showmessage('无记录 或没输入职工姓名!');
        exit;
      end;
  end;//with
//=========以上第一次查询结束=======================
//=========以下是向table1中誊写记录=================
tabledaysalary.open;
querydaysalary.First;
while  not querydaysalary.eof do
 begin
  if (querydaysalary.fieldbyname('riqi').asdatetime<strtodate('2000-01-01'))or(querydaysalary.fieldbyname('sumqcnum').asinteger=0) then
   begin
  querydaysalary.next;
  end
  else
  begin
  tabledaysalary.append;
  tabledaysalary.FieldByName('name').asstring:=ename.text;
  tabledaysalary.FieldByName('tdate').asdatetime:=querydaysalary.fieldbyname('riqi').asdatetime;
  tabledaysalary.FieldByName('qcnum').asinteger:=querydaysalary.fieldbyname('sumqcnum').asinteger;
  tabledaysalary.FieldByName('subsalary').asfloat:=querydaysalary.fieldbyname('sumsubsalary').asfloat;
  tabledaysalary.FieldByName('dissalary').asfloat:=querydaysalary.fieldbyname('sumdissalary').asfloat;
  tabledaysalary.FieldByName('unitsalary').asfloat:=querydaysalary.fieldbyname('avgUS').asfloat;
    int0:=querydaysalary.fieldbyname('sumqcnum').asinteger;
    int1:=querydaysalary.fieldbyname('sumlacknum').asinteger;
    //int2:=querydaysalary.fieldbyname('sumimpunum').asinteger;
    //int3:=querydaysalary.fieldbyname('sumripnum').asinteger;
    //int4:=querydaysalary.fieldbyname('sumpolenum').asinteger;
    //int5:=querydaysalary.fieldbyname('sumelsenum').asinteger;
    int6:=int1;
    tabledaysalary.FieldByName('wasternum').asinteger:=int6;//计算总废品数

    f1:=querydaysalary.fieldbyname('sumsubsalary').asfloat;
    f2:=querydaysalary.fieldbyname('sumdissalary').asfloat;
    f3:=querydaysalary.fieldbyname('avgUS').asfloat;
    f4:=f3*int0;
    f4:=strtofloat(formatfloat('0.00',f4));
    tabledaysalary.FieldByName('daysalary').asfloat:=f4;//计件日工资
    tabledaysalary.FieldByName('heji').asfloat:=f4+f1-f2;
    tabledaysalary.post;
    querydaysalary.next;
  end;
 end;//while
//========以上抄写记录完成========================

  with querydaysalary do begin
  close;
  sql.Clear;
  Unprepare;
  sql.Add('Select * from zhengjishigozi');
  sql.Add (' where ximi =:index and jsrq between :fromdate and  :todate ');
  sql.Add ('order by jsrq');
      parambyname('fromdate').asdate:=DateTimePicker3.date;
      parambyname('todate').asdate:=DateTimePicker4.date;
      parambyname('index').asstring:=ename.text;
  Prepare;
  open;
  if recordcount<>0 then
  //end;//with
  begin
  querydaysalary.First;
 while  not querydaysalary.eof do
  begin
   tabledaysalary.append;
   tabledaysalary.FieldByName('name').asstring:=ename.text;
   tabledaysalary.FieldByName('tdate').asdatetime:=querydaysalary.fieldbyname('jsrq').asdatetime;
   tabledaysalary.FieldByName('subsalary').asfloat:=querydaysalary.fieldbyname('butie').asfloat;
   tabledaysalary.FieldByName('jsrgz').asfloat:=querydaysalary.fieldbyname('jishizi').asfloat;
   tabledaysalary.FieldByName('dissalary').asfloat:=querydaysalary.fieldbyname('kou').asfloat;
   tabledaysalary.FieldByName('heji').asfloat:=querydaysalary.fieldbyname('rizi').asfloat;
    tabledaysalary.post;
    querydaysalary.next;
 end;//while
 end;//with
 end;//if
if tabledaysalary.recordcount=0 then
showmessage('无记录!');
end;

procedure TForm_modesalary.PageControl1Change(Sender: TObject);
begin
{
 if PageControl1.ActivePageIndex =1 then
   begin
    FrmSulfDictionary.PageControl1.ActivePageIndex:=1;
    //FrmSulfDictionary.ActiveControl:=FrmSulfDictionary.enameid;
    FrmSulfDictionary.showmodal;
   end;
 }
end;

procedure TForm_modesalary.enameEnter(Sender: TObject);
begin
  j:=0;
  ename.Text:='';
  Tabledaysalary.Close;
  i:=1;
  if CheckBoxdicname.Checked = true then begin
     FrmcommqueryID.PageControl1.ActivePageIndex:=0;
  if  FrmcommqueryID.showmodal=mrok then
     begin

      ename.text:=FrmcommqueryID.query3.fieldbyname('staffname').asstring;
     end;
  end;
end;

procedure TForm_modesalary.bbdaychartClick(Sender: TObject);
begin
  if (i=1)and(j=1) then //if1
  begin
  Form_modedaysalarychart.DBChart1.Title.Text.Text:=ename.text+'日工资图表';
  Form_modedaysalarychart.show;
  exit;
 end;
 showmessage('请先按“查询”按键!');
 j:=0;
end;

procedure TForm_modesalary.bbdayprintClick(Sender: TObject);
begin
    if (i=1)and(j=1) then //if1
  begin
Form_modedaysalaryprt.QRLabeldate.Caption:=datetostr(date);
Form_modedaysalaryprt.QRLabelname.caption:=ename.text;
Form_modedaysalaryprt.QRLabel1.Caption:='日工资清单';
Form_modedaysalaryprt.QuickRep1.Preview;
exit;
 end;
 showmessage('请先按“查询”按键!');
 j:=0;
end;

procedure TForm_modesalary.bbdaynextClick(Sender: TObject);
begin
dbgrid1.SetFocus;
tabledaysalary.next;
end;

procedure TForm_modesalary.bbdaypriorClick(Sender: TObject);
begin
dbgrid1.SetFocus;
tabledaysalary.Prior;
end;

procedure TForm_modesalary.BitBtn2Click(Sender: TObject);
begin
  close;
end;




procedure TForm_modesalary.TabSheet1Show(Sender: TObject);
begin
 queryall.Close;
 Tabledaysalary.Close;
end;

procedure TForm_modesalary.TabSheet2Exit(Sender: TObject);
begin
 Tabledaysalary.Close;
end;

procedure TForm_modesalary.TabSheet1Exit(Sender: TObject);
begin
 Queryall.Close;
end;

procedure TForm_modesalary.DateTimePicker1Change(Sender: TObject);
begin
 al:=0;
 queryall.Close;
end;

end.

⌨️ 快捷键说明

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