📄 production.~pas
字号:
unit production;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB, DBClient,product_unit,supplier_unit,
ComCtrls, Buttons, Menus, ExtCtrls;
type
Tproductionfrm = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
DBGrid1: TDBGrid;
pro_typelb: TLabel;
pro_sizelb: TLabel;
order_numlb: TLabel;
order_timelb: TLabel;
pro_typeed: TEdit;
pro_sizeed: TEdit;
order_numed: TEdit;
order_timeed: TEdit;
product_ds1: TDataSource;
fit_store_numlb: TLabel;
fit_store_numed: TEdit;
Label2: TLabel;
product_cds1: TClientDataSet;
UpDown1: TUpDown;
UpDown3: TUpDown;
UpDown4: TUpDown;
Panel1: TPanel;
cancel_btn: TBitBtn;
all_Pro: TButton;
BitBtn2: TButton;
BitBtn1: TButton;
modify_Pro: TButton;
delete_Pro: TButton;
GroupBox3: TGroupBox;
pro_codelb: TLabel;
pro_namelb: TLabel;
supplier_codelb: TLabel;
pro_pricelb: TLabel;
Label4: TLabel;
Label1: TLabel;
pro_nameed: TEdit;
supplier_codeed: TComboBox;
pro_priceed: TEdit;
UpDown2: TUpDown;
Label5: TLabel;
unitlb: TLabel;
united: TComboBox;
Image1: TImage;
Label3: TLabel;
procedure cancel_btnClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure modify_ProClick(Sender: TObject);
procedure delete_ProClick(Sender: TObject);
procedure all_ProClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
product:Tproduct;
supplier:Tsupplier;
{ Private declarations }
public
{ Public declarations }
end;
var
productionfrm: Tproductionfrm;
implementation
uses pro_add, datamodule;
{$R *.dfm}
procedure Tproductionfrm.cancel_btnClick(Sender: TObject);
begin
productionfrm.Close;
end;
procedure Tproductionfrm.DBGrid1CellClick(Column: TColumn);
begin
label1.Caption :=DBGrid1.Fields[0].AsString;
pro_nameed.Text :=DBGrid1.Fields[1].AsString;
pro_typeed.Text :=DBGrid1.Fields[3].AsString;
pro_sizeed.Text :=DBGrid1.Fields[4].AsString;
pro_priceed.Text :=DBGrid1.Fields[5].AsString;
supplier_codeed.Text:=DBGrid1.Fields[6].AsString;
order_numed.Text :=DBGrid1.Fields[7].AsString;
order_timeed.Text :=DBGrid1.Fields[8].AsString;
united.Text :=DBGrid1.Fields[2].AsString;
fit_store_numed.Text :=DBGrid1.Fields[9].AsString;
end;
procedure Tproductionfrm.modify_ProClick(Sender: TObject);
var
modsql:string;
selsql:string;
begin
product:=Tproduct.create ;
if application.MessageBox('要修改吗?','提示:',mb_yesno+mb_iconquestion)=idyes then
begin
if supplier_codeed.Text='' then
begin
showmessage('请输入供应商代码!');
exit;
end;
if product.CheckProRec(label1.Caption )=false then
begin
showmessage('该物品编码不存在,请核查!');
exit;
end;
modsql:='update pro_info set pro_name='''+pro_nameed.Text+''', '
+'unit='''+united.Text+''',pro_type='''+pro_typeed.Text+''',pro_price='''+pro_priceed.Text+''','
+'pro_size='''+pro_sizeed.Text+''',supplier_code='''+supplier_codeed.Text+''','
+'order_num='''+order_numed.Text+''',order_time='''+order_timeed.Text+''',fit_store_num='''+fit_store_numed.Text+''''
+' where pro_code='''+label1.Caption+'''';
product.UpdateProRec(modsql);
selsql:='select pro_code 物品编码,pro_name 物品名称,unit 计量单位,'
+'pro_type 物品类型,pro_size 物品规格,pro_price 单位价格,'
+'supplier_code 供应商代码,order_num 订货批量,order_time 订货提前期,'
+'fit_store_num 安全库存量 from pro_info where pro_code='''+label1.Caption+'''';
product_cds1.Data :=product.FindAllPro(selsql);
pro_nameed.Text:='';
pro_typeed.Text:='';pro_sizeed.Text:='';
united.Text :='';
supplier_codeed.Text :='';
showmessage('恭喜你,你已经修改成功!');
end;
product.Free;
end;
procedure Tproductionfrm.delete_ProClick(Sender: TObject);
var
delsql,selsql:string;
begin
product:=Tproduct.create ;
if application.MessageBox('信息删除后将不可恢复,要删除吗?','警告',mb_yesno+mb_iconquestion)=idyes then
begin
if label1.Caption='' then
begin
showmessage('请输入要删除记录物品编码!');
exit;
end;
if product.CheckProRec(label1.Caption)=false then
begin
showmessage('该物品编码不存在,请核查!');
exit;
end;
delsql:='delete from pro_info where '
+'pro_code='''+label1.Caption+'''';
product.DeleteProRec(delsql);
selsql:='select pro_code 物品编码,pro_name 物品名称,unit 计量单位,'
+'pro_type 物品类型,pro_size 物品规格,pro_price 单位价格,'
+'supplier_code 供应商代码,order_num 订货批量,order_time 订货提前期,'
+'fit_store_num 安全库存量 from pro_info';
product_cds1.Data :=product.FindAllPro(selsql);
pro_nameed.Text:='';
pro_typeed.Text:='';pro_sizeed.Text:='';
united.Text :='';
supplier_codeed.Text :='';
showmessage('恭喜你,你已经成功的删除了这条纪录!');
end;
product.Free;
end;
procedure Tproductionfrm.all_ProClick(Sender: TObject);
var
selsql:string;
begin
product:=Tproduct.create ;
supplier:=Tsupplier.create ;
selsql:='select pro_code 物品编码,pro_name 物品名称,unit 计量单位,'
+'pro_type 物品类型,pro_size 物品规格,pro_price 单位价格,'
+'supplier_code 供应商代码,order_num 订货批量,order_time 订货提前期,'
+'fit_store_num 安全库存量 from pro_info';
product_cds1.Data:=product.FindAllPro(selsql);
end;
procedure Tproductionfrm.FormActivate(Sender: TObject);
var
selsql:string;
begin
product:=Tproduct.create ;
supplier:=Tsupplier.create ;
supplier_codeed.Items:=supplier.GetIdList();
selsql:='select pro_code 物品编码,pro_name 物品名称,unit 计量单位,'
+'pro_type 物品类型,pro_size 物品规格,pro_price 单位价格,'
+'supplier_code 供应商代码,order_num 订货批量,order_time 订货提前期,'
+'fit_store_num 安全库存量 from pro_info';
product_cds1.Data:=product.FindAllPro(selsql);
end;
procedure Tproductionfrm.N1Click(Sender: TObject);
var
selsql:string;
begin
product:=Tproduct.create ;
supplier:=Tsupplier.create ;
selsql :='select pro_code 物品编码,pro_name 物品名称,unit 计量单位,'
+'pro_type 物品类型,pro_size 物品规格,pro_price 单位价格,'
+'supplier_code 供应商代码,order_num 订货批量,order_time 订货提前期,'
+'fit_store_num 安全库存量 from pro_info';
product_cds1.Data :=product.FindAllPro(selsql) ;
end;
procedure Tproductionfrm.BitBtn2Click(Sender: TObject);
var
s,m:string;
i:integer;
begin
label3.Caption :=formatdatetime('yyyy-mm-dd',now());
s:='P'+formatdatetime('yyyymmdd',now());
with datamod.adoquery1 do
begin
close;
sql.Clear ;
sql.Add('select max(pro_code) as ss from pro_info');
open;
end;
if datamod.adoquery1.FieldByName('ss').Value =null then
s:=s+'001'
else
begin
m:=trim(datamod.adoquery1.fieldbyname('ss').Value );
i:=strtoint(trim(copy(m,10,3)));
if i<9then
s:=s+'00'+inttostr(i+1)
else if i<99then
s:=s+'0'+inttostr(i+1)
else
s:=s+inttostr(i+1);
end;
label1.caption:=s;
pro_nameed.SetFocus ;
pro_nameed.Text:='';
pro_typeed.Text:='';pro_sizeed.Text:='';
united.Text :='';
supplier_codeed.Text :='';
end;
procedure Tproductionfrm.BitBtn1Click(Sender: TObject);
var
insql:string;
selsql:string;
begin
if label1.Caption ='' then
begin
showmessage('物品编码不能为空!');
exit;
end;
if pro_nameed.Text ='' then
begin
showmessage('物品名称不能为空!');
exit;
end;
if supplier_codeed.Text ='' then
begin
showmessage('供应商代号不能为空!');
exit;
end;
if supplier.CheckRec(supplier_codeed.Text)=false then
begin
showmessage('该供应商代号不存在,请核查!');
exit;
end;
try
strtofloat(pro_priceed.Text );
except
showmessage('单位价格输入有误,请核查!');
exit;
end;
try
strtoint(order_numed.Text );
except
showmessage('订货批量输入有误,请核查!');
exit;
end;
try
strtoint(fit_store_numed.Text );
except
showmessage('安全库存量输入有误,请核查!');
exit;
end;
try
strtoint(order_timeed.Text );
except
showmessage('订货提前期输入有误,请核查!');
exit;
end;
if product.CheckProRec(label1.Caption )=true then
begin
showmessage('该物品编号已经存在,请核查!');
exit;
end;
insql:='insert into pro_info(pro_code,pro_name,'
+'unit,pro_type,pro_size,pro_price,supplier_code,order_num,'
+'order_time,fit_store_num)values('''+label1.Caption +''','
+''''+pro_nameed.Text+''','''+united.Text+''','''+pro_typeed.Text+''','
+''''+pro_sizeed.Text+''','''+pro_priceed.Text+''','''+supplier_codeed.Text+''','
+''''+order_numed.Text+''','''+order_timeed.Text+''','''+fit_store_numed.Text+''')';
product.InsertProRec(insql);
selsql:='select pro_code 物品编码,pro_name 物品名称,unit 计量单位,'
+'pro_type 物品类型,pro_size 物品规格,pro_price 单位价格,'
+'supplier_code 供应商代码,order_num 订货批量,order_time 订货提前期,'
+'fit_store_num 安全库存量 from pro_info where pro_code='''+label1.Caption +'''';
product_cds1.Data:=product.FindAllPro(selsql) ;
showmessage('恭喜你,这条物资信息录入成功!');
product.Free;
supplier.Free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -