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

📄 pm_enter_passpo_d.pas

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

Interface

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

Type
  TFrm_Pm_Enter_PassPo_D = Class(TFrm_Base_Common)
    btn_ok: TButton;
    btn_Cancel: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Lbl_UomName: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Lbl_ItemName: TLabel;
    Edt_LineNo: TEdit;
    Edt_PoQty: TEdit;
    Medt_PoDate: TMaskEdit;
    MEdt_PoStArtWorkDate: TMaskEdit;
    Edt_ItemCode: TExtEdit;
    Label11: TLabel;
    Label12: TLabel;
    Edt_PoNoFinishQty: TEdit;
    Edt_Pono: TEdit;
    Edt_ItemName: TExtEdit;
    Label6: TLabel;
    procedure btn_okClick(Sender: TObject);
    procedure Medt_PoDateChange(Sender: TObject);
    procedure MEdt_PoStArtWorkDateChange(Sender: TObject);
    procedure Medt_PoDateExit(Sender: TObject);
    procedure MEdt_PoStArtWorkDateExit(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Edt_PoQtyChange(Sender: TObject);
  private
    POFinishQty:double;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frm_Pm_Enter_PassPo_D: TFrm_Pm_Enter_PassPo_D;

implementation

uses Sys_Global;

{$R *.DFM}

procedure TFrm_Pm_Enter_PassPo_D.btn_okClick(Sender: TObject);
begin
  inherited;
  If  (StrToDate(MEdt_PoStArtWorkDate.Text)>StrToDate(Medt_PoDate.Text))
    Or (StrToDate(MEdt_PoStArtWorkDate.Text)<Date()) Then
   begin
     DispInfo('约定开工日必须为系统工作日与约定交货日之间的日期,请修改!',3);
     MEdt_PoStArtWorkDate.SetFocus;
     Abort;
   end;
  If  (StrToDate(MEdt_PoStArtWorkDate.Text)>StrToDate(Medt_PoDate.Text)) Then
  begin
    DispInfo('约定开工日必须小于约定交货日,请修改!',3);
    MEdt_PoStArtWorkDate.SetFocus;
    Abort;
  end;
  modalResult:=mrok;
end;

procedure TFrm_Pm_Enter_PassPo_D.Medt_PoDateChange(Sender: TObject);
begin
  inherited;
  btn_ok.Enabled:=True;
end;

procedure TFrm_Pm_Enter_PassPo_D.MEdt_PoStArtWorkDateChange(
  Sender: TObject);
begin
  inherited;
  btn_ok.Enabled:=True;
end;

procedure TFrm_Pm_Enter_PassPo_D.Medt_PoDateExit(Sender: TObject);
begin
  inherited;
  If ActiveControl.Name ='btn_Cancel' Then
    Exit;
  Try
    StrToDateTime(Medt_PoDate.Text);
  Except
    DispInfo('约定交货日错误,请重新输入!',3);
    TWinControl(Sender).SetFocus;
    Abort;
  end;
  If (StrToDate(Medt_PoDate.Text)<Date()) Then
  begin
    DispInfo('约定交货日必须大于等于当前系统日期!',3);
    TWinControl(Sender).SetFocus;
    Abort;
  end;

  If SlCalendar(AdoQry_tmp.Connection,Medt_PoDate.Text,0)<>Medt_PoDate.Text Then
  begin
    DispInfo(Medt_PoDate.Text+'不是工作日!',3);
    Medt_PoDate.Text:=SlCalendar(AdoQry_tmp.Connection,Medt_PoDate.Text,-1);
    Medt_PoDate.SetFocus;
    Abort;
  end;
end;

procedure TFrm_Pm_Enter_PassPo_D.MEdt_PoStArtWorkDateExit(Sender: TObject);
begin
  inherited;
    If (ActiveControl.Name ='btn_Cancel') Or (ActiveControl.Name='Medt_PoDate') Then
    Exit;
  inherited;
  If SlCalendar(AdoQry_tmp.Connection,Medt_PoStArtWorkDate.Text,0)<>Medt_PoStArtWorkDate.Text Then
  begin
    DispInfo(Medt_PoStArtWorkDate.Text+'不是工作日!',3);
    Medt_PoStArtWorkDate.Text:=SlCalendar(AdoQry_tmp.Connection,Medt_PoStArtWorkDate.Text,-1);
    Medt_PoStArtWorkDate.SetFocus;
    Abort;
  end;  //约定开工日必须是工作日,否则返回前一个工作日
  If  (StrToDate(MEdt_PoStArtWorkDate.Text)>StrToDate(Medt_PoDate.Text))
    Or (StrToDate(MEdt_PoStArtWorkDate.Text)<Date()) Then
   begin
     DispInfo('约定开工日必须为系统工作日与约定交货日之间的日期,请修改!',3);
     TWinControl(Sender).SetFocus;
     Abort;
   end;
  If  (StrToDate(MEdt_PoStArtWorkDate.Text)>StrToDate(Medt_PoDate.Text)) Then
  begin
    DispInfo('约定开工日必须小于约定交货日,请修改!',3);
    TWinControl(Sender).SetFocus;
    Abort;
  end;
end;

procedure TFrm_Pm_Enter_PassPo_D.FormShow(Sender: TObject);
begin
  inherited;
  Medt_PoDate.SetFocus;
  POFinishQty:=strtofloat(Edt_PoQty.text)-strtofloat(Edt_PoNoFinishQty.text);
end;

procedure TFrm_Pm_Enter_PassPo_D.Edt_PoQtyChange(Sender: TObject);
begin
  inherited;
  btn_ok.Enabled:=True;
  Edt_PoNoFinishQty.Text := floattostr(strtofloat(Edt_PoQty.Text)-POFinishQty)
end;

end.

⌨️ 快捷键说明

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