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

📄 bas_enter_payterm_d.pas

📁 一个MRPII系统源代码版本
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Bas_Enter_PayTerm_D;

Interface

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

Type
  TFrm_Bas_Enter_PayTerm_D = Class(TFrm_Base_Detail)
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label3: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    edt_termCode: TEdit;
    edt_termName: TEdit;
    edt_Credays: TEdit;
    edt_fAdays1: TEdit;
    edt_fArate1: TEdit;
    edt_fAdays2: TEdit;
    edt_fArate2: TEdit;
    edt_fAdays3: TEdit;
    edt_fArate3: TEdit;
    edt_fAdays4: TEdit;
    edt_fArate4: TEdit;
    edt_remArk: TEdit;
    procedure edt_CredaysExit(Sender: TObject);
    procedure edt_fAdays1Exit(Sender: TObject);
    procedure edt_fAdays2Exit(Sender: TObject);
    procedure edt_fAdays3Exit(Sender: TObject);
    procedure edt_fAdays4Exit(Sender: TObject);
    procedure edt_fArate1Exit(Sender: TObject);
    procedure edt_fArate2Exit(Sender: TObject);
    procedure edt_fArate3Exit(Sender: TObject);
    procedure edt_fArate4Exit(Sender: TObject);
    procedure btn_okClick(Sender: TObject);
    procedure edt_termCodeExit(Sender: TObject);
  private
    { Private declarations }
  public
    function getUomName(ItemCode:string):string;
    procedure InitControls; Override;
    procedure SaveData;Override;
    procedure SetStatus(CurrentStatus:String;var EnableControls:String); Override;
    { Public declarations }
  end;

var
  Frm_Bas_Enter_PayTerm_D: TFrm_Bas_Enter_PayTerm_D;
  PayTermid:integer;
implementation
uses Sys_Global;
{$R *.DFM}

{ TFrm_Mrp_Enter_MsItemAssign_D }

procedure TFrm_Bas_Enter_PayTerm_D.SaveData;
var tmpPmCode:integer;
begin
  inherited;

if (Add) then
 with AdoQry_tmp do
  begin
    Close;
    sql.clear;
    sql.Add('insert into PayTerm(PayTermCode,PayTermName,Paycredays,PayfAdays1,PayfArate1,PayfAdays2,PayfArate2,PayfAdays3,PayfArate3,PayfAdays4,PayfArate4,remArk) '
                                +'Values('
                                 + quotedstr(edt_termCode.Text)+','
                                 +quotedstr(edt_termName.text)+','
                                 +edt_Credays.Text+','
                                 +iifstring(edt_fAdays1.Text='','0',Trim(edt_fAdays1.text))+','
                                 +iifstring(edt_fArate1.Text='','0',Trim(edt_fArate1.text))+','
                                 +iifstring(edt_fAdays2.Text='','0',Trim(edt_fAdays2.text))+','
                                 +iifstring(edt_fArate2.Text='','0',Trim(edt_fArate2.text))+','
                                 +iifstring(edt_fAdays3.Text='','0',Trim(edt_fAdays3.text))+','
                                 +iifstring(edt_fArate3.Text='','0',Trim(edt_fArate3.text))+','
                                 +iifstring(edt_fAdays4.Text='','0',Trim(edt_fAdays4.text))+','
                                 +iifstring(edt_fArate4.Text='','0',Trim(edt_fArate4.text))+','
                                 +quotedstr(edt_remArk.text)+')');


    Prepared;
    execsql;
    Close;
    sql.clear;
    sql.Add('select @@identity as termid');
    Prepared;
    open;
    PayTermid:=fieldbyname('termid').asinteger;
  end
