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

📄 mrp_qry_newuprightmrp_d.pas

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

Interface

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

Type
  TFrm_Mrp_Qry_NewUpRightMrp_D = Class(TFrm_Base_Qry)
    AdoQry_MainItemCode: TStringField;
    AdoQry_MaInOrdernoandlineno: TStringField;
    AdoQry_Maingrossqty: TFloatField;
    AdoQry_MaInOrderqty: TFloatField;
    AdoQry_Mainonhand: TFloatField;
    AdoQry_Mainordinal: TIntegerField;
    AdoQry_Maintrace: TStringField;
    AdoQry_MaInPlanqty: TFloatField;
    AdoQry_MainPmCode: TIntegerField;
    Label1: TLabel;
    lbl_ItemCode: TLabel;
    Label2: TLabel;
    lbl_UomName: TLabel;
    Label4: TLabel;
    lbl_Preparetime: TLabel;
    Label5: TLabel;
    lbl_runlt: TLabel;
    Label6: TLabel;
    lbl_Qclt: TLabel;
    Label12: TLabel;
    lbl_oncehck: TLabel;
    Label13: TLabel;
    lbl_minqty: TLabel;
    Label11: TLabel;
    lbl_onhand: TLabel;
    Label10: TLabel;
    lbl_Batchstrat: TLabel;
    Label9: TLabel;
    lbl_PmBatch: TLabel;
    Label8: TLabel;
    lbl_PmCode: TLabel;
    Label7: TLabel;
    lbl_ItemName: TLabel;
    Label14: TLabel;
    lbl_Assignedqty: TLabel;
    AdoQry_Mainnetqty: TFloatField;
    AdoQry_Mainreleasedate: TDateTimeField;
    AdoQry_Mainpeggingno: TStringField;
    AdoQry_Mainrealreleasedate: TDateTimeField;
    AdoQry_MainssInfo: TStringField;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Act_LookExecute(Sender: TObject);
    procedure Act_ShowGridExecute(Sender: TObject);
  private
    { Private declarations }
  public
       ItemCode,ItemName,Uom,ldtime,PmBatch,CurrentInv,Assignedqty,oncheckqty,Orderno,Preparelt,runlt,Qclt,Orderlineno,PmCode,minqty,Batchstrat,requiredate:string;
       traceType:integer;ItemPmCode,RunMrp:integer;
    procedure InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);Override;
    function  existsMpsandmo(ItemCode:string;requiredate:string):integer;
    function ifexistsiteItemCode(ItemCode:string;date,Qclt:string):boolean;{ Private declarations }
    function existsfArItemCode(ItemCode:string):boolean;
    function getlt(ItemCode:string;ltType:integer):integer;
    function existsMps(ItemCode:string;date,Qclt:string):boolean;
    function isAdjust(ItemCode:string):boolean;
    function getserverdate:string;
    { Public declarations }
  end;

var
  Frm_Mrp_Qry_NewUpRightMrp_D: TFrm_Mrp_Qry_NewUpRightMrp_D;
implementation
uses   Mrp_Qry_UpRightMrp_D_Po,
  Mrp_Qry_UpRightMrp_D_vd,Sys_Global,
  Mrp_Qry_UpRightMrp_D_Mo, Mrp_Qry_UpRightMrp_D_NewMps,
 // Mrp_Qry_UpRightMrp_D_NewMoSsParent,
  Mrp_Global,
  Mrp_Qry_UpRightMrp_D_MpsandMo, Mrp_Qry_NewUpRightMrp,
  Mrp_Enter_NewMoSsParent, Mrp_Qry_UpRightMrp_D_NewMossParent,
  Mrp_Qry_SaleOrder;
{$R *.DFM}

{ TFrm_Mrp_Qry_InformalUpRightMrp_D }

procedure TFrm_Mrp_Qry_NewUpRightMrp_D.InitForm(
  AdOConnection: TAdOConnection; ShowExtendColumn: Boolean);
var sqltext1,sqltext2,sqltext3,sqltext4,sqltext5,tMpstr,tmpreleasedate,trace:string;
    tmpQry:TAdoQuery;
    tmponhand,tmpgrossqty:real; tmpordinal:integer;
    success:integer;
    tMpstring:string;
begin
  inherited;
{ ItemCode:=Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('ItemCode').asstring;
 ItemName:=Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('ItemName').asstring;
 Uom:=Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('UomName').asstring;
 ldtime:=floattostr(Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('ldtime').asfloat);
 Preparelt:=floattostr(Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('Preparelt').asfloat);
 runlt:=floattostr(Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('runlt').asfloat);
 Qclt:=floattostr(Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('Qclt').asfloat);
 PmBatch:=floattostr(Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('PmBatch').asfloat);
 ItemPmCode:=Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('PmCode').asinteger;
 CurrentInv:=floattostr(Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('CurrentonhandInv').asfloat);
 Assignedqty:=floattostr(Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('Assignedqty').asfloat);
  oncheckqty:=floattostr(Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('oncheckqty').asfloat);
 if Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('PmCode').asinteger=0 then
  PmCode:='0 制造';
 if Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('PmCode').asinteger=1 then
  PmCode:='1 采购';
 if Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('PmCode').asinteger=2     then
  PmCode:='2 委外加工';
 if Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('PmCode').asinteger=3     then
  PmCode:='3 既制造又委外';
 minqty:=floattostr(Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('minqty').asfloat);
 if Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('Batchstrat').asinteger=0  then
  Batchstrat:='直接批量法';
 if Frm_Mrp_Qry_NewUpRightMrp.AdoQry_Head.fieldbyname('Batchstrat').asinteger=1   then
  Batchstrat:='固定批量法';  }

