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

📄 unitgj.pas

📁 手机批发商进销存管理
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit UnitGj;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RzButton, RzBtnEdt, RzEdit, StdCtrls, Mask, ImgList, RzTabs,
  ComCtrls, Buttons, DB, ADODB, Grids, DBGrids, ExtCtrls;

type
  TGjForm = class(TForm)
    RzPageControl1: TRzPageControl;
    TabSheet1: TRzTabSheet;
    ImageList1: TImageList;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    DateTimePicker1: TDateTimePicker;
    Edit1: TEdit;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    Panel2: TPanel;
    DBGrid1: TDBGrid;
    PanelInput: TPanel;
    BitBtn2: TBitBtn;
    Panel3: TPanel;
    RzBitBtn1: TRzBitBtn;
    TabSheet2: TRzTabSheet;
    Panel9: TPanel;
    Panel_Db_Left: TPanel;
    Panel11: TPanel;
    Label14: TLabel;
    Label15: TLabel;
    BitBtn6: TBitBtn;
    ComboBox4: TComboBox;
    Edit2: TEdit;
    Panel12: TPanel;
    Label16: TLabel;
    ComboBox5: TComboBox;
    DBGrid3: TDBGrid;
    Panel_Db_Center: TPanel;
    RzBitBtn2: TRzBitBtn;
    RzBitBtn3: TRzBitBtn;
    Panel_Db_Right: TPanel;
    Panel15: TPanel;
    Label17: TLabel;
    ComboBox6: TComboBox;
    Panel16: TPanel;
    Label18: TLabel;
    Label19: TLabel;
    BitBtn3: TBitBtn;
    ComboBox7: TComboBox;
    Edit3: TEdit;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    ADOQuery1InDate: TWideStringField;
    ADOQuery1InRemark: TWideStringField;
    ADOQuery1GoodsOwner: TWideStringField;
    ADOQuery1OutDate: TWideStringField;
    ADOQuery1OutRemark: TWideStringField;
    ADOQuery1IsSale: TIntegerField;
    ADOQuery1Sale: TStringField;
    ADOQuery1GoodsNo: TWideStringField;
    ADOQuery1CustName: TWideStringField;
    ADOQuery1CustTel: TWideStringField;
    ADOQuery1CustAddr: TWideStringField;
    ADOQuery1CustRemark: TWideStringField;
    ADOQuery1GoodsID: TAutoIncField;
    ADOQuery1GoodsName: TWideStringField;
    ADOQuery1GoodsType: TWideStringField;
    Label20: TLabel;
    Memo1: TMemo;
    SpeedButton3: TSpeedButton;
    DataSource2: TDataSource;
    DataSource3: TDataSource;
    ADODataSet1: TADODataSet;
    ADODataSet1GoodsNo: TWideStringField;
    ADODataSet1InDate: TWideStringField;
    ADODataSet1GoodsOwner: TWideStringField;
    ADODataSet1GoodsName: TWideStringField;
    ADODataSet1GoodsType: TWideStringField;
    ADODataSet2: TADODataSet;
    WideStringField1: TWideStringField;
    WideStringField2: TWideStringField;
    WideStringField3: TWideStringField;
    WideStringField4: TWideStringField;
    WideStringField5: TWideStringField;
    DBGrid4: TDBGrid;
    ADODataSet2IsSale: TIntegerField;
    ADODataSet1IsSale: TIntegerField;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure RzBitBtn1Click(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure ADOQuery1CalcFields(DataSet: TDataSet);
    procedure DateTimePicker1Change(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure ComboBox4KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox7KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox6Change(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure RzBitBtn2Click(Sender: TObject);
    procedure RzBitBtn3Click(Sender: TObject);
    procedure RzPageControl1Change(Sender: TObject);
    procedure Memo1KeyPress(Sender: TObject; var Key: Char);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  GjForm: TGjForm;
  
implementation

uses UnitDM, UnitGoodsNameTypeForm, UnitSetupForm;

{$R *.dfm}

procedure TGjForm.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=27 then Close;
end;

procedure TGjForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ADOQuery1.Close;
  ADODataSet1.Close;
  ADODataSet2.Close;
  Action := caFree;
end;

procedure TGjForm.FormCreate(Sender: TObject);
var
  i: integer;
  sql: string;
  ts: TStrings;
begin
  //购进
  DateTimePicker1.DateTime := now;
  ComboBox1.Items.Clear;
  ComboBox2.Items.Clear;
  for i:=0 to TsGoodsNameType.Count-1 do
  begin
    ts := TStrings(TsGoodsNameType.Objects[i]);
    if ComboBox1.Items.IndexOf(ts.Strings[0])<0 then
      ComboBox1.Items.Add(ts.Strings[0]);
  end;
  ComboBox1.ItemIndex := 0;
  ComboBox1Change(Sender);
  Edit1.Clear;
  Memo1.Lines.Clear;
  DateTimePicker1Change(Sender);

  //调拨
  ComboBox5.ItemIndex := 0;
  ComboBox6.Items.Assign(TsGoodsOwner);
  ComboBox6.ItemIndex := 0;
  ComboBox4.Items.Clear;
  ComboBox7.Items.Clear;
  ComboBox4.Items.Add('');
  ComboBox7.Items.Add('');
  for i:=0 to TsGoodsNameType.Count-1 do
  begin
    ts := TStrings(TsGoodsNameType.Objects[i]);
    if ComboBox4.Items.IndexOf(ts.Strings[0])<0 then
      ComboBox4.Items.Add(ts.Strings[0]);
    if ComboBox7.Items.IndexOf(ts.Strings[0])<0 then
      ComboBox7.Items.Add(ts.Strings[0]);
  end;
  ComboBox4.ItemIndex := 0;
  ComboBox7.ItemIndex := 0;
  Edit2.Clear;
  Edit3.Clear;
  BitBtn6.Click;
  ComboBox6Change(Sender);
end;

procedure TGjForm.DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then ComboBox1.SetFocus;
end;

procedure TGjForm.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then ComboBox2.SetFocus;
end;

procedure TGjForm.ComboBox2KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then Edit1.SetFocus;
end;

procedure TGjForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then Memo1.SetFocus;
end;

procedure TGjForm.RzBitBtn1Click(Sender: TObject);
var
  sql1, sql2, sql3, sql4: string;
  s1, s2, s3, s4: string;
begin
  s1 := Trim(ComboBox1.Text);
  s2 := Trim(ComboBox2.Text);
  s3 := Trim(Edit1.Text);
  s4 := Trim(Memo1.Lines.Text);
  if s1='' then
  begin
    Application.MessageBox('请输入品名!', '提示', MB_OK + MB_ICONINFORMATION);
    ComboBox1.SetFocus;
    Exit;
  end;
  if s2='' then
  begin
    Application.MessageBox('请输入机型!', '提示', MB_OK + MB_ICONINFORMATION);
    ComboBox2.SetFocus;
    Exit;
  end;
  if s3='' then
  begin
    Application.MessageBox('请输入串号!', '提示', MB_OK + MB_ICONINFORMATION);
    Edit1.SetFocus;
    Exit;
  end;
  if s4='' then s4:=' ';
    
  sql1 := 'insert into Tab_GoodsNo(GoodsNo,GoodsName,GoodsType)values(:GoodsNo,:GoodsName,:GoodsType)';
  sql2 := 'insert into Tab_Goods(GoodsNo,InDate,IsSale,GoodsOwner,InRemark)values(:GoodsNo,:InDate,:IsSale,:GoodsOwner,:InRemark)';
  sql3 := 'select * from Tab_GoodsNameType where GoodsName=:GoodsName and GoodsType=:GoodsType';
  sql4 := 'insert into Tab_GoodsNameType(GoodsName,GoodsType)values(:GoodsName,:GoodsType)';

  try
    DM1.ADOConnection1.BeginTrans;

    DM1.ADOQuery1.Close;
    DM1.ADOQuery1.SQL.Clear;
    DM1.ADOQuery1.SQL.Text := sql1;
    DM1.ADOQuery1.Parameters.ParamByName('GoodsNo').Value := s3;
    DM1.ADOQuery1.Parameters.ParamByName('GoodsName').Value := s1;
    DM1.ADOQuery1.Parameters.ParamByName('GoodsType').Value := s2;
    DM1.ADOQuery1.ExecSQL;

    DM1.ADOQuery1.Close;
    DM1.ADOQuery1.SQL.Clear;
    DM1.ADOQuery1.SQL.Text := sql2;
    DM1.ADOQuery1.Parameters.ParamByName('GoodsNo').Value := s3;
    DM1.ADOQuery1.Parameters.ParamByName('InDate').Value := FormatDateTime('yyyymmdd', DateTimePicker1.DateTime);
    DM1.ADOQuery1.Parameters.ParamByName('IsSale').Value := '0';
    DM1.ADOQuery1.Parameters.ParamByName('GoodsOwner').Value := '总仓';
    DM1.ADOQuery1.Parameters.ParamByName('InRemark').Value := s4;
    DM1.ADOQuery1.ExecSQL;

    DM1.ADOQuery1.Close;
    DM1.ADOQuery1.SQL.Clear;
    DM1.ADOQuery1.SQL.Text := sql3;
    DM1.ADOQuery1.Parameters.ParamByName('GoodsName').Value := s1;
    DM1.ADOQuery1.Parameters.ParamByName('GoodsType').Value := s2;
    DM1.ADOQuery1.Open;
    if DM1.ADOQuery1.RecordCount<=0 then
    begin
      DM1.ADOQuery1.SQL.Clear;
      DM1.ADOQuery1.SQL.Text := sql4;
      DM1.ADOQuery1.Parameters.ParamByName('GoodsName').Value := s1;
      DM1.ADOQuery1.Parameters.ParamByName('GoodsType').Value := s2;
      DM1.ADOQuery1.ExecSQL;
      //刷新品名机型
      DM1.GetGoodsNameType;
      FormCreate(Sender);
    end;

    DM1.ADOConnection1.CommitTrans;
    
    DM1.ADOQuery1.Close;

⌨️ 快捷键说明

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