📄 mrp_qry_newuprightmrp_d.pas
字号:
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 + -