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

📄 sfc_mnrequest.pas

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

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Entry_Head, Menus, Db, ActnList, AdODB, Grids, DBGridEh, StdCtrls,
  ExtCtrls, ComCtrls, ToolWin, DBCtrls, ExtPrintReport, jpeg;

Type
    TFrm_Sfc_MnRequest = Class(TFrm_Base_Entry_Head)
    AdoQry_Headmono: TStringField;
    AdoQry_HeadMoLineno: TIntegerField;
    AdoQry_HeadItemCode: TStringField;
    AdoQry_HeadItemName: TStringField;
    AdoQry_Headmoqty: TFloatField;
    AdoQry_HeadmostArtworkdate: TDateTimeField;
    AdoQry_HeadMoLinedate: TDateTimeField;
    AdoQry_HeadMoLinestatus: TIntegerField;
    AdoQry_HeadmoSpecial: TIntegerField;
    Label1: TLabel;
    DBText1: TDBText;
    AdoQry_HeadMoNoFinishqty: TFloatField;
    procedure Act_NewExecute(Sender: TObject);
    procedure AdoQry_HeadBeforeInsert(DataSet: TDataSet);
  private
    { Private declarations }
  public
    tmp_MoRequestshift:string;
    tmp_DeptCode:string;
    procedure SetFormParam(FrmParam1,FrmParam2,FrmParam3,FrmParam4,FrmParam5,FrmParam6:String);Override;
    procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);Override;
    { Public declarations }
  end;

var
  Frm_Sfc_MnRequest: TFrm_Sfc_MnRequest;

implementation

uses Sfc_MnRequest_C, Sfc_MnRequest_B,Sfc_MnRequestOverPlan_B,Sys_Global;


{$R *.DFM}

procedure TFrm_Sfc_MnRequest.InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);
begin
  inherited;
  //设置表头SQL
  SelectFromSQL:='select '+
                    'l.mono,'+
                    'l.MoLineno,'+
                    'l.ItemCode,'+
                    'i.ItemName,'+
                    'l.moqty,'+
                    'l.MoNoFinishqty,'+
                    'l.mostArtworkdate,'+
                    'l.MoLinedate,'+
                    'l.MoLinestatus,'+
                    'm.moSpecial'+
                  ' from MoLine l left join Item i on l.ItemCode=i.ItemCode '+
                  '               left join mo m on l.mono=m.mono ';

  //设置排序字段信息
  OrderByFields:='mono,MoLineno';
  //固定条件为不是拉式领料且数量不为零
  ConditionUserDefine:='(l.BackFlush<>1 and l.MOQty<>0)';
  //根据菜单处入来的参数快定显示窗体标题
  if Param1='正常' then
  begin
    Caption:='生产领料请领制单';
    pnl_title.Caption:='生产领料请领制单';
    Frm_Entry_Body:=TFrm_Sfc_MnRequest_B.Create(Self);
  end;
  if Param1='超计划' then
  begin
     Caption:='生产超订单领料请领制单';
     pnl_title.Caption:='生产超订单领料请领制单';
     Frm_Entry_Body:=TFrm_Sfc_MnRequestOverPlan_B.Create(Self);
  end;
  //BODY窗体名的创建
  Frm_Sys_Condition:=TFrm_Sfc_MnRequest_C.Create(Application);
  Act_Filter.Execute;
end;

procedure TFrm_Sfc_MnRequest.Act_NewExecute(Sender: TObject);
var
  tmp_locateid:string;
begin
  if not AdoQry_Head.IsEmpty then
  begin
  //定单状态为‘下达‘才可以领料
  if AdoQry_Head.fieldbyname('MoLinestatus').asinteger=6 then
  begin
    //当从BODY返回后,Head会刷新,下面语名用于刷新事重新定位
    tmp_locateid:=AdoQry_Head.fieldbyname('mono').asstring;
    inherited;
    getdata;
    AdoQry_Head.Locate('mono',tmp_locateid,[]);
  end
  else
  begin
    DispInfo('该订单行还未下达,不能请领料',1);
    abort;
  end;
  end;
end;

procedure TFrm_Sfc_MnRequest.AdoQry_HeadBeforeInsert(DataSet: TDataSet);
begin
  inherited;
  abort;
end;

procedure TFrm_Sfc_MnRequest.SetFormParam(FrmParam1,FrmParam2,FrmParam3,FrmParam4,FrmParam5,FrmParam6:String);
begin
  inherited;
  //把参数从CONDITION窗体中传过来,用于在Head中显示
  tmp_MoRequestshift:=FrmParam1;
  tmp_DeptCode:=FrmParam2;
end;

end.

⌨️ 快捷键说明

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