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

📄 rk1.pas

📁 delphi开发的委托加工管理系统源代码
💻 PAS
字号:
unit rk1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, DB, ADODB, Buttons, Mask, DBCtrls, RzButton,
  DosMove, RzPanel, ExtCtrls, RzStatus;

type
  Trk = class(TForm)
    ADOConnection1: TADOConnection;
    ADOQuery2: TADOQuery;
    ADODataSet1: TADODataSet;
    DataSource1: TDataSource;
    ADOCommand1: TADOCommand;
    ADODataSet2: TADODataSet;
    DataSource2: TDataSource;
    DosMove1: TDosMove;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    DateTimePicker1: TDateTimePicker;
    Edit1: TEdit;
    Edit2: TEdit;
    ComboBox1: TComboBox;
    Edit3: TEdit;
    BitBtn1: TBitBtn;
    DBEdit1: TDBEdit;
    ComboBox2: TComboBox;
    BitBtn6: TBitBtn;
    DBEdit2: TDBEdit;
    ComboBox3: TComboBox;
    BitBtn7: TBitBtn;
    DateTimePicker2: TDateTimePicker;
    ComboBox4: TComboBox;
    BitBtn8: TBitBtn;
    Edit4: TEdit;
    RzToolbar1: TRzToolbar;
    RzToolButton1: TRzToolButton;
    RzSpacer1: TRzSpacer;
    RzToolButton2: TRzToolButton;
    RzSpacer2: TRzSpacer;
    RzToolButton3: TRzToolButton;
    RzSpacer4: TRzSpacer;
    RzToolButton5: TRzToolButton;
    RzSpacer5: TRzSpacer;
    RzToolButton6: TRzToolButton;
    RzStatusBar1: TRzStatusBar;
    RzStatusPane1: TRzStatusPane;
    RzStatusPane2: TRzStatusPane;
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1DropDown(Sender: TObject);
    procedure ComboBox1Exit(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure ComboBox2DropDown(Sender: TObject);
    procedure ComboBox3DropDown(Sender: TObject);
    procedure ComboBox4DropDown(Sender: TObject);
    procedure Edit3Exit(Sender: TObject);
    procedure BitBtn12Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure RzBitBtn4Click(Sender: TObject);
    procedure RzToolButton1Click(Sender: TObject);
    procedure RzToolButton2Click(Sender: TObject);
    procedure RzToolButton6Click(Sender: TObject);
    procedure RzToolButton3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  rk: Trk;

implementation

uses ql1, jglb1, cklb1, gyszl1, adodm;

{$R *.dfm}

procedure Trk.FormCreate(Sender: TObject);
begin
datetimepicker1.Date:=(now);
datetimepicker2.Date:=(now)+3
end;

procedure Trk.ComboBox1DropDown(Sender: TObject);
var
i:integer;
begin
combobox1.Clear;
dm.wl.Active:=false;
dm.wl.Active:=true;
dm.wl.Open;
if (dm.wl.RecordCount>0) then
dm.wl.First;
for i:=0 to dm.wl.RecordCount - 1 do
begin
combobox1.Items.add(dm.wl.Fieldbyname('物料代码').AsString);
dm.wl.Next;
end;
end;
procedure Trk.ComboBox1Exit(Sender: TObject);
begin
IF combobox1.Text<>'' then
begin
adoconnection1.Connected:=true;
adodataset2.Active:=false;
adodataset2.CommandText:='select * from wldata where 物料代码='''+trim(combobox1.Text)+'''';
adodataset2.Active:=true;
dbedit1.DataField:='品名';
combobox2.Text:=adodataset2.Fields[2].AsString;
dbedit2.DataField:='单价';
if ''+adodataset2.Fields[6].AsString+''<='#'+formatdatetime('yyyy-mm-dd',datetimepicker1.Date)+'#' then
showmessage('此物料单价有效期已到!');
RzStatusPane2.Caption:='单价有效期为:'+adodataset2.Fields[7].AsString;
if(dbedit1.Text='') then
showmessage('你输入的料号不存在,请确认是否新增!');
if (dbedit2.Text='') then
showmessage('你输入的料号单价不存在,请确认是否增加单价!')
end
end;

procedure Trk.BitBtn5Click(Sender: TObject);
begin
close
end;

procedure Trk.ComboBox2DropDown(Sender: TObject);
var
i:integer;
begin
combobox2.clear;
adoquery2.Active:=false;
adoquery2.Active:=true;
adoquery2.Open;
if (adoquery2.RecordCount>0) then
adoquery2.First;
for i:=0 to adoquery2.RecordCount - 1 do
begin
combobox2.Items.add(adoquery2.Fieldbyname('类别名称').AsString);
adoquery2.Next;
end;
end;
procedure Trk.ComboBox3DropDown(Sender: TObject);
var
i:integer;
begin
combobox3.clear;
dm.kb.Active:=false;
dm.kb.Active:=true;
dm.kb.Open;
if (dm.kb.RecordCount>0) then
dm.kb.First;
for i:=0 to dm.kb.RecordCount - 1 do
begin
combobox3.Items.add(dm.kb.Fieldbyname('仓库名称').AsString);
dm.kb.Next;
end;
end;
procedure Trk.ComboBox4DropDown(Sender: TObject);
var
i:integer;
begin
combobox4.clear;
dm.gysdata.Active:=false;
dm.gysdata.active:=true;
dm.gysdata.Open;
if (dm.gysdata.RecordCount>0) then
dm.gysdata.First;
for i:=0 to dm.gysdata.RecordCount - 1 do
begin
combobox4.Items.add(dm.gysdata.Fieldbyname('厂家名称').AsString);
dm.gysdata.Next;
end;
end;
procedure Trk.Edit3Exit(Sender: TObject);
begin
if (edit3.Text<>'') then
begin
RzStatusPane1.Caption:='金额合计:¥:'+formatfloat(',.00',strtofloat(edit3.Text)*strtofloat(dbedit2.Text));
end
else
showmessage('请输入数量!')
end;

procedure Trk.BitBtn12Click(Sender: TObject);
begin
close
end;

procedure Trk.BitBtn1Click(Sender: TObject);
begin
application.CreateForm(twl,wl);
wl.showmodal;
end;

procedure Trk.BitBtn6Click(Sender: TObject);
begin
application.CreateForm(tjglb,jglb);
jglb.showmodal;
end;

procedure Trk.BitBtn7Click(Sender: TObject);
begin
application.CreateForm(tcklb,cklb);
cklb.showmodal;
end;

procedure Trk.BitBtn8Click(Sender: TObject);
begin
application.CreateForm(tgyszl,gyszl);
gyszl.showmodal;
end;

procedure Trk.RzBitBtn4Click(Sender: TObject);
begin
close
end;

procedure Trk.RzToolButton1Click(Sender: TObject);
begin
edit1.Enabled:=true;
edit2.Enabled:=true;
edit3.Enabled:=true;
edit4.Enabled:=true;
bitbtn1.Enabled:=true;
bitbtn6.Enabled:=true;
bitbtn7.Enabled:=true;
bitbtn8.Enabled:=true;
combobox1.Enabled:=true;
combobox2.Enabled:=true;
combobox3.Enabled:=true;
combobox4.Enabled:=true;
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
combobox1.Clear;
combobox2.Clear;
combobox3.Clear;
combobox4.Clear;
dbedit1.Clear;
dbedit2.Clear;
RzStatusPane1.Caption:='';
RzStatusPane2.Caption:='';
RzToolButton5.Enabled:=false;
RzToolButton2.Enabled:=true;
RzToolButton1.Enabled:=false;
edit1.SetFocus;
end;

procedure Trk.RzToolButton2Click(Sender: TObject);
begin
if edit2.Text<>'' then
begin
adoconnection1.Connected:=true;
adocommand1.CommandText:='insert into rkdata (日期,单据编号,委托单号,物料代码,品名,加工类型,数量,金额,库别,完工日期,厂家,备注,单价,状态)'
+' values ('''+formatdatetime('yyyy-mm-dd',datetimepicker1.Date)+''','''+trim(UPPERCASE(edit1.Text))+''','''+trim(uppercase(edit2.Text))+''','''+trim(uppercase(combobox1.Text))+''','''+trim(dbedit1.Text)+''','''+trim(combobox2.Text)+''','''+trim(edit3.Text)+''','''+formatfloat(',.00',strtofloat(edit3.Text)*strtofloat(dbedit2.Text))+''','''+trim(combobox3.Text)+''','''+formatdatetime('yyyy-mm-dd',datetimepicker2.Date)+''','''+trim(combobox4.Text)+''','''+trim(edit4.Text)+''','''+trim(dbedit2.Text)+''',''审核'')';
adocommand1.Execute;
dm.ADODataSet1.Active:=false;
dm.ADODataSet1.CommandText:='select * from kcdata where 物料代码='''+trim(uppercase(combobox1.Text))+''' and 库别='''+trim(combobox3.Text)+'''';
dm.ADODataSet1.Active:=true;
if dm.ADODataSet1.IsEmpty=true then
begin
adocommand1.CommandText:='insert into kcdata (物料代码,品名,数量,金额,库别) values ('''+trim(uppercase(combobox1.Text))+''','''+trim(dbedit1.Text)+''','''+trim(edit3.Text)+''',''0'','''+trim(combobox3.Text)+''')';
adocommand1.Execute;
end
else
begin
adocommand1.CommandText:='update kcdata inner join rkdata on rkdata.物料代码=kcdata.物料代码 and rkdata.库别=kcdata.库别 set kcdata.数量=kcdata.数量+rkdata.数量 where rkdata.单据编号='''+trim(UPPERCASE(edit1.Text))+'''';
adocommand1.Execute;
end;
RzToolButton2.Enabled:=false;
RzToolButton1.Enabled:=true;
RzToolButton5.Enabled:=true;
showmessage('操作成功!');
end
else
showmessage('请输入相应的数据')
end;

procedure Trk.RzToolButton6Click(Sender: TObject);
begin
close;
end;

procedure Trk.RzToolButton3Click(Sender: TObject);
begin
dm.adock.SQL.Clear;
dm.adock.SQL.Add('update kcdata inner join rkdata on rkdata.物料代码=kcdata.物料代码 and rkdata.库别=kcdata.库别 set kcdata.数量=kcdata.数量-rkdata.数量 where rkdata.单据编号='''+trim(edit1.Text)+'''');
dm.adock.ExecSQL;
adocommand1.CommandText:='update rkdata set 委托单号='''+trim(uppercase(edit2.Text))+''',物料代码='''+trim(combobox1.Text)+''',品名='''+trim(dbedit1.Text)+''',加工类型='''+trim(combobox2.Text)+''''
+',数量='''+trim(edit3.Text)+''',单价='''+trim(dbedit2.Text)+''',金额='''+formatfloat(',.00',strtofloat(edit3.Text)*strtofloat(dbedit2.Text))+''',库别='''+trim(combobox3.Text)+''',完工日期='''+formatdatetime('yyyy-mm-dd',datetimepicker2.Date)+''','
+'厂家='''+trim(combobox4.Text)+''',状态=''审核'',备注='''+trim(edit4.Text)+''',日期='''+formatdatetime('yyyy-mm-dd',datetimepicker1.Date)+''' where 单据编号='''+trim(edit1.Text)+'''';
adocommand1.Execute;
dm.adock.SQL.Clear;
dm.adock.SQL.Add('update kcdata inner join rkdata on rkdata.物料代码=kcdata.物料代码 and rkdata.库别=kcdata.库别 set kcdata.数量=kcdata.数量+rkdata.数量 where rkdata.单据编号='''+trim(edit1.Text)+'''');
dm.adock.ExecSQL;
showmessage('操作成功!');
end;

end.

⌨️ 快捷键说明

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