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

📄 u_form_changebill.~pas

📁 这是一个啤酒行业的软件
💻 ~PAS
📖 第 1 页 / 共 4 页
字号:
unit U_Form_ChangeBill;

interface

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

type
  TForm_ChangeBill = class(TForm)
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Button1: TButtonExCtl;
    Edit1: TEdit;
    Grid1: TEasyGrid;
    GroupBox1: TGroupBox;
    GroupBox3: TGroupBox;
    RBbtn1: TRadioButton;
    RBbtn2: TRadioButton;
    RBBtn_1: TRadioButton;
    RBBtn_2: TRadioButton;
    Label3: TLabel;
    beginDate: TMaskEdit;
    _beginDate: TDateTimePicker;
    Label8: TLabel;
    endDate: TMaskEdit;
    _endDate: TDateTimePicker;
    RBBtn3: TRadioButton;
    ButtonExCtl1: TButtonExCtl;
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure RBbtn1Click(Sender: TObject);
    procedure RBbtn2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure RBBtn_1Click(Sender: TObject);
    procedure RBBtn_2Click(Sender: TObject);
    procedure Grid1DblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure RBBtn3Click(Sender: TObject);
    procedure _beginDateCloseUp(Sender: TObject);
    procedure _endDateCloseUp(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure ButtonExCtl1Click(Sender: TObject);
    procedure Grid1KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
    _AdoSale:TuAdoset;
    _AdoRongPin:TuAdoSet;
    _AdoNewProduce:TuAdoSet;
    _Check:TCheckValidate;
    _str:TuString;
  public
    { Public declarations }
  end;

var
  Form_ChangeBill: TForm_ChangeBill;
  tmp_TableName:integer;
implementation

uses U_Form_MainMenu,uGlobal,U_Form_ChangeBillFind;

{$R *.dfm}

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

procedure TForm_ChangeBill.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;

    RBBtn1.Checked:=true;
    RBBtn_1.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;
    grid1.Refresh;
    edit1.Text:='';

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

procedure TForm_ChangeBill.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;
     //edit1.SetFocus; 
     edit1.Text:='';
end;

procedure TForm_ChangeBill.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:=11;
     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);
     end;

     grid1.Refresh;
     //edit1.SetFocus; 
     edit1.Text:='';
end;

procedure TForm_ChangeBill.Button1Click(Sender: TObject);
var
   param:TStringList;
   strsql:string;
   {/*
       当RBBtn_1为真是设定日期
   */}
   _beginDate1:string;
   _endDate1:string;
   {/*
       当RBBtn_2为真是设定日期
   */}
   _beginDate2:string;
   _endDate2:string;

