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

📄 bas_itemclass_d.pas

📁 一个MRPII系统源代码版本
💻 PAS
字号:
unit Bas_ItemClass_D;

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Detail, StdCtrls, Db, AdODB, ExtCtrls, ExtEdit, ComCtrls, ActnList;

Type
  TFrm_Bas_ItemClass_D = Class(TFrm_Base_Detail)
    Label1: TLabel;
    Lbl_MasterCode: TLabel;
    lbl_MasterName: tlabel;
    Label7: TLabel;
    Label9: TLabel;
    Label15: TLabel;
    Edt_ItemCode: TEdit;
    Label2: TLabel;
    Edt_RemArk: TEdit;
    edt_ItemName: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure Edt_ItemCodeExit(Sender: TObject);
    procedure btn_okClick(Sender: TObject);
    procedure edt_ItemNameExit(Sender: TObject);

  private
    lc_ItemExist:Boolean;
    lc_TempBuffer:string;
    fPmCode:integer;
    Lc_Identity:integer;
    procedure InsertBom;                            //插入Bom
    procedure UpdateBom;                            //修改Bom
    //是否存在替代虚项
    { Private declarations }
  public
    MasterCode:string;
    SlaveCode:string;
    procedure SaveData;Override;
    procedure InitControls;Override;
    { Public declarations }
  end;

var
  Frm_Bas_ItemClass_D: TFrm_Bas_ItemClass_D;

implementation

uses Sys_Global,Bas_ItemClass;
{$R *.DFM}


procedure TFrm_Bas_ItemClass_D.InitControls;
var
  T_Sql:string;
  T_ItemCode:string;
  T_Type:integer;
begin
  if edt_ItemCode.CanFocus then
     edt_ItemCode.SetFocus ;
  inherited;
  Lbl_MasterCode.Caption:=Frm_Bas_ItemClass.Edt_Ite_ItemCode.Text ;
  lbl_MasterName.Caption:=Frm_Bas_ItemClass.Lbl_Name_D.Caption ;

  if AdoQry_Maintain.Active then
  begin
    with AdoQry_Maintain do
    begin
      Edt_ItemCode.Text:=fieldbyname('ClassCode').AsString;
      edt_ItemName.Text:=fieldbyname('ClassName').AsString;

      Edt_RemArk.Text:=fieldbyname('ClassRemArk').AsString;
    end;
  end;
end;

procedure TFrm_Bas_ItemClass_D.SaveData;
begin
  inherited;
//  AdoQry_tmp.Connection.beginTrans;
  if (Add) then //新增的情况
  begin
    InsertBom;
    //插入到LOG中
  end
  else
  begin
    UpdateBom;
  end;
  with AdoQry_Maintain do
  begin
    fieldbyname('pClassCode').asstring:=lbl_MasterCode.Caption ;
    fieldbyname('ClassCode').AsString:=Edt_ItemCode.Text;
    fieldbyname('ClassName').AsString:=edt_ItemName.Text ;
    fieldbyname('ClassRemArk').AsString:=Edt_RemArk.Text;
    post;
  end;

end;

procedure TFrm_Bas_ItemClass_D.FormCreate(Sender: TObject);
begin
  inherited;
  //变量初始化
  MasterCode:='';
  SlaveCode:='';
  Lc_ItemExist:=False;
  lc_TempBuffer:='';
  Lc_Identity:=0;
  //LABEL初始化
  Lbl_MasterCode.Caption:='';

  lbl_MasterName.Caption:='';
  edt_ItemName.Text :='';

end;


procedure TFrm_Bas_ItemClass_D.Edt_ItemCodeExit(Sender: TObject);
begin
  if(ActiveControl.Name='btn_Cancel')then
    exit;
  //先判断父项子项是否相同,相同则退出
  if Lbl_MasterCode.Caption=Edt_ItemCode.Text then
  begin
    DispInfo('父项和子项不能相同!',1);
    TWinControl(Sender).SetFocus;
    Abort;
  end;
  if edt_ItemCode.Text ='' then
  begin
    DispInfo('子项代码不能为空!',1);
    TWinControl(Sender).SetFocus;
    Abort;
  end
  else if status='Add' then
  begin
    with AdoQry_tmp do
    begin
      Close;
      sql.Text :='select * from ItemClass where ClassCode='''+edt_ItemCode.text+'''';
      open;
      if not eof then
      begin
        DispInfo('该子项代码已存在,不允许再增加!',1);
        TWinControl(Sender).SetFocus;
        abort;
      end;
    end;
  end
  else if status='Edit' then
  begin
     if edt_ItemCode.text<>AdoQry_Maintain.fieldbyname('ClassCode').asstring then
     begin
        with AdoQry_tmp do
        begin
          Close;
          sql.Text :='select * from ItemClass where ClassCode='''+edt_ItemCode.text+'''';
          open;
          if not eof then
          begin
            DispInfo('该子项代码已存在,不允许这样修改!',1);
            edt_ItemCode.Text :=AdoQry_Maintain.fieldbyname('ClassCode').asstring;
            TWinControl(Sender).SetFocus;            
            abort;
          end;
        end;
     end;
  end;

  //判断输入的对应关系是否已经存在
  inherited;
end;



procedure TFrm_Bas_ItemClass_D.UpdateBom;
begin
  with AdoQry_Tmp do
  begin
    Close;
    SQL.clear;
    SQL.Add(  'Update ItemClass '+
              '  set '+
              '  ClassCode='''+Edt_ItemCode.Text+''','+
              '  ClassName='''+edt_ItemName.text+''','+
              '  ClassRemArk='''+Edt_RemArk.Text+''''+
              ' where ClassCode='''+AdoQry_Maintain.fieldbyname('ClassCode').asstring+''' '+
              ' update ItemClass set pClassCode='''+edt_ItemCode.text+''' '+
              ' where pClassCode='''+AdoQry_Maintain.fieldbyname('ClassCode').asstring+''' ');
    ExecSQL;
  end;
end;

procedure TFrm_Bas_ItemClass_D.InsertBom;
var
  ClassgrAde:integer;
begin
  ClassgrAde:=1;
  with AdoQry_Tmp do
  begin
    if Trim(lbl_MasterCode.Caption)<>'' then
    begin
      Close;
      SQL.clear;
      sql.Add('select ClassgrAde from ItemClass where ClassCode='+quotedstr(lbl_MasterCode.Caption));
      open;
      if not eof then
        ClassgrAde:=fieldbyname('ClassgrAde').asinteger+1;
    end;
    Close;
    SQL.clear;
    SQL.Add('Insert into '+
            'ItemClass(pClassCode, '+
            '    ClassCode,'+
            '    ClassName, '+
            '    ClassRemArk,ClassgrAde) '+
            'Values('''+lbl_MasterCode.Caption+''', '+
            '    '''+Edt_ItemCode.Text+''','+
            '    '''+edt_ItemName.text+''','+
            '    '''+Edt_RemArk.Text+''','+inttostr(ClassgrAde)+')');
    execsql;
  end;
end;

procedure TFrm_Bas_ItemClass_D.btn_okClick(Sender: TObject);
begin
  //给全局变量赋值
  inherited;

end;


procedure TFrm_Bas_ItemClass_D.edt_ItemNameExit(Sender: TObject);
begin
  inherited;
  if activecontrol.Name='btn_Cancel' then
  exit;
  if edt_ItemName.Text ='' then
  begin
    DispInfo('子项描述不能为空!',1);
    if edt_ItemName.CanFocus then
       edt_ItemName.SetFocus ;
    abort;   
  end;
end;

end.

⌨️ 快捷键说明

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