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

📄 untbarcodepd.~pas

📁 固定资产管理系统源码 资产管理 查询管理 报表管理 系统管理
💻 ~PAS
字号:
unit UntBarcodePD;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DBCtrls, ComCtrls, StdCtrls, Buttons, ExtCtrls, Grids, DBGridEh;

type
  TfrmBarcodePD = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Panel1: TPanel;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Label4: TLabel;
    SpeedButton2: TSpeedButton;
    Edit1: TEdit;
    BitBtn1: TBitBtn;
    DateTimePicker2: TDateTimePicker;
    Button1: TButton;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    SpeedButton1: TSpeedButton;
    Edit3: TEdit;
    DateTimePicker1: TDateTimePicker;
    btbQuery: TBitBtn;
    btbClear: TBitBtn;
    DBNavigator1: TDBNavigator;
    Panel2: TPanel;
    OpenDialog1: TOpenDialog;
    Memo1: TMemo;
    DBGridEh1: TDBGridEh;
    BitBtn2: TBitBtn;
    TabSheet3: TTabSheet;
    Panel3: TPanel;
    GroupBox3: TGroupBox;
    DBLookupComboBox1: TDBLookupComboBox;
    Button2: TButton;
    Memo2: TMemo;
    Button3: TButton;
    GroupBox4: TGroupBox;
    Label5: TLabel;
    DateTimePicker3: TDateTimePicker;
    BitBtn3: TBitBtn;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    DBNavigator2: TDBNavigator;
    DBGridEh2: TDBGridEh;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    procedure SpeedButton2Click(Sender: TObject);
    procedure btbQueryClick(Sender: TObject);
    procedure btbClearClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
    procedure DBGridEh1TitleClick(Column: TColumnEh);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
  private
    { Private declarations }
     ErrorBarCodes:TStringList;
  public
    { Public declarations }
  end;

var
  frmBarcodePD: TfrmBarcodePD;

implementation
uses UntDMAsset,selffunc,ADODB,DB;
{$R *.dfm}

procedure TfrmBarcodePD.SpeedButton2Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    edit1.Text:=OpenDialog1.FileName;
end;

procedure TfrmBarcodePD.btbQueryClick(Sender: TObject);
var
  sql:string;
begin
//查询盘点的条码
  sql:='select * from queryPD where 2>1 ';
  sql:=sql+' AND PDdate='+'#'+DateToStr(DateTimePicker1.date)+'#';
  myquery(sql,DMAsset.ADOBarcodePD);
end;

procedure TfrmBarcodePD.btbClearClick(Sender: TObject);
begin
// 删除库存盘点数据
  {if DisplayMessage('确定删除库存盘点数据吗?',MT_WARNINGCHOICE)=ID_NO then
    exit;
  Query:=TADOQuery.Create(application);
  Try
    Query.Connection:=DMQFBasis.aconQF;
    Query.SQL.Clear;
    if Edit3.Text<>'' then
      begin
        Query.sql.add('delete from Tbarcodes_pd where PDDate=:Date and BarCode in (select barCode from VqfBarProDetail where style=:Style)');
        }
end;

procedure TfrmBarcodePD.BitBtn1Click(Sender: TObject);
var
  i:integer;
  FDate,FBarCode:string;
  BarCodes:TStringList;
  Query:TADOQuery;
begin
//导入数据
  if Trim(Edit1.text)<>'' then
  begin
    BarCodes:=TStringList.Create;
    ErrorBarCodes.Clear;
    Query:=TADOQuery.Create(application);
    try
      try
        BarCodes.LoadFromFile(edit1.text);
      except
        raise;
      end;
      Query.Connection:=DMasset.ADOConn;
      Query.SQL.Clear;
      Query.Prepared:=true;
      Query.SQL.add('Insert INTO barcodepd(BarCode,PDDate) Values(:BID,:Date)');
      FDate:=DateToStr(DateTimePicker2.Date);
      if BarCodes.Count>0 then
        for i:=0 to Barcodes.Count-1 do
          begin
          //复制条码中条码部分 比如3,2008-06-17  就要去掉','后面 pos(',',BarCodes[i])-1
            FBarCode:=copy(BarCodes[i],1,pos(',',BarCodes[i])-1);
            if not BarCodeIsValid(FBarCode) then
              begin
                ErrorBarCodes.add(BarCodes[i]);
                continue;
              end;
            Try
              Query.Parameters.ParamByName('BID').Value:=FBarCode;
              Query.Parameters.ParamByName('Date').Value:=FDate;
              Query.ExecSQL;
            except
              ErrorBarCodes.add(BarCodes[i]);
            end;
          end;
    finally
      Query.free;
      BarCodes.Free;
      ShowMessage('数据导入完毕!');
    end;
  end;  
end;

procedure TfrmBarcodePD.Button1Click(Sender: TObject);
begin
//查看错误条码
    memo1.Lines.Assign(ErrorBarCodes);
    self.PageControl1.ActivePageIndex:=1;

end;

procedure TfrmBarcodePD.FormCreate(Sender: TObject);
begin
  ErrorBarCodes:=TStringList.Create;

  DateTimePicker1.Date:=Date;
  DateTimePicker2.Date:=Date;
  DateTimePicker3.Date:=Date;  
  edit1.Clear;
  edit3.clear;
end;

procedure TfrmBarcodePD.BitBtn2Click(Sender: TObject);
begin
  memo1.Clear;
end;

procedure TfrmBarcodePD.Button3Click(Sender: TObject);
begin
  Memo2.Clear;
end;

procedure TfrmBarcodePD.Button2Click(Sender: TObject);
var
  str:string;
begin
  str:=IntToStr(DBLookupComboBox1.KeyValue)+','+DBLookupComboBox1.Text;
  memo2.Lines.Add(str);
end;

procedure TfrmBarcodePD.DBGridEh1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumnEh;
  State: TGridDrawState);
begin
//加彩色格子
    if gdSelected in State then Exit;
  if (TDBGridEh(Sender).DataSource=nil)or(TDBGridEh(Sender).DataSource.DataSet=nil) then Exit;

  if TDBGridEh(Sender).DataSource.DataSet.RecNo mod 2 = 0 then
    TDBGridEh(Sender).Canvas.Brush.Color := clInfoBk
  else
    TDBGridEh(Sender).Canvas.Brush.Color := RGB(191, 255, 223);

  TDBGridEh(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);

  TDBGridEh(Sender).Canvas.Pen.Color := $00C08000;
  TDBGridEh(Sender).Canvas.MoveTo(Rect.Left, Rect.Bottom);
  TDBGridEh(Sender).Canvas.LineTo(Rect.Right, Rect.Bottom);
  TDBGridEh(Sender).Canvas.LineTo(Rect.Right, Rect.Top);

end;

procedure TfrmBarcodePD.DBGridEh1TitleClick(Column: TColumnEh);
begin
  DBGridTitleSort(Column);
end;

procedure TfrmBarcodePD.BitBtn3Click(Sender: TObject);
var
  i,j,k:integer;
  str,sql,sql2,sql3,sql4:string;
begin
  str:='';
  sql:='';
  j:=0;
  k:=0;
  if memo2.Lines.Count>0 then
  for i:=0 to memo2.Lines.Count-1 do
    str:=str+copy(memo2.Lines[i],1,pos(',',memo2.Lines[i])-1)+',';
  sql:='select count(*)AS ctAsset from asset where StatusID in ';
  sql:=sql+'('+str+')';
  DMasset.ADOTemp.Close;
  DMasset.ADOTemp.CommandText:='';
  DMasset.ADOTemp.CommandText:=sql;
  DMasset.ADOTemp.Open;
  j:= DMasset.ADOTemp.fieldbyname('ctAsset').AsInteger;
  Label9.Caption:='';
  Label9.Caption:=IntToStr(j);
  sql2:='select count(*) AS ctPD from BarcodePD where pddate=';
  sql2:=sql2+'#'+DateToStr(DateTimePicker3.date)+'#';
  DMasset.ADOTemp.Close;
  DMasset.ADOTemp.CommandText:='';
  DMasset.ADOTemp.CommandText:=sql2;
  DMasset.ADOTemp.Open;
  k:= DMasset.ADOTemp.fieldbyname('ctPD').AsInteger;
  Label10.Caption:='';
  Label10.Caption:=IntToStr(K);
  if j>k then
  begin
    Label6.Caption:='';
    Label6.Caption:='盘亏  '+IntToStr(j-k)+'个';
  end
  else
  begin
    Label6.Caption:='';
    Label6.Caption:='盘盈  '+IntToStr(k-j)+'个';
  end;
  sql3:='SELECT AssetID AS 条码,Company AS 公司,DepartmentName AS 部门,';
  sql3:=sql3+'AssetCategory AS 设备,Code AS 编号,MakeName AS 品牌,ModelNumberName AS 型号,';
  sql3:=sql3+'Employee AS 使用者,place AS 存放地,PurchasePrice AS 购买价格';
  sql3:=sql3+ '';
  sql3:=sql3+' FROM queryasset WHERE (assetid not in (';
  sql3:=sql3+'select barcode from barcodePD where PDdate=';
  sql3:=sql3+'#'+DateToStr(DateTimePicker3.date)+'#'+')) ';
  sql3:=sql3+' and (StatusID in ('+str+'))';
  DMasset.ADOTemp.Close;
  DMasset.ADOTemp.CommandText:='';
  DMasset.ADOTemp.CommandText:=sql3;
  DMasset.ADOTemp.Open;

  

end;

procedure TfrmBarcodePD.BitBtn4Click(Sender: TObject);
begin
  DBGridEhToXLS(DBGridEh2);
end;

procedure TfrmBarcodePD.BitBtn5Click(Sender: TObject);
begin
  DBGridEhToXLS(DBGridEh1);
end;

end.

⌨️ 快捷键说明

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