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

📄 mrp_qry_oblongmrp1_c.pas

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

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Condition, StdCtrls, Db, AdODB, ExtEdit;

Type
  TFrm_Mrp_Qry_OblongMrp1_C = Class(TFrm_Base_Condition)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TExtEdit;
    Edit2: TExtEdit;
    Label5: TLabel;
    Label6: TLabel;
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure btn_okClick(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
    procedure Edit2Exit(Sender: TObject);
  private
    { Private declarations }
  public
  procedure gettmpItems;    { Public declarations }
  function  iifstring(condition:boolean;Value1,Value2:string):string;
  function existsItem(userCode:string;userType:integer):boolean;
  function geTEmployeeName(Code:string):string;
  end;

var
  Frm_Mrp_Qry_OblongMrp1_C: TFrm_Mrp_Qry_OblongMrp1_C;
implementation
 uses Sys_Global;
{$R *.DFM}

procedure TFrm_Mrp_Qry_OblongMrp1_C.Edit1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
 If key=120 Then
  CommOnHint(Sender,AdoQry_Tmp,'EmployeeName','采购员名称','EmployeeCode',
             '采购员代码','Employee ','exists(select * from buyer where Employee.EmployeeCode=buyer.EmployeeCode and buyerUsable=1) ');

end;

procedure TFrm_Mrp_Qry_OblongMrp1_C.Edit2KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
 If key=120 Then
  CommOnHint(Sender,AdoQry_Tmp,'EmployeeName','采购员名称','EmployeeCode',
             '采购员代码','Employee ','exists(select * from Planner where Employee.EmployeeCode=Planner.EmployeeCode and PlannerUsable=1) ');

end;

procedure TFrm_Mrp_Qry_OblongMrp1_C.gettmpItems;
var AdoQry:TAdoQuery;
    sqltext:string;
    user:string;
begin
  AdoQry:=TAdoQuery.Create(self);
  AdoQry.Connection:=AdoQry_tmp.Connection;
  if ((Trim(edit1.text)='') and (Trim(edit2.text)=''))  then user:=''
  else
  user:=iifstring(Trim(edit1.text)='',Trim(edit2.text),Trim(edit1.text));
  sqltext:='select ItemCode into #ttmpItems from Item where '
            +iifstring(Trim(edit1.text)='','Pla_EmployeeCode','EmployeeCode')
            +'='+quotedstr(user)+' or '+quotedstr(user)+'=''''';
  try
    Executesql(AdoQry,sqltext,1);
  finally
   AdoQry.Free;
  end;
end;

function TFrm_Mrp_Qry_OblongMrp1_C.iifstring(condition: boolean; Value1,
  Value2: string): string;
begin
Result:=Value1;
if condition=False then Result:=Value2;
end;
procedure TFrm_Mrp_Qry_OblongMrp1_C.btn_okClick(Sender: TObject);
begin
//  inherited;
if Assigned(edit1.onexit) then
 edit1.OnExit(sender);
if Assigned(edit2.onexit) then
 edit2.OnExit(sender);
if (Trim(edit1.text)<>'') and (Trim(edit2.text)<>'') then
 begin
   DispInfo('不能同时输入采购员代码和计划员代码,请修改!',3);
   modalResult:=mrnone;
   exit;
 end;
gettmpItems;
modalResult:=mrok;
end;

function TFrm_Mrp_Qry_OblongMrp1_C.existsItem(userCode: string;
  userType: integer): boolean;
var AdoQry:TAdoQuery;
    sqltext:string;
begin
  Result:=False;
  AdoQry:=TAdoQuery.Create(self);
  AdoQry.Connection:=AdoQry_tmp.Connection;
  sqltext:='select EmployeeCode  from '+iifstring(userType=2,'Planner','buyer')
            +' where EmployeeCode='+quotedstr(userCode);
  try
    Executesql(AdoQry,sqltext,0);
    if AdoQry.RecordCount>0 then Result:=True;
  finally
   AdoQry.Free;
  end;
end;

procedure TFrm_Mrp_Qry_OblongMrp1_C.Edit1Exit(Sender: TObject);
begin
  inherited;
if activecontrol.Name='btn_Cancel' then exit;
label4.Caption:=geTEmployeeName(Trim(edit1.text));
if Trim(edit2.Text)<>'' then exit;
if Trim(edit1.text)='' then exit;
if not existsItem(Trim(edit1.text),1) then
  begin
   DispInfo('输入了错误的采购员代码!',3);
   modalResult:=mrnone;
   edit1.SetFocus;
   abort;
  end;
//modalResult:=mrok;
end;

procedure TFrm_Mrp_Qry_OblongMrp1_C.Edit2Exit(Sender: TObject);
begin
  inherited;
if activecontrol.Name='btn_Cancel' then exit;
label6.Caption:=geTEmployeeName(Trim(edit2.text));
if Trim(edit1.Text)<>'' then exit;
if Trim(edit2.text)='' then exit;
if not existsItem(Trim(edit2.text),2) then
  begin
   DispInfo('输入了错误的计划员代码!',3);
   modalResult:=mrnone;
   edit2.SetFocus;
   abort;
  end;
end;

function TFrm_Mrp_Qry_OblongMrp1_C.geTEmployeeName(Code: string): string;
var AdoQry:TAdoQuery;
    sqltext:string;
begin
  Result:='';
  AdoQry:=TAdoQuery.Create(self);
  AdoQry.Connection:=AdoQry_tmp.Connection;
  sqltext:='select EmployeeName  from Employee '
            +' where EmployeeCode='+quotedstr(Code);
  try
    Executesql(AdoQry,sqltext,0);
    Result:=AdoQry.fieldbyname('EmployeeName').asstring;
  finally
   AdoQry.Free;
  end;
end;

end.

⌨️ 快捷键说明

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