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

📄 mrlld.pas

📁 生产管理系统:系统具有数据备份及数据还原功能。能够保证系统数据的安全性方便的全方位的数据查询。在相应的权限下
💻 PAS
字号:
unit MRLLD;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ImgList, Grids, DBGrids, StdCtrls, ComCtrls, ToolWin,
  ExtCtrls;

type
  TFRM_LLD = class(TForm)
    Panel2: TPanel;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    ImageList1: TImageList;
    Datalb: TDataSource;
    GroupBox1: TGroupBox;
    Panel1: TPanel;
    Label1: TLabel;
    ComboBox1: TComboBox;
    Label2: TLabel;
    DateTimePicker1: TDateTimePicker;
    Label3: TLabel;
    Edit1: TEdit;
    DBGrid1: TDBGrid;
    Label4: TLabel;
    ComboBox2: TComboBox;
    procedure FormShow(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure ToolButton9Click(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure ToolButton11Click(Sender: TObject);
    procedure ToolButton13Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FRM_LLD: TFRM_LLD;
  tb : integer = 0;
implementation
  uses MR_DATA, MRLLD_CX;
{$R *.dfm}

procedure TFRM_LLD.FormShow(Sender: TObject);
var
  yn : string;
begin
  yn := '是';
  combobox1.Clear;
  with data.ADOb do
  begin
    close;
    sql.Clear;
    sql.Add('select * from tb_scdd where yn='+''''+yn+'''');
    open;
  end;
  if data.ADOb.RecordCount>0 then
  begin
    while not data.ADOb.Eof do
    begin
      combobox1.Items.Add(data.ADOb.fieldbyname('scddh').AsString);
      data.ADOb.Next;
    end;
  end;
  with data.ADOa do
  begin
    close;
    sql.Clear;
    sql.Add('select * from tb_ll order by llid');
    open;
  end;
  datalb.DataSet := data.ADOa;
  if data.ADOa.RecordCount < 1 then
  begin
    edit1.Clear;
    combobox1.Text := '';
    combobox2.Text := '';
    DateTimePicker1.Date := now();
  end
  else
  begin
    data.ADOa.First;
    edit1.Text := data.ADOa.fieldbyname('cpmc').AsString;
    combobox1.Text := data.ADOa.fieldbyname('scddh').AsString;
    combobox2.Text := data.ADOa.fieldbyname('yn').AsString;
    DateTimePicker1.Date := data.ADOa.fieldbyname('lltime').AsDateTime;
  end;
end;

procedure TFRM_LLD.ToolButton1Click(Sender: TObject);
var
   i : integer;
   s,p : string;
begin
  try
  i := 1;
  with data.ADOc do
  begin
    close;
    sql.Clear;
    sql.Add('select * from tb_scdd where scddh='+''''+Trim(combobox1.Text)+'''');
    open;
  end;
  if data.ADOc.RecordCount>0 then
  begin
    with data.ADOd do
    begin
      close;
      sql.Clear;
      sql.Add('select * from tb_cpcl where cpmc='+''''+Trim(edit1.Text)+'''');
      open;
    end;
    if data.ADOd.RecordCount>0 then
    begin
      while not data.ADOd.Eof do
      begin
        with data.ADOa do
        begin
          close;
          sql.Clear;
          sql.Add('select * from tb_ll');
          open;
        end;
        s := 'L'+formatdatetime('yyyymm',now());
        if data.ADOa.RecordCount<1 then
        begin
          p := s+'00000'+inttostr(i);
        end
        else
        begin
          data.ADOa.Last;
          i := strtoint(copy(data.ADOa.fieldbyname('llid').AsString,8,6));
          p := s+formatfloat('000000',i+1);
        end;
        data.ADOa.Append;
        data.ADOa.FieldByName('llid').AsString := p;
        data.ADOa.FieldByName('scddh').AsString := combobox1.Text;
        data.ADOa.FieldByName('cpmc').AsString := edit1.Text;
        data.ADOa.FieldByName('wlhh').AsString := data.ADOd.fieldbyname('clhh').AsString;
        data.ADOa.FieldByName('wlmc').AsString := data.ADOd.fieldbyname('clmc').AsString;
        data.ADOa.FieldByName('sl').AsFloat := strtofloat(data.ADOc.fieldbyname('sl').AsString)*data.ADOd.fieldbyname('yl').AsFloat;
        data.ADOa.FieldByName('dw').AsString := data.ADOd.fieldbyname('dw').AsString;
        data.ADOa.FieldByName('gg').AsString := data.ADOd.fieldbyname('gg').AsString;;
        data.ADOa.FieldByName('lltime').AsDateTime := DateTimePicker1.Date;
        if combobox2.Text = '' then
          data.ADOa.FieldByName('yn').AsString := '否'
        else
          data.ADOa.FieldByName('yn').AsString := Trim(combobox2.Text);
        data.ADOa.Post;
        data.ADOd.Next;
      end;
    end
    else
      showmessage('生产物料清单中无物料信息。');
      data.ADOa.Cancel;
      with data.adoa do
      begin
        close;
        sql.Clear;
        sql.Add('select * from tb_ll');
        open;
      end;
  end
  else
  begin
    showmessage('无此订单,请重新选择。');
  end;
  combobox1.Text := '';
  combobox2.Text := '';
  edit1.Clear;
  DateTimePicker1.Date := now();
  except
    showmessage('领料单已有,不能生成。');
    with data.adoa do
    begin
      close;
      sql.Clear;
      sql.Add('select * from tb_ll');
      open;
    end;    
  end;
end;

procedure TFRM_LLD.ComboBox1Change(Sender: TObject);
begin
  edit1.Clear;
  with data.ADOb do
  begin
    close;
    sql.Clear;
    sql.Add('select * from tb_scdd where scddh='+''''+Trim(combobox1.Text)+'''');
    open;
  end;
  edit1.Text := data.ADOb.fieldbyname('cpmc').AsString;
end;

procedure TFRM_LLD.ToolButton8Click(Sender: TObject);
begin
  data.ADOa.First;
  edit1.Text := data.ADOa.fieldbyname('scddh').AsString;
  combobox1.Text := data.ADOa.fieldbyname('cpmc').AsString;
  combobox2.Text := data.ADOa.fieldbyname('yn').AsString;
  DateTimePicker1.Date  := data.ADOa.fieldbyname('lltime').AsDateTime;
  ToolButton8.Enabled := false;
  ToolButton9.Enabled := false;
  ToolButton10.Enabled := true;
  ToolButton11.Enabled := true;
end;

procedure TFRM_LLD.DBGrid1CellClick(Column: TColumn);
begin
  edit1.Text := data.ADOa.fieldbyname('cpmc').AsString;
  combobox1.Text := data.ADOa.fieldbyname('scddh').AsString;
  combobox2.Text := data.ADOa.fieldbyname('yn').AsString;
  DateTimePicker1.Date  := data.ADOa.fieldbyname('lltime').AsDateTime;
end;

procedure TFRM_LLD.ToolButton9Click(Sender: TObject);
begin
  data.ADOa.Prior;
  if not data.ADOa.Bof then
  begin
    ToolButton8.Enabled := true;
    ToolButton9.Enabled := true;
    ToolButton10.Enabled := true;
    ToolButton11.Enabled := true;
  end
  else
  begin
    ToolButton8.Enabled := false;
    ToolButton9.Enabled := false;
    ToolButton10.Enabled := true;
    ToolButton11.Enabled := true;
  end;
  edit1.Text := data.ADOa.fieldbyname('scddh').AsString;
  combobox1.Text := data.ADOa.fieldbyname('cpmc').AsString;
  combobox2.Text := data.ADOa.fieldbyname('yn').AsString;
  DateTimePicker1.Date  := data.ADOa.fieldbyname('lltime').AsDateTime;
end;

procedure TFRM_LLD.ToolButton10Click(Sender: TObject);
begin
  data.ADOa.Next;
  if not data.ADOa.Eof then
  begin
    ToolButton8.Enabled := true;
    ToolButton9.Enabled := true;
    ToolButton10.Enabled := true;
    ToolButton11.Enabled := true;
  end
  else
  begin
    ToolButton8.Enabled := true;
    ToolButton9.Enabled := true;
    ToolButton10.Enabled := false;
    ToolButton11.Enabled := false;
  end;
  edit1.Text := data.ADOa.fieldbyname('scddh').AsString;
  combobox1.Text := data.ADOa.fieldbyname('cpmc').AsString;
  combobox2.Text := data.ADOa.fieldbyname('yn').AsString;
  DateTimePicker1.Date  := data.ADOa.fieldbyname('lltime').AsDateTime;
end;

procedure TFRM_LLD.ToolButton11Click(Sender: TObject);
begin
  data.ADOa.Last;
  ToolButton8.Enabled := true;
  ToolButton9.Enabled := true;
  ToolButton10.Enabled := false;
  ToolButton11.Enabled := false;
  edit1.Text := data.ADOa.fieldbyname('scddh').AsString;
  combobox1.Text := data.ADOa.fieldbyname('cpmc').AsString;
  combobox2.Text := data.ADOa.fieldbyname('yn').AsString;
  DateTimePicker1.Date  := data.ADOa.fieldbyname('lltime').AsDateTime;
end;

procedure TFRM_LLD.ToolButton13Click(Sender: TObject);
begin
  close;
end;

procedure TFRM_LLD.ToolButton5Click(Sender: TObject);
begin
  data.ADOa.Cancel;
  self.FormShow(Sender);
  tb := 0;
  ToolButton1.Enabled := true;
  ToolButton2.Enabled := true;
  ToolButton4.Enabled := false;
  ToolButton5.Enabled := false;
  ToolButton8.Enabled := true;
  ToolButton9.Enabled := true;
  ToolButton10.Enabled := true;
  ToolButton11.Enabled := true;
end;

procedure TFRM_LLD.ToolButton2Click(Sender: TObject);
begin
  tb := 2;
  ToolButton1.Enabled := false;
  ToolButton4.Enabled := true;
  ToolButton5.Enabled := true;
  combobox1.Enabled := false;
end;

procedure TFRM_LLD.ToolButton4Click(Sender: TObject);
begin
  try
  if (combobox2.Text = '') then
  begin
    showmessage('是否完成不能为空。');
  end
  else
  begin
    if tb = 2 then
      data.ADOa.Edit;
    data.ADOa.fieldbyname('yn').AsString := combobox2.Text;
    data.ADOa.fieldbyname('lltime').AsDateTime  := DateTimePicker1.Date;
    data.ADOa.Post;
    self.FormShow(Sender);
  end;
  ToolButton1.Enabled := true;
  ToolButton2.Enabled := true;
  ToolButton4.Enabled := false;
  ToolButton5.Enabled := false;
  combobox1.Enabled := true;
  except
    showmessage('数据库连接错误。。');
    with data.adoa do
    begin
      close;
      sql.Clear;
      sql.Add('select * from tb_ll');
      open;
    end;
  end;
end;

procedure TFRM_LLD.ToolButton3Click(Sender: TObject);
begin
  if application.MessageBox('真的要删除该记录吗?','提示',mb_yesno) = idyes then
  begin
    if data.ADOa.FieldByName('LLID').AsString = '' then
      showmessage('生产领料单已经为空,无法删除。')
    else
    begin
      data.ADOa.Delete;
      self.FormShow(Sender);
    end;
  end;
end;

procedure TFRM_LLD.ToolButton6Click(Sender: TObject);
begin
  ToolButton5.Enabled := TRUE;
  Application.CreateForm(TFRM_LLD_CX, FRM_LLD_CX);
  FRM_LLD_CX.ShowModal;
  FRM_LLD_CX.Free;
end;

end.

⌨️ 快捷键说明

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