📄 mrp_qry_newoblongmrp1.pas
字号:
' @update4 varchAr(200), '+
' @mm varchAr(2), '+
' @day varchAr(2), '+
' @selectType tinyint, '+
' @sameweek varchAr(18), '+
' @sameMonth varchAr(18) '+
' select @sameweek=''ddf'''+
' select @sameMonth=''dfd'''+
' select @selectType='+inttostr(cmbselectType.Itemindex)+
' select @maxdate=(select max(releasedate) from #nnnMrpResult '+') '+
' select @mindate=(select min(releasedate) from #nnnMrpResult '+') '+
' while @mindate<=@maxdate '+
' begin '+
' if datepArt(mm,@mindate)<10 '+
' select @mm=''0''+convert(varchAr,datepArt(mm,@mindate)) '+
' else select @mm=convert(varchAr,datepArt(mm,@mindate)) '+
' if datepArt(dd,@mindate)<10 '+
' select @day=''0''+convert(varchAr,datepArt(dd,@mindate)) '+
' else select @day=convert(varchAr,datepArt(dd,@mindate)) '+
' select @Monthbegin=convert(chAr(4),datepArt(yy,@mindate))+''.''+convert(chAr(2),datepArt(mm,@mindate))+''.01'' '+
' select @outputweek=datepArt(wk,@mindate)-datepArt(wk,@Monthbegin)+1 '+
' if @selectType=0 '+
' begin '+
' select @s=''[''+substring(convert(varchAr,datepArt(yy,@mindate)),3,2)+@mm+@day+'']'' '+
' select @update=@s '+
' select @s=''alter table #TtmpOblongMrp Add ''+@s+'' float'' '+
' exec(@s) '+
' end '+
' else '+
' if @selectType=1 '+
' begin '+
// ' select @s=''[''+convert(varchAr,datepArt(yy,@mindate))+''年''+@mm+''月第''+convert(varchAr,@outputweek)+''周]'''+
' declAre @ddr datetime '+
' select @ddr=@mindate '+
' while dateName(yy,@ddr)+dateName(wk,@ddr)<>dateName(yy,@ddr)+convert(varchAr,datepArt(wk,@mindate)+1) '+
' begin ' +
' select @ddr=@ddr+1 '+
' end ' +
// ' select @s=''[''+convert(varchAr,datepArt(yy,@mindate))+''年''+@mm+''月第''+convert(varchAr,@outputweek)+''周]'''+
' select @s=''[''+convert(varchAr,@mindate,12)+''到''+convert(varchAr,case when dateName(yy,@mindate)+dateName(mm,@mindate)<> '
+' dateName(yy,dateAdd(wk,1,@mindate)-1)+dateName(mm,dateAdd(wk,1,@mindate)-1) '
+ ' then convert(datetime,dateName(yy,@mindate)+''.''+dateName(mm,dateAdd(mm,1,@mindate))+''.01'')-1 '
+ ' else @ddr-1 '
+ ' end,12) +'']'''+
' if (convert(varchAr,datepArt(yy,@mindate))+@mm+convert(varchAr,@outputweek))<>@sameweek '+
' begin '+
' select @update=@s '+
' select @s=''alter table #TtmpOblongMrp Add ''+@s+'' float'' '+
' exec(@s) '+
' end '+
' select @sameweek=convert(varchAr,datepArt(yy,@mindate))+@mm+convert(varchAr,@outputweek)'+
' end '+
' else if @selectType=2 '+
' begin '+
' select @s=''[''+convert(varchAr,datepArt(yy,@mindate))+''年''+@mm+''月]'''+
' if (convert(varchAr,datepArt(yy,@mindate))+convert(varchAr,datepArt(mm,@mindate)))<>@sameMonth '+
' begin '+
' select @update=@s '+
' select @s=''alter table #TtmpOblongMrp Add ''+@s+'' float'' '+
' exec(@s) '+
' end '+
' select @sameMonth=convert(varchAr,datepArt(yy,@mindate))+convert(varchAr,datepArt(mm,@mindate))'+
' end '+
' if @selectType=0 '+
' begin '+
' select @update1=''update #TtmpOblongMrp set ''+@update+''=(select sum(isnull(ssqty,0)) from #TtmpOblongMrp1 where convert(varchAr,ssdate)=''''''+convert(varchAr,@mindate)+''''''''+''and #TtmpOblongMrp.物料代码=#TtmpOblongMrp1.ItemCode '
+' and #TtmpOblongMrp.groupordinal=#TtmpOblongMrp1.groupordinal'
+')''' +
' select @update1=@update1+'' where 供需项目=0'' '+
' select @update2=''update #TtmpOblongMrp set ''+@update+''=(select sum(isnull(ssqty,0)) from #TtmpOblongMrp2 where convert(varchAr,ssdate)=''''''+convert(varchAr,@mindate)+'''''''' '+
' select @update2=@update2+''and #TtmpOblongMrp.物料代码=#TtmpOblongMrp2.ItemCode and #TtmpOblongMrp.groupordinal=#TtmpOblongMrp2.groupordinal and #TtmpOblongMrp2.flag=''''s'''''' '+
' select @update2=@update2+'')'''+
' select @update2=@update2+'' where 供需项目=1'' '+
' select @update22=''update #TtmpOblongMrp set ''+@update+''=(select sum(isnull(ssqty,0)) from #TtmpOblongMrp2 where convert(varchAr,ssdate)=''''''+convert(varchAr,@mindate)+'''''''' '+
' select @update22=@update22+''and #TtmpOblongMrp.物料代码=#TtmpOblongMrp2.ItemCode and #TtmpOblongMrp.groupordinal=#TtmpOblongMrp2.groupordinal and #TtmpOblongMrp2.flag=''''o''''''+'')'' '+
' select @update22=@update22+'' where 供需项目=12'' '+
' select @update3=''update #TtmpOblongMrp set ''+@update+''=(select sum(isnull(#TtmpOblongMrp2.ssqty,0)) from #TtmpOblongMrp2 where #TtmpOblongMrp2.ssdate<='' '+
' select @update3=@update3+''''''''+convert(varchAr,datepArt(yyyy,@mindate))+''.''+convert(varchAr,datepArt(mm,@mindate))+''.''+convert(varchAr,datepArt(dd,@mindate))+'''''''' '+
' select @update3=@update3+'' and #TtmpOblongMrp.物料代码*=#TtmpOblongMrp2.ItemCode and #TtmpOblongMrp.groupordinal*=#TtmpOblongMrp2.groupordinal)'' '+
' select @update3=@update3+''-(select sum(isnull(#TtmpOblongMrp1.ssqty,0)) from #TtmpOblongMrp1 where #TtmpOblongMrp1.ssdate<='' '+
' select @update3=@update3+''''''''+convert(varchAr,datepArt(yyyy,@mindate))+''.''+convert(varchAr,datepArt(mm,@mindate))+''.''+convert(varchAr,datepArt(dd,@mindate))+'''''''' '+
' select @update3=@update3+'' and #TtmpOblongMrp.物料代码=#TtmpOblongMrp1.ItemCode and #TtmpOblongMrp.groupordinal=#TtmpOblongMrp1.groupordinal)+#TtmpOblongMrp.当前可用库存+#TtmpOblongMrp.当前待检库存 where #TtmpOblongMrp.供需项目=2'' '+
' select @update4=''update #TtmpOblongMrp set ''+@update+''=null where ''+@update+''=0 and 供需项目=2'''+
' end else '+
' if @selectType=1 '+
' begin '+
#13+' select @update1=''update #TtmpOblongMrp set ''+@update+''=(select sum(isnull(ssqty,0)) from #TtmpOblongMrp1 where datepArt(yy,ssdate)=''+convert(varchAr,datepArt(yy,@mindate))+'' and datepArt(mm,ssdate)=''+convert(varchAr,datepArt(mm,@mindate))'+
#13+' select @update1=@update1+'' and ''+convert(varchAr,datepArt(wk,@mindate)-datepArt(wk,convert(chAr(4),datepArt(yy,@mindate))+''.''+convert(chAr(2),datepArt(mm,@mindate))+''.01'')) '+
#13+' select @update1=@update1+''=datepArt(wk,ssdate)-datepArt(wk,convert(chAr(4),datepArt(yy,ssdate))+''''.''''+convert(chAr(2),datepArt(mm,ssdate))+''''.01'''')'' '+
#13+' select @update1=@update1+''and #TtmpOblongMrp.物料代码=#TtmpOblongMrp1.ItemCode and #TtmpOblongMrp.groupordinal=#TtmpOblongMrp1.groupordinal''+'')'''+
#13+' select @update1=@update1+'' where 供需项目=0'' '+
#13+' select @update2=''update #TtmpOblongMrp set ''+@update+''=(select sum(isnull(ssqty,0)) from #TtmpOblongMrp2 where datepArt(yy,ssdate)=''+convert(varchAr,datepArt(yy,@mindate))+'' and datepArt(mm,ssdate)=''+convert(varchAr,datepArt(mm,@mindate))'+
#13+' select @update2=@update2+'' and ''+convert(varchAr,datepArt(wk,@mindate)-datepArt(wk,convert(chAr(4),datepArt(yy,@mindate))+''.''+convert(chAr(2),datepArt(mm,@mindate))+''.01'')) '+
#13+' select @update2=@update2+''=datepArt(wk,ssdate)-datepArt(wk,convert(chAr(4),datepArt(yy,ssdate))+''''.''''+convert(chAr(2),datepArt(mm,ssdate))+''''.01'''')'' '+
#13+' select @update2=@update2+''and #TtmpOblongMrp.物料代码=#TtmpOblongMrp2.ItemCode and #TtmpOblongMrp.groupordinal=#TtmpOblongMrp2.groupordinal and #TtmpOblongMrp2.flag=''''s''''''+'')''+'' where 供需项目=1'' '+
#13+' select @update22=''update #TtmpOblongMrp set ''+@update+''=(select sum(isnull(ssqty,0)) from #TtmpOblongMrp2 where datepArt(yy,ssdate)=''+convert(varchAr,datepArt(yy,@mindate))+'' and datepArt(mm,ssdate)=''+convert(varchAr,datepArt(mm,@mindate))'+
#13+' select @update22=@update22+'' and ''+convert(varchAr,datepArt(wk,@mindate)-datepArt(wk,convert(chAr(4),datepArt(yy,@mindate))+''.''+convert(chAr(2),datepArt(mm,@mindate))+''.01'')) '+
#13+' select @update22=@update22+''=datepArt(wk,ssdate)-datepArt(wk,convert(chAr(4),datepArt(yy,ssdate))+''''.''''+convert(chAr(2),datepArt(mm,ssdate))+''''.01'''')'' '+
#13+' select @update22=@update22+''and #TtmpOblongMrp.物料代码=#TtmpOblongMrp2.ItemCode and #TtmpOblongMrp.groupordinal=#TtmpOblongMrp2.groupordinal and #TtmpOblongMrp2.flag=''''o''''''+'')''+'' where 供需项目=12'' '+
' select @update3=''update #TtmpOblongMrp set ''+@update+''=(select sum(isnull(#TtmpOblongMrp2.ssqty,0)) from #TtmpOblongMrp2 where datepArt(mm,ssdate)<=''+convert(varchAr,datepArt(mm,@mindate)) '+
' select @update3=@update3+'' and convert(varchAr,datepArt(yyyy,#TtmpOblongMrp2.ssdate))+''''.''''+convert(varchAr,datepArt(wk,#TtmpOblongMrp2.ssdate))<='''+
' select @update3=@update3+''''''''+convert(varchAr,datepArt(yyyy,@mindate))+''.''+convert(varchAr,datepArt(wk,@mindate))+'''''''''+
' select @update3=@update3+'' and #TtmpOblongMrp.物料代码*=#TtmpOblongMrp2.ItemCode and #TtmpOblongMrp.groupordinal*=#TtmpOblongMrp2.groupordinal)'''+
' select @update3=@update3+''-(select sum(isnull(#TtmpOblongMrp1.ssqty,0)) from #TtmpOblongMrp1 where datepArt(mm,#TtmpOblongMrp1.ssdate)<=''+convert(varchAr,datepArt(mm,@mindate))'+
' select @update3=@update3+'' and convert(varchAr,datepArt(yyyy,#TtmpOblongMrp1.ssdate))+''''.''''+convert(varchAr,datepArt(wk,#TtmpOblongMrp1.ssdate))<='''+
' select @update3=@update3+''''''''+convert(varchAr,datepArt(yyyy,@mindate))+''.''+convert(varchAr,datepArt(wk,@mindate))+'''''''''+
' select @update3=@update3+'' and #TtmpOblongMrp.物料代码=#TtmpOblongMrp1.ItemCode and #TtmpOblongMrp.groupordinal=#TtmpOblongMrp1.groupordinal)+#TtmpOblongMrp.当前可用库存+#TtmpOblongMrp.当前待检库存 where #TtmpOblongMrp.供需项目=2'''+
' select @update4=''update #TtmpOblongMrp set ''+@update+''=null where ''+@update+''=0 and 供需项目=2'''
+' end else '+
' if @selectType=2 '+
' begin '+
#13+' select @update1=''update #TtmpOblongMrp set ''+@update+''=(select sum(isnull(ssqty,0)) from #TtmpOblongMrp1 where datepArt(yy,ssdate)=''+convert(varchAr,datepArt(yy,@mindate))+'' and datepArt(mm,ssdate)=''+convert(varchAr,datepArt(mm,@mindate))'+
#13+' select @update1=@update1+''and #TtmpOblongMrp.物料代码=#TtmpOblongMrp1.ItemCode and #TtmpOblongMrp.groupordinal=#TtmpOblongMrp1.groupordinal''+'')'''+
#13+' select @update1=@update1+'' where 供需项目=0'' '+
#13+' select @update2=''update #TtmpOblongMrp set ''+@update+''=(select sum(isnull(ssqty,0)) from #TtmpOblongMrp2 where datepArt(yy,ssdate)=''+convert(varchAr,datepArt(yy,@mindate))+'' and datepArt(mm,ssdate)=''+convert(varchAr,datepArt(mm,@mindate))'+
#13+' select @update2=@update2+''and #TtmpOblongMrp.物料代码=#TtmpOblongMrp2.ItemCode and #TtmpOblongMrp.groupordinal=#TtmpOblongMrp2.groupordinal and #TtmpOblongMrp2.flag=''''s''''''+'')''+'' where 供需项目=1'' '+
#13+' select @update22=''update #TtmpOblongMrp set ''+@update+''=(select sum(isnull(ssqty,0)) from #TtmpOblongMrp2 where datepArt(yy,ssdate)=''+convert(varchAr,datepArt(yy,@mindate))+'' and datepArt(mm,ssdate)=''+convert(varchAr,datepArt(mm,@mindate))'+
#13+' select @update22=@update22+''and #TtmpOblongMrp.物料代码=#TtmpOblongMrp2.ItemCode and #TtmpOblongMrp.groupordinal=#TtmpOblongMrp2.groupordinal and #TtmpOblongMrp2.flag=''''o''''''+'')''+'' where 供需项目=12'' '+
' select @update3=''update #TtmpOblongMrp set ''+@update+''=(select sum(isnull(#TtmpOblongMrp2.ssqty,0)) from #TtmpOblongMrp2 where #TtmpOblongMrp2.ssdate<='' '+
' select @update3=@update3+''''''''+convert(varchAr,datepArt(yyyy,@mindate))+''.''+convert(varchAr,datepArt(mm,@mindate))+''.''+convert(varchAr,datepArt(dd,@mindate))+'''''''' '+
' select @update3=@update3+'' and #TtmpOblongMrp.物料代码*=#TtmpOblongMrp2.ItemCode and #TtmpOblongMrp.groupordinal*=#TtmpOblongMrp2.groupordinal)'' '+
' select @update3=@update3+''-(select sum(isnull(#TtmpOblongMrp1.ssqty,0)) from #TtmpOblongMrp1 where #TtmpOblongMrp1.ssdate<='' '+
' select @update3=@update3+''''''''+convert(varchAr,datepArt(yyyy,@mindate))+''.''+convert(varchAr,datepArt(mm,@mindate))+''.''+convert(varchAr,datepArt(dd,@mindate))+'''''''' '+
' select @update3=@update3+'' and #TtmpOblongMrp.物料代码=#TtmpOblongMrp1.ItemCode and #TtmpOblongMrp.groupordinal=#TtmpOblongMrp1.groupordinal)+#TtmpOblongMrp.当前可用库存+#TtmpOblongMrp.当前待检库存 where #TtmpOblongMrp.供需项目=2'' '+
' select @update4=''update #TtmpOblongMrp set ''+@update+''=null where ''+@update+''=0 and 供需项目=2'''
+' end '+
' exec(@update1) '+
' exec(@update2) '+
' exec(@update22) '+
' exec(@update3) '+
' exec(@update4) '+
' select @mindate=@mindate+1 '+
' end ';
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\\
Application.ProcessMessages;
sqltext8:='update #TtmpOblongMrpResult '+
' set 供需项目=case 供需项目 '+
' when ''0'' then ''需求量(剩余需求)'''+
' when ''1'' then ''系统建议量'''+
' when ''12'' then ''订单未结量'''+
' when ''2'' then ''计划可用量(预计库存量)'''+
' end ';
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\\
selectfromsql:='select * from #TtmpOblongMrpResult';
Frm_Mrp_Qry_OblongMrp_m.Visible:=True;
Screen.Cursor:=crsqlwait;
with AdoQry_Main do
begin
Close;
sql.clear;
sql.Add(sqltext1);
Prepared;
try
execsql;
except
end;
Application.ProcessMessages;
Close;
sql.clear;
sql.Add(sqltext20);
Prepared;
try
execsql;
except
end;
Application.ProcessMessages;
Close;
sql.clear;
sql.Add(sqltext2);
Prepared;
try
execsql;
except
end;
Close;
sql.clear;
sql.Add(sqltext3);
Prepared;
try
execsql;
except
end;
Application.ProcessMessages;
Close;
sql.clear;
sql.Add(sqltext4);
Prepared;
try
execsql;
except
end;
Application.ProcessMessages;
Close;
sql.clear;
sql.Add(sqltext5);
Prepared;
try
execsql;
except
end;
Application.ProcessMessages;
Close;
sql.clear;
sql.Add(sqltext6);
Prepared;
try
execsql;
except
end;
Application.ProcessMessages;
try
Close;
sql.clear;
sql.Add(sqltext7);
Prepared;
try
Application.ProcessMessages;
execsql;
except
end;
Frm_Mrp_Qry_OblongMrp_m.Visible:=False;
Frm_Mrp_Qry_OblongMrp_m.Close;
Application.ProcessMessages;
finally
Frm_Mrp_Qry_OblongMrp_m.Free;
Screen.Cursor:=crdefault;
end;
{ Close;
sql.clear;
sql.Add(sqltext7);
Prepared;
try
execsql;
except
showmessage('error');
end; }
Close;
sql.clear;
sql.Add('select * into #TtmpOblongMrpResult from #TtmpOblongMrp Order by 物料代码,供需项目');
Prepared;
try
execsql;
except
end;
Close;
sql.clear;
sql.Add(sqltext8);
Prepared;
try
execsql;
except
end;
Close;
sql.clear;
sql.Add('select * from #TtmpOblongMrpResult Order by 物料代码,PmCode');
Prepared;
try
open;
except
end;
for i:=0 to fields.Count-1 do
begin
fields[i].Origin:='#TtmpOblongMrprseult';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -