📄 mrp_qry_newuprightmrp_d.pas
字号:
if Trim(AdoQry_Main.fieldbyname('trace').asstring)='父项计划需求' then
traceType:=3;
requiredate:=AdoQry_Main.fieldbyname('releasedate').asstring;
if uppercase(copy(AdoQry_Main.fieldbyname('Ordernoandlineno').asstring,1,1))='P' then
begin
Orderno:=AdoQry_Main.fieldbyname('Ordernoandlineno').asstring;
Orderlineno:=copy(Orderno,pos('-',Orderno)+1,length(Orderno)-pos('-',Orderno));
Orderno:=copy(Orderno,1,pos('-',Orderno)-1);
if Frm_Mrp_Qry_UpRightMrp_D_Po=nil then
begin
Frm_Mrp_Qry_UpRightMrp_D_Po:=TFrm_Mrp_Qry_UpRightMrp_D_Po.Create(Self);
Frm_Mrp_Qry_UpRightMrp_D_Po.Orderno:=Orderno;
Frm_Mrp_Qry_UpRightMrp_D_Po.Orderlineno:=Orderlineno;
Frm_Mrp_Qry_UpRightMrp_D_Po.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
Frm_Mrp_Qry_UpRightMrp_D_Po.InitForm(AdoQry_Main.Connection,True);
end
else Frm_Mrp_Qry_UpRightMrp_D_Po.Show;
end
else
if uppercase(copy(AdoQry_Main.fieldbyname('Ordernoandlineno').asstring,1,1))='M' then
begin
Orderno:=AdoQry_Main.fieldbyname('Ordernoandlineno').asstring;
Orderlineno:=copy(Orderno,pos('-',Orderno)+1,length(Orderno)-pos('-',Orderno));
Orderno:=copy(Orderno,1,pos('-',Orderno)-1);
if Frm_Mrp_Qry_UpRightMrp_D_Mo=nil then
begin
Frm_Mrp_Qry_UpRightMrp_D_Mo:=TFrm_Mrp_Qry_UpRightMrp_D_Mo.Create(Self);
Frm_Mrp_Qry_UpRightMrp_D_Mo.Orderno:=Orderno;
Frm_Mrp_Qry_UpRightMrp_D_Mo.Orderlineno:=Orderlineno;
Frm_Mrp_Qry_UpRightMrp_D_Mo.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
Frm_Mrp_Qry_UpRightMrp_D_Mo.InitForm(AdoQry_Main.Connection,True);
end
else Frm_Mrp_Qry_UpRightMrp_D_Mo.Show;
end
else
begin
if (traceType=1) then
if Frm_Mrp_Qry_UpRightMrp_D_NewMps=nil then
begin
Frm_Mrp_Qry_UpRightMrp_D_NewMps:=TFrm_Mrp_Qry_UpRightMrp_D_NewMps.Create(Self);
Frm_Mrp_Qry_UpRightMrp_D_NewMps.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
Frm_Mrp_Qry_UpRightMrp_D_NewMps.ItemCode:=ItemCode;
Frm_Mrp_Qry_UpRightMrp_D_NewMps.lowItemPmCode:=ItemPmCode;
requiredate:=AdoQry_Main.fieldbyname('releasedate').asstring;
Frm_Mrp_Qry_UpRightMrp_D_NewMps.requiredate:=requiredate;
Frm_Mrp_Qry_UpRightMrp_D_NewMps.Qclt:=Qclt;
Frm_Mrp_Qry_UpRightMrp_D_NewMps.Mpsid:=strtoint(AdoQry_Main.fieldbyname('peggingno').asstring);
Frm_Mrp_Qry_UpRightMrp_D_NewMps.traceType:=traceType;
Frm_Mrp_Qry_UpRightMrp_D_NewMps.InitForm(AdoQry_Main.Connection,True);
end
else Frm_Mrp_Qry_UpRightMrp_D_NewMps.Show;
if ((traceType=2) ) then
if Frm_Mrp_Qry_UpRightMrp_D_NewMossParent=nil then
begin
Frm_Mrp_Qry_UpRightMrp_D_NewMossParent:=TFrm_Mrp_Qry_UpRightMrp_D_NewMossParent.Create(Self);
Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.Qclt:=Qclt;
tmplowPmCode:=AdoQry_Main.fieldbyname('PmCode').asinteger;
Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.ItemCode:=AdoQry_Main.fieldbyname('ItemCode').asstring;
// Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.duedate:=datetimetostr(AdoQry_Main.fieldbyname('releasedate').asdatetime);
Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.peggingno:=AdoQry_Main.fieldbyname('peggingno').asstring;
// Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.strpath:=AdoQry_Main.fieldbyname('ItemCode').asstring+',';
Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.InitForm(dbconnect,True);
end
else Frm_Mrp_Qry_UpRightMrp_D_NewMossParent.Show;
{Mpsandmo:=existsMpsandmo(AdoQry_Main.fieldbyname('ItemCode').asstring,requiredate);
//showmessage(inttostr(Mpsandmo));
case Mpsandmo of
1: if Frm_Mrp_Enter_MoSsParent=nil then
begin
Frm_Mrp_Enter_MoSsParent:=TFrm_Mrp_Enter_MoSsParent.Create(Self);
Frm_Mrp_Enter_MoSsParent.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
Frm_Mrp_Enter_MoSsParent.Qclt:=Qclt;
tmplowPmCode:=AdoQry_Main.fieldbyname('PmCode').asinteger;
Frm_Mrp_Enter_MoSsParent.ItemCode:=AdoQry_Main.fieldbyname('ItemCode').asstring;
Frm_Mrp_Enter_MoSsParent.duedate:=datetimetostr(AdoQry_Main.fieldbyname('releasedate').asdatetime);
Frm_Mrp_Enter_MoSsParent.strpath:=AdoQry_Main.fieldbyname('ItemCode').asstring+',';
Frm_Mrp_Enter_MoSsParent.InitForm(dbconnect,True);
end
else Frm_Mrp_Enter_MoSsParent.Show;
2: if Frm_Mrp_Qry_UpRightMrp_D_Mps=nil then
begin
Frm_Mrp_Qry_UpRightMrp_D_Mps:=TFrm_Mrp_Qry_UpRightMrp_D_Mps.Create(Self);
Frm_Mrp_Qry_UpRightMrp_D_Mps.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
Frm_Mrp_Qry_UpRightMrp_D_Mps.ItemCode:=ItemCode;
Frm_Mrp_Qry_UpRightMrp_D_Mps.lowItemPmCode:=ItemPmCode;
Frm_Mrp_Qry_UpRightMrp_D_Mps.requiredate:=requiredate;
Frm_Mrp_Qry_UpRightMrp_D_Mps.Qclt:=Qclt;
Frm_Mrp_Qry_UpRightMrp_D_Mps.traceType:=traceType;
Frm_Mrp_Qry_UpRightMrp_D_Mps.InitForm(AdoQry_Main.Connection,True);
end
else Frm_Mrp_Qry_UpRightMrp_D_Mps.Show;
3: if Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo=nil then
begin
Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo:=TFrm_Mrp_Qry_UpRightMrp_D_MpsAndMo.Create(Self);
Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
// Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.ItemCode:=ItemCode;
// Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.lowItemPmCode:=ItemPmCode;
// Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.requiredate:=requiredate;
// Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.Qclt:=Qclt;
// Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.traceType:=traceType;
Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.InitForm(AdoQry_Main.Connection,True);
end
else Frm_Mrp_Qry_UpRightMrp_D_MpsAndMo.Show;
end;
end; }
if traceType=3 then
if Frm_Mrp_Enter_NewMoSsParent=nil then
begin
Frm_Mrp_Enter_NewMoSsParent:=TFrm_Mrp_Enter_NewMoSsParent.Create(Self);
Frm_Mrp_Enter_NewMoSsParent.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
Frm_Mrp_Enter_NewMoSsParent.Qclt:=Qclt;
tmplowPmCode:=AdoQry_Main.fieldbyname('PmCode').asinteger;
Frm_Mrp_Enter_NewMoSsParent.peggingType:=1;
Frm_Mrp_Enter_NewMoSsParent.ItemCode:=AdoQry_Main.fieldbyname('ItemCode').asstring;
Frm_Mrp_Enter_NewMoSsParent.duedate:=datetimetostr(AdoQry_Main.fieldbyname('releasedate').asdatetime);
Frm_Mrp_Enter_NewMoSsParent.strpath:=AdoQry_Main.fieldbyname('ItemCode').asstring+',';
Frm_Mrp_Enter_NewMoSsParent.InitForm(dbconnect,True);
end
else Frm_Mrp_Enter_NewMoSsParent.Show;
if traceType=4 then
if Frm_Mrp_Qry_SaleOrder=nil then
begin
Frm_Mrp_Qry_SaleOrder:=TFrm_Mrp_Qry_SaleOrder.Create(Self);
Frm_Mrp_Qry_SaleOrder.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
Frm_Mrp_Qry_SaleOrder.slonoandlineno:=AdoQry_Main.fieldbyname('peggingno').asstring;
Frm_Mrp_Qry_SaleOrder.InitForm(dbconnect,True);
end
else Frm_Mrp_Qry_SaleOrder.Show;
end;
end;
procedure TFrm_Mrp_Qry_NewUpRightMrp_D.Act_ShowGridExecute(
Sender: TObject);
var sqltext,tmpvar:string;
begin
inherited;
if uppercase(copy(AdoQry_Main.fieldbyname('Ordernoandlineno').asstring,1,1))<>'P' then
exit;
sqltext:='select po.VendorCode from po where po.pono='''+copy(AdoQry_Main.fieldbyname('Ordernoandlineno').asstring,1,pos('-',AdoQry_Main.fieldbyname('Ordernoandlineno').asstring)-1)+'''';
with AdoQry_tmp do
begin
Close;
sql.clear;
sql.Add(sqltext);
open;
tmpvar:=fieldbyname('VendorCode').asstring;
Close;
sql.clear;
sql.Add('select * from Vendor where VendorCode='+quotedstr(tmpvar));
open;
try
with TFrm_Mrp_Qry_UpRightMrp_D_vd.Create(self) do
begin
edit1.Text:=fieldbyname('VendorName').asstring;
edit5.Text:=fieldbyname('VendorAddress').asstring;
edit3.Text:=fieldbyname('VendorshortName').asstring;
edit4.Text:=fieldbyname('Vendoremail').asstring;
edit2.Text:=fieldbyname('Vendorfax').asstring;
edit21.Text:=fieldbyname('Vendortel').asstring;
maskedit1.Text:=fieldbyname('Vendorcreatetime').asstring;
maskedit2.Text:=fieldbyname('Vendormodifytime').asstring;
edit6.Text:=fieldbyname('Vendorbank').asstring;
edit7.Text:=fieldbyname('Vendorbankaccno').asstring;
edit18.Text:=floattostr(fieldbyname('Vendortaxrate_Percent').asfloat);
edit19.Text:=fieldbyname('Vendortaxno').asstring;
edit20.Text:=fieldbyname('Vendorcontact').asstring;
edit11.Text:=fieldbyname('Vendorowner').asstring;
edit12.Text:=fieldbyname('Vendorceo').asstring;
edit8.Text:=fieldbyname('VendorremArk').asstring;
showmodal;
end;
finally
Frm_Mrp_Qry_UpRightMrp_D_vd.Free;
end;
end;
end;
function TFrm_Mrp_Qry_NewUpRightMrp_D.existsMpsandmo(ItemCode:string;requiredate:string):integer;
var bool1:boolean;
bool2:boolean;
begin
Result:=100;
bool1:=ifexistsiteItemCode(ItemCode,requiredate,inttostr(getlt(ItemCode,2)));
bool2:=existsMps(ItemCode,requiredate,inttostr(getlt(ItemCode,2)));
if bool1 and bool2 then
Result:=3
else if bool1 then
Result:=1
else if bool2 then
Result:=2;
if Result=100 then
try
Executesql(AdoQry_tmp,'drop table #tmpopenBom,#tmpopenBomResult,#tmpopenBomResult1,#tmpuPMrpResult,#tmpuPMrpResult1',1);
except
end;
end;
function TFrm_Mrp_Qry_NewUpRightMrp_D.ifexistsiteItemCode(ItemCode:string;date,Qclt:string):boolean;{ Private declarations }
var AdoQry:TAdoQuery;tMpsqltext:string;
begin
Result:=False;
AdoQry:=TAdoQuery.Create(self);
AdoQry.EnableBCD:=False;
AdoQry.Connection:=dbconnect;
try
try Executesql(AdoQry_tmp,'drop table #tmpopenBomResult,#tmpuPMrpResult',1);
except
end;
tMpsqltext:=' select top 0 MrpResult.*,Bom.Bomqty,Mrpqty=case ordinal when 2 then Orderqty when 5 then netqty end, '
+' ScrAprate=convert(varchAr,Bom.BomScrAp_Percent)+''%'','
+' Itemflag=MrpResult.ItemCode+'' ''+Item.ItemName, '
+' Item.Qclt, '
+' Item.Preparelt,'
+' Uom.UomName '
+' into #tmpuPMrpResult '
+' from MrpResult '
+' join Item on MrpResult.ItemCode=Item.ItemCode '
+' left outer join Uom on Item.UomCode=Uom.UomCode'
+' join Bom on MrpResult.ItemCode=Bom.ite_ItemCode';
Executesql(AdoQry_tmp,tMpsqltext,1);
Bomopen(dbconnect,ItemCode);
//tMpsqltext:='select Bom.ite_ItemCode as ItemCode,Item.Preparelt from Bom,Item where Bom.ite_ItemCode=Item.ItemCode and Bom.ItemCode='+quotedstr(ItemCode);
tMpsqltext:='select distinct Item.ItemCode,Item.PmCode,Item.Preparelt,Item.purchldtime,Bomqty=sum(Bomqty),BomScrAprate=sum(BomScrAprate) '
+' into #tmpopenBomResult '
+' From #TmpOpenBom,Item '
+' where #tmpopenBom.ItemCode=Item.ItemCode '
+' and exists(select * from MrpResult where #tmpopenBom.ItemCode=MrpResult.ItemCode ) '
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -