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

📄 usale.pas

📁 在打沙场用的最简单
💻 PAS
📖 第 1 页 / 共 3 页
字号:
begin
  inherited;
 with adoquery1 do
  begin
   sql.Clear;
   sql.Add('select fname from titem where fcode=:fcode');
   Parameters.ParamByName('fcode').Value:=wwdbedit3.text;
   open;
   if recordcount>0 then
   if cdsmaster.State in [dsinsert,dsedit] then
     cdsmaster['hname']:=fieldbyname('fname').value;
  end;
end;

procedure Tfrmsale.wwDBEdit5Change(Sender: TObject);
begin
  inherited;
 with adoquery1 do
  begin
   sql.Clear;
   sql.Add('select fname from titemtype where fcode=:fcode');
   Parameters.ParamByName('fcode').Value:=wwdbedit5.text;
   open;
   if recordcount>0 then
   if cdsmaster.State in [dsinsert,dsedit] then
   cdsmaster['chname']:=fieldbyname('fname').value;
  end;
end;

procedure Tfrmsale.wwDBEdit5Enter(Sender: TObject);
var
i:integer;
begin
  inherited;
  if cdsmaster.State in  [dsinsert,dsedit] then  
 cdsmaster['chcode']:='';
 listbox1.Clear;
 with adoquery1 do
  begin

   sql.Clear;
   sql.Add('select fname from titemtype');
   open;
  end;
  i:=1;
   while not adoquery1.Eof do
   begin
    listbox1.Items.Add(inttostr(i)+':'+adoquery1.fieldbyname('fname').value);
    adoquery1.next;
    i:=i+1;
   end;
end;

procedure Tfrmsale.refnoEnter(Sender: TObject);
begin
  inherited;
 listbox1.Clear;
 listbox1.Items.Add('1:打印');
 listbox1.Items.Add('2:修改');
 listbox1.Items.Add('3:退出');
 listbox1.Items.Add('4:交班表');   
end;

procedure Tfrmsale.wwDBEdit8Enter(Sender: TObject);
begin
  inherited;
  if cdsmaster.State in  [dsinsert,dsedit] then  
  wwdbedit8.Text:='';
end;

procedure Tfrmsale.wwDBEdit9Enter(Sender: TObject);
begin
  inherited;
  if cdsmaster.State in  [dsinsert,dsedit] then  
  wwdbedit9.Text:='';
end;

procedure Tfrmsale.refnoKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if Key=97 then
  begin
    if cdsmaster.State in [dsinsert,dsedit] then
    begin
    spbtnsave.Click;
    spbtnprint.Click;
    spbtnadd.Click;
    end;
  end;
 if Key=98 then
 if cdsmaster.State in [dsinsert,dsedit] then
  bb.SetFocus       ;

 if Key=99 then //'4'
  close;

 if Key=100 then //'4'
  SpeedButton5.Click;


end;

procedure Tfrmsale.p03Execute(Sender: TObject);
begin
  adoquery1.SQL.clear;
  adoquery1.SQL.Add('select fcode,fname,fnote   from Tfuli');
  adoquery1.open;
  inherited;

end;

procedure Tfrmsale.N10Click(Sender: TObject);
begin
  inherited;
 { CDSsub.DisableControls;
  frMD.LoadFromFile(gs_appPath+'\Prints\frsale01.frf');
  frMD.PrepareReport;
  frMD.PrintPreparedReport('',1,True,frAll);
  CDSsub.EnableControls; }

end;

procedure Tfrmsale.SpeedButton5Click(Sender: TObject);
var
yy,mm,dd:word;
begin
 // inherited;
 cdssub.DisableControls;
  decodedate(gs_date,yy,mm,dd);
  with query2 do
  begin
  sql.Clear;
  sql.add('delete from jb1');
  execsql;
  sql.clear;
  sql.add('  insert into jb1(bc,createuser,date,hname,bbs,bbs_amt) select bc,fcreauser,fdelivdate,hname,sum(tqty) tqty,sum(tamt) tamt  from tsale');
  sql.Add('group  by bc,fcreauser,fdelivdate,hname');
  execsql;
  end;

     with query2 do
     begin
     SQL.Clear;
     SQL.Add('select * from  tstore,tstoresub    where   ');
     sql.add('tstore.fresid=tstoresub.fresid');
     Open;
     end;

     while not query2.Eof do
     begin
     with  query1 do
     begin
     SQL.Clear;
     sql.add(' select * from jb1 where  hname=:hname and  bc=:bc and createuser=:user and year(date)=:yy');
     sql.Add('and month(date)=:mm and day(date)=:dd');
     ParamByName('hname').asstring:=query2.fieldbyname('hname').asstring;
     ParamByName('bc').asstring:=gs_bc;
     ParamByName('user').asstring:=gs_username;
     ParamByName('yy').asinteger:= yy;
     ParamByName('mm').asinteger:= mm;
     ParamByName('dd').asinteger:= dd;
     open;
     end;
     if  query1.RecordCount>0 then
     begin
     with  query1 do
     begin
     SQL.Clear;
     sql.add('  update jb1 set  bbj =bbj+:bbj  where hname=:hname and  bc=:bc and createuser=:user and year(date)=:yy');
     sql.Add('and month(date)=:mm and day(date)=:dd');
     ParamByName('hname').asstring:=query2.fieldbyname('hname').asstring;     
     ParamByName('bbj').asfloat:=query2.fieldbyname('fqty').asfloat;
     ParamByName('bc').asstring:=gs_bc;
     ParamByName('user').asstring:=gs_username;
     ParamByName('yy').asinteger:= yy;
     ParamByName('mm').asinteger:= mm;
     ParamByName('dd').asinteger:= dd;;
     execsql;
     end;
     end else
     begin
     with   query1 do
     begin
      sql.clear;
      sql.Add('insert into jb1(bc,createuser,date,hname,bbj) values (:bc,:user,:fd,:hname,:bbj)');
      ParamByName('bbj').asfloat:=query2.fieldbyname('fqty').asfloat;
      ParamByName('bc').asstring:=query2.fieldbyname('bc').asstring;
      ParamByName('user').asstring:=query2.fieldbyname('fcreauser').asstring;
      ParamByName('fd').asdate:= query2.fieldbyname('fdelivdate').asdatetime;
      ParamByName('hname').asstring:=query2.fieldbyname('hname').asstring;
      execsql;
     end;
     end;
     query2.Next;
     end;
///////////////////////////////end begin

     with  query1 do
     begin
     SQL.Clear;
     sql.add(' update amttmp set amt1=(select SUM(bbs_amt) bbsamt  from jb1 where hname=''河沙'' and bc=:bc and createuser=:user and year(date)=:yy');
     sql.Add('and month(date)=:mm and day(date)=:dd  group by bc,createuser,hname)');
     ParamByName('bc').value:=gs_bc;
     ParamByName('user').value:=gs_username;
     ParamByName('yy').value:= yy;
     ParamByName('mm').value:= mm;
     ParamByName('dd').value:= dd;
     execsql;
     SQL.Clear;
     sql.add(' update amttmp set amt2=(select SUM(bbs_amt) bbsamt  from jb1 where hname=''石仔'' and bc=:bc and createuser=:user and year(date)=:yy');
     sql.Add('and month(date)=:mm and day(date)=:dd group by bc,createuser,hname)');
     ParamByName('bc').value:=gs_bc;
     ParamByName('user').value:=gs_username;
     ParamByName('yy').value:= yy;
     ParamByName('mm').value:= mm;
     ParamByName('dd').value:= dd;
     execsql;
     SQL.Clear;
     sql.add(' update amttmp set amt3=(select SUM(bbs_amt) bbsamt  from jb1 where hname=''石粉'' and bc=:bc and createuser=:user and year(date)=:yy');
     sql.Add('and month(date)=:mm and day(date)=:dd group by bc,createuser,hname)');
     ParamByName('bc').value:=gs_bc;
     ParamByName('user').value:=gs_username;
     ParamByName('yy').value:= yy;
     ParamByName('mm').value:= mm;
     ParamByName('dd').value:= dd;
     execsql;
     end;
     with adoquery1 do
     begin
     sql.clear;
     sql.Add('select * from amttmp');
     open;
     end;

     with  query1 do
     begin
     SQL.Clear;
     sql.add(' select bc,createuser,hname,sum(sbc) sbc,sum(bbj) bbj,sum(bbs) bbs,sum(sbc+bbj-bbs) bbc,sum(bbj_a) bbj_a,sum(bbs_a) bbs_a,sum(bbs_amt) bbs_amt  from jb1 where bc=:bc and createuser=:user and year(date)=:yy');
     sql.Add('and month(date)=:mm and day(date)=:dd group by bc,createuser,hname');
     ParamByName('bc').asstring:=gs_bc;
     ParamByName('user').asstring:=gs_username;
     ParamByName('yy').asinteger:= yy;
     ParamByName('mm').asinteger:= mm;
     ParamByName('dd').asinteger:= dd;
     open;
     end;

  frMD.Dataset:=frDBDataSet1;
  frMD.LoadFromFile(gs_appPath+'\Prints\frsale01.frf');
  frMD.PrepareReport;
  // frmd.ShowReport;
  frMD.PrintPreparedReport('',1,True,frAll);
 //////////////////////////////////////////////////////////
   with  query2 do
     begin
     sql.Clear;
     sql.add('delete from chetemp');
     execsql;

     sql.clear;
     sql.add('     insert into  chetemp (chname) select fname from titemtype');
     execsql;

     SQL.Clear;
     sql.add('select  chname,bz, count(*) as total from tsale');
     sql.add(' where bc=:bc and fcreauser=:user and year(fdelivdate)=:yy');
     sql.Add('and month(fdelivdate)=:mm and day(fdelivdate)=:dd');
     sql.add('group by  chname,bz');
     ParamByName('bc').asstring:=gs_bc;
     ParamByName('user').asstring:=gs_username;
     ParamByName('yy').asinteger:= yy;
     ParamByName('mm').asinteger:= mm;
     ParamByName('dd').asinteger:= dd;
     open;
     end;
      query2.first;
     while not query2.Eof do
     begin
       if query2.fieldbyname('bz').asstring='1' then
       begin
       query3.SQL.Clear;
       query3.SQL.Add(' update chetemp set xk=:xk where chname=:chname');
       query3.ParamByName('chname').Asstring:=query2.fieldbyname('chname').Asstring;
       query3.ParamByName('xk').Asinteger:=query2.fieldbyname('total').AsInteger;
       query3.ExecSQL;
       end else
       begin
       query3.SQL.Clear;
       query3.SQL.Add(' update chetemp set qk=:qk where chname=:chname');
       query3.ParamByName('chname').Asstring:=query2.fieldbyname('chname').Asstring;
       query3.ParamByName('qk').Asinteger:=query2.fieldbyname('total').AsInteger;
       query3.ExecSQL;
       end;
       query2.Next;
     end;

     with query3 do
     begin
       sql.clear;
       sql.add('select sum(xk+qk) xk from chetemp');
       open;
     end;
    with  query2 do
     begin
     sql.Clear;
     sql.add('select * from chetemp');
     open;
    end;
     frMD.Dataset:=frDBDataSet2;
     frMD.LoadFromFile(gs_appPath+'\Prints\frsale02.frf');
     frMD.PrepareReport;
    // frmd.ShowReport;
     frMD.PrintPreparedReport('',1,True,frAll);
//////////////////////////////////////////////   end begin
    with  query2 do
     begin
     sql.Clear;
     sql.add('delete  from chetemp2');
     execsql;
     sql.clear;
     sql.add('     insert into  chetemp2 (chname) select fname from titemtype');
     execsql;
    end;
     with  query1 do
     begin
     SQL.Clear;
     sql.add(' SELECT chname,hname,sum(tqty) tqty ,sum(tamt) tamt,count(*) tt  from tsale');
     sql.Add(' where bc=:bc and fcreauser=:user and year(fdelivdate)=:yy');
     sql.Add('and month(fdelivdate)=:mm and day(fdelivdate)=:dd  and bz=''1'' group by  chname,hname ');
     ParamByName('bc').asstring:=gs_bc;
     ParamByName('user').asstring:=gs_username;
     ParamByName('yy').asinteger:= yy;
     ParamByName('mm').asinteger:= mm;
     ParamByName('dd').asinteger:= dd;
     open;
     end;

     while  not  query1.eof do
     begin

       query2.SQL.Clear;
       query2.SQL.Add('update  chetemp2 set amt_hs=amt_hs+:amt_hs,hs=hs+:hs,amt_sz=amt_sz+:amt_sz,sz=sz+:sz,amt_sf=amt_sf+:amt_sf,sf=sf+:sf  where chname=:chname ');
       query2.ParamByName('chname').asstring:=query1.fieldbyname('chname').asstring;
       if  query1.fieldbyname('hname').asstring='河沙' then
       begin
       query2.ParamByName('hs').asfloat:=query1.fieldbyname('tt').asfloat;
       query2.ParamByName('amt_hs').asfloat:=query1.fieldbyname('tamt').asfloat;
       end else
       begin
       query2.ParamByName('hs').asfloat:=0;
       query2.ParamByName('amt_hs').asfloat:=0;
       end;
       if  query1.fieldbyname('hname').asstring='石仔' then
       begin
       query2.ParamByName('sz').asfloat:=query1.fieldbyname('tt').asfloat;
       query2.ParamByName('amt_sz').asfloat:=query1.fieldbyname('tamt').asfloat;
       end else
       begin
       query2.ParamByName('sz').asfloat:=0;
       query2.ParamByName('amt_sz').asfloat:=0;
       end;
       if  query1.fieldbyname('hname').asstring='石粉' then
       begin
       query2.ParamByName('sf').asfloat:=query1.fieldbyname('tt').asfloat ;
       query2.ParamByName('amt_sf').asfloat:=query1.fieldbyname('tamt').asfloat;
       end  else
       begin
       query2.ParamByName('sf').asfloat:=0;
       query2.ParamByName('amt_sf').asfloat:=0;
       end;
       query2.execsql;

      query1.Next;
     end;

     query1.SQL.Clear;
     query1.SQL.add('select * from chetemp2');
     query1.Open;

     with query3 do
     begin
       sql.clear;
       sql.add('select sum(xk) xk from chetemp');
       open;
     end;
     frmd.Dataset:= frDBDataSet1;
     frMD.LoadFromFile(gs_appPath+'\Prints\frsale03.frf');
     frMD.PrepareReport;
    // frMD.ShowReport;
     frMD.PrintPreparedReport('',1,True,frAll);
///////////////////////////////////////////////////////////
cdssub.EnableControls;
 end;

procedure Tfrmsale.CDSmasterAfterOpen(DataSet: TDataSet);
begin
  inherited;
  spbtnadd.Click;
end;

procedure Tfrmsale.wwDBEdit3Exit(Sender: TObject);
begin
  inherited;
if bb.Text='1' then
        begin
          wwdbedit9.Color:=clWindow;
          wwdbedit9.Enabled:=true;
          wwdbedit8.Enabled:=false;
          wwdbedit8.Color:=clTeal;
          cdsmaster['bz']:='1';
        end   else
        begin
          wwdbedit8.Color:=clWindow;
          wwdbedit8.Enabled:=true;
          wwdbedit9.Enabled:=false;
          wwdbedit9.Color:=clTeal;
          cdsmaster['bz']:='2';
        end;


end;




procedure Tfrmsale.bbExit(Sender: TObject);
begin
  inherited;
//  if (bb.Text<>'1') and (billno.Text='现金户') then
//  begin
//  showmessage('sdfdsfdsfdsf');
//  bb.SetFocus;
//  end;

end;

end.






⌨️ 快捷键说明

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