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

📄 plan.pas

📁 这是用delphi开发的一个物资管理信息系统
💻 PAS
字号:
unit plan;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls, DB, ADODB, ComCtrls, DBClient,product_unit,
  plan_unit, Buttons, ExtCtrls;

type
  Tplanfrm = class(TForm)
    GroupBox2: TGroupBox;
    DBGrid1: TDBGrid;
    plan_ds1: TDataSource;
    plan_cds1: TClientDataSet;
    Panel1: TPanel;
    Find_Plan: TButton;
    New_Plan: TButton;
    Plan_Mod: TButton;
    Del_Plan: TButton;
    BitBtn1: TBitBtn;
    cancel_btn: TBitBtn;
    GroupBox1: TGroupBox;
    plan_nolb: TLabel;
    pro_codelb: TLabel;
    plan_datelb: TLabel;
    unitlb: TLabel;
    plan_numlb: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    Image1: TImage;
    Image2: TImage;
    united: TEdit;
    plan_numed: TEdit;
    pro_codeed: TComboBox;
    UpDown1: TUpDown;
    Label3: TLabel;
    procedure cancel_btnClick(Sender: TObject);
    procedure Find_PlanClick(Sender: TObject);
    procedure New_PlanClick(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure Plan_ModClick(Sender: TObject);
    procedure Del_PlanClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure pro_codeedClick(Sender: TObject);
 
  private
   plan:Tplan;
   product:Tproduct;
    datestr:string;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  planfrm: Tplanfrm;

implementation

uses datamodule;

{$R *.dfm}

procedure Tplanfrm.cancel_btnClick(Sender: TObject);
begin
planfrm.Close;
end;

procedure Tplanfrm.Find_PlanClick(Sender: TObject);
var
 sql:string;
begin
plan:=Tplan.create ;
if  plan.AllPlans()=false then
begin
showmessage('采购计划信息表中没有计划信息!');
exit;
end;
sql:='SELECT PLAN_INFO.PLAN_NO AS 计划号, '
      +' PLAN_INFO.PLAN_DATE AS 计划生成日期, '
      +' PRO_INFO.PRO_NAME AS 物品名称,'
      +' PLAN_INFO.PLAN_NUM AS 采购物品数量, PLAN_INFO.UNIT AS 物品单位, '
      +' PRO_INFO.PRO_TYPE AS 物品类型, PRO_INFO.PRO_SIZE AS 物品规格, '
      +' PRO_INFO.SUPPLIER_CODE AS 供应商编码   '
      +' FROM PLAN_INFO INNER JOIN  '
      +' PRO_INFO ON PLAN_INFO.PRO_CODE = PRO_INFO.PRO_CODE';
plan_cds1.Data:=plan.Plans(sql);
plan.Free;
end;

procedure Tplanfrm.New_PlanClick(Sender: TObject);
var
 sql:string;
begin
plan:=Tplan.create ;
product:=Tproduct.create ;
if (label1.Caption ='') or (pro_codeed.Text='') or (plan_numed.Text='')
   or (united.Text='')  then
begin
showmessage('请将采购计划项目填写完整!');
exit;
end;

try
  strtoint(plan_numed.Text);
  except
  showmessage('采购物品数量值不合法!');
  exit;
  end;

if  plan.PlanRec(label1.Caption )   then
begin
showmessage('该计划单号已经存在!');
exit;
end;

sql:='insert into plan_info(plan_no,plan_date,pro_code,plan_num,'
+'unit)values('''+label1.Caption +''','''+label2.Caption +''','''+pro_codeed.Text+''','
+''''+plan_numed.Text+''','''+united.Text+''')';
plan.PlanInsert(sql); 

sql:='SELECT PLAN_INFO.PLAN_NO AS 计划单号, '
    +'  PLAN_INFO.PLAN_DATE AS 计划生成日期, '
      +' PRO_INFO.PRO_NAME AS 物品名称,'
      +' PLAN_INFO.PLAN_NUM AS 采购物品数量, PLAN_INFO.UNIT AS 物品单位, '
      +' PRO_INFO.PRO_TYPE AS 物品类型, PRO_INFO.PRO_SIZE AS 物品规格, '
      +' PRO_INFO.SUPPLIER_CODE AS 供应商编码   '
 +' FROM PLAN_INFO INNER JOIN  '
     +'  PRO_INFO ON PLAN_INFO.PRO_CODE = PRO_INFO.PRO_CODE where '
     +'PLAN_INFO.PLAN_NO='''+label1.Caption +'''';
 plan_cds1.Data :=plan.Plans(sql);
 pro_codeed.Text :='';
 united.Text :='';
showmessage('计划信息已经成功保存完毕!');
plan.Free;
product.Free;
end;

procedure Tplanfrm.DBGrid1CellClick(Column: TColumn);
begin
plan:=Tplan.create ;
label1.Caption :=DBGrid1.Fields[0].AsString ;
pro_codeed.Text :=plan.GetProCode(DBGrid1.Fields[0].AsString);
plan_numed.Text :=plan.GetPlanNum(DBGrid1.Fields[0].AsString);
label2.Caption :=plan.GetPlanDate(DBGrid1.Fields[0].AsString);
united.Text :=plan.GetUnit(DBGrid1.Fields[0].AsString) ;
end;

procedure Tplanfrm.Plan_ModClick(Sender: TObject);
var
 sql:string;
begin
plan:=Tplan.create ;
product:=Tproduct.create ;
if  application.MessageBox('要修改吗?','提示',mb_yesno+mb_iconquestion)=idyes then
begin

if (label1.Caption ='') or (pro_codeed.Text='') or (plan_numed.Text='')
   or (united.Text='')  then
begin
showmessage('不能将采购计划项目修改为空!');
exit;
end;

try
  strtoint(plan_numed.Text);
  except
  showmessage('采购物品数量值不合法!');
  exit;
  end;

if  plan.PlanRec(label1.Caption)=false   then
begin
showmessage('该计划单号不存在,修改失败!');
exit;
end;

sql:= ' update plan_info set plan_date='''+label2.Caption +''','
+'pro_code='''+pro_codeed.Text+''',plan_num='''+plan_numed.Text+''','
+'unit='''+united.Text+''' where plan_no='''+label1.Caption +'''';
plan.PlanUpdate(sql);
sql:='SELECT PLAN_INFO.PLAN_NO AS 计划单号, '
    +'  PLAN_INFO.PLAN_DATE AS 计划生成日期, '
      +' PRO_INFO.PRO_NAME AS 物品名称,'
      +' PLAN_INFO.PLAN_NUM AS 采购物品数量, PLAN_INFO.UNIT AS 物品单位, '
      +' PRO_INFO.PRO_TYPE AS 物品类型, PRO_INFO.PRO_SIZE AS 物品规格, '
      +' PRO_INFO.SUPPLIER_CODE AS 供应商编码   '
 +' FROM PLAN_INFO INNER JOIN  '
     +'  PRO_INFO ON PLAN_INFO.PRO_CODE = PRO_INFO.PRO_CODE where '
     +'PLAN_INFO.PLAN_NO='''+label1.Caption+'''';
plan_cds1.Data :=plan.Plans(sql);
 pro_codeed.Text :='';
 united.Text :='';
showmessage('修改成功!');
end;
plan.Free;
product.Free;
end;

procedure Tplanfrm.Del_PlanClick(Sender: TObject);
var
  sql:string;
begin
plan:=Tplan.create ;
if  application.MessageBox('删除后信息不可恢复,要删除吗?','警告',mb_yesno+mb_iconquestion)=idyes then
begin
if label1.Caption=''  then
begin
showmessage('请输入你要删除的计划单号!');
exit;
end;

if  plan.PlanRec(label1.Caption)=false   then
begin
showmessage('该计划单号不存在,删除失败!');
exit;
end;

sql:='delete from plan_info  where plan_no='''+label1.Caption+'''';
plan.PlanDelete(sql);

sql:='SELECT PLAN_INFO.PLAN_NO AS 计划单号, '
    +'  PLAN_INFO.PLAN_DATE AS 计划生成日期, '
      +' PRO_INFO.PRO_NAME AS 物品名称,'
      +' PLAN_INFO.PLAN_NUM AS 采购物品数量, PLAN_INFO.UNIT AS 物品单位, '
      +' PRO_INFO.PRO_TYPE AS 物品类型, PRO_INFO.PRO_SIZE AS 物品规格, '
      +' PRO_INFO.SUPPLIER_CODE AS 供应商编码   '
 +' FROM PLAN_INFO INNER JOIN  '
     +'  PRO_INFO ON PLAN_INFO.PRO_CODE = PRO_INFO.PRO_CODE ';
plan_cds1.Data :=plan.Plans(sql);
pro_codeed.Text :='';
united.Text :='';
showmessage('恭喜你,该条计划信息已经删除成功!');
end;
plan.Free;
end;

procedure Tplanfrm.FormActivate(Sender: TObject);
begin
product:=Tproduct.create;
pro_codeed.Items:=product.GetProIdList();
end;

procedure Tplanfrm.BitBtn1Click(Sender: TObject);
 var
  s,m: String;
  i: integer ;
begin
 Label2.Caption := FormatDateTime('yyyy-mm-dd',Now());
  s:= FormatDateTime('yyyymmdd',Now());
  With DataMOD.ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select max(plan_no) as ss From plan_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,9,3))) ;
    if i<9 then
      s:= s + '00'+InttoStr(i +1)
    else if i<99 then
      s:= s + '0'+InttoStr(i +1)
    else
      s:=s+inttostr(i+1);
end;
   label1.Caption :=s;
   pro_codeed.Text :='';
   united.Text :='';
   plan_numed.Text :='';
   
   end;
procedure Tplanfrm.pro_codeedClick(Sender: TObject);
begin
  united.Text :=product.GetUnit(pro_codeed.Text );
  united.Enabled :=false; 
end;

end.

⌨️ 快捷键说明

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