📄 unitgj.pas
字号:
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 + -