📄 mrp_qry_newuprightmrp_d.pas
字号:
open;
except
end;
First;
while not eof do
begin
tmpordinal:=fieldbyname('ordinal').asinteger;
case tmpordinal of
0: with AdoQry_tmp do
begin
sqltext3:='insert into #tmpResult '
+#13+' Values('+quotedstr(tmpQry.fieldbyname('ItemCode').asstring)+','+quotedstr(inttostr(tmpQry.fieldbyname('PmCode').asinteger))+','
+#13+'null'+','+'null,'
+#13+quotedstr(tmpQry.fieldbyname('Ordernoandlineno').asstring)+','
+#13+'null,'
+#13+'null,null,'
+#13+CurrentInv+','
+#13+'null,'+inttostr(tmpQry.fieldbyname('ordinal').asinteger)+','
+#13+quotedstr(tmpQry.fieldbyname('trace').asstring)+','
+quotedstr(tmpQry.fieldbyname('peggingno').asstring)+','
+floattostr(tmponhand)+',0)';
Close;
sql.clear;
sql.Add(sqltext3);
try
execsql;
except
end;
//tmponhand:=tmponhand+AdoQry_Main.fieldbyname('onhand').asfloat;
end;
1: with AdoQry_tmp do
begin
sqltext3:='insert into #tmpResult '
+#13+' Values('+quotedstr(tmpQry.fieldbyname('ItemCode').asstring)+','+quotedstr(inttostr(tmpQry.fieldbyname('PmCode').asinteger))+','
+#13+'null'+','+'null,'
+#13+quotedstr(tmpQry.fieldbyname('Ordernoandlineno').asstring)+','
+#13+'null,'
+#13+'null,'+oncheckqty+','
+#13+'null,'
+#13+'null,'+inttostr(tmpQry.fieldbyname('ordinal').asinteger)+','
+#13+quotedstr(tmpQry.fieldbyname('trace').asstring)+','
+quotedstr(tmpQry.fieldbyname('peggingno').asstring)+','
+floattostr(strtofloat(oncheckqty)+tmponhand)+',0)';
Close;
sql.clear;
sql.Add(sqltext3);
try
execsql;
except
end;
tmponhand:=tmponhand+strtofloat(oncheckqty);
end;
2: if ((tmpQry.fieldbyname('onhand').asfloat>=0) and (tmpQry.fieldbyname('Orderlinestatus').asinteger<7)) then
with AdoQry_tmp do
begin
tMpstring:=' ';
if (Trim(tmpQry.fieldbyname('trace').asstring)='待定订单') and (tmpQry.fieldbyname('duedate').asdatetime<=strtodatetime(getserverdate)) and (isAdjust(tmpQry.fieldbyname('ItemCode').asstring)=True) then
tMpstring:='订单应下达'
else if (Trim(tmpQry.fieldbyname('trace').asstring)='下达订单') and (tmpQry.fieldbyname('realOrderqty').asfloat<=0) then
tMpstring:='订单应关闭';
if (tmpQry.fieldbyname('Orderlinestatus').asinteger=5)
and (tmpQry.fieldbyname('onhand').asfloat>0)
and ( (tmpQry.fieldbyname('releasedate').asdatetime<strtodatetime(formatdatetime('yyyy.mm.dd',strtodatetime(GetServerDateTime(dbconnect)))))
or (tmpQry.fieldbyname('duedate').asdatetime<strtodatetime(formatdatetime('yyyy.mm.dd',strtodatetime(GetServerDateTime(dbconnect)))) ))then
tMpstring:=iifstring(tMpstring=' ','应重排',tMpstring+'/应重排');
if tmpQry.fieldbyname('canuseonhand').asinteger=1 then
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)+','
+#13+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)+','
+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 AdoQry_Main.fieldbyname('PmCode').asinteger<>ItemPmCode then
// begin
// AdoQry_Main.next;
// while ((not AdoQry_Main.eof) and (AdoQry_Main.fieldbyname('ordinal').asinteger<>1)) do
// AdoQry_Main.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)+','
+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)+','
+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_uPMrpResult '+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_NewUpRightMrp_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_NewUpRightMrp_D.FormDestroy(Sender: TObject);
begin
inherited;
Frm_Mrp_Qry_NewUpRightMrp_D:=nil;
end;
procedure TFrm_Mrp_Qry_NewUpRightMrp_D.FormCreate(Sender: TObject);
begin
inherited;
tlbtn_Sum.Action:=Act_Showgrid;
end;
procedure TFrm_Mrp_Qry_NewUpRightMrp_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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -