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

📄 production.~pas

📁 这是用delphi开发的一个物资管理信息系统
💻 ~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 + -