// lbl_Condition.Caption:=' 物料代码:'+ItemCode+' 单  位:'+Uom+'   提前期:'+ldtime+' 准备提前期:'+Preparelt+' 运行提前期:'+runlt+' 质检提前期:'+Qclt+#13+' 物料描述:'+ItemName+' 制购码:'+PmCode+' 批量:'+PmBatch+' 批量策略:'+Batchstrat+#13+' 当前可用库存:'+CurrentInv+' 当前待检库存:'+oncheckqty+' 安全库存:'+minqty;
  lbl_ItemCode.Caption:=ItemCode;
  lbl_UomName.Caption:=Uom;
//  lbl_ldtime.Caption:=ldtime;
  lbl_Preparetime.Caption:=Preparelt;
  lbl_runlt.Caption:=runlt;
  lbl_Qclt.Caption:=Qclt;
    lbl_ItemName.Caption:=ItemName;
  lbl_PmCode.Caption:=PmCode;
  lbl_PmBatch.Caption:=PmBatch;
  lbl_ItemCode.Caption:=ItemCode;
  lbl_ItemCode.Caption:=ItemCode;
  lbl_Batchstrat.Caption:=Batchstrat;
  lbl_oncehck.Caption:=oncheckqty;
  lbl_minqty.Caption:=minqty;
  tmpQry:=TAdoQuery.Create(dbconnect);
  tmpQry.EnableBCD:=False;
  tmpQry.Connection:=dbconnect;
  try
    Executesql(AdoQry_tmp,'drop table #tmpResult,#tmpInformalMrpResult',1);
  except
  end;
 // success:=TemporArilyRunMrp(dbconnect,'select ItemCode from InformalMrpResult where ItemCode='+quotedstr(ItemCode)+' and ordinal=1 ',0);
{  sqltext1:='select ItemCode,                                                  '
            +#13+'       PmCode,'
           // +#13+'       ''建议下达'' as SysInfo,                                     '
            +#13+'        releasedate,                                              '
            +#13+'        realreleasedate,                                          '
            +'            duedate,                                                  '
            +#13+'        Ordernoandlineno=Orderno+''-''+convert(varchAr,Orderlineno),'
            +#13+'        Orderlinestatus,                                          '
            +#13+'        canuseonhand, '
            +#13+'        grossqty,                                                 '
            +#13+'        Orderqty,                                                 '
            +'            realOrderqty,  '
            +#13+'        onhand,                                                   '
            +#13+'        netqty,                                                   '
           // +#13+'        getdate() as requiredate,                                 '
            +#13+'        ordinal,                                                  '
            +#13+'        pegging as trace,                                    '
            +#13+'        peggingno,    '
            +#13+'        ''sdfffffffffffffffffffffffffffffffffffffffffffffffffffffdfffffffffffsdf'' as ssInfo,'
            +#13+'        convert(float(8),0) as Planqty,                               '
            +'            reMainqty,                 '
            +'            Assignedqty          '
            +#13+' into #tmpInformalMrpResult                                               '
            +#13+' from MrpResult'
            +#13+' where ItemCode='''+ItemCode+''''
            +'     Order by MrpResult.releasedate,MrpResult.ordinal ';

  sqltext2:='create table #tmpResult '
            +'  (ItemCode  varchAr(16) null,           '
            +'    PmCode   int         null,'
            //+'    SysInfo  varchAr(10) null,           '
            +'    releasedate datetime null,           '
            +'    realreleasedate datetime null,       '
            +'    Ordernoandlineno varchAr(50) null,   '
            +'    ssInfo    varchAr(300) null,         '
            +'    grossqty float(8)    null,           '
            +'    Orderqty float(8)    null,           '
            +'    onhand   float(8)    null,           '
            +'    netqty   float(8)    null,           '
          //  +'    requiredate datetime  null,          '
            +'    ordinal   int        null,           '
            +'    trace     varchAr(20) null,          '
            +'    peggingno varchAr(50) null,          '
            +'    Planqty   float(8)   null,           '
            +'    Assignedqty float(8) null)           ';
  with AdoQry_tmp do
    begin
      Close;
      sql.clear;
      sql.Add(sqltext2);
      Prepared;
      try
        execsql;
      except
      end;
    end;
  selectfromsql:='select * from #tmpResult';
  with tmpQry do
    begin
      Close;
      sql.clear;
      sql.Add(sqltext1);
      Prepared;
      try
      execsql;
      except
      end;
      AdoQry_tmp.Close;
      AdoQry_tmp.SQL.clear;
      AdoQry_tmp.sql.Add('select CurrentonhandInv from Item where  ItemCode='+quotedstr(ItemCode));
      AdoQry_tmp.Open;
     // tmpQry.First;
      tmponhand:=AdoQry_tmp.fieldbyname('CurrentonhandInv').asfloat;
    //  lbl_Assignedqty.Caption:=floattostr(tmpQry.fieldbyname('Assignedqty').asfloat);
      AdoQry_tmp.Close;
      AdoQry_tmp.SQL.clear;
      AdoQry_tmp.sql.Add('select CurrentonCheckInv from Item where  ItemCode='+quotedstr(ItemCode));
      AdoQry_tmp.Open;
     // tmpQry.First;
      oncheckqty:=floattostr(AdoQry_tmp.fieldbyname('CurrentonCheckInv').asfloat);
   //   lbl_onhand.Caption:=floattostr(tmpQry.fieldbyname('onhand').asfloat-tmpQry.fieldbyname('Assignedqty').asfloat);
  //  tmponhand:=strtofloat(CurrentInv);
      Close;
      sql.clear;
      sql.Add('select * from #tmpInformalMrpResult');
      Prepared;
      try

⌨️ 快捷键说明

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