else
   with AdoQry_tmp do
     begin
    Close;
    sql.clear;
    sql.Add('update PayTerm '
            +' set PayTermCode='+quotedstr(edt_termCode.Text)+','
                  +'PayTermName='+quotedstr(edt_termName.text)+','
                  +'Paycredays='+edt_Credays.text+','
                  +'PayfAdays1='+iifstring(edt_fAdays1.Text='','0',Trim(edt_fAdays1.text))+','
                  +'PayfArate1='+iifstring(edt_fArate1.Text='','0',Trim(edt_fArate1.text))+','
                  +'PayfAdays2='+iifstring(edt_fAdays2.Text='','0',Trim(edt_fAdays2.text))+','
                  +'PayfArate2='+iifstring(edt_fArate2.Text='','0',Trim(edt_fArate2.text))+','
                  +'PayfAdays3='+iifstring(edt_fAdays3.Text='','0',Trim(edt_fAdays3.text))+','
                  +'PayfArate3='+iifstring(edt_fArate3.Text='','0',Trim(edt_fArate3.text))+','
                  +'PayfAdays4='+iifstring(edt_fAdays4.Text='','0',Trim(edt_fAdays4.text))+','
                  +'PayfArate4='+iifstring(edt_fArate4.Text='','0',Trim(edt_fArate4.text))+','
                  +' remArk='+quotedstr(edt_remArk.text)
            +' where PayTermCode='+quotedstr(AdoQry_Maintain.fieldbyname('PayTermCode').asstring));
    Prepared;
    execsql;
  end;
 with AdoQry_Maintain do
  begin
  // if (Add) then
  //  fieldbyname('PayTermid').asinteger:=PayTermid;
    fieldbyname('PayTermCode').AsString:=edt_termCode.Text;
    fieldbyname('PayTermName').asstring:=edt_termName.text;
    fieldbyname('Paycredays').asinteger:=strtoint(edt_Credays.text);
    fieldbyname('PayfAdays1').asinteger:=strtoint(iifstring(Trim(edt_fAdays1.text)='','0',Trim(edt_fAdays1.text)));
    fieldbyname('PayfArate1').asfloat:=strtofloat(iifstring(Trim(edt_fArate1.text)='','0',Trim(edt_fArate1.text)));
    fieldbyname('PayfAdays2').asinteger:=strtoint(iifstring(Trim(edt_fAdays2.text)='','0',Trim(edt_fAdays2.text)));
    fieldbyname('PayfArate2').asfloat:=strtofloat(iifstring(Trim(edt_fArate2.text)='','0',Trim(edt_fArate2.text)));
    fieldbyname('PayfAdays3').asinteger:=strtoint(iifstring(Trim(edt_fAdays3.text)='','0',Trim(edt_fAdays3.text)));
    fieldbyname('PayfArate3').asfloat:=strtofloat(iifstring(Trim(edt_fArate3.text)='','0',Trim(edt_fArate3.text)));
    fieldbyname('PayfAdays4').asinteger:=strtoint(iifstring(Trim(edt_fAdays4.text)='','0',Trim(edt_fAdays4.text)));
    fieldbyname('PayfArate4').asfloat:=strtofloat(iifstring(Trim(edt_fArate4.text)='','0',Trim(edt_fArate4.text)));
    fieldbyname('remArk').asstring:=edt_remArk.Text;
    Post;
  end;

end;

procedure TFrm_Bas_Enter_PayTerm_D.InitControls;
begin
if (Add) then
 begin
  SetFocus_Control:=edt_termCode;
   edt_termCode.Enabled:=True;
  end
else
 SetFocus_Control:=edt_Credays;
  inherited;
  with AdoQry_Maintain do
  begin
    edt_termCode.Text:=fieldbyname('PayTermCode').AsString;
    if not Add then
    edt_termName.text:=fieldbyname('PayTermName').asstring
    else     edt_termName.text:='';
    edt_Credays.Text:=inttostr(fieldbyname('Paycredays').Asinteger);
    edt_fAdays1.Text:=inttostr(fieldbyname('PayfAdays1').Asinteger);
    edt_fArate1.Text:=floattostr(fieldbyname('PayfArate1').Asfloat);
    edt_fAdays2.Text:=inttostr(fieldbyname('PayfAdays2').Asinteger);
    edt_fArate2.Text:=floattostr(fieldbyname('PayfArate2').Asfloat);
    edt_fAdays3.Text:=inttostr(fieldbyname('PayfAdays3').Asinteger);
    edt_fArate3.Text:=floattostr(fieldbyname('PayfArate3').Asfloat);
    edt_fAdays4.Text:=inttostr(fieldbyname('PayfAdays4').Asinteger);
    edt_fArate4.Text:=floattostr(fieldbyname('PayfArate4').Asfloat);
    edt_remArk.Text:=fieldbyname('remArk').asstring;
  end;
