📄 mrp_qry_newinformaluprightmrp_d.pas
字号:
tMpstring:=iifstring(tMpstring=' ','应提前',tMpstring+'/应提前');
if not (tmpQry.fieldbyname('Orderqty').asfloat-tmpQry.fieldbyname('onhand').asfloat<0.01) then
if isAdjust(tmpQry.fieldbyname('ItemCode').asstring) then
tMpstring:=tMpstring+iifstring(tMpstring=' ','','/')+'建议减少'+floattostr(tmpQry.fieldbyname('Orderqty').asfloat-tmpQry.fieldbyname('onhand').asfloat)
else
tMpstring:=tMpstring+iifstring(tMpstring=' ','','/')+'建议取消'+floattostr(tmpQry.fieldbyname('Orderqty').asfloat-tmpQry.fieldbyname('onhand').asfloat);
sqltext3:='insert into #tmpResult '
+#13+' Values('+quotedstr(tmpQry.fieldbyname('ItemCode').asstring)+','+quotedstr(inttostr(tmpQry.fieldbyname('PmCode').asinteger))+','
+#13+quotedstr(tmpQry.fieldbyname('releasedate').asstring)+','
+#13+quotedstr(tmpQry.fieldbyname('realreleasedate').asstring)+','
+#13+quotedstr(tmpQry.fieldbyname('Ordernoandlineno').asstring)+','
+quotedstr(tMpstring)+','
// +#13+iifstring(tmpQry.fieldbyname('Orderqty').asfloat-tmpQry.fieldbyname('onhand').asfloat<0.01,quotedstr(' '), quotedstr('建议取消'+floattostr(tmpQry.fieldbyname('Orderqty').asfloat-tmpQry.fieldbyname('onhand').asfloat)))+','
+#13+'null,'+floattostr(tmpQry.fieldbyname('Orderqty').asfloat)+','
+#13+floattostr(tmpQry.fieldbyname('onhand').asfloat)+','
+#13+'null,'+inttostr(tmpQry.fieldbyname('ordinal').asinteger)+','
+#13+quotedstr(tmpQry.fieldbyname('trace').asstring)+','
+#13+quotedstr(tmpQry.fieldbyname('peggingno').asstring)+','
+floattostr(tmpQry.fieldbyname('Orderqty').asfloat+tmponhand)+',0)';
Close;
sql.clear;
sql.Add(sqltext3);
try
execsql;
except
end;
tmponhand:=tmponhand+tmpQry.fieldbyname('Orderqty').asfloat;
end;
4: with AdoQry_tmp do
begin
//if tmpQry.fieldbyname('PmCode').asinteger<>ItemPmCode then
// begin
// tmpQry.next;
// while ((not tmpQry.eof) and (tmpQry.fieldbyname('ordinal').asinteger<>1)) do
// tmpQry.next;
// continue;
// end;
tmpgrossqty:=tmpQry.fieldbyname('grossqty').asfloat;
tmpreleasedate:=datetostr(tmpQry.fieldbyname('releasedate').asdatetime);
trace:=tmpQry.fieldbyname('trace').asstring;
if tmponhand-tmpgrossqty=0 then
tMpstr:='null'
else tMpstr:=floattostr(tmponhand-tmpgrossqty);
sqltext4:='insert into #tmpResult '
+#13+' Values('+quotedstr(tmpQry.fieldbyname('ItemCode').asstring)+','+quotedstr(inttostr(tmpQry.fieldbyname('PmCode').asinteger))+','
+#13+quotedstr(tmpreleasedate)+','
+#13+quotedstr(tmpQry.fieldbyname('realreleasedate').asstring)+','
+#13+'null,null,'+floattostr(tmpgrossqty)+','
+#13+'null,'
+#13+floattostr(tmpQry.fieldbyname('onhand').asfloat)+','
+#13+'null,'
+#13+inttostr(tmpQry.fieldbyname('ordinal').asinteger)+','
+#13+quotedstr(trace)+','
+#13+quotedstr(tmpQry.fieldbyname('peggingno').asstring)+','
+tMpstr+',0)';
AdoQry_tmp.Close;
AdoQry_tmp.sql.clear;
AdoQry_tmp.sql.Add(sqltext4);
try
AdoQry_tmp.execsql;
tmponhand:=tmponhand-tmpQry.fieldbyname('grossqty').asfloat;
except
end;
end;
3: begin
if tmpQry.fieldbyname('onhand').asinteger>0 then
with AdoQry_tmp do
begin
sqltext5:='insert into #tmpResult '
+#13+' Values('+quotedstr(tmpQry.fieldbyname('ItemCode').asstring)+','+quotedstr(inttostr(tmpQry.fieldbyname('PmCode').asinteger))+','
+#13+quotedstr(tmpQry.fieldbyname('releasedate').asstring)+','
+#13+quotedstr(tmpQry.fieldbyname('realreleasedate').asstring)+','
+#13+'null,'
+quotedstr('系统建议余量为'+floattostr(tmpQry.fieldbyname('reMainqty').asfloat))+','
+#13+'null,null,'+floattostr(tmpQry.fieldbyname('onhand').asfloat)+','
+#13+floattostr(tmpQry.fieldbyname('onhand').asfloat)+','
+#13+inttostr(tmpQry.fieldbyname('ordinal').asinteger)+','
+#13+quotedstr(tmpQry.fieldbyname('trace').asstring)+','
+#13+quotedstr(tmpQry.fieldbyname('peggingno').asstring)+','
+floattostr(tmponhand+tmpQry.fieldbyname('onhand').asfloat)+',0)';
Close;
sql.clear;
sql.Add(sqltext5);
try
execsql;
except
end;
tmponhand:=tmponhand+tmpQry.fieldbyname('onhand').asfloat;
end;
// tmpQry.Next;
// tmponhand:=tmpQry.fieldbyname('onhand').asfloat;
end;
end;
tmpQry.next;
end;
} AdoQry_Main.Close;
AdoQry_Main.sql.clear;
AdoQry_Main.sql.Add('exec sp_InformaluPMrpResult '+quotedstr(ItemCode));
AdoQry_Main.Prepared;
AdoQry_Main.open;
if AdoQry_Main.recordCount=0 then
begin
DispInfo('无当前物料模拟竖式报表相关数据!',3);
self.Close;
end;
try
tmpQry.Free;
except
end;
end;
procedure TFrm_Mrp_Qry_NewInformalUpRightMrp_D.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
with AdoQry_tmp do
begin
Close;
sql.clear;
sql.Add('drop table #tmpResult,#tmpInformalMrpResult');
Prepared;
try
execsql;
except
end;
end;
inherited;
end;
procedure TFrm_Mrp_Qry_NewInformalUpRightMrp_D.FormDestroy(Sender: TObject);
begin
inherited;
Frm_Mrp_Qry_NewInformalUpRightMrp_D:=nil;
end;
procedure TFrm_Mrp_Qry_NewInformalUpRightMrp_D.FormCreate(Sender: TObject);
begin
inherited;
tlbtn_Sum.Action:=Act_Showgrid;
end;
procedure TFrm_Mrp_Qry_NewInformalUpRightMrp_D.Act_LookExecute(
Sender: TObject);
var Mpsandmo:integer;
begin
inherited;
ItemCode:=AdoQry_Main.fieldbyname('ItemCode').asstring;
traceType:=255;
if Trim(AdoQry_Main.fieldbyname('trace').asstring)='主计划需求' then
traceType:=1;
if Trim(AdoQry_Main.fieldbyname('trace').asstring)='客户订单需求' then
traceType:=4;
if Trim(AdoQry_Main.fieldbyname('trace').asstring)='父项订单已分配量' then
traceType:=2;
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_InformalUpRightMrp_D_Po=nil then
begin
Frm_Mrp_Qry_InformalUpRightMrp_D_Po:=TFrm_Mrp_Qry_InformalUpRightMrp_D_Po.Create(Self);
Frm_Mrp_Qry_InformalUpRightMrp_D_Po.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
Frm_Mrp_Qry_InformalUpRightMrp_D_Po.Orderno:=Orderno;
Frm_Mrp_Qry_InformalUpRightMrp_D_Po.Orderlineno:=Orderlineno;
Frm_Mrp_Qry_InformalUpRightMrp_D_Po.InitForm(AdoQry_Main.Connection,True);
end
else Frm_Mrp_Qry_InformalUpRightMrp_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_InformalUpRightMrp_D_Mo=nil then
begin
Frm_Mrp_Qry_InformalUpRightMrp_D_Mo:=TFrm_Mrp_Qry_InformalUpRightMrp_D_Mo.Create(Self);
Frm_Mrp_Qry_InformalUpRightMrp_D_Mo.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
Frm_Mrp_Qry_InformalUpRightMrp_D_Mo.Orderno:=Orderno;
Frm_Mrp_Qry_InformalUpRightMrp_D_Mo.Orderlineno:=Orderlineno;
Frm_Mrp_Qry_InformalUpRightMrp_D_Mo.InitForm(AdoQry_Main.Connection,True);
end
else Frm_Mrp_Qry_InformalUpRightMrp_D_Mo.Show;
end
else
begin
if ((traceType=1) ) then
if Frm_Mrp_Qry_InformalUpRightMrp_D_NewMps=nil then
begin
Frm_Mrp_Qry_InformalUpRightMrp_D_NewMps:=TFrm_Mrp_Qry_InformalUpRightMrp_D_NewMps.Create(Self);
Frm_Mrp_Qry_InformalUpRightMrp_D_NewMps.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
Frm_Mrp_Qry_InformalUpRightMrp_D_NewMps.lowItemPmCode:=ItemPmCode;
Frm_Mrp_Qry_InformalUpRightMrp_D_NewMps.ItemCode:=ItemCode;
Frm_Mrp_Qry_InformalUpRightMrp_D_NewMps.requiredate:=requiredate;
Frm_Mrp_Qry_InformalUpRightMrp_D_NewMps.Qclt:=Qclt;
Frm_Mrp_Qry_InformalUpRightMrp_D_NewMps.Mpsid:=strtoint(AdoQry_Main.fieldbyname('peggingno').asstring);
Frm_Mrp_Qry_InformalUpRightMrp_D_NewMps.traceType:=traceType;
Frm_Mrp_Qry_InformalUpRightMrp_D_NewMps.InitForm(AdoQry_Main.Connection,True);
end
else Frm_Mrp_Qry_InformalUpRightMrp_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;
if traceType=3 then
if Frm_Mrp_Qry_InformalUpRightMrp_D_NewParentMo=nil then
begin
Frm_Mrp_Qry_InformalUpRightMrp_D_NewParentMo:=TFrm_Mrp_Qry_InformalUpRightMrp_D_NewParentMo.Create(Self);
Frm_Mrp_Qry_InformalUpRightMrp_D_NewParentMo.SetSysParam(userCode,ModuleCode,menuid,formatdatetime('yyyy.mm.dd',now));
Frm_Mrp_Qry_InformalUpRightMrp_D_NewParentMo.Qclt:=Qclt;
tmplowPmCode1:=AdoQry_Main.fieldbyname('PmCode').asinteger;
Frm_Mrp_Qry_InformalUpRightMrp_D_NewParentMo.initType:=2;
Frm_Mrp_Qry_InformalUpRightMrp_D_NewParentMo.peggingType:=1;
Frm_Mrp_Qry_InformalUpRightMrp_D_NewParentMo.ItemCode:=AdoQry_Main.fieldbyname('ItemCode').asstring;
Frm_Mrp_Qry_InformalUpRightMrp_D_NewParentMo.duedate:=datetimetostr(AdoQry_Main.fieldbyname('releasedate').asdatetime);
Frm_Mrp_Qry_InformalUpRightMrp_D_NewParentMo.strpath:=AdoQry_Main.fieldbyname('ItemCode').asstring+',';
Frm_Mrp_Qry_InformalUpRightMrp_D_NewParentMo.InitForm(dbconnect,True);
end
else Frm_Mrp_Qry_InformalUpRightMrp_D_NewParentMo.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_NewInformalUpRightMrp_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_InformalUpRightMrp_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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -