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

📄 u_form_changebillfind.~pas

📁 这是一个啤酒行业的软件
💻 ~PAS
字号:
unit U_Form_ChangeBillFind;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ButtonExCtl, ComCtrls, StdCtrls, Mask, EasyGrid,UAdoSet,
  uCheckValidate,uString;

type
  TForm_ChangeBillFind = class(TForm)
    GroupBox2: TGroupBox;
    Grid1: TEasyGrid;
    GroupBox1: TGroupBox;
    RBbtn1: TRadioButton;
    RBbtn2: TRadioButton;
    RBBtn3: TRadioButton;
    Label3: TLabel;
    beginDate: TMaskEdit;
    _beginDate: TDateTimePicker;
    Label8: TLabel;
    endDate: TMaskEdit;
    _endDate: TDateTimePicker;
    BtnFind: TButtonExCtl;
    BtnExit: TButtonExCtl;
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure BtnExitClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure _beginDateCloseUp(Sender: TObject);
    procedure _endDateCloseUp(Sender: TObject);
    procedure RBbtn1Click(Sender: TObject);
    procedure RBbtn2Click(Sender: TObject);
    procedure RBBtn3Click(Sender: TObject);
    procedure BtnFindClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    _AdoSale:TuAdoset;
    _AdoRongPin:TuAdoSet;
    _AdoNewProduce:TuAdoSet;
    _Check:TCheckValidate;
    _str:TuString;
  public
    { Public declarations }
  end;

var
  Form_ChangeBillFind: TForm_ChangeBillFind;
  tmp_TableName:integer;
implementation

uses U_Form_MainMenu, U_Form_ChangeBill,uGlobal;

{$R *.dfm}

procedure TForm_ChangeBillFind.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
     EnableWindow(Form_ChangeBill.Handle,true);
     CanClose:=true;
end;

procedure TForm_ChangeBillFind.BtnExitClick(Sender: TObject);
begin
     EnableWindow(Form_ChangeBill.Handle,true);
     Close;
end;

procedure TForm_ChangeBillFind.FormCreate(Sender: TObject);
begin
    _AdoSale:=TuAdoSet.Create('newsale',1);
    _AdoRongPin:=TuAdoSet.Create('RongPin2004',1);
    _AdoNewProduce:=TuAdoSet.Create('newProduce',1);
    
    _Check:=TCheckValidate.create;
    _str:=TuString.Create;

    beginDate.Text:=_str.formatDate(2);
    _beginDate.Date:=strToDate(_str.formatDate(2));
    endDate.Text:=_str.formatDate(2);
    _endDate.Date:=strToDate(_str.formatDate(2));

    RBBtn1.Checked:=true;

    ////添加标题//////////////////////
    grid1.ColCount:=9;
    with _Adosale do
    begin
         setGridTitle(grid1,1,'传票编号',130);
         setGridTitle(grid1,2,'日    期',150);
         setGridTitle(grid1,3,'姓 名',90);
         setGridTitle(grid1,4,'产品名称',180);
         setGridTitle(grid1,5,'规 格',80);
         setGridTitle(grid1,6,'单 位',80);
         setGridTitle(grid1,7,'数 量',80);
         setGridTitle(grid1,8,'保管员',80);
    end;
end;

procedure TForm_ChangeBillFind._beginDateCloseUp(Sender: TObject);
begin
       beginDate.Text:=formatDateTime('yyyy-mm-dd',_begindate.date);
end;

procedure TForm_ChangeBillFind._endDateCloseUp(Sender: TObject);
begin
      endDate.Text:=formatDateTime('yyyy-mm-dd',_enddate.date);
end;

procedure TForm_ChangeBillFind.RBbtn1Click(Sender: TObject);
var
    i,j:integer;
begin
     for i:=2 to grid1.RowCount-1 do
     begin
         for j:=1 to grid1.colcount-1 do
         begin
             grid1.Cells[j,i].ForeText:='';
         end;
     end;///for i
     if RBbtn1.Checked=true then
     begin
        tmp_TableName:=1;
     end;
     grid1.ColCount:=9;
     with _Adosale do
     begin
         setGridTitle(grid1,1,'传票编号',130);
         setGridTitle(grid1,2,'日    期',150);
         setGridTitle(grid1,3,'姓 名',90);
         setGridTitle(grid1,4,'产品名称',180);
         setGridTitle(grid1,5,'规 格',80);
         setGridTitle(grid1,6,'单 位',80);
         setGridTitle(grid1,7,'数 量',80);
         setGridTitle(grid1,8,'保管员',80);
     end;
     grid1.Refresh;
end;

procedure TForm_ChangeBillFind.RBbtn2Click(Sender: TObject);
var
    i,j:integer;
begin
     for i:=2 to grid1.RowCount-1 do
     begin
         for j:=1 to grid1.colcount-1 do
         begin
             grid1.Cells[j,i].ForeText:='';
         end;
     end;///for i
     if RBbtn2.Checked=true then
     begin
        tmp_TableName:=2;
     end;
     grid1.ColCount:=13;
     with _Adosale do
     begin
         setGridTitle(grid1,1,'票据编号',130);
         setGridTitle(grid1,2,'单位名称',90);
         setGridTitle(grid1,3,'包装物名称',130);
         setGridTitle(grid1,4,'车间名称',90);
         setGridTitle(grid1,5,'所属区域',80);
         setGridTitle(grid1,6,'开票日期',120);
         setGridTitle(grid1,7,'酒桶数',80);
         setGridTitle(grid1,8,'成套数',80);
         setGridTitle(grid1,9,'空箱数',80);
         setGridTitle(grid1,10,'空瓶数',80);
         setGridTitle(grid1,11,'出库日期',140);
         setGridTitle(grid1,12,'保管员',80);
     end;
     grid1.Refresh;
end;

procedure TForm_ChangeBillFind.RBBtn3Click(Sender: TObject);
var
   i,j:integer;
begin
     for i:=2 to grid1.RowCount-1 do
     begin
         for j:=1 to grid1.colcount-1 do
         begin
             grid1.Cells[j,i].ForeText:='';
         end;
     end;///for i
     if RBbtn3.Checked=true then
     begin
        tmp_TableName:=3;
     end;
     grid1.ColCount:=10;
     with _Adosale do
     begin
         setGridTitle(grid1,1,'票据编号',130);
         setGridTitle(grid1,2,'单位名称',90);
         setGridTitle(grid1,3,'包装物名称',130);

         setGridTitle(grid1,4,'所属区域',80);
         setGridTitle(grid1,5,'开票日期',120);
         setGridTitle(grid1,6,'单价',80);
         setGridTitle(grid1,7,'数量',80);
         setGridTitle(grid1,8,'保管员',80);
         setGridTitle(grid1,9,'出库日期',160);

     end;

     grid1.Refresh;
end;

procedure TForm_ChangeBillFind.BtnFindClick(Sender: TObject);
var
   param:TStringList;
   strsql:string;
   i,j:integer;
   _total:double;
   _total1:Array[0..3] of double;
begin
   param:=TStringList.Create;
   param.clear;
   {/*
      对已经调过的票据进行查询
      tmp_tableName=1:为调过酒票进行查询
      tmp_TableName=2:为调过的包装票据查询
      tmp_TableName=3:为调过的押金票查询
   */}
   if tmp_TableName=1 then
   begin
      param.Clear;
      strsql:='select saleBillCode,saleBillDate,TraderName,productName,specification,';
      strsql:=strsql+'UnitName,saleNum,StoreMan from sale_ChangeBill  where  (OutStoreDate between :s1  and  :s2)  ';
      strSql:=strsql+'  and  whichStore=:s3';
      param.Add(trim(begindate.text)+' 00:00:00');
      param.Add(trim(enddate.text)+' 23:59:59');
      param.Add(trim(_whichStore));
      _AdoNewproduce.BindToGrid(grid1,strsql,param);
      {/*
          计算合计数量
      */}
      _Total:=0;
      for i:=2 to grid1.RowCount-2 do
      begin
          if grid1.cells[7,i].foretext<>'' then
          begin
             _Total:=_Total+strToFloat(grid1.cells[7,i].foretext);
          end;
      end;
      grid1.Cells[1,grid1.RowCount-1].ForeText:='合计:';
      grid1.Cells[7,grid1.RowCount-1].ForeText:=formatFloat('##0',_Total);
   end;
   if  tmp_TableName=2 then
   begin
       param.Clear;
       strsql:='select PG_BillCode,PG_traderName,PG_WrapName,PG_WSName,PG_AreaName,';
       strsql:=strsql+'PG_BillDate,PG_JTNum,PG_CTNum,PG_KXNum,PG_KPNum,PG_OutStoreDate,PG_Checker ';
       strsql:=strsql+' from PG_ChangeBill  where  (PG_OutStoreDate between :s1  and  :s2)  and  whichStore=:s3';
       param.Add(trim(begindate.text)+' 00:00:00');
       param.Add(trim(enddate.text)+' 23:59:59');
       param.Add(trim(_whichStore));
       _AdoNewproduce.BindToGrid(grid1,strsql,param);
       {/*
          计算合计数量
      */}
      _Total1[0]:=0;
      _Total1[1]:=0;
      _Total1[2]:=0;
      _Total1[3]:=0;
      for i:=2 to grid1.RowCount-2 do
      begin
          if grid1.cells[7,i].foretext<>'' then
          begin
             _Total1[0]:=_Total1[0]+strToFloat(grid1.cells[7,i].foretext);
          end;
          if grid1.cells[8,i].foretext<>'' then
          begin
             _Total1[1]:=_Total1[1]+strToFloat(grid1.cells[8,i].foretext);
          end;
          if grid1.cells[9,i].foretext<>'' then
          begin
             _Total1[2]:=_Total1[2]+strToFloat(grid1.cells[9,i].foretext);
          end;
          if grid1.cells[10,i].foretext<>'' then
          begin
             _Total1[3]:=_Total1[3]+strToFloat(grid1.cells[10,i].foretext);
          end;
      end;
      grid1.Cells[1,grid1.RowCount-1].ForeText:='合计:';
      grid1.Cells[7,grid1.RowCount-1].ForeText:=formatFloat('##0',_Total1[0]);
      grid1.Cells[8,grid1.RowCount-1].ForeText:=formatFloat('##0',_Total1[1]);
      grid1.Cells[9,grid1.RowCount-1].ForeText:=formatFloat('##0',_Total1[2]);
      grid1.Cells[10,grid1.RowCount-1].ForeText:=formatFloat('##0',_Total1[3]);
   end;
   if  tmp_TableName=3 then
   begin
       param.Clear;
       strsql:='select PG_YJBillCode,PG_YJtraderName,PG_YJWrapName,PG_YJAreaName,PG_YJBillDate,';
       strsql:=strsql+'PG_YJPrice,PG_YJAmount,PG_YJReporter,PG_YJOutStoreDate  ';
       strsql:=strsql+' from PG_ChangeBill_YJ  where  (PG_YJOutStoreDate between :s1  and  :s2)  and  PG_whichStore=:s3  ';
       //strsql:=strsql+'PG_YJBillCode in (select PG_YJBillCode from PG_isChange_YJ)';
       param.Add(trim(begindate.text)+' 00:00:00');
       param.Add(trim(enddate.text)+' 23:59:59');
       param.Add(trim(_whichStore));
       _AdoNewproduce.BindToGrid(grid1,strsql,param);
       {/*
          计算合计数量
      */}
      _Total:=0;
      for i:=2 to grid1.RowCount-2 do
      begin
          if grid1.cells[7,i].foretext<>'' then
          begin
             _Total:=_Total+strToFloat(grid1.cells[7,i].foretext);
          end;
      end;
      grid1.Cells[1,grid1.RowCount-1].ForeText:='合计:';
      grid1.Cells[7,grid1.RowCount-1].ForeText:=formatFloat('##0',_Total);
   end;
   grid1.Refresh; 
end;

procedure TForm_ChangeBillFind.FormShow(Sender: TObject);
var
   i,j:integer;
begin
   for i:=2 to grid1.RowCount-1 do
   begin
       for j:=1 to grid1.ColCount-1 do
       begin
            grid1.Cells[j,i].ForeText:='';
       end;
   end;
   grid1.RowCount:=3;
   grid1.Refresh;
end;

end.

⌨️ 快捷键说明

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