if not Add then  edt_termCode.Enabled:=False;

end;

function TFrm_Bas_Enter_PayTerm_D.getUomName(
  ItemCode: string): string;
begin
Result:='';
with AdoQry_tmp do
  begin
   Close;
   sql.clear;
   sql.Add('select UomName from Uom,Item where Item.UomCode*=Uom.UomCode and ItemCode='+quotedstr(ItemCode));
   open;
   Result:=fieldbyname('UomName').asstring;
  end;
end;

procedure TFrm_Bas_Enter_PayTerm_D.SetStatus(CurrentStatus: String;
  var EnableControls: String);
begin
 inherited;
// if Currentstatus='Query' then
//   enablecontrols:='Extedt_rate,Extedt_qty,Extedt_PmCode,';
end;

procedure TFrm_Bas_Enter_PayTerm_D.edt_CredaysExit(Sender: TObject);
begin
  inherited;
  if activecontrol.Name='btn_Cancel' then
    exit;
  if Trim(edt_Credays.text)='' then
    begin
       DispInfo('请输入信用天数!',1);
       edt_Credays.SetFocus;
       abort;
    end;
try
  strtoint(Trim(edt_Credays.text));
except
  DispInfo('请输入正确的信用天数!',1);
  edt_fAdays1.SetFocus;
  abort;
end;
end;

procedure TFrm_Bas_Enter_PayTerm_D.edt_fAdays1Exit(Sender: TObject);
begin
  inherited;
  if activecontrol.Name='btn_Cancel' then
    exit;
  if (Trim(edt_fAdays1.text)='') or (Trim(edt_fArate1.text)='0') then
     exit;
try
  strtoint(Trim(edt_fAdays1.text));
except
  DispInfo('请输入正确的优惠天数1!',1);
  edt_fAdays1.SetFocus;
  abort;
end;

if strtoint(Trim(edt_fAdays1.text))>=strtoint(Trim(edt_Credays.text)) then
  begin
   DispInfo('优惠天数1必须小于信用天数!',3);
   edt_fAdays1.SetFocus;
   abort;
  end;



end;

procedure TFrm_Bas_Enter_PayTerm_D.edt_fAdays2Exit(Sender: TObject);
begin
  inherited;
  if activecontrol.Name='btn_Cancel' then
    exit;
  {if Trim(edt_fAdays2.text)='' then
    begin
       DispInfo('请输入优惠天数2!',1);
       edt_fAdays2.SetFocus;
       abort;
    end;}
  if (Trim(edt_fAdays2.Text)='0') or (Trim(edt_fAdays2.text)='') then
   exit;
   try
    strtoint(Trim(edt_fAdays2.text));
   except
    DispInfo('请输入正确的优惠天数2!',1);
    edt_fAdays2.SetFocus;
    abort;
   end;

  if (Trim(edt_fAdays1.text)='') or (Trim(edt_fAdays1.text)='0') then
   begin
   DispInfo('请先输入优惠天数1!',1);
   edt_fAdays1.SetFocus;
   abort;

   end;

if NOT ((strtoint(Trim(edt_fAdays2.text))>strtoint(Trim(edt_fAdays1.text))) and (strtoint(Trim(edt_fAdays2.text))<strtoint(Trim(edt_Credays.text)))) then
  begin
   DispInfo('优惠天数2必须大于优惠天数1并且小于信用天数!',3);
   edt_fAdays2.SetFocus;
   abort;
  end;

if strtoint(Trim(edt_fAdays2.text))>999 then
  begin
   DispInfo('优惠天数2不能超过999!',3);
   edt_fAdays2.SetFocus;
   abort;

  end;


end;

procedure TFrm_Bas_Enter_PayTerm_D.edt_fAdays3Exit(Sender: TObject);
begin
  inherited;

⌨️ 快捷键说明

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