begin
   param:=TStringList.Create;
   param.clear;
   {/*
       验证输入有效性
   */}
   if RBBtn_1.Checked then
   begin
      if edit1.text='' then
      begin
         showmessage('请输入要查询的票据号');
         exit;
      end;
   end;
   {/*
       需要调票记录查询:tmp_tableName=1 查询newsale酒票
                        tmp_tablename=2 查询rongpin2004包装票
                        RBBtn_1.Checked=true 代表按编号查询
                        RBBtn_2.Checked=true 代表按显示时间段所有未调的票据
   */}
   if RBBtn_1.Checked then
   begin

      if tmp_TableName=1 then
      begin
         {/*
                检查输入的编号的位数是否正确酒票=13位
         */}
         if length(trim(edit1.text))<>13 then
         begin
            showmessage('票据号的长度输入不正确...');
            exit;
         end;
         param.Clear;
         param.Add(trim(edit1.text)); ////加入查询条件

         /////形成查询语句Sql///////////
         strSql:='Select saleBillCode,saleBillDate,TraderName,ProductName,Specification,UnitName,saleNum,saleSum From  saleBill   Where  ';
         strSql:=strSql+'saleBillCode=:s1  and   iscancel=0  and  isChange=0  Order By  saleBillCode';
         /// /显示查询记录////////////////
         _Adosale.BindToGrid(grid1,strsql,param);
      end;
      if tmp_TableName=2 then
      begin
         {/*
                检查输入的编号的位数是否正确酒票=13位
         */}
         if length(trim(edit1.text))<>12 then
         begin
            showmessage('票据号的长度输入不正确...');
            exit;
         end;
         ////showmessage('fghgfhgfh');
         ///***如果存在则得到票据的数据信息并存储在DataInfo1中*************//////////////////////
         param.Clear;
         param.Add(trim(edit1.text));
         param.Add('否');
         strSql:='Select  单据号,单位名称,包装物名称,验收车间,地区,开票日期,酒桶数,成套数,空箱数,空瓶数  From';
         strSql:=strSql+'    PGYSD  Where  单据号=:s1  and  是否作废=:s2';
         ////显示查询记录////////////////
         _AdoRongPin.BindToGrid(grid1,strsql,param);
      end;////tmp_TableName=2
      if tmp_TableName=3 then
      begin
         {/*
                检查输入的编号的位数是否正确酒票=13位
         */}
         if length(trim(edit1.text))<>12 then
         begin
            showmessage('票据号的长度输入不正确...');
            exit;
         end;
         ////showmessage('fghgfhgfh');
         ///***如果存在则得到票据的数据信息并存储在DataInfo1中*************//////////////////////
         param.Clear;
         param.Add(trim(edit1.text));
         param.Add('否');
         param.Add('押');
          
         strSql:='select  单据号,单位名称,包装物名称,地区,开票日期,单价,数量,金额  from';
         strSql:=strSql+'    PGYJP  Where  单据号=:s1  and  是否作废=:s2  and  单据标志=:s3  and  ';
         strsql:=strsql+'  单据号 not in (select PG_YJBillcode from  PG_isChange_YJ)';
         ////显示查询记录////////////////
         _AdoRongPin.BindToGrid(grid1,strsql,param);
      end;////tmp_TableName=3
   end;

   if RBBtn_2.Checked then
   begin

      if tmp_TableName=1 then
      begin

         _beginDate1:=trim(begindate.text)+' 00:00:00';
         _endDate1:=trim(endDate.text)+' 23:59:59';

         param.Clear;
         param.Add(trim(_beginDate1)); ////加入查询条件
         param.Add(trim(_endDate1)); ////加入查询条件
         /////形成查询语句Sql///////////
         strSql:='Select saleBillCode,saleBillDate,TraderName,ProductName,Specification,UnitName,saleNum,saleSum From  saleBill   Where  ';
         strSql:=strSql+'saleBillDate betWeen :s1 and  :s2  and   iscancel=0  and  isChange=0  Order By  saleBillCode';
         //strSql:=strSql+'iscancel=0  and  isChange=0  Order By  saleBillCode';
         /// /显示查询记录////////////////
         _Adosale.BindToGrid(grid1,strsql,param);
      end;
      if tmp_TableName=2 then
      begin

         _beginDate2:=copy(trim(begindate.text),1,4)+'年'+copy(trim(begindate.text),6,2)+'月'+copy(trim(begindate.text),9,2)+'日';
         _endDate2:=copy(trim(enddate.text),1,4)+'年'+copy(trim(enddate.text),6,2)+'月'+copy(trim(enddate.text),9,2)+'日';;

         //showmessage(_beginDate2);
         //showmessage(_endDate2);
         ///***如果存在则得到票据的数据信息并存储在DataInfo1中*************//////////////////////
         param.Clear;
         param.Add(trim(_beginDate2));
         param.Add(trim(_endDate2));

         param.Add('否');
         param.Add('1');
         strSql:='Select  单据号,单位名称,包装物名称,验收车间,地区,开票日期,酒桶数,成套数,空箱数,空瓶数  From';
         strSql:=strSql+'    PGYSD  Where  开票日期>=:s1  and  开票日期<=:s2  and  是否作废=:s4  and  是否打印<>:s5';
         ////显示查询记录////////////////
         _AdoRongPin.BindToGrid(grid1,strsql,param);
       end;////tmp_TableName=2

       if tmp_TableName=3 then
      begin

         _beginDate2:=copy(trim(begindate.text),1,4)+'年'+copy(trim(begindate.text),6,2)+'月'+copy(trim(begindate.text),9,2)+'日';
         _endDate2:=copy(trim(enddate.text),1,4)+'年'+copy(trim(enddate.text),6,2)+'月'+copy(trim(enddate.text),9,2)+'日';;

         //showmessage(_beginDate2);
         //showmessage(_endDate2);
         ///***如果存在则得到票据的数据信息并存储在DataInfo1中*************//////////////////////
         param.Add(_beginDate2);
         param.Add(_endDate2);
         param.Add('否');
         param.Add('押');
         
         strSql:='select  单据号,单位名称,包装物名称,地区,开票日期,单价,数量,金额  from';
         strSql:=strSql+'    PGYJP  Where  开票日期>=:s1  and  开票日期<=:s2 and 是否作废=:s3  and  单据标志=:s4  and  ';
         strsql:=strsql+' 单据号 not in (select PG_YJBillcode from  PG_isChange_YJ)';
         ////显示查询记录////////////////
         _AdoRongPin.BindToGrid(grid1,strsql,param);
       end;////tmp_TableName=3


    end;

⌨️ 快捷键说明

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