This commit is contained in:
PastSaid
2024-03-11 09:04:46 +08:00
parent 5e2781182d
commit 6dd1816c96
47 changed files with 18825 additions and 624 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,50 @@
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD>۶<EFBFBD><DBB6><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD>ɸѡ<C9B8><D1A1>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
SELECT
t0.FBILLNO
,t0.FID
,t0e.FQTY
,t0e.FENTRYID
,t0e.FMATERIALID
,t0e_a.FREPQUAQTY
--,t0e_a.FREQSRC --1.<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD>
,(CASE WHEN t1e.FSRCBILLNO is null THEN (CASE t0e_a.FREQSRC WHEN 1 THEN t0e.FSALEORDERNO ELSE '' END) ELSE t1e.FSRCBILLNO END) AS 'FSALEORDERNO'
INTO #TEMPMO
FROM
T_PRD_MO t0
INNER JOIN T_PRD_MOENTRY t0e ON t0.FID = t0E.FID
INNER JOIN T_PRD_MOENTRY_A t0e_a ON t0e_a.FENTRYID = t0e.FENTRYID
LEFT JOIN T_SAL_DELIVERYNOTICEENTRY t1e on t1e.FENTRYID = t0e.FSRCBILLENTRYID AND t0e.FSRCBILLID = t0e.FSALEORDERID
WHERE 1 = 1
AND t0.FDOCUMENTSTATUS = 'C'
AND (t0e_a.FSTATUS < 5)
--AND t0e.FMATERIALID = 100258
AND t0.FBILLNO = 'MO000023'
SELECT
t0.FMATERIALID AS 'ProMateralId'
,t1e.FMATERIALID
,t1e_c.FSTOCKID
--,t1.FBILLNO
,SUM(t1e.FBASENEEDQTY) AS 'FBASENEEDQTY'--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,SUM(t1e_q.FBASEPICKEDQTY) AS 'FBASEPICKEDQTY'--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,SUM(t1e_q.FBASENOPICKEDQTY) AS 'FBASENOPICKEDQTY'--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λδ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOIDS'
,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FENTRYID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOENTRYIDS'
,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FBILLNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MONOS'
,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FSALEORDERNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID AND tt.FSALEORDERNO !='' for xml path('')),1,1,''),'') AS 'SALENOS'
INTO #TEMPMOQTY
FROM #TEMPMO t0
INNER JOIN T_PRD_PPBOMENTRY t1e ON t1e.FMOENTRYID = t0.FENTRYID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
INNER JOIN T_PRD_PPBOMENTRY_Q t1e_q ON t1e_q.FENTRYID = t1e.FENTRYID
INNER JOIN T_PRD_PPBOMENTRY_C t1e_c ON t1e_c.FENTRYID = t1e.FENTRYID
GROUP BY
t0.FMATERIALID,t1e.FMATERIALID,t1e_c.FSTOCKID
SELECT t0.ProMateralId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS
--INTO #TEMPMONO2Pro
FROM #TEMPMOQTY t0
GROUP BY t0.ProMateralId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS
DROP TABLE #TEMPMO
--DROP TABLE #TMPLIST

View File

@@ -204,36 +204,43 @@ AND (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL)
--<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>Ϣ
INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,<2C><><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>Ʒ<EFBFBD><C6B7>,<2C><><EFBFBD><EFBFBD>,<2C><>ĸ,FQty,FLevle,FERPCLSID,FOrderNum,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
SELECT t0.FNUMBER,T0.FMATERIALID,t1.FNUMBER '<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>',t3.FNAME '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FYIELDRATE '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>',
1 '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 1 '<EFBFBD><EFBFBD>ĸ', 1 'FQty','0' 'FLevle',
T2.FERPCLSID 'FERPCLSID',t1.FNUMBER '<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>',t0.FID 'FBOMID',
0 'FSEQ1',0 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6','' 'FParentNumber'
INSERT INTO #YC_T_MRP(
FBOMNumber,FMATERIALID,<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>
,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ĸ,FQty,FLevle,FERPCLSID,FOrderNum
,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
SELECT
t0.FNUMBER,T0.FMATERIALID,t1.FNUMBER '<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>',t3.FNAME '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FYIELDRATE '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>'
,1 '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 1 '<EFBFBD><EFBFBD>ĸ', 1 'FQty','0' 'FLevle',T2.FERPCLSID 'FERPCLSID',t1.FNUMBER '<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>'
,t0.FID 'FBOMID',0 'FSEQ1',0 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6','' 'FParentNumber'
FROM T_ENG_BOM t0
INNER JOIN T_BD_MATERIAL t1 ON t0.FMATERIALID=t1.FMATERIALID --<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
LEFT OUTER JOIN t_BD_MaterialBase t2 ON t1.FMATERIALID = t2.FMATERIALID --<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
LEFT OUTER JOIN T_BD_MATERIAL_L t3 ON (t1.FMATERIALID = t3.FMATERIALID AND t3.FLocaleId = 2052)--<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
INNER JOIN #BOMTmp t6 on t0.FMATERIALID=t6.FMATERIALID AND t0.FNUMBER=t6.FNUMBER
WHERE 1=1 AND (t0.FDOCUMENTSTATUS = 'C')
ORDER BY T0.FNUMBER
INNER JOIN T_BD_MATERIAL t1 ON t0.FMATERIALID=t1.FMATERIALID --<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
LEFT OUTER JOIN t_BD_MaterialBase t2 ON t1.FMATERIALID = t2.FMATERIALID --<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
LEFT OUTER JOIN T_BD_MATERIAL_L t3 ON (t1.FMATERIALID = t3.FMATERIALID AND t3.FLocaleId = 2052)--<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
INNER JOIN #BOMTmp t6 on t0.FMATERIALID=t6.FMATERIALID AND t0.FNUMBER=t6.FNUMBER
WHERE 1=1
AND (t0.FDOCUMENTSTATUS = 'C')
ORDER BY T0.FNUMBER
--SELECT * FROM #YC_T_MRP
--<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
INSERT INTO #YC_T_MRP(FBOMNumber,FMATERIALID,<2C><><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>Ʒ<EFBFBD><C6B7>,<2C><><EFBFBD><EFBFBD>,<2C><>ĸ,FQty,FLevle,FERPCLSID,FOrderNum,FBOMID,
FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
SELECT t10.FNUMBER,t7.FMATERIALID,t7.FNUMBER '<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>',T9.FNAME '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t10.FYIELDRATE '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>',
t6.FNUMERATOR '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t6.FDENOMINATOR '<EFBFBD><EFBFBD>ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty',
'1' 'FLevle',t8.FERPCLSID 'FERPCLSID',T5.FOrderNum,0 'FBOMID',
T5.FSEQ1 'FSEQ1',t6.FSEQ 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6'
,t5.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> 'FParentNumber'
INSERT INTO #YC_T_MRP(
FBOMNumber,FMATERIALID,<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>
,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ĸ,FQty,FLevle,FERPCLSID,FOrderNum
,FBOMID,FSEQ1,FSEQ2,FSEQ3,FSEQ4,FSEQ5,FSEQ6,FParentNumber)
SELECT
t10.FNUMBER,t7.FMATERIALID,t7.FNUMBER '<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>',T9.FNAME '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t10.FYIELDRATE '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>'
,t6.FNUMERATOR '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t6.FDENOMINATOR '<EFBFBD><EFBFBD>ĸ',ROUND(t6.FNUMERATOR/t6.FDENOMINATOR,10) 'FQty'
,'1' 'FLevle',t8.FERPCLSID 'FERPCLSID',T5.FOrderNum
,0 'FBOMID',T5.FSEQ1 'FSEQ1',t6.FSEQ 'FSEQ2',0 'FSEQ3',0 'FSEQ4',0 'FSEQ5',0 'FSEQ6',t5.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> 'FParentNumber'
FROM #YC_T_MRP t5
LEFT OUTER JOIN T_ENG_BOMCHILD t6 on t5.FBOMID=t6.FID--BOM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
INNER JOIN T_BD_MATERIAL t7 on t6.FMATERIALID=t7.FMATERIALID --<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
LEFT JOIN T_ENG_BOM t10 on t10.FID=t6.FID--BOM<EFBFBD><EFBFBD>
LEFT OUTER JOIN T_ENG_BOMCHILD t6 on t5.FBOMID=t6.FID--BOM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
INNER JOIN T_BD_MATERIAL t7 on t6.FMATERIALID=t7.FMATERIALID --<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
LEFT OUTER JOIN t_BD_MaterialBase t8 ON t8.FMATERIALID = t7.FMATERIALID --<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
LEFT OUTER JOIN T_BD_MATERIAL_L t9 ON (t6.FMATERIALID = t9.FMATERIALID AND t9.FLocaleId = 2052)--<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
LEFT JOIN T_ENG_BOM t10 on t10.FID=t6.FID--BOM<EFBFBD><EFBFBD>
WHERE (t7.FFORBIDSTATUS = 'A')
AND T5.FLevle=0 AND T5.FERPCLSID>=2
AND t10.FDOCUMENTSTATUS = 'C'
AND T5.FLevle=0 AND T5.FERPCLSID >= 2
AND t10.FDOCUMENTSTATUS = 'C'
@@ -279,8 +286,8 @@ WHERE 1=1 and (t0.FDOCUMENTSTATUS = 'C') and (t0.FFORBIDSTATUS='A') AND T1.FLevl
/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ͬһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>°汾<EFBFBD><EFBFBD>BOM*/
delete FROM #BOMTmp2 WHERE id not in (SELECT max(id) FROM #BOMTmp2 group by FMATERIALID)
/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ͬһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>°汾<EFBFBD><EFBFBD>BOM*/
delete FROM #BOMTmp2 WHERE id not in (SELECT max(id) FROM #BOMTmp2 group by FMATERIALID)
--<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ

View File

@@ -3,10 +3,22 @@ declare
,@salesBillNo varchar(100)
,@startMaterialId int
,@endMaterialId int
,@FSDate varchar (30)
,@FEDate varchar (30)
,@FSNumber varchar (50)
,@FENumber varchar (50)
,@FSStock varchar (max)
SET @moBillNo =''
SET @salesBillNo =''
SET @moBillNo = 0
SET @moBillNo = 0
SET @FSDate = '2024-01-05'
SET @FEDate = '2024-02-05'
SET @FSNumber = '1.01'
SET @FENumber = '1.01'
--SET @FSNumber = 'TSH182H000208O'
--SET @FENumber = 'TSH182H000208O'
SET @FSStock =''
declare @FCloseBALDate varchar (30)
declare @FClosedate varchar (30)
@@ -30,3 +42,240 @@ BEGIN
SET @FCloseBALDate=CONVERT(varchar (30), DATEADD(D, -1,@FClosedate),23)
--print @FClosedat
END
DECLARE @FSWL varchar (50)
DECLARE @FEWL varchar (50)
SET @FSWL=''
SET @FEWL=''
IF @FSNumber<>'' and @FENumber<>''
BEGIN
SET @FSWL= @FSNumber
SET @FEWL= @FENumber
END
IF @FSNumber<>'' and @FENumber=''
BEGIN
SET @FSWL= @FSNumber
SELECT @FEWL=MAX(FNUMBER) FROM T_BD_MATERIAL
END
IF @FSNumber='' and @FENumber<>''
BEGIN
SET @FEWL= @FENumber
SELECT @FSWL=MIN(FNUMBER) FROM T_BD_MATERIAL
END
IF @FSNumber='' and @FENumber=''
BEGIN
SELECT @FSWL=MIN(FNUMBER) FROM T_BD_MATERIAL
SELECT @FEWL=MAX(FNUMBER) FROM T_BD_MATERIAL
END
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱѡȡ<EFBFBD>ֿ<EFBFBD>
IF EXISTS(select * FROM tempdb..SYSOBJECTS WHERE id=OBJECT_ID('tempdb..#tmpStockID'))
BEGIN
DROP TABLE #tmpStockID
print '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
END
Create Table #tmpStockID (
FID INT IDENTITY(1,1)
,FStockID INT
)
DECLARE @Strsql varchar(max)
SET @Strsql= 'insert into #tmpStockID select distinct FSTOCKID from T_BD_STOCK where 1=1 ' +@FSStock
EXEC(@Strsql)
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#Stock_Status_temp'))
begin
drop table #Stock_Status_temp
print '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
end
Create Table #Stock_Status_temp (
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> INT IDENTITY(1,1),
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> INT ,
<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD> varchar(100) null ,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> varchar(255) null ,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD> varchar(255) null ,
<EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD> varchar(100) null ,
--<EFBFBD><EFBFBD>λ varchar(30) null ,
<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD><EFBFBD><EFBFBD>ڲɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD><EFBFBD>ĩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD><EFBFBD>;<EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD><EFBFBD><EFBFBD>۳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD>δת<EFBFBD><EFBFBD> DECIMAL (18, 2) Null,
<EFBFBD>ܶ<EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> INT ,
<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> varchar(100) null ,
<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> varchar(255) null ,
<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> INT ,
<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD>ʽ varchar(255) null
)
if exists(select * from tempdb..sysobjects where id=object_id('tempdb..#TMP'))
begin
drop table #TMP
print '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
end
CREATE TABLE #TMP (
FID INT IDENTITY(1,1),
FSTOCKORGID INT NOT NULL DEFAULT 0,
FBILLENTRYID INT NOT NULL DEFAULT 0,
FORDERBY INT NOT NULL DEFAULT 0,
FSTOCKIO CHAR (1) NULL,
FMATERIALID INT NOT NULL DEFAULT 0,
FAUXPROPID INT NOT NULL DEFAULT 0,
FDATE DATETIME NULL,
FSTOCKID INT NOT NULL DEFAULT 0,
FSTOCKLOCID INT NOT NULL DEFAULT 0,
FSTOCKSTATUSID INT NOT NULL DEFAULT 0,
FBILLNAME NVARCHAR (100) NULL,
FBILLID INT NOT NULL DEFAULT 0,
FBILLSEQID INT NULL,
FBILLNO NVARCHAR (100) NULL,
FBASEQCQTY DECIMAL (23, 10) NOT NULL DEFAULT 0,
FBASEINQTY DECIMAL (23, 10) NOT NULL DEFAULT 0,
FBASEOUTQTY DECIMAL (23, 10) NOT NULL DEFAULT 0
)
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>BOM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#YC_T_MRP'))
BEGIN
DROP TABLE #YC_T_MRP
END
CREATE TABLE #YC_T_MRP(
FID INT IDENTITY(1,1),
FBOMNumber NVARCHAR(255),
FMATERIALID INT,
<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD> NVARCHAR(255),
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NVARCHAR(255),
<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD> DECIMAL(28,10) DEFAULT (0),
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> DECIMAL(28,10),--BOM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ĸ DECIMAL(28,10),--BOM<EFBFBD><EFBFBD>ĸ
FQty DECIMAL(28,10),--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FLevle INT ,
FERPCLSID INT,
FOrderNum NVARCHAR(255),
FBOMID INT,
BOM<EFBFBD> NVARCHAR(200) NULL,
FSEQ1 INT,
FSEQ2 INT,
FSEQ3 INT,
FSEQ4 INT,
FSEQ5 INT,
FSEQ6 INT,
FParentNumber NVARCHAR(255)
)
IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#BOMTMP'))
BEGIN
DROP TABLE #BOMTMP
END
/*ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>BOM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
SELECT
ID=IDENTITY(INT,1,1)
,T0.FID
,T0.FNUMBER
,T0.FMATERIALID
,ROW_NUMBER() OVER(PARTITION BY T0.FMATERIALID ORDER BY t0.FID DESC) AS ROWID
INTO #BOMTmp
FROM T_ENG_BOM T0
INNER JOIN T_BD_MATERIAL TM ON t0.FMATERIALID=TM.FMATERIALID --<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
WHERE (t0.FDOCUMENTSTATUS = 'C') and (t0.FFORBIDSTATUS='A')
AND (TM.FNUMBER >= @FSWL AND TM.FNUMBER <=@FEWL)
ORDER BY FMATERIALID,FNUMBER
--/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ͬһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>°汾<EFBFBD><EFBFBD>BOM*/
--DELETE FROM #BOMTmp WHERE id NOT IN (SELECT max(id) FROM #BOMTmp GROUP BY FMATERIALID)
DELETE FROM #BOMTmp WHERE ROWID > 1
IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('TEMPDB..#TMP_TOP_BOM_SET'))
BEGIN
DROP TABLE #TMP_TOP_BOM_SET
END
CREATE TABLE #TMP_TOP_BOM_SET(
FID int
,FNUMBER varchar(80)
,FMATERIALID int
,FSEQ int
,BOMLEVEL int
,TOPID int
,showlevel varchar(80)
,BOMID int
,FERPCLSID int
)
CREATE INDEX [#TMP_TOP_BOM_SET_FID] ON #TMP_TOP_BOM_SET(FID);
INSERT INTO #TMP_TOP_BOM_SET
SELECT
t0.FID
,t1.FNUMBER
,t0.FMATERIALID
,ROW_NUMBER() over(partition BY t0.FID order by t0.fid)
,1 'BOMLEVEL'
,t0.FID AS 'TOPID'
,''
,t0.FID AS 'BOMID'
,t2.FERPCLSID
FROM T_ENG_BOM t0
INNER JOIN T_BD_MATERIAL t1 on t0.FMATERIALID = t1.FMATERIALID
LEFT OUTER JOIN t_BD_MaterialBase t2 ON t1.FMATERIALID = t2.FMATERIALID
INNER JOIN #BOMTmp t3 on t3.FNUMBER = t0.FNUMBER AND t3.FMATERIALID = t0.FMATERIALID
WHERE 1 = 1
AND (t0.FDOCUMENTSTATUS = 'C')
DECLARE @num INT,@level int,@LoopCount int
SET @num = 1
SET @level =1
SET @LoopCount = 0;
WHILE (@num > 0 AND @LoopCount < 10)
BEGIN
INSERT INTO #TMP_TOP_BOM_SET
SELECT
t3.FID
,t2.FNUMBER
,t1.FMATERIALID
,ROW_NUMBER() over(partition BY t0.TOPID,t0.bomid order by t0.fseq) 'FSEQ'
,@level + 1 AS 'BOMLEVEL'
,t0.TOPID
,CONCAT(t0.showlevel,'-',CAST(dense_rank() over(partition BY t0.topid,t0.bomid,t0.fid order by t1.fseq) as VARCHAR)) 'showLevel'
,0 'OID'
,t4.FERPCLSID
FROM
#TMP_TOP_BOM_SET t0
LEFT JOIN T_ENG_BOMCHILD t1 on t0.BOMID = t1.FID
INNER JOIN T_BD_MATERIAL t2 on t2.FMATERIALID = t1.FMATERIALID
LEFT JOIN T_BD_MATERIAL_L t1_l on t1_l.FMATERIALID = t1.FMATERIALID AND t1_l.FLOCALEID = 2052
LEFT JOIN T_ENG_BOM t3 on t1.FID = t3.FID--t1.FMATERIALID = t3.FMATERIALID
LEFT JOIN T_BD_MATERIALBASE t4 on t4.FMATERIALID = t1.FMATERIALID
WHERE 1 = 1
--AND (t2.FERPCLSID = 2 OR t2.FERPCLSID = 5 )
AND t0.FERPCLSID >= 2
AND t0.BOMLEVEL = @level
AND t3.FDOCUMENTSTATUS = 'C'
AND t2.FFORBIDSTATUS = 'A'
SET @num = @@ROWCOUNT
SET @level += 1
SET @LoopCount += 1
END
SELECT * FROM #TMP_TOP_BOM_SET

View File

@@ -0,0 +1,819 @@
/****** Object: StoredProcedure [dbo].[Pro_YEB_MaterialInventory] Script Date: 2024-03-08 14:18:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--sp_helptext Pro_YEB_MaterialInventory
--exec Pro_YEB_MaterialInventory '','',0
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
alter procedure [dbo].[Pro_YEB_MaterialInventory] (
@FNumber varchar (max) ,
@FStock varchar (max) ,
@Flag bit
)
AS
set nocount on
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱѡȡ<EFBFBD>ֿ<EFBFBD>
DECLARE @sStock varchar(max), @sNumber varchar(max)
----<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--set @sStock=''
--set @sNumber=''
set @sStock=@FStock
set @sNumber=@FNumber
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpStockID'))
BEGIN
drop table #tmpStockID
END
Create Table #tmpStockID (
FID INT IDENTITY(1,1),
FStockID INT ,
)
DECLARE @Strsql varchar(max)
set @Strsql= 'insert into #tmpStockID SELECT distinct FSTOCKID FROM T_BD_STOCK where 1=1 '+@sStock
EXEC(@Strsql)
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpMaterialID'))
BEGIN
drop table #tmpMaterialID
END
Create Table #tmpMaterialID (
FID INT IDENTITY(1,1),
FMaterialID INT ,
)
DECLARE @Ssql varchar(max)
set @Ssql= 'insert into #tmpMaterialID SELECT distinct FMATERIALID FROM T_BD_MATERIAL where 1=1 and FUSEORGID=1 '+@sNumber -- and FNUMBER=''1.W003''
EXEC(@Ssql)
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#Stock_Status_temp'))
BEGIN
drop table #Stock_Status_temp
END
Create Table #Stock_Status_temp (
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> INT IDENTITY(1,1),
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> INT ,
<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD> varchar(100) null ,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> varchar(255) null ,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD> varchar(255) null ,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> varchar(50) null ,
<EFBFBD><EFBFBD>λ varchar(30) null ,
Ʒ<EFBFBD><EFBFBD> varchar(255) null ,
--FLT1 varchar(255) null ,
FLT int null ,
<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
δ<EFBFBD><EFBFBD>PR DECIMAL (18, 2) Null ,
<EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD><EFBFBD><EFBFBD>۽<EFBFBD><EFBFBD><EFBFBD> DECIMAL (18, 2) Null ,
<EFBFBD>ƻ<EFBFBD>Ա varchar(255) null ,
<EFBFBD>ɹ<EFBFBD>Ա varchar(100) null
)
CREATE INDEX IDX_MaterialID ON #Stock_Status_temp (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
--drop table #YC_Sum_MRP F_PKGR_Brand Ʒ<><C6B7> L/T F_PKGR_HUMIDITYSENSITIVITY <20>ɹ<EFBFBD>Ա
insert into #Stock_Status_temp ( <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,<2C><><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD> ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> , <20><><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>λ, <20><>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>, <20>ƻ<EFBFBD>Ա)
SELECT TM.fmaterialid AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,TM.fnumber,n.FNAME AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,n.FSPECIFICATION AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>,
(case when TMB.FERPCLSID=1 THEN '<EFBFBD>' when TMB.FERPCLSID=2 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
when TMB.FERPCLSID=3 THEN 'ί<EFBFBD><EFBFBD>' when TMB.FERPCLSID=5 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' else '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'END) '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
TUL1.FNAME '<EFBFBD><EFBFBD>λ',isnull(TMP.FPLANSAFESTOCKQTY,0) AS '<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' ,ISNULL(PL.FNAME,'') AS '<EFBFBD>ƻ<EFBFBD>Ա'
FROM t_bd_material TM
inner join T_BD_MATERIAL_L n on TM.FMATERIALID =n.FMATERIALID and n.FLOCALEID =2052
inner join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT OUTER JOIN T_BD_MATERIALBASE TMB on TM.FMATERIALID = TMB.FMATERIALID
LEFT OUTER JOIN T_BD_MATERIALPLAN TMP ON TM.FMATERIALID=TMP.FMATERIALID
LEFT OUTER JOIN T_BD_UNIT_L TUL1 ON ( TMS.FSTOREUNITID = TUL1.FUNITID AND TUL1.FLOCALEID = 2052)
LEFT OUTER JOIN V_BD_PLANNER_L PL ON ( TMP.FPLANERID = PL.fid AND PL.FLOCALEID = 2052)
where TM.FDOCUMENTSTATUS='C' AND TM.FFORBIDSTATUS ='A' and TMB.FERPCLSID<>5
and TM.FMATERIALID in ( SELECT distinct FMATERIALID FROM #tmpMaterialID)
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tempINV'))
BEGIN
drop table #tempINV
END
-- <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>,<2C><><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>
SELECT TM.fmaterialid AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,TM.fnumber,n.FNAME AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,n.FSPECIFICATION AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>,
TUL1.FNAME '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ',t1.FSTOCKID ,TSK.FNUMBER AS FStockNumber,TSL.FNAME '<EFBFBD>ֿ<EFBFBD>', t1.FBASEQTY '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
(isnull(t1.FBASEQTY,0) - isnull(TSUB.FBASELOCKQTY,0)) AS '<EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>'
into #tempINV
--SELECT *
FROM t_bd_material TM
inner join T_BD_MATERIAL_L n on TM.FMATERIALID =n.FMATERIALID and n.FLOCALEID =2052
inner join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT OUTER JOIN T_BD_MATERIALPLAN TMP ON TM.FMATERIALID=TMP.FMATERIALID
inner join T_STK_INVENTORY t1 on TM.FMASTERID = t1.FMATERIALID AND TM.FUSEORGID = t1.FSTOCKORGID and t1.FBASEQTY > 0
LEFT OUTER JOIN T_ORG_ORGANIZATIONS_L O ON ( t1.FSTOCKORGID = O.FORGID AND O.FLOCALEID = 2052) --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
INNER JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = t1.FSTOCKID AND ( TSK.FUSEORGID = t1.FSTOCKORGID))
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = t1.FSTOCKID AND TSL.FLOCALEID = 2052)
LEFT OUTER JOIN T_BD_UNIT TUS ON TMS.FSTOREUNITID = TUS.FUNITID
LEFT OUTER JOIN T_BD_UNIT_L TUL0 ON (TMS.FSTOREUNITID = TUL0.FUNITID AND TUL0.FLOCALEID = 2052)
LEFT OUTER JOIN T_BD_UNIT_L TUL1 ON ( t1.FBASEUNITID = TUL1.FUNITID AND TUL1.FLOCALEID = 2052)
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>
LEFT OUTER JOIN (
SELECT TLKE.FSUPPLYINTERID finventryid,SUM (TLKE.FBASEQTY) fbaselockqty, SUM (TLKE.FSECQTY) fseclockqty FROM T_PLN_RESERVELINKENTRY TLKE
INNER JOIN T_PLN_RESERVELINK TLKH ON TLKE.FID = TLKH.FID
WHERE (TLKE.FSUPPLYFORMID = 'STK_Inventory' AND TLKE.FLINKTYPE = '4' )
GROUP BY TLKE.FSUPPLYINTERID) tsub ON t1.FID = TSUB.FINVENTRYID
WHERE -- TM.FUSEORGID =100038 and
((t1.FBASEQTY <> 0) OR (t1.FSECQTY <> 0)) and
TM.FMATERIALID in ( SELECT distinct <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FROM #Stock_Status_temp)
and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tempINVSum'))
BEGIN
drop table #tempINVSum
END
--insert into #Stock_Status_temp ( <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,<2C><><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD> ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> , <20><><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>,<2C><>λ, <20>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD>, <20>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD>, <20>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD> ,<2C><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>,<2C><><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>)
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,fnumber, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>, min(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ)<EFBFBD><EFBFBD>λ,min(FSTOCKID)FSTOCKID ,min( FStockNumber)FStockNumber,
min(<EFBFBD>ֿ<EFBFBD>)<EFBFBD>ֿ<EFBFBD>, sum(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,sum(<EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>
into #tempINVSum FROM #tempINV
group BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,fnumber, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
--<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>
UPDATE t1 set t1.<EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD>=isnull(t2.<EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>,0)--,t1.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.FSTOCKID, t1.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.<EFBFBD>ֿ<EFBFBD>, t1.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.FStockNumber
FROM #Stock_Status_temp t1
inner join #tempINVSum t2 on t1.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--SELECT * FROM #Stock_Status_temp
--<EFBFBD><EFBFBD>;<EFBFBD><EFBFBD> (Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
--************************Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>************************
UPDATE t1 set t1.Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=0 FROM #Stock_Status_temp t1
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmppoorder'))
BEGIN
drop table #tmppoorder
END
--<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SELECT ddd.FPurchaseOrgID fstockorgid, ddd.FBILLNO <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,ddd.FID AS <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> , B.FENTRYID <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼,b.FMATERIALID <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
ddd.FDATE fdate, TMS.FSTOCKID <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, FBASEUNITQTY <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,
FREMAINSTOCKINQTY ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,FBASESTOCKINQTY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ddd.FCLOSEDATE
into #tmppoorder
--SELECT *
FROM t_pur_poorderentry b
INNER JOIN t_pur_poorder ddd ON (ddd.FID = b.FID)-- AND FbusinessType NOT IN ('ZCCG', 'FYCG'))
INNER JOIN t_pur_poorderentry_r r ON b.fentryid = r.fentryid
INNER JOIN t_pur_poorderentry_d td ON b.fentryid = td.fentryid
LEFT OUTER JOIN T_BD_MATERIALSTOCK TMS ON b.FMATERIALID = TMS.FMATERIALID
WHERE ddd.FCANCELSTATUS='A'--AND ddd.fdocumentStatus = 'C'
and b.FMRPCLOSESTATUS='A' and ddd.FCLOSESTATUS='A'
and b.FMRPTERMINATESTATUS='A'
and ddd.FBILLTYPEID not in( '6d01d059713d42a28bb976c90a121142','65445fa4673247')--<EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--ddd.FBILLNO ='CGDD000005'
--AND (ddd.FDATE <=@FEDate)
--AND (ddd.FCLOSEDATE>@FSDate or isnull(ddd.FCLOSEDATE,'')=''
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmppoorder1'))
BEGIN
drop table #tmppoorder1
END
--<EFBFBD><EFBFBD><EFBFBD>º<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,case when B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><>0 then B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> else isnull(tms.FSTOCKID,0) END <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmppoorder1 FROM #tmppoorder B
left JOIN T_BD_MATERIAL TM ON ( B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID ) --TM.FUSEORGID =1 and
left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AND TSL.FLOCALEID = 2052)
--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmppoorder3'))
BEGIN
drop table #tmppoorder3
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmppoorder3
FROM #tmppoorder1 B
left JOIN T_BD_MATERIAL TM ON ( B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID )--TM.FUSEORGID =1 and
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
WHERE TM.FMATERIALID in ( SELECT distinct <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FROM #Stock_Status_temp)
--and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmppoorder2'))
BEGIN
drop table #tmppoorder2 END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,sum(<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, sum(ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> , min(<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmppoorder2 FROM #tmppoorder3
group BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--group BY <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD><EFBFBD>;<EFBFBD><EFBFBD>
UPDATE t1 set t1.Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=isnull(t2.ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0)
FROM #Stock_Status_temp t1
inner join #tmppoorder2 t2 on t1.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpMo'))
BEGIN
drop table #tmpMo
END
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SELECT (MO.FBILLNO) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,(MO.FID) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,(ME.FENTRYID) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼,
ME.FMATERIALID <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, (ME.FBASEUNITQTY) AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
MA.FSTOCKINQUAQTY AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,MQ.FBASENOSTOCKINQTY AS ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> , TMS.FSTOCKID <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpMo
FROM T_PRD_MO MO
inner join T_PRD_MOENTRY ME ON MO.FID =ME.FID
inner JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
inner JOIN T_PRD_MOENTRY_Q MQ ON MQ.FID =ME.FID AND ME.FENTRYID =MQ.FENTRYID
LEFT OUTER JOIN T_BD_MATERIALSTOCK TMS ON ME.FMATERIALID = TMS.FMATERIALID
WHERE MO.FCANCELSTATUS='A' and MA.FSTATUS in (2,3,4)
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpMo1'))
BEGIN
drop table #tmpMo1
END
--<EFBFBD><EFBFBD><EFBFBD>º<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,case when B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><>0 then B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> else isnull(tms.FSTOCKID,0) END <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpMo1 FROM #tmpMo B
left JOIN T_BD_MATERIAL TM ON ( B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID ) --TM.FUSEORGID =1 and
left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AND TSL.FLOCALEID = 2052)
--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpMo2'))
BEGIN
drop table #tmpMo2
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpMo2
FROM #tmpMo1 B
left JOIN T_BD_MATERIAL TM ON ( B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID )--TM.FUSEORGID =1 and
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
WHERE TM.FMATERIALID in ( SELECT distinct <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FROM #Stock_Status_temp)
--and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpMo3'))
BEGIN
drop table #tmpMo3
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,sum(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, sum(ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> , min(<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpMo3 FROM #tmpMo2
group BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--group BY <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UPDATE t1 set t1.Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=isnull(t2.ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0)
FROM #Stock_Status_temp t1
inner join #tmpMo3 t2 on t1.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubMo'))
BEGIN
drop table #tmpSubMo
END
--<EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SELECT (MO.FBILLNO) <EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,(MO.FID) <EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,(ME.FENTRYID) <EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼,
ME.FMATERIALID <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, (MA.FBASEUNITQTY) AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
MA.FBASESTOCKINQTY AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,MA.FBASENOSTOCKINQTY AS ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> , TMS.FSTOCKID <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpSubMo
FROM T_SUB_REQORDER MO
inner join T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID
inner JOIN T_SUB_REQORDERENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
LEFT OUTER JOIN T_BD_MATERIALSTOCK TMS ON ME.FMATERIALID = TMS.FMATERIALID
WHERE MO.FCANCELSTATUS='A' and ME.FSTATUS in (2,3,4)
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubMo1'))
BEGIN
drop table #tmpSubMo1
END
--<EFBFBD><EFBFBD><EFBFBD>º<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,case when B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><>0 then B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> else isnull(tms.FSTOCKID,0) END <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpSubMo1 FROM #tmpSubMo B
left JOIN T_BD_MATERIAL TM ON ( B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID ) --TM.FUSEORGID =1 and
left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AND TSL.FLOCALEID = 2052)
--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubMo2'))
BEGIN
drop table #tmpSubMo2
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpSubMo2
FROM #tmpSubMo1 B
left JOIN T_BD_MATERIAL TM ON ( B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID )--TM.FUSEORGID =1 and
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
WHERE TM.FMATERIALID in ( SELECT distinct <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FROM #Stock_Status_temp)
--and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubMo3'))
BEGIN
drop table #tmpSubMo3
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,sum(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, sum(ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> , min(<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpSubMo3 FROM #tmpSubMo2
group BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--group BY <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UPDATE t1 set t1.Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=isnull(t1.Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0)+t2.ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FROM #Stock_Status_temp t1
inner join #tmpSubMo3 t2 on t1.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--*******************END*****Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>************************
--<EFBFBD>δת<EFBFBD><EFBFBD>(δ<EFBFBD><EFBFBD>PR)
--*******************strat*****************************
--<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>вɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQ'))
BEGIN
drop table #TMPREQ
END
SELECT TS.FAPPLICATIONORGID fstockorgid, TS.FBILLNO <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,TS.FID AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,TSE.FENTRYID <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼,TSE.FMATERIALID <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
ISNULL(TSE.FAUXPROPID, 0) FAUXPROPID, TS.FAPPLICATIONDATE fdate, TMS.FSTOCKID <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
FBASEUNITQTY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,TSEF.FREMAINQTY AS δת<EFBFBD><EFBFBD>
INTO #TMPREQ
FROM T_PUR_REQUISITION TS
INNER JOIN T_PUR_REQENTRY TSE ON TSE.FID = TS.FID
INNER JOIN T_PUR_REQENTRY_R TSEF ON (TSE.FID = TSEF.FID AND TSE.FENTRYID = TSEF.FENTRYID)
INNER JOIN T_PUR_REQENTRY_S TSES ON (TSE.FID = TSES.FID AND TSE.FENTRYID = TSES.FENTRYID)
LEFT JOIN T_BD_MATERIAL TM ON TSE.FMATERIALID=TM.FMATERIALID
LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
WHERE 1=1 AND (FCLOSESTATUS='A')--AND (TS.FDOCUMENTSTATUS IN ('C'))
and TSE.FMRPTERMINATESTATUS='A'
AND (TS.FCANCELSTATUS IN ('A')) and TSE.FMRPCLOSESTATUS='A'
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQ1'))
BEGIN
drop table #TMPREQ1
END
--<EFBFBD><EFBFBD><EFBFBD>º<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, δת<EFBFBD><EFBFBD>,FAUXPROPID,case when B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><>0 then B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> else isnull(tms.FSTOCKID,0) END <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #TMPREQ1 FROM #TMPREQ B
left JOIN T_BD_MATERIAL TM ON (B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID )
left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AND TSL.FLOCALEID = 2052)
--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQ3'))
BEGIN
drop table #TMPREQ3
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, δת<EFBFBD><EFBFBD>,FAUXPROPID, <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #TMPREQ3 FROM #TMPREQ1 B
left JOIN T_BD_MATERIAL TM ON (B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID )
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
WHERE TM.FMATERIALID in ( SELECT distinct <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FROM #Stock_Status_temp)
--and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQ2'))
BEGIN
drop table #TMPREQ2
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,sum(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, sum(δת<EFBFBD><EFBFBD>)δת<EFBFBD><EFBFBD> --,FAUXPROPID, <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #TMPREQ2 FROM #TMPREQ3
group BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD>δת<EFBFBD><EFBFBD>
UPDATE t1 set t1.δ<EFBFBD><EFBFBD>PR=isnull(t2.δת<EFBFBD><EFBFBD>,0)
FROM #Stock_Status_temp t1
inner join #TMPREQ2 t2 on t1.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--and t1.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> and t1.<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>=T2.FAUXPROPID
-----<EFBFBD><EFBFBD>ѯί<EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQSUB'))
BEGIN
drop table #TMPREQSUB
END
SELECT MO.FSubOrgId fstockorgid, MO.FBILLNO <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,MO.FID AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,ME.FENTRYID <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼,ME.FMATERIALID <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
ISNULL(ME.FAUXPROPID, 0) FAUXPROPID, MO.FDATE fdate, TMS.FSTOCKID <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
FBASEUNITQTY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,(ME.FQTY-FBasePurSelQty) AS δת<EFBFBD><EFBFBD>
INTO #TMPREQSUB
FROM T_SUB_REQORDER MO
inner join T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID
inner JOIN T_SUB_REQORDERENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
LEFT JOIN T_BD_MATERIAL TM ON ME.FMATERIALID=TM.FMATERIALID
LEFT JOIN T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
WHERE 1=1 AND MO.FCANCELSTATUS='A' --AND MO.FDOCUMENTSTATUS='C' -- AND ME.FPRODUCTTYPE =1
AND ME.FSTATUS in (2,3,4) AND ISNULL(FCLOSEDATE,'')=''--δ<EFBFBD>
and (ME.FQTY-FBasePurSelQty)>0
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQSUB1'))
BEGIN
drop table #TMPREQSUB1
END
--<EFBFBD><EFBFBD><EFBFBD>º<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, δת<EFBFBD><EFBFBD>,FAUXPROPID,case when B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><>0 then B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> else isnull(tms.FSTOCKID,0) END <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #TMPREQSUB1 FROM #TMPREQSUB B
left JOIN T_BD_MATERIAL TM ON (B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID )
left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AND TSL.FLOCALEID = 2052)
--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQSUB2'))
BEGIN
drop table #TMPREQSUB2
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, δת<EFBFBD><EFBFBD>,FAUXPROPID, <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #TMPREQSUB2 FROM #TMPREQSUB1 B
left JOIN T_BD_MATERIAL TM ON (B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID )
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
WHERE TM.FMATERIALID in ( SELECT distinct <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FROM #Stock_Status_temp)
--and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#TMPREQSUB3'))
BEGIN
drop table #TMPREQSUB3
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,sum(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, sum(δת<EFBFBD><EFBFBD>)δת<EFBFBD><EFBFBD> --,FAUXPROPID, <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #TMPREQSUB3 FROM #TMPREQSUB2
group BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD>δת<EFBFBD><EFBFBD>
UPDATE t1 set t1.δ<EFBFBD><EFBFBD>PR=isnull(t1.δ<EFBFBD><EFBFBD>PR,0)+isnull(t2.δת<EFBFBD><EFBFBD>,0)
FROM #Stock_Status_temp t1
inner join #TMPREQSUB3 t2 on t1.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--and t1.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> and t1.<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>=T2.FAUXPROPID
--****************************δ<EFBFBD><EFBFBD>PR***********************************************
--SELECT * FROM #Stock_Status_temp
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpPPBOM'))
BEGIN
drop table #tmpPPBOM
END
--<EFBFBD><EFBFBD><EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
--*****************<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>START***********************************
--<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
SELECT (MO.FBILLNO) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,(MO.FID) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,(ME.FENTRYID) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼,
PE.FMATERIALID <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,(PP.FID) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,PP.FBILLNO <EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>,(PE.FENTRYID) <EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>¼,
isnull(PC.FSTOCKID,0) <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,(PE.FMUSTQTY) AS Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
PQ.FSELPICKEDQTY AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,PQ.FBASENOPICKEDQTY AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,PQ.FNOPICKEDQTY AS δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpPPBOM
FROM T_PRD_MO MO
inner join T_PRD_MOENTRY ME ON MO.FID =ME.FID
inner JOIN T_PRD_MOENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
inner join T_PRD_PPBOM PP on PP.FMOID=MO.FID AND ME.FENTRYID =PP.FMOENTRYID
inner join T_PRD_PPBOMENTRY PE on PP.FID =PE.FID
left join T_PRD_PPBOMENTRY_Q PQ on PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID
left join T_PRD_PPBOMENTRY_C PC on PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID
--WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' -- AND ME.FPRODUCTTYPE =1
WHERE 1=1 AND MO.FCANCELSTATUS='A' --AND MO.FDOCUMENTSTATUS='C' -- AND ME.FPRODUCTTYPE =1
AND MA.FSTATUS in(2,3,4) AND ISNULL(FCLOSEDATE,'')=''--δ<EFBFBD>
--<EFBFBD><EFBFBD><EFBFBD>º<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--SELECT * FROM #tmpPPBOM
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpPPBOM1'))
BEGIN
drop table #tmpPPBOM1
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AS 'δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',case when B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><>0 then B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> else isnull(tms.FSTOCKID,0) END <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpPPBOM1 FROM #tmpPPBOM B
left JOIN T_BD_MATERIAL TM ON ( B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID ) --TM.FUSEORGID =1 and
left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AND TSL.FLOCALEID = 2052)
--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpPPBOM3'))
BEGIN
drop table #tmpPPBOM3
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpPPBOM3 FROM #tmpPPBOM1 B
left JOIN T_BD_MATERIAL TM ON ( B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID ) --TM.FUSEORGID =1 and
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
WHERE TM.FMATERIALID in ( SELECT distinct <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FROM #Stock_Status_temp)
--and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpPPBOM2'))
BEGIN
drop table #tmpPPBOM2
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,sum(Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, sum(δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,min(<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpPPBOM2 FROM #tmpPPBOM3
group BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UPDATE t1 set t1.<EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FROM #Stock_Status_temp t1
inner join #tmpPPBOM2 t2 on t1.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--and t1.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> and t1.<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>=T2.FAUXPROPID
--ί<EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubBOM'))
BEGIN
drop table #tmpSubBOM
END
SELECT (MO.FBILLNO) ί<EFBFBD><EFBFBD><EFBFBD> ,(MO.FID) ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,(ME.FENTRYID) ί<EFBFBD><EFBFBD><EFBFBD>¼,
PE.FMATERIALID <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,(PP.FID) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,PP.FBILLNO <EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>,(PE.FENTRYID) <EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>¼,
isnull(PC.FSTOCKID,0) <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,(PE.FMUSTQTY) AS Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
PQ.FSELPICKEDQTY AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,PQ.FBASENOPICKEDQTY AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,PQ.FNOPICKEDQTY AS δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpSubBOM
FROM T_SUB_REQORDER MO
inner join T_SUB_REQORDERENTRY ME ON MO.FID =ME.FID
inner JOIN T_SUB_REQORDERENTRY_A MA ON MA.FID =ME.FID AND ME.FENTRYID =MA.FENTRYID
inner join T_SUB_PPBOM PP on PP.FSUBREQID=MO.FID AND ME.FENTRYID =PP.FSUBREQENTRYID
inner join T_SUB_PPBOMENTRY PE on PP.FID =PE.FID
left join T_SUB_PPBOMENTRY_Q PQ on PP.FID =PQ.FID AND PE.FENTRYID =PQ.FENTRYID
left join T_SUB_PPBOMENTRY_C PC on PP.FID =PC.FID AND PE.FENTRYID =PC.FENTRYID
--WHERE 1=1 AND MO.FCANCELSTATUS='A' AND MO.FDOCUMENTSTATUS='C' -- AND ME.FPRODUCTTYPE =1
WHERE 1=1 AND MO.FCANCELSTATUS='A' --AND MO.FDOCUMENTSTATUS='C' -- AND ME.FPRODUCTTYPE =1
AND ME.FSTATUS in (2,3,4) AND ISNULL(FCLOSEDATE,'')=''--δ<EFBFBD>
--<EFBFBD><EFBFBD><EFBFBD>º<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--SELECT * FROM #tmpPPBOM
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubBOM1'))
BEGIN
drop table #tmpSubBOM1
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AS 'δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',case when B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><>0 then B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> else isnull(tms.FSTOCKID,0) END <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpSubBOM1 FROM #tmpSubBOM B
left JOIN T_BD_MATERIAL TM ON ( B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID ) --TM.FUSEORGID =1 and
left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AND TSL.FLOCALEID = 2052)
--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubBOM2'))
BEGIN
drop table #tmpSubBOM2
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpSubBOM2 FROM #tmpSubBOM1 B
left JOIN T_BD_MATERIAL TM ON ( B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID ) --TM.FUSEORGID =1 and
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
WHERE TM.FMATERIALID in ( SELECT distinct <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FROM #Stock_Status_temp)
--and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSubBOM3'))
BEGIN
drop table #tmpSubBOM3
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,sum(Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, sum(δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,min(<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpSubBOM3 FROM #tmpSubBOM2
group BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UPDATE t1 set t1.<EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=ISNULL(t1.<EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0)+ISNULL(t2.δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0)
FROM #Stock_Status_temp t1
inner join #tmpSubBOM3 t2 on t1.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--and t1.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> and t1.<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>=T2.FAUXPROPID
--*****************<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>END***********************************
----<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSal'))
BEGIN
drop table #tmpSal
END
--<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SELECT (A.FBILLNO) AS <EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD><EFBFBD><EFBFBD>,(A.FID) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,(B.FENTRYID) <EFBFBD><EFBFBD><EFBFBD>۷<EFBFBD>¼ ,(B.FSEQ) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
B.FMATERIALID AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,B.FBASEUNITQTY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
(C.FBASEREMAINOUTQTY+C.FBaseReturnQty) AS δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,FBaseReturnQty,
isnull(B.FSTOCKID,0) <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, A.FDATE
into #tmpSal
FROM T_SAL_ORDER A
inner join T_SAL_ORDERENTRY B on A.FID =B.FID
left join T_SAL_ORDERENTRY_R C ON C.FID=B.FID AND C.FENTRYID =B.FENTRYID
left join T_SAL_ORDERENTRY_E D on D.FID=B.FID AND D.FENTRYID =B.FENTRYID
WHERE 1=1 AND A.FCANCELSTATUS='A'and B.FMRPCLOSESTATUS='A' AND (A.FCLOSESTATUS='A')
ORDER BY A.FDATE ,A.FID,B.FENTRYID,B.FMATERIALID
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSal1'))
BEGIN
drop table #tmpSal1
END
--<EFBFBD><EFBFBD><EFBFBD>º<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,case when B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><>0 then B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> else isnull(tms.FSTOCKID,0) END <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpSal1 FROM #tmpSal B
left JOIN T_BD_MATERIAL TM ON (B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID )
left join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (TSL.FSTOCKID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
--WHERE (TM.FNUMBER >=@FSWL AND TM.FNUMBER <=@FEWL) and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSal2'))
BEGIN
drop table #tmpSal2
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpSal2 FROM #tmpSal1 B
left JOIN T_BD_MATERIAL TM ON (B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = TM.FMATERIALID )
LEFT JOIN T_BD_STOCK TSK ON ( TSK.FMASTERID = B.<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
WHERE TM.FMATERIALID in ( SELECT distinct <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FROM #Stock_Status_temp)
-- and TSK.FSTOCKID IN ( SELECT distinct FStockID FROM #tmpStockID )
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if exists(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmpSal3'))
BEGIN
drop table #tmpSal3
END
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,sum(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, sum(δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> , min(<EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD>ֿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
into #tmpSal3 FROM #tmpSal2
group BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UPDATE t1 set t1.<EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=isnull(t1.<EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0)+t2.δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--SELECT t2.* ,t1.<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>
FROM #Stock_Status_temp t1
inner join #tmpSal3 t2 on t1.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=t2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--*******************END*<EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***************
UPDATE t1 set t1.<EFBFBD><EFBFBD>λ=isnull(TUL1.FNAME,'')
--SELECT t1.<EFBFBD><EFBFBD>λ,isnull(TUL1.FNAME,'')
FROM #Stock_Status_temp t1
inner join t_bd_material TM on t1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=TM.FMATERIALID -- TM.FUSEORGID =1 and
inner join T_BD_MATERIAL_L n on TM.FMATERIALID =n.FMATERIALID and n.FLOCALEID =2052
inner join T_BD_MATERIALSTOCK TMS ON TM.FMATERIALID = TMS.FMATERIALID
inner join T_BD_MATERIALBASE TMB on TM.FMATERIALID = TMB.FMATERIALID
LEFT OUTER JOIN T_BD_UNIT TUS ON TMS.FSTOREUNITID = TUS.FUNITID
LEFT OUTER JOIN T_BD_UNIT_L TUL0 ON (TMS.FSTOREUNITID = TUL0.FUNITID AND TUL0.FLOCALEID = 2052)
LEFT OUTER JOIN T_BD_UNIT_L TUL1 ON ( TMB.FBASEUNITID = TUL1.FUNITID AND TUL1.FLOCALEID = 2052)
--where isnull(t1.<EFBFBD><EFBFBD>λ,'')=''
--***********************************
UPDATE t1 set t1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=(case when TMB.FERPCLSID=1 THEN '<EFBFBD>' when TMB.FERPCLSID=2 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
when TMB.FERPCLSID=3 THEN 'ί<EFBFBD><EFBFBD>' when TMB.FERPCLSID=5 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' else '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'END)
FROM #Stock_Status_temp t1
inner join t_bd_material TM on t1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=TM.FMATERIALID
inner join T_BD_MATERIALBASE TMB on TM.FMATERIALID = TMB.FMATERIALID
where TMB.FERPCLSID<>5
--SELECT * ,<EFBFBD><EFBFBD><EFBFBD>۽<EFBFBD><EFBFBD><EFBFBD>=<EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD>+Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
update t1 set t1.<EFBFBD><EFBFBD><EFBFBD>۽<EFBFBD><EFBFBD><EFBFBD>= isnull(<EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD>,0)+isnull(Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0)-isnull(<EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) FROM #Stock_Status_temp t1
-- F_PKGR_Brand Ʒ<><C6B7> L/T F_UKUB_EPdate F_PKGR_HUMIDITYSENSITIVITY <20>ɹ<EFBFBD>Ա
update t0 set t0.<EFBFBD>ɹ<EFBFBD>Ա =isnull(TB.FName,''),t0.FLT =isnull(t1.FFixLeadTime,'0') ,
t0.Ʒ<EFBFBD><EFBFBD> = ''
FROM #Stock_Status_temp t0
inner join t_bd_material TM on t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=TM.FMATERIALID
LEFT OUTER JOIN t_BD_MaterialPlan t1 on t1.FMATERIALID=TM.FMATERIALID
LEFT OUTER JOIN t_bd_MaterialPurchase TP on TP.FMATERIALID=TM.FMATERIALID
LEFT OUTER JOIN V_BD_BUYER_L TB ON (TP.FPurchaserId = TB.fid )
--SELECT FLT,*
--update t1 set t1.FLT=(case when (isnull(t1.FLT1,'')='0'or isnull(t1.FLT1,'')='') then 0 else t1.FLT1 END)
--FROM #Stock_Status_temp t1 where FLT1=''
--delete FROM #Stock_Status_temp where TM.FDOCUMENTSTATUS='C' AND TM.FFORBIDSTATUS ='A'
--TM.FDOCUMENTSTATUS='C' AND TM.FFORBIDSTATUS ='A'AND
if @Flag = 1
BEGIN
SELECT <EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> , <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD>λ,isnull(<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) <EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,isnull(<EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD>,0) <EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD>, isnull(Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0)Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,
isnull(δ<EFBFBD><EFBFBD>PR,0) δ<EFBFBD><EFBFBD>PR ,isnull(<EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) <EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,isnull(<EFBFBD><EFBFBD><EFBFBD>۽<EFBFBD><EFBFBD><EFBFBD>,0)<EFBFBD><EFBFBD><EFBFBD>۽<EFBFBD><EFBFBD><EFBFBD> , isnull(<EFBFBD>ƻ<EFBFBD>Ա, '')AS <EFBFBD>ƻ<EFBFBD>Ա ,
isnull(Ʒ<EFBFBD><EFBFBD>, '')AS Ʒ<EFBFBD><EFBFBD> , isnull(FLT,0)AS FLT , isnull(<EFBFBD>ɹ<EFBFBD>Ա, '')AS <EFBFBD>ɹ<EFBFBD>Ա
FROM #Stock_Status_temp t1
--inner join t_bd_material TM on t1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=TM.FMATERIALID
where isnull(<EFBFBD><EFBFBD><EFBFBD>۽<EFBFBD><EFBFBD><EFBFBD>,0) < 0
ORDER BY <EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>
END
else
BEGIN
SELECT
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>
,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,<EFBFBD><EFBFBD>λ
,isnull(<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0)<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,isnull(<EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD>,0) AS <EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD>
,isnull(Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,isnull(δ<EFBFBD><EFBFBD>PR,0) δ<EFBFBD><EFBFBD>PR
,isnull(<EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0) <EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,isnull(<EFBFBD><EFBFBD><EFBFBD>۽<EFBFBD><EFBFBD><EFBFBD>,0)<EFBFBD><EFBFBD><EFBFBD>۽<EFBFBD><EFBFBD><EFBFBD>
,isnull(<EFBFBD>ƻ<EFBFBD>Ա, '') AS <EFBFBD>ƻ<EFBFBD>Ա
,isnull(Ʒ<EFBFBD><EFBFBD>, '') AS Ʒ<EFBFBD><EFBFBD>
,isnull(FLT, 0) AS FLT
,isnull(<EFBFBD>ɹ<EFBFBD>Ա, '') AS <EFBFBD>ɹ<EFBFBD>Ա
FROM #Stock_Status_temp t1
--inner join t_bd_material TM on t1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=TM.FMATERIALID
--where TM.FDOCUMENTSTATUS='C' AND TM.FFORBIDSTATUS ='A' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>=129833
ORDER BY <EